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

scikit-learn/sklearn学习|多任务套索回归MultiTaskLasso解读

【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
对应的均方误差函数计算式为:
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个样本的预测值。
普通线性回归的均方误差将真实值和预测值作差后求平方和即可。
实际上很多时候数据之间不一定是理想化的线性关系,所以需要对线性关系式进行修正,修正项位于均方误差计算函数中,这个时候就衍生出其他回归方法,至少包括岭回归、套索回归等。
岭回归相对于线性回归,均方误差的计算式子增加了对参数权重平方和的计算,称之为L2正则化惩罚项:
L(w,b)=∑i=1n(yi−yi^)2+α∑j=1mwj2=∑i=1n(yi−(wTxi+b))2+α∑i=1mwi2L(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_{i=1}^{m}w_{i}^{2}L(w,b)=i=1n(yiyi^)2+αj=1mwj2=i=1n(yi(wTxi+b))2+αi=1mwi2在这里,yyy是第i个样本的真实值,y^\hat{y}y^是第i个样本的预测值。
新增加的L2正则化惩罚项为α∑i=1mwi2,其中α≥0\alpha\sum_{i=1}^{m}w_{i}^{2},其中\alpha\geq0αi=1mwi2,其中α0

既然可以有L2正则化,显然也可以有L1正则化,这就是Lasso套索回归。此时的均方误差公式为:
L(w,b)=12n∑i=1n(yi−yi^)2+α∑j=1n∣wj∣=12n∑i=1n(yi−(wTxi+b))2+α∑i=1n∣wi∣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_{i=1}^{n}\left | w_{i} \right |L(w,b)=2n1i=1n(yiyi^)2+αj=1nwj=2n1i=1n(yi(wTxi+b))2+αi=1nwi
新增加的L1正则化惩罚项为α∑i=1m∣wi∣,α≥0\alpha\sum_{i=1}^{m}\left | w_{i} \right |,\alpha \geq0αi=1mwi,α0

【2】多任务套索回归MultiTaskLasso

套索回归Lasso会让部分线性系数直接精确约束至0,即自动剔除不重要的特征,是的模型最终只保留少数非零系数特征,这个特性让Lasso非常适合高维数据的降维和变量筛选.
如果进一步修改套索回归的均方误差函数式:
L(w,b)=12n∑i=1n(yi−yi^)2+α∑i=1n∑j=1mwi,j2=∑i=1n(yi−(wTxi+b))2+α∑i=1n∑j=1mwi,j2L(w,b)=\frac{1}{2n}\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^2+\alpha\sum_{i=1}^{n} \sqrt{\sum_{j=1}^{m}w_{i,j}^2}=\\\sum_{i=1}^{n}(y_{i}-(w^Tx_{i}+b))^2+\alpha\sum_{i=1}^{n}\sqrt{\sum_{j=1}^{m}w_{i,j}^2}L(w,b)=2n1i=1n(yiyi^)2+αi=1nj=1mwi,j2=i=1n(yi(wTxi+b))2+αi=1nj=1mwi,j2

这就是多任务套索回归MultiTaskLasso的均方误差计算式,同时使用了L1,L2L1,L2L1,L2正则化惩罚项。
α∑i=1n∑j=1mwi,j2\alpha\sum_{i=1}^{n}\sqrt{\sum_{j=1}^{m}w_{i,j}^2}αi=1nj=1mwi,j2包括两部分:
第一部分α≥0\alpha\geq0α0一如既往代表惩罚强度;
第二部分∑i=1n∑j=1mwi,j2\sum_{i=1}^{n}\sqrt{\sum_{j=1}^{m}w_{i,j}^2}i=1nj=1mwi,j2先对每一行计算线性系数的平方和再开平方,然后对每一行特征获得的平方根求和。计算平方和是L2L2L2正则化计算,开平方根是L1L1L1正则化计算,所以多任务套索回归MultiTaskLasso的均方误差计算式同时使用了L1,L2L1,L2L1,L2正则化惩罚项。

【3】多任务套索回归MultiTaskLasso的特点

多任务套索回归MultiTaskLasso的特点会让部分线性系数直接精确约束至0,并且是整行都是0,也就是某个特征要么对所有特征有用,要么对所有特征无用;
这种某个特征在所有任务里面都有用的情况,使得不同任务之间实现了系数共享;
通过混合L1,L2L1,L2L1,L2正则化范数实现行稀疏性,强制特征在所有任务中被统一选择或排除。
这些特点使得多任务套索回归MultiTaskLasso更开始用于多个高度相关的任务,并且在某些特征具有突出重要性时,使得该方法具有天然适配性。

http://www.dtcms.com/a/335616.html

相关文章:

  • 如何利用gemini-cli快速了解一个项目以及学习新的组件?
  • 业务员手机报价软件免费领取——仙盟创梦IDE
  • Kotlin集合概述
  • 【LeetCode】13. 罗马数字转整数
  • 不止于“渲染图”:从Adobe Stager到Three.js的交互式Web3D工作流
  • 安卓开发者自学鸿蒙开发4自定义组件
  • C#中List、Path、字符串操作等常用方法总结
  • fdisk的格式化分区和挂载(linux)
  • Collections.synchronizedList是如何将List变为线程安全的
  • 解决 OpenWrt 编译时报 toolchain/* failed to build 的错误
  • RK3588开发板Ubuntu系统烧录
  • Matlab课程实践——基于MATLAB设计的计算器软件(简单、科学、电工、矩阵及贷款计算)
  • Leetcode 15 java
  • 如何打造自己的工作室,实现快速开发
  • linux中已经启用的命令和替代命令
  • 【AI智能体】Dify 搭建发票识别助手操作实战详解
  • Windows 10共享打印机操作指南
  • 阶段二:7-上网行为安全概述
  • NestJS 手动集成TypeORM
  • 天国:拯救2 黄金版 MOD整合 送修改器+画质增强工具 免安装中文版
  • PyCharm与前沿技术集成指南:AI开发、云原生与大数据实战
  • EDMA(增强型直接内存访问)技术
  • 【LeetCode 热题 100】118. 杨辉三角
  • 大模型落地:从理论到实践的完整路径
  • RK3568平台开发系列讲解:PCIE trainning失败怎么办
  • 算法复杂度深度解析:时间与空间的权衡艺术
  • 编程算法实例-Armstrong数(阿姆斯特朗数)
  • TDengine IDMP 运维指南(1. 部署规划)
  • ThinkPHP8学习篇(三):控制器
  • 网络常识-SSE对比Websocket