梯度下降算法代码python
时间: 2023-11-09 15:58:27 浏览: 100
各种梯度下降算法的代码(python)
5星 · 资源好评率100%
梯度下降算法是一种常用的优化算法,用于求解函数的最小值。下面是一个用Python实现的梯度下降算法的示例代码:
```python
import numpy as np
def gradient_descent(X, y, learning_rate, num_iterations):
m = X.shape[0]
n = X.shape[1]
theta = np.zeros((n, 1))
for iteration in range(num_iterations):
gradients = (2/m) * X.T.dot(X.dot(theta) - y)
theta = theta - learning_rate * gradients
return theta
# 使用示例
X = np.array([[1, 2], [1, 3], [1, 4]])
y = np.array([[3], [4], [5]])
learning_rate = 0.1
num_iterations = 100
theta = gradient_descent(X, y, learning_rate, num_iterations)
print(theta)
```
这是一个简单的线性回归的梯度下降算法的实现。在这个例子中,我们使用了一个包含两个特征的输入矩阵X和一个输出向量y。算法会根据给定的学习率和迭代次数来更新theta的值,最终输出得到的theta。
阅读全文