Lasso原理与Python实现

博客介绍了Lasso原理与Python实现。一般回归中最小二乘法有局限,子集选择和岭回归也存在缺陷,Lasso方法能收缩系数并将部分设为0,保留二者优点。文中给出Lasso公式并推导计算权重矩阵的方法,还提及Python实现时输出系数随惩罚力度变化的曲线图和箱形图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lasso原理与Python实现

  • lasso原理

  • Python实现

Lasso 原理
    在一般的回归情形中,对于数据集 ( x i , y i ) \left(\mathrm{x}^{i}, y^{i}\right) (xi,yi),最小二乘法估计通过计算预测值与真实值之间的最小平方和对数据进行预测,但是数据分析不常满足最小二乘估计,而提升最小二乘估计的两个标准技术:子集选择与岭回归都存在缺陷。子集选择通过从特征中选择部分特征的方法建立模型,但数据中很小的变化就能导致不一样的模型,因此子集选择降低了预测的准确度。而岭回归不把任何系数设置为0,并不提供易于解释的模型。
    针对以上问题,作者提出了Lasso方法,即“最小绝对值收敛和选择算子”,从本质上说,Lasso方法能够收缩系数并将一些系数设置为0,保留了子集选择和岭回归的优点。
    Lasso的公式为:
         min ⁡ β 1 2 ∥ y − ∑ i = 1 n x i β i ∥ 2 2 + λ ∥ β ∥ 1 \min _{\beta} \frac{1}{2}\left\|\mathbf{y}-\sum_{i=1}^{n} \mathbf{x}_{i} \beta_{i}\right\|_{2}^{2}+\lambda\|\beta\|_{1} minβ21yi=1nxiβi22+λβ1
    其中,前一项为最小二乘估计公式,后一项实际为正则化项L1。为计算使得误差最小的beta值,对公式做如下推导:
     f = R S S ( w ) + λ ∥ w 1 ∥ 1 f=R S S(w)+\lambda\left\|w_{1}\right\|_{1} f=RSS(w)+λw11
     = ∑ i = 0 N ( y i − ∑ j = 0 D w j x i j ) 2 + λ ∑ j = 0 D ∣ w j ∣ =\sum_{i=0}^{N}\left(y_{i}-\sum_{j=0}^{D} w_{j} x_{i j}\right)^{2}+\lambda \sum_{j=0}^{D}\left|w_{j}\right| =i=0N(yij=0Dwjxij)2+λj=0Dwj

     ∂ R S S ∂ W j \frac{\partial R S S}{\partial W_{j}} WjRSS

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值