来源:原始 Jupyter Notebook。内容已转换为网页阅读格式;下载原文件。
岭回归的求解#
岭回归就是 基于 L2 约束的最小二乘法,它的损失函数为:
loss=i=1∑m(yi−wTxi)2+λ∥w∥2我们将损失函数表示成矩阵形式:
loss=(y−wTX)2+λw2和最小二乘的正规方程解法一样,我们对 w 求偏导:
∂w∂loss=2XT(Xw−y)+2λw令其等于 0,求得损失函数最小时 w 的解析解:
w^=(XTX+λI)−1XTy一般 L2 约束的最小二乘求解#
在前面介绍岭回归的时候,我们不仅介绍了 L2 约束,还将其扩展到更一般的情况:
minθJ(θ),θTGθ⩽R它的损失函数可以表示成:
loss=(y−wTX)2+λwTGw我们可以对其求偏导,得到 w 的解析解:
w^=(XTX+λG)−1XTyLASSO 回归的求解#
LASSO 回归是 基于 L_1 约束的最小二乘法,它的损失函数为:
loss=i=1∑m(yi−wTxi)2+λ∥w∥这里的 ∥w∥ 是对所有的 wi 绝对值进行求和,我们知道绝对值函数不能求导,所以不能像上面那样通过求偏导来求解。
- 解法一:通过二次函数在绝对值函数的上方进行控制
∣θ∣⩽2cθ2+2c得到 θ 的迭代更新公式:
θ:=(XTX+λΘ†)−1XTy其中,Θ=diag(∣θ1∣,…,∣θb∣),Θ† 表示 Θ 的广义逆。
具体的求解过程参见《图解机器学习》p45.
- 解法二:使用近端梯度下降(Proximal Gradient Descent,简称 PGD)
L-Lipschitz 条件、二阶泰勒展开
参见《机器学习》p253.
- 解法三:拟牛顿法
BFGS、L-BFGS、Armijo 搜索准则、Sherman-Morrison 公式