基本形式
给定由d个属性描述的示例 x=(x1;x2;...;xd) x = ( x 1 ; x 2 ; . . . ; x d ) ,其中 xi x i 是 x x 在第个属性的取值,线性模型试图学的一个通过属性的线性组合在进行预测的函数,即
思路
给定数据集 D=(x1,y1),(x2,y2),...,(xm,ym) D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) , 其中 xi=(xi1;xi2;...,xid),yi∈R x i = ( x i 1 ; x i 2 ; . . . , x i d ) , y i ∈ R .
试图学得
采用均方误差(square loss)作为损失函数来衡量 f(x) f ( x ) 与 y y 之间的差别。均方误差是回归任务中最常用的性能度量,具有非常好的几何意义,它对应了常用的“欧氏距离”(Euclidean distance)。基于均方误差来最小化来进行模型求解的方法称为“最小二乘法”(Least square method)。(最小二乘法用途很广,不仅限于线性回归)
最小二乘法求解过程
- 将和
b
b
吸收入向量形式, 相应的,数据集D表示为一个形状为
m∗(d+1)
m
∗
(
d
+
1
)
的矩阵
X
X
: 再把标签也写成向量形式 y=(y1;y2;...;ym) y = ( y 1 ; y 2 ; . . . ; y m ) .
- 确立损失函数
Ew^=(y−Xw^)T(y−Xw^)=∥y−Xw^∥2 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) = ‖ y − X w ^ ‖ 2
- 那么我们要做的是求 w^∗=argminw^Ew^=argminw^(y−Xw^)T(y−Xw^) w ^ ∗ = arg min w ^ E w ^ = arg min w ^ ( y − X w ^ ) T ( y − X w ^ ) . 这里 Ew^ E w ^ 是关于 w,b w , b 的凸函数,当他关于 w w 和的导数均为零时,可以得到 w w 和的最优解。
- 损失函数对
w^
w
^
求导:
∂Ew^∂w^=2XT(Xw^−y) ∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ).
- 令上式为零,解得 w^ w ^ 最优解的闭式解。
- 最优解的讨论:
- 当
XTX
X
T
X
为满秩矩阵或正定矩阵时,可解得
w^∗=(XTX)−1XTy w ^ ∗ = ( X T X ) − 1 X T y其中 (XTX)−1 ( X T X ) − 1 是矩阵 (XTX) ( X T X ) 的逆矩阵。此时,学到的线性回归模型为f(x^i)=x^Ti(XTX)−1XTy f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y
- 现实任务中 XTX X T X 往往不是满秩矩阵,比如说有些任务中,样本特征数 d d 大于样本数,导致 X X 的列数大于行数,此时不满秩。此时可解出多个 w^ w ^ ,它们都能使均方误差最小化。选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化。
- 上述最优解公式涉及到了矩阵求逆的过程,在实际问题中,如果样本矩阵 X X 的维度很大,那么求的逆矩阵就会很慢。这时可以不直接求解析解,而是用梯度下降等方法来求最优解。
- 当
XTX
X
T
X
为满秩矩阵或正定矩阵时,可解得
注:本文主要参考了周志华《机器学习》3.1&3.2节,以及Andrew Ng.的机器学习课程
- 确立损失函数