机器学习-05 基于sklearn 广义线性模型- MultiTaskLasso

本文介绍了如何使用MultiTaskLasso算法进行曲线方程的分段线性化拟合,强调了分段线性化思想与极限的关系,并通过实例展示了如何在Python中运用sklearn的MultiTaskLasso进行多任务学习,以提高拟合效果。
摘要由CSDN通过智能技术生成

机器学习-05 基于sklearn 广义线性模型- MultiTaskLasso

用线性回归拟合曲线方程——分段线性化

要想把MultiTaskLasso说明白,我们需要从它的一个应用说起。在sklearn官方手册中提供了这么一个例子,让我们利用线性回归的方法去拟合一个曲线方程。如图所示:
在这里插入图片描述
那么怎么用线性回归去拟合曲线方程呢,在程序里提供了这么一个思路。我们可以把这个曲线分成数段,每一段看成一条直线,那么当分的份数足够多时,就可以近似看成一条曲线。于是,我们就引入了一个思想,叫做极限的思想,笔者想在这里夸夸这种思想,因为这是跨世纪的发现。这里面有着牛顿与莱布尼兹之争,且极限也是高等数学的基础,“曾经有一棵树,叫做高数,上面挂了很多人。”在计算不规则图形面积时,就用到了极限,我们把每一段近似看成长方形,那么就可以求各段长方形的面积,加在一起就是不规则图形的面积。另外一个应用就是,用多边形近似等于圆形。
在这里插入图片描述
既然使用了分段线性化,那么如果分成n段,我们岂不是要训练n个线性方程,那么输出岂不是有n个表达式,如果每个表达式的系数是m个,那岂不是要训练m*n个系数,是这样吗,是的。
那么这样的话,我们用分段线性化的思想,任何一种线性回归的算法其实都可以拿来用。那么为什么要提出MultiTaskLasso算法呢。其实这就要说到多任务学习了,我们观看图像就不难发现,这个曲线是sin(x)函数,sin函数之间是有联系的。如果我们只是简单的分段线性化,那么就割裂了每一段之间的联系,就没有考虑每一段之间的相互影响。分段的思想不单要能分开,还要能再次聚在一起。“聚是一团火,散做满天星”,就是这个道理。而MultiTaskLasso考虑了每一段之间的联系,这也就是为什么MultiTaskLasso的效果要好于Lasso的原因了。

MultiTaskLasso

接下来,我们就可以抄公式了。O(∩_∩)O哈哈~
MultiTaskLasso 是一个估计多元回归稀疏系数的线性模型: y 是一个形状为(n_samples, n_tasks) 的二维数组,其约束条件和其他回归问题(也称为任务)是一样的,都是所选的特征值。其中n_samples代表每段线性方程的系数个数,n_tasks代表线性方程的个数。
在数学上,它由一个线性模型组成,以混合的 ℓ 1 ℓ 2 \ell_1 \ell_2 12 作为正则化器进行训练。目标函数最小化是:
m i n   w 1 2 n s a m p l e s ∣ ∣ X W − Y ∣ ∣ F r o 2 + α ∣ ∣ W ∣ ∣ 21 \underset{w}{min\,} { \frac{1}{2n_{samples}} ||X W - Y||_{Fro} ^ 2 + \alpha ||W||_{21}} wmin2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值