[机器学习复习笔记] 岭回归、LASSO回归

岭回归、LASSO回归

1. 岭回归

1.1 岭回归 L2正则化

在之前的 中,使用 最小二乘法求解线性回归问题 时,讨论到了 XTX 是否可逆。

最小二乘法得到的解析解为:

θ=(XTX)1XTy

此时只有 X 列满秩 才有解,即 rank(X)=dim(X)

有时候,数据的 特征数量 d 大于 样本数量 n,此时 无法满足列满秩 ;即便满足 X 列满秩,如果 数据特征之间的相关性比较大,会使得最小二乘法求解不稳定,XTX 的行列式接近于 0。此时就需要给 损失函数 添加一个 惩罚项 λ2||θ||22,即 λ2j=1dθj2,称作 L2正则化λ正则化力度)。

此时,损失函数 及其 偏微分 如下:

E=12i=1n(y(i)fθ(x(i)))2+λ2j=1dθj2

Eθj=i=1n(fθ(x(i)y(i)))xj(i)+λθj

可以将上面的式子 向量化表示

E=12(yXθ)T(yXθ)+λ2θTθ

其中 XRn×d, θRd×1, yRn×1.

损失函数拆开然后求偏微分:

E=12(yTθTXT)(yXθ)+λ2θTθ=12(yTyθTXTyyTXθ+θTXTXθ)+λ2θTθEθ=12(XTyXTy+2XTXθ)+λθ=XT(Xθy)+λθ

令微分为0,得到解析解:

Eθ=XT(Xθy)+λθ=XTy+XTXθ+λθ=0θ=(XTX+λI)1XTy

其中 I单位矩阵 (主对角线元素全部为1,其余元素全部为0)


1.2 梯度下降法求解岭回归

岭回归 中的 参数更新表达式

θj:=θjηi=1n(fθ(x(i)y(i)))xj(i)ηλθj

向量化表示参数更新表达式

θ:=θηXT(Xθy)ηλθ


1.3 岭回归 代码

# 岭回归解析解
def ridge_reg(x, y, lam=0.2):
    deno = X.T * X + np.eye(X.shape[1]) * lam
    return deno.I * (X.T * Y)

2. LASSO回归

2.1 LASSO回归 L1正则化

与岭回归相似,LASSO回归 同样是通过添加正则项来改进朴素最小二乘法,其采用的时 L1正则化,也就是添加了 惩罚项 λ2||θ||1,即 λ2j=1d|θj| .

此时,损失函数 如下:

E=12i=1n(y(i)fθ(x(i)))2+λ2j=1d|θj|

求偏微分:

Eθj=i=1n(fθ(x(i))y(i))xj(i)+{λθj<0[λ,λ]θj=0λθj>0

令偏微分为0:

θk={pk+λ2zkpk<λ20λ2pkλ2pkλ2zkpk>λ2


参考文章

机器学习算法实践-岭回归和LASSO

岭回归、LASSO回归(包括公式推导)

posted @   MarisaMagic  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示