梯度下降法
在求解函数最小值时,首先初始化一个变量值,然后不断迭代该变量值,直到函数在该变量值的地方梯度接近于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;
通过函数表达式,我们知道该函数应该在x=1.6