基于梯度下降算法的曲线拟合

梯度下降法

        在求解函数最小值时,首先初始化一个变量值,然后不断迭代该变量值,直到函数在该变量值的地方梯度接近于0或迭代次数达到我们设定的阈值即终止迭代,此时就找到了一个函数极值点。

        因为函数在梯度反方向上下降最快,所以利用梯度来迭代变量。

       迭代规则:x = x – lr * grad(x); 其中lr为学习率,学习率不宜过大,过大容易发散,后面会讲。

        举例:构造一个函数如下所示。

x = -10 : 0.1 : 10;
y = 2.2 * (x - 1.65).^2 + 33.3;
figure(4);
plot(x, y);
hold on;
grid on;

基于梯度下降算法的曲线拟合_第1张图片

 

 通过函数表达式,我们知道该函数应该在x=1.

你可能感兴趣的:(matlab,机器学习,曲线拟合,梯度下降算法)