matlab梯度下降算法示例
时间: 2024-02-05 14:03:02 浏览: 82
matlab_MLP采用梯度下降算法进行训练
梯度下降算法是一种常用的优化算法,用于求解函数的最小值。在MATLAB中,可以使用以下示例来演示梯度下降算法的实现:
```matlab
% 定义目标函数
f = @(x) x^2 + 2*x + 1;
% 定义目标函数的梯度
df = @(x) 2*x + 2;
% 设置初始点和学习率
x0 = 0;
learning_rate = 0.1;
% 迭代更新参数
for i = 1:100
% 计算梯度
gradient = df(x0);
% 更新参数
x0 = x0 - learning_rate * gradient;
end
% 输出最优解
disp(['最优解为:', num2str(x0)]);
```
在上述示例中,我们首先定义了目标函数 `f` 和其梯度 `df`。然后设置初始点 `x0` 和学习率 `learning_rate`。接下来,通过迭代更新参数的方式,使用梯度下降算法逐步逼近最优解。最后,输出得到的最优解。
阅读全文