以下是使用Python实现梯度下降算法的示例代码:
import numpy as np
# 定义梯度下降函数
def gradient_descent(X, y, theta, alpha, num_iters):
m = len(y)
for iter in range(num_iters):
# 计算预测值
h = np.dot(X, theta)
# 计算误差
error = h - y
# 更新参数
theta = theta - (alpha/m) * np.dot(X.T, error)
return theta
# 训练数据集
X = np.array([[1, 1], [1, 2], [1, 3], [1, 4]])
y = np.array([2, 3, 4, 5])
# 初始化参数
theta = np.zeros(2)
# 设置学习率和迭代次数
alpha = 0.01
num_iters = 1000
# 调用梯度下降函数进行训练
theta = gradient_descent(X, y, theta, alpha, num_iters)
print('训练得到的参数 theta:', theta)
这段代码实现了一个简单的线性回归模型,使用梯度下降算法来训练模型参数。训练数据集X包含两列特征,y是对应的目标值。在代码中,我们先定义了一个梯度下降函数gradient_descent,然后使用该函数进行训练,最后输出训练得到的参数theta。