মনে করুন আমরা গ্রেডিয়েন্ট শালীন উপর একটি খেলনা উদাহরণ করছি, একটি চতুর্ভুজ ফাংশন হ্রাস , স্থির পদক্ষেপের আকার ব্যবহার করে । ()
যদি আমরা এর ট্রেস প্লট করি প্রতিটি পুনরাবৃত্তিতে আমরা নিম্নলিখিত চিত্রটি পাই। আমরা যখন স্থির পদক্ষেপের আকারটি ব্যবহার করি তখন কেন পয়েন্টগুলি "অনেক ঘন" হয় ? স্বজ্ঞাতভাবে, এটি কোনও স্থির পদক্ষেপের আকারের মতো দেখায় না, তবে একটি হ্রাসমান ধাপের আকার।
PS: আর কোড প্লট অন্তর্ভুক্ত।
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)
x_trace=rbind(x_trace,x)
}
points(x_trace, type='b', pch= ".", lwd=3, col="red")
text(x_trace, as.character(1:nrow(x_trace)), col="red")
alpha=3e-2
বরং ব্যবহার করে