线性回归
下面是线性回归的公式推导,没有加上 L2 正则化因子。
假设 y^=Xw,因为
L(w)=∣∣y^−y∣∣22=∣∣Xw−y∣∣22=(Xw−y)T(Xw−y)=wTXTXw−yTXw−wTXTy+yTy,
所以
∂w∂L(w)=2XTXw−XTy−XTy,
令 ∂w∂L(w)=0,得
w=(XTX)−1XTy.
- 参考:周志华《机器学习》P55 “线性回归”这一节的叙述。
岭回归
上面定义的 L(w)=∣∣y^−y∣∣22 是经验风险,在经验风险的基础上加上表示模型复杂度的正则化项(regularization)或者惩罚项(penalty term),即结构风险。所以线性回归是经验风险最小化,岭回归是结构风险最小化。
- 参考:李航《统计学习方法》(第二版)P18关于“经验风险最小化”与“结构风险最小化”一节的叙述。
岭回归其实就是在损失函数上加上了一个 L2 正则,使得每个变量的权重不会太大。当某些特征权重比较大的时候,自变化变化一点点,就会导致因变量变化很大,使得方差变大,有过拟合风险。
此时损失函数变为:
L(w)=∣∣y^−y∣∣22+λ∣∣w∣∣22=∣∣Xw−y∣∣22+λwTw=(Xw−y)T(Xw−y)+λwTw=wTXTXw−yTXw−wTXTy+yTy+λwTw,
所以
∂w∂L(w)=2XTXw−XTy−XTy+2λw,
令 ∂w∂L(w)=0,得
w=(XTX+λE)−1XTy.
这里 E 是一个单位矩阵。
参考资料
1、岭回归原理及代码实现
https://blog.csdn.net/computerme/article/details/50486937
2、矩阵求导公式,及MathJax公式编辑
https://blog.csdn.net/lilong117194/article/details/77418269
3、MathJax基本的使用方式
https://blog.csdn.net/u010945683/article/details/46757757