资源简介

这是一个可以手工设置步长的matlab对梯度下降算法的演示,可以看到每次迭代到的点,非常直观的观看梯度下降算法的工作原理

资源截图

代码片段和文件信息

%绘制出来最原始的方程的图像,方程为f=x^2+y^2;定义域分别设置成为[-10 10],然后随便的设置一个初始点以及迭代的值和步长,来查看使用梯度下降算法的迭代过程%
[x y] = meshgrid(-10:0.5:10 -10:0.5:10);
z = x.^2 + y.^2;
mesh(x y z);

%分别求x和y的偏导数%
%dx = 2*x;
%dy = 2*y;
%设置x,y的初始值,并且每步骤更新的值都加入到这个记录中来,第一个是初始值,为了迭代方便设置下第二个元素的值
record_values = [-9;-9]; 
%设置每次更新的步长%
step = 0.2;
%设置迭代次数%
count = 20;

%开始迭代%
for i=1:count
    current_x = record_values(1i);
    current_y =

评论

共有 条评论