当前位置: 首页 > news >正文

scikit-learn/sklearn学习|套索回归Lasso解读

【1】引言

前序学习进程中,对用scikit-learn表达线性回归进行了初步解读。
线性回归能够将因变量yyy表达成由自变量xxx、线性系数矩阵www和截距bbb组成的线性函数式:
y=∑i=1nwi⋅xi+b=wTx+by=\sum_{i=1}^{n}w_{i}\cdot x_{i}+b=w^T{x}+by=i=1nwixi+b=wTx+b实际上很多时候数据之间不一定是理想化的线性关系,所以需要对线性关系式进行修正,这个时候就可以考虑岭回归。

岭回归是修正后的线性回归,相对于普通线性回归,增加了一个参数:均方误差。

【2】线性回归均方误差

对于线性回归,均方误差的计算式子为:
L(w,b)=∑i=1n(yi−yi^)2=∑i=1n(yi−(wTxi+b))2L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2L(w,b)=i=1n(yiyi^)2=i=1n(yi(wTxi+b))2在这里,yyy是第i个样本的真实值,y^\hat{y}y^是第i个样本的预测值。
线性回归的均方误差将真实值和预测值作差后求平方和即可。

【3】岭回归均方误差

岭回归相对于线性回归,均方误差的计算式子增加了对参数权重平方和的计算,称之为L2正则化惩罚项:
L(w,b)=∑i=1n(yi−yi^)2+α∑j=1mwj2=∑i=1n(yi−(wTxi+b))2+α∑j=1mwj2L(w,b)=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{j=1}^{m}w_{j}^{2}=\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{j=1}^{m}w_{j}^{2}L(w,b)=i=1n(yiyi^)2+αj=1mwj2=i=1n(yi(wTxi+b))2+αj=1mwj2在这里,yyy是第i个样本的真实值,y^\hat{y}y^是第i个样本的预测值。
新增加的L2正则化惩罚项为α∑j=1mwj2,其中α≥0\alpha\sum_{j=1}^{m}w_{j}^{2},其中\alpha\geq0αj=1mwj2,其中α0

实际上根据上述说明,从线性回归到岭回归主要的变化发生在均方误差的定义上。
岭回归大名鼎鼎,在均方误差项里面增加了一个L2正则化惩罚项。既然可以有L2正则化,显然也可以有L1正则化,这就是Lasso套索回归方。

【4】套索回归Lasso

岭回归相对于普通线性回归,区别在于添加了L2正则化惩罚项,这一变化解决了普通线性回归至少两个问题:多重共线性和过拟合。

套索回归Lasso相对于普通线性回归,添加L1正则化惩罚项,此时的均方误差公式为:
L(w,b)=12n∑i=1n(yi−yi^)2+α∑j=1n∣wj∣=12n∑i=1n(yi−(wTxi+b))2+α∑j=1n∣wj∣L(w,b)=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{j=1}^{n}\left | w_{j} \right |=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{j=1}^{n}\left | w_{j} \right |L(w,b)=2n1i=1n(yiyi^)2+αj=1nwj=2n1i=1n(yi(wTxi+b))2+αj=1nwj
新增加的L1正则化惩罚项为α∑j=1m∣wj∣\alpha\sum_{j=1}^{m}\left | w_{j} \right |αj=1mwj,其中:
α≥0\alpha \geq0α0是L1正则化惩罚项强度,可以控制对后面部分惩罚的力度;
∑j=1n∣wj∣\sum_{j=1}^{n}\left | w_{j}\right |j=1nwj是所有线性系数绝对值的和。
α>0\alpha >0α>0时,随着α\alphaα增加,正则化强度增加,会增强对系数绝对值和的约束,使得w→0w \rightarrow 0w0
α=0\alpha=0α=0,惩罚项不起作用,Lasso回归退回到普通线性回归。

【5】套索回归Lasso的特点

岭回归和线性回归都是线性关系式的推演,但岭回归通过L2正则化惩罚项让线性系数wjw_{j}wj保持在合理且较小的范围,让回归模型更稳健、更准确。
套索回归Lasso会让部分线性系数直接精确约束至0,即自动剔除不重要的特征,是的模型最终只保留少数非零系数特征,这个特性让Lasso非常适合高维数据的降维和变量筛选;

此外L1正则化惩罚项的存在,很显然对线性系数发挥约束作用可以防止线性回归过拟合。
此外应该强调的是,较小的α\alphaα可以保留相对多的特征,特征多可能过拟合,所以使用Lasso回归应对L1正则化惩罚项的系数α\alphaα进行选取尝试,已实现获取最佳效果。

【6】总结

初步学习了套索回归Lasso的基本概念,了解了套索回归在对高维数据降维上的优势和防止数据过拟合应该采取的措施。

http://www.lryc.cn/news/623600.html

相关文章:

  • scikit-learn RandomizedSearchCV 使用方法详解
  • scikit-learn 中的均方误差 (MSE) 和 R² 评分指标
  • .NET 中的延迟初始化:Lazy<T> 与LazyInitializer
  • 『搞笑名称生成器』c++小游戏
  • Spring Cloud整合Eureka、ZooKeeper、原理分析
  • 云计算-k8s实战指南:从 ServiceMesh 服务网格、流量管理、limitrange管理、亲和性、环境变量到RBAC管理全流程
  • 【Kubernetes系列】Kubernetes中的resources
  • 脉冲计数实现
  • vue3 ref和reactive的区别和使用场景
  • Nightingale源码Linux进行跨平台编译
  • 数学建模 15 逻辑回归与随机森林
  • 大模型微调【2】之使用AutoDL进行模型微调入门
  • 工具测试 - marker (Convert PDF to markdown + JSON quickly with high accuracy)
  • 深入理解 uni-app 页面导航:switchTab、navigateTo、redirectTo、reLaunch 与 navigateBack
  • 回溯剪枝的 “减法艺术”:化解超时危机的 “救命稻草”(一)
  • 基于径向基函数神经网络的数据回归预测 RBF
  • 【Jenkins】02 - 自动化部署配置
  • Matlab数字图像处理——梯度稀疏性和泊松方程求解的反光/倒影去除系统
  • C#中List、Path、字符串操作等常用方法总结
  • Git登录配置的详细方法
  • Python入门第7课:异常处理机制:让你的程序更健壮(try-except详解)
  • uniapp中uni.showToast和 uni.showLoading同时使用时出现提示中断冲突问题。
  • 《告别 if-else 迷宫:Python 策略模式 (Strategy Pattern) 的优雅之道》
  • 【Tech Arch】Hive技术解析:大数据仓库的SQL桥梁
  • 在 Element UI 的 el-table 中实现某行标红并显示删除线
  • Java 大视界 -- 基于 Java 的大数据分布式计算在气象灾害预警与应急响应中的应用
  • 图论水题4
  • 01数据结构-插入排序
  • Tomcat Session Replication Cluster:实现高可用性和可扩展性的关键
  • 用MTEB对Embedding模型进行benchmark