Python机器学习算法: 原理、实现与案例
上QQ阅读APP看书,第一时间看更新

1.2 最小二乘法

线性回归模型通常使用均方误差(MSE)作为损失函数,假设训练集m个样本,均方误差损失函数定义为:

均方误差的含义很容易理解,即所有实例预测值与实际值误差平方的均值,模型的训练目标是找到使得损失函数最小化的。式中的常数并没有什么特殊的数学含义,仅是为了优化时求导方便。

损失函数最小值点是其极值点,可先求的梯度并令其为0,再通过解方程求得。

计算的梯度:

以上公式使用矩阵运算描述形式更为简洁,设:

那么,梯度计算公式可写为:

令梯度为0,解得:

式中,即为使得损失函数(均方误差)最小的。需要注意的是,式中对求了逆矩阵,这要求是满秩的。然而实际应用中,不总是满秩的(例如特征数大于样本数),此时可解出多个,选择哪一个由学习算法的归纳偏好决定,常见做法是引入正则化项。

以上求解最优的方法被称为普通最小二乘法(Ordinary Least Squares,OLS)。