线性回归中的梯度下降

machine learningpythondata science

使用线性回归是一种有用的技术,可用于找出和检查变量之间的关系。预测建模依赖于它,并将其用作许多机器学习技术的基石。机器学习需要大量优化。这相当于改进模型以使其提供最佳性能。梯度下降是优化中的一项关键技术,此时进入了人们的视野。将其视为值得信赖的盟友,它将帮助我们在大量潜在模型参数中找到最佳参数。

梯度下降使我们能够通过稍微向最陡峭的下降方向移动来迭代地更改这些参数,随着时间的推移最小化误差并实现收敛。梯度下降是机器学习中的一项基本技术,因为它使我们能够有效地优化线性回归模型的性能。在这篇文章中,我们将仔细研究线性回归中的梯度下降。

理解线性回归

线性回归是一种重要的统计方法,用于模拟因变量与一个或多个自变量之间的联系。要找到合适的线来描述变量之间的联系,需要将线性方程拟合到预先存在的数据集中。一个简单的线性回归方程如下:

其中

  • 因变量是 y。

  • 自变量是 x。

  • y 截距(x 为 0 时 y 的值)是 $\mathrm{\beta_{0}}$

  • 斜率(x 每增加一个单位 y 的变化)是 $\mathrm{\beta_{1}}$

  • 随机误差表示为 $\mathrm{\varepsilon}$

线性回归的目标是最小化预测值 () 与实际值 (y) 之间的差异,通常称为成本、损失或误差。均方误差 (MSE) 概述如下,是最常用的目标函数。

其中,

  • 观察总数为 n。

  • y 是因变量的实际值。

  • ŷ 是因变量的预期值。

了解梯度下降

机器学习模型中的成本函数使用称为梯度下降的强大优化过程迭代最小化。它是包括线性回归在内的多个领域中常用的方法。简而言之,梯度下降通过沿着成本函数下降最快方向反复修改模型参数来收敛到最佳解。

梯度下降可以用数学表示如下:

这里,模型参数用$\mathrm{\theta}$表示,学习率用$\mathrm{\alpha}$表示,成本函数相对于参数的梯度用$\mathrm{\bigtriangledown J(\theta)}$表示,乘法运算用*表示。随着模型根据此公式更新参数,它越来越接近最小化成本函数的理想参数值。

在线性回归的背景下,找到最小化预测值和实际值之间差距的最佳拟合线,关键取决于梯度下降。均方误差 (MSE) 经常用作线性回归中的成本函数。梯度下降允许模型修改其预测,降低整体误差并提高回归线的精度。这是通过使用 MSE 的梯度迭代更新参数(斜率和截距)来实现的。

在线性回归中实现梯度下降

下面显示了使用梯度下降进行线性回归的函数式 Python 代码示例:

import numpy as np
import matplotlib.pyplot as plt

# 生成示例数据以供演示
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

# 为 X 添加偏差项
X_b = np.c_[np.ones((100, 1)), X]

# 设置超参数
learning_rate = 0.01
num_iterations = 1000

# 随机初始化参数
theta = np.random.randn(2, 1)

# 执行梯度下降
for iteration in range(num_iterations):
   gradients = 2 / 100 * X_b.T.dot(X_b.dot(theta) - y)
   theta = theta - learning_rate * gradients

# 打印最终参数值
print("截距:", theta[0][0])
print("斜率:", theta[1][0])

# 绘制数据点和回归线
plt.scatter(X, y)
plt.plot(X, X_b.dot(theta), color='red')
plt.xlabel('X')
plt.ylabel('y')
plt.title('梯度下降的线性回归')
plt.show()

输出

截距:4.158093763822134
斜率:2.8204434017416244

我们通过生成一些示例数据来开始此代码。随后将偏差项包含在输入矩阵 X 中,以解释线性回归方程中的截距。然后设置梯度下降算法的学习率和迭代次数。在随机初始化 theta 参数后,通过迭代预定的迭代次数来执行梯度下降。我们在每次迭代中使用均方误差损失函数计算梯度,并适当调整参数。最后,我们使用 Matplotlib 打印最终的截距和斜率值并显示数据点和拟合的回归线。

结论

线性回归的效果远远超出了预测建模的范围。线性回归通过揭示变量之间的相关性,实现了跨各种学科的数据驱动决策。组织可以使用金融、经济、营销和医疗保健等行业的线性回归来洞察消费者行为、优化资源配置、估计需求并做出明智的战略决策。


相关文章