吴恩达机器学习一站式学习系列(2)——单变量线性回归Linear Regression with One Variable

模型概述

单变量线性回归是机器学习中的一种简单线性回归方法,用于建立一个输入变量(自变量)与输出变量(因变量)之间的线性关系。它适用于只有一个自变量和一个因变量的情况。

因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。

训练单变量线性回归模型的目标是找到最佳的斜率 m 和截距 b,使得预测值与实际值之间的误差(通常使用均方误差)最小化。

代价函数Cost Function

代价函数(Cost Function)也被称为损失函数(Loss Function)或平方误差函数(Mean Squared Error,MSE)。代价函数用于衡量线性回归模型的预测值与实际值之间的误差,并且我们的目标是通过优化代价函数来找到最佳的模型参数。

代价函数的一般形式是平方误差函数:

MSE = (1/n) * Σ(yᵢ – ŷᵢ)²

其中:

  • n 是样本的数量,
  • yᵢ 是第 i 个样本的实际输出值,
  • ŷᵢ 是第 i 个样本的模型预测输出值。

代价函数直观理解1

代价函数直观理解2

在训练过程中,我们使用梯度下降等优化算法来最小化代价函数。梯度下降算法通过计算代价函数的梯度(对参数的偏导数),来找到代价函数的最小值点,从而得到最佳的模型参数(斜率 m 和截距 b)。

优化代价函数的过程是迭代的,模型会根据每一步的梯度更新参数,直到达到收敛条件或达到预定的迭代次数。

梯度下降Gradient Descent

梯度下降是一种优化算法,用于最小化代价函数并找到最佳的模型参数(斜率 m 和截距 b)。它是一种基于迭代的方法,通过计算代价函数的梯度来不断调整模型参数,使代价函数的值逐渐减小,直至达到最优解。

梯度下降背后的思想是:开始时我们随机选择一个参数的组合 (θ_1,θ_2,θ_3,……,θ_n),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。

计算方式

批量梯度下降(batch gradient descent)算法的公式为:

其中是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。

梯度下降的直观理解

基本上可以说取这个红点的切线

根据斜率去调整 α 的数值,能够平衡计算量和精准度;在梯度下降法中,当接近局部最低点时,梯度下降法会自动采取更小的幅度

代价函数通常是凸函数(convex function),梯度下降通常能够找到全局最小值,但也可能陷入局部最小值。

梯度下降算法,可以用来最小化任何代价函数,不只是线性回归中的代价函数。

梯度下降的线性回归Gradient Descent For Linear Regression

梯度下降算法和线性回归算法比较如图

实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。

滚动至顶部