LASSO回归与L1正则化 西瓜书「建议收藏」

1.结构风险与经验风险在支持向量机部分,我们接触到松弛变量,正则化因子以及最优化函数,在朴素贝叶斯分类,决策树我们也遇到类似的函数优化问题。其实这就是结构风险和经验风险两种模型选择策略,经验风险负责最小化误差,使得模型尽可能的拟合数据,而结构风险则负责规则化参数,使得参数的形式尽量简洁,从而达到防止过拟合的作用.所以针对常见模型,我们都有下式:                           …

大家好,又见面了,我是你们的朋友全栈君。

1.结构风险与经验风险

在支持向量机部分,我们接触到松弛变量,正则化因子以及最优化函数,在朴素贝叶斯分类,决策树我们也遇到类似的函数优化问题。其实这就是结构风险和经验风险两种模型选择策略,经验风险负责最小化误差,使得模型尽可能的拟合数据,而结构风险则负责规则化参数,使得参数的形式尽量简洁,从而达到防止过拟合的作用.所以针对常见模型,我们都有下式:

                                                        LASSO回归与L1正则化 西瓜书「建议收藏」

第一项经验风险L(yi,f(xi,w))衡量真实值与预测值之间的误差,第二项结构风险Ω(w)规则化项使得模型尽可能简单.而第二项Ω(w)一般是模型复杂度的单调函数,模型越复杂,则规则化项的值越大,这里常引入范数作为规则化项,这也就引入了我们常见的L0范数,L1范数以及L2范数.

2.L0范数,L1范数,L2范数与LASSO回归,岭回归

1)广义定义

                L0范数 LASSO回归与L1正则化 西瓜书「建议收藏」 : 向量中非零元素的个数.

                L1范数 LASSO回归与L1正则化 西瓜书「建议收藏」:向量中各个元素绝对值之和

                L2范数 LASSO回归与L1正则化 西瓜书「建议收藏」:向量各元素平方和然后求平方根

L0,L1范数可以实现稀疏化,而L1系数因为有比L0更好的特性而被广泛应用,L2范数在回归里就是岭回归,也叫均值衰减,常用于解决过拟合,通过对向量各元素平方和再求平方根,使得L2范数最小,从而使得参数W的各个元素都接近于0,与L1范数不同,L2范数规划后w的值会接近于0但不到0,而L1范数规范后则可能令w的一些值为0,所以L1范数规范在特征选择中经常用到,而L2范数在参数规则化时经常用到.在回归模型中,通过添加L1,L2范数引入正则化项,便得到了LASSO回归和岭回归:

2)回归模型

常见线性模型回归:

                                                                    LASSO回归与L1正则化 西瓜书「建议收藏」

LASSOO回归:

                                                                    LASSO回归与L1正则化 西瓜书「建议收藏」

岭回归:

                                                                    LASSO回归与L1正则化 西瓜书「建议收藏」

3.嵌入式选择与LASSO回归

这里主要针对西瓜书第11节的内容,对近端梯度下降PGD法解决L1正则化问题进行讨论.

1)优化目标

表示微分算子,对优化目标:

                                                                     LASSO回归与L1正则化 西瓜书「建议收藏」

若f(x)可导,且f 满足L-Lipschitz(利普希茨连续条件),即存在常数L>0使得:

                                                        LASSO回归与L1正则化 西瓜书「建议收藏」

2)泰勒展开

则在Xk处我们可以泰勒展开:

                                                LASSO回归与L1正则化 西瓜书「建议收藏」

上式是严格相等,由L-Lipschitz条件我们可以看到:

                                                                    LASSO回归与L1正则化 西瓜书「建议收藏」

这里给出了一个L的下界,且下界的形式与二阶导函数形式类似,从而泰勒展开式的二阶导便通过L替代,从而严格不等也变成了近似:

                                                   LASSO回归与L1正则化 西瓜书「建议收藏」

3)简化泰勒展开式

接下来我们化简上式:

                                       LASSO回归与L1正则化 西瓜书「建议收藏」

                                LASSO回归与L1正则化 西瓜书「建议收藏」LASSO回归与L1正则化 西瓜书「建议收藏」

                                LASSO回归与L1正则化 西瓜书「建议收藏」

其中φ(xk)是与x无关的const常数.

                                                              LASSO回归与L1正则化 西瓜书「建议收藏」

4)简化优化问题

这里若通过梯度下降法对f(x)进行最小化,则每一步下降迭代实际上等价于最小化二次函数f(x),从而推广到我们最上面的优化目标,类似的可以得到每一步的迭代公式:

                                                LASSO回归与L1正则化 西瓜书「建议收藏」

令  

                                                                      LASSO回归与L1正则化 西瓜书「建议收藏」

则我们可以先计算z,再求解优化问题:

                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

5)求解

令xi为x的第i个分量,将上式展开可以看到没有xixj(x≠j)的项,即x的各分量互不影响,所以优化目标有闭式解.这里对于上述优化问题求解需要用到Soft Thresholding软阈值函数,其解为:

                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

对于本例,带入求解即得:

                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

因此,PGD能使LASSO和其他基于L1范数最小化的方法得以快速求解.

4.Soft Thresholding软阈值函数证明

1)软阈值函数

上式求解用到了软阈值函数,下面对软阈值函数的解进行求证,从而更好理解上述求解过程.

先看一下软阈值函数:

                                                           LASSO回归与L1正则化 西瓜书「建议收藏」

2)证明

Proof:

对于优化问题:

                                                                    LASSO回归与L1正则化 西瓜书「建议收藏」

此处X,Z均为n维向量.

展开目标函数:

      LASSO回归与L1正则化 西瓜书「建议收藏」

LASSO回归与L1正则化 西瓜书「建议收藏」LASSO回归与L1正则化 西瓜书「建议收藏」

从而优化问题变为求解N个独立的函数

                                                                        LASSO回归与L1正则化 西瓜书「建议收藏」

这是我们常见的二次函数,对其求导

                                                                    LASSO回归与L1正则化 西瓜书「建议收藏」

令导数为0:

                                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

看到两边都有x,所以我们要对上述情况进行讨论:

A.z>λ/2时

假设 x<0 ,   所以  sign(x)=-1 ,但 z-λ/2sign(x)>0 ,所以矛盾.

假设 x>0 ,所以  sign(x) = 1,z-λ/2sign(x)>0,所以极小值在x>0 取得1.

此时极小值小于f(0):

                                            LASSO回归与L1正则化 西瓜书「建议收藏」

再看x<0,

                                      LASSO回归与L1正则化 西瓜书「建议收藏」

                                                LASSO回归与L1正则化 西瓜书「建议收藏」

所以f(x)在负无穷到0单调递减,所以最小值在z-λ/2处取得.

B.z<-λ/2时

假设 x<0 ,   所以  sign(x)=-1 ,z-λ/2sign(x)<0 ,所以极值点在 x<0 处取得.

假设 x>0 ,所以  sign(x) = 1,z-λ/2sign(x)<0,所以矛盾.

此时极值小于f(0):

                                              LASSO回归与L1正则化 西瓜书「建议收藏」

再看 x>0 ,

                                        LASSO回归与L1正则化 西瓜书「建议收藏」

                                                  LASSO回归与L1正则化 西瓜书「建议收藏」

所以f(x)在0到正无穷单调递增,所以最小值在z+λ/2处取得.

C.λ/2<z<λ/2时

假设 x<0 ,   所以  sign(x)=-1 ,z-λ/2sign(x)>0 ,所以矛盾.

假设 x>0 ,所以  sign(x) = 1,z-λ/2sign(x)<0,所以矛盾.

所以x>0,x<0均不满足条件.

所以有:

                                                                LASSO回归与L1正则化 西瓜书「建议收藏」

                                                                        LASSO回归与L1正则化 西瓜书「建议收藏」

                                                                  LASSO回归与L1正则化 西瓜书「建议收藏」

                                                                  LASSO回归与L1正则化 西瓜书「建议收藏」

当△x>0时,由条件z<λ/2:

                                                                LASSO回归与L1正则化 西瓜书「建议收藏」

                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

当△x<0时,由条件z<λ/2:

                                                                LASSO回归与L1正则化 西瓜书「建议收藏」

                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

                                                            LASSO回归与L1正则化 西瓜书「建议收藏」

所以在0处取极小值,同时也是最小值.

综合以上三种情况:

                                                                  LASSO回归与L1正则化 西瓜书「建议收藏」

3)对应西瓜书的L1正则化与LASSO回归

这里的解对应的优化问题是:

                                                                    LASSO回归与L1正则化 西瓜书「建议收藏」

而我们PGD优化的问题是:

                                                                LASSO回归与L1正则化 西瓜书「建议收藏」

对上式同乘2/L不影响极值点位置的选取,所以我们的PGD优化问题变成:

                                                                LASSO回归与L1正则化 西瓜书「建议收藏」

带入综合三种情况的到的最终解:

                                                                LASSO回归与L1正则化 西瓜书「建议收藏」

西瓜书上11.14也就得证了~

总结:

终于看完了西瓜书11章特征选择与稀疏学习,发现从头至尾都在提到用LASSO解决问题,所以就结合第六章的正则化和之前的模型评价,对正则化范数以及LASSO重新认识了一下,书中解决LASSO的大致方法就是通过利普希茨连续条件得到L,带入到优化函数中对函数简化变形,简易优化函数,然后通过软阈值函数得到最后的解.LASSO大致就是这些了,有问题欢迎大家交流~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128098.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • win10安装ubuntu「建议收藏」

    win10上安装ubuntu为了能更好地学python,本来打算装个双系统,用Linux写python,不过发现双系统切换起来麻烦了点,然后就发现有虚拟机这东西。花费了一些时间,最后成功通过VMwareWorkstationPro14虚拟机安装了ubuntu,在此将安装教程整合一下,供需要者参考。 1.安装VMwareWorkstationPro14虚拟机要安装ubun…

  • Python表白代码合集:5种表白代码,找不到对象你来找我,这也太秀了叭

    Python表白代码合集:5种表白代码,找不到对象你来找我,这也太秀了叭文章目录一、容我啰嗦两句二、来吧,代码展示1、给女神比个小心心2、无限弹窗式表白3、这货不是表白代码,悄悄送给你们4、520表白墙5、抖音热门表白小软件6、无套路表白三、写在最后一、容我啰嗦两句爬虫看多了,对身体不好,我们来点现实的,学学表白找个女朋友他不香吗,对吧~文章最后教你们怎么打包成exe,如果你懒得搞懂代码怎么回事,直接复制代码打包成exe运行就好了。这样不管你发给别人也好,以后方便直接用也好,都很方便。咱就不整什么鸡皮疙瘩掉一地的情话啥的了,有需要的自行百度。二、来吧,代码展示

  • oracle删除主键索引的sql语句_oracle主键索引和普通索引

    oracle删除主键索引的sql语句_oracle主键索引和普通索引–根据索引名,查询表索引字段select*fromuser_ind_columnswhereindex_name=’索引名’;–根据表名,查询一张表的索引select*fromuser_indexeswheretable_name=’表名’;–根据索引名,查询属于哪张表select*fromall_indexeswhereindex_name=’IN…

  • 数据库自动化运维平台–自助DML

    数据库自动化运维平台–自助DML今天介绍下最近开发的一个平台,自助DML。什么是DML,就是平常执行的增删改查数据库操作。有人有疑问这不是程序访问的操作,为什么还要做一个平台操作这些呢,其实这种操作主要是开发需要线下修复数据的一种操作,不只是增删改,还有建表,建索引,添加字段等,这些操作开发一般会提给DBA协助操作数据库。可能你会觉得这些活能有多少,其实这种活真不少,我上家公司是电商互联网公司,大概有七八百个实例,每天的这种操作有近百个。处理近百个这种需求,基本上一个人一天就不用干别的了。虽说现在的公司实例少点,但每天的工作量还是很大,关

  • 视频直播基础技术总结1

    视频直播基础技术总结1-视频直播基础技术总结11.视频直播**视频直播的5个关键的流程:录制->编码->网络传输->解码->播放视频直播平台一般包括推流端,后台系统和客户端。通常包括直播内容采集、直播后台系统和直播内容播放三个模块。1)内容采集:采集的方式有很多,从一般几十块PC摄像头到几十万的专业录制编码设备,还有移动端的手机前后置摄像头;分布式推

  • windows下如何创建没有名字的.htaccess文件

    windows下如何创建没有名字的.htaccess文件

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号