2
ทำไมขั้นตอนของฉันถึงเล็กลงเมื่อใช้ขนาดขั้นตอนคงที่ในการไล่ระดับสีแบบลาดชัน
สมมติว่าเรากำลังทำตัวอย่างของเล่นในการไล่ระดับสีที่ดีลดฟังก์ชันกำลังสองโดยใช้ขั้นตอนขนาดคงที่\( )xTAxxTAxx^TAxα=0.03α=0.03\alpha=0.03A=[10,2;2,3]A=[10,2;2,3]A=[10, 2; 2, 3] ถ้าเราพล็อตการติดตามของในการวนซ้ำแต่ละครั้งเราจะได้ตัวเลขดังต่อไปนี้ ทำไมคะแนนจึงมีความหนาแน่นสูงเมื่อเราใช้ขนาดขั้นตอนคงที่ โดยสังหรณ์ใจมันไม่ได้ดูเหมือนขนาดขั้นตอนคงที่ แต่ขนาดขั้นตอนลดลงxxx PS: รหัส R รวมถึงพล็อต A=rbind(c(10,2),c(2,3)) f <-function(x){ v=t(x) %*% A %*% x as.numeric(v) } gr <-function(x){ v = 2* A %*% x as.numeric(v) } x1=seq(-2,2,0.02) x2=seq(-2,2,0.02) df=expand.grid(x1=x1,x2=x2) contour(x1,x2,matrix(apply(df, 1, f),ncol=sqrt(nrow(df))), labcex = 1.5, levels=c(1,3,5,10,20,40)) grid() opt_v=0 alpha=3e-2 x_trace=c(-2,-2) x=c(-2,-2) while(abs(f(x)-opt_v)>1e-6){ x=x-alpha*gr(x) …