这就是我们熟知的梯度下降
时间: 2024-08-17 07:03:14 浏览: 37
机器学习西瓜书的公式解析
梯度下降(Gradient Descent)是一种优化算法,常用于机器学习中的参数调整,特别是在深度学习模型训练过程中。其基本思想是沿着损失函数曲面的负梯度方向更新模型参数,以逐步降低损失并找到全局最小值或局部最优解[^4]。
具体步骤可以概括为:
1. 初始化模型参数(比如权重w和偏置b)。
2. 计算当前参数组合对应的损失函数值。
3. 使用梯度计算公式(对于线性回归是代价函数关于w和b的导数)来找出使损失增加最慢的方向。
4. 沿着这个方向(即负梯度方向)减小步长(通常称为学习率),更新参数。
5. 重复步骤2-4,直到达到预设的停止条件(如达到一定的迭代次数或损失变化小于某个阈值)。
举个简单的线性回归示例[^5]:
```python
def gradient_descent(X, y, w, b, learning_rate, num_iterations):
for _ in range(num_iterations):
predictions = X @ w + b
loss = mean_squared_error(y, predictions)
dw = (2 / len(X)) * X.T @ (predictions - y)
db = (2 / len(X)) * sum(predictions - y)
w -= learning_rate * dw
b -= learning_rate * db
return w, b
# 假设有一个线性回归模型...
```
阅读全文