【机器学习】一文读懂正则化与LASSO回归,Ridge回归
该文已经收录到专题机器学习进阶之路当中,欢迎大家关注。
1.过拟合
当样本特征很多,样本数相对较少时,模型容易陷入过拟合。为了缓解过拟合问题,有两种方法:
方法一:减少特征数量(人工选择重要特征来保留,会丢弃部分信息)。
方法二:正则化(减少特征参数的数量级)。
2.正则化(Regularization)
正则化是结构风险(损失函数+正则化项)最小化策略的体现,是在经验风险(平均损失函数)上加一个正则化项。正则化的作用就是选择经验风险和模型复杂度同时较小的模型。
防止过拟合的原理:正则化项一般是模型复杂度的单调递增函数,而经验风险负责最小化误差,使模型偏差尽可能小经验风险越小,模型越复杂,正则化项的值越大。要使正则化项也很小,那么模型复杂程度受到限制,因此就能有效地防止过拟合。
3.线性回归正则化
正则化一般具有如下形式的优化目标:
(1)
其中,是用来平衡正则化项和经验风险的系数。
正则化项可以是模型参数向量的范数,经常用的有范数,范数(范数:,范数:) 。
我们考虑最简单的线性回归模型。
给定数据集,其中,,。
代价函数为: (2)
(1)范数正则化(Ridge Regression,岭回归)
代价函数为:
(3)
(2)范数正则化(LASSO,Least Absoulute Shrinkage and Selection Operator,最小绝对收缩选择算子)
代价函数为:
(4)
(3)正则项正则项结合(Elastic Net)
代价函数为:
(5)
其中,范数正则化、范数正则化都有助于降低过拟合风险,范数通过对参数向量各元素平方和求平方根,使得范数最小,从而使得参数的各个元素接近0 ,但不等于0。 而范数正则化比范数更易获得“稀疏”解,即范数正则化求得的会有更少的非零分量,所以范数可用于特征选择,而范数在参数规则化时经常用到(事实上,范数得到的“稀疏”解最多,但范数是中非零元素的个数,不连续,难以优化求解。因此常用范数来近似代替)。
为什么正则化更易获得“稀疏”解呢?
假设仅有两个属性,只有两个参数,绘制不带正则项的目标函数-平方误差项等值线,再绘制,范数等值线,如图1正则化后优化目标的解要在平方误差项和正则化项之间折中,即出现在图中等值线相交处采用。范数时,交点常出现在坐标轴上,即或为0;而采用范数时,交点常出现在某个象限中,即,均非0。也就是说,范数比范数更易获得“稀疏”解。
4.岭回归求解
岭回归不抛弃任何一个特征,缩小了回归系数。
岭回归求解与一般线性回归一致。
(1)如果采用梯度下降法:
(6)
迭代公式如下:
(7)
(2)如果采用正规方程:
最优解为:
(8)
最后,将学得的线性回归模型为:
(9)
5. LASSO回归求解
由于范数用的是绝对值,导致LASSO的优化目标不是连续可导的,也就是说,最小二乘法,梯度下降法,牛顿法,拟牛顿法都不能用。
正则化问题求解可采用近端梯度下降法(Proximal Gradient Descent,PGD)。
(1)优化目标
优化目标为: (10)
若可导,梯度满足L-Lipschitz条件(利普希茨连续条件),即存在常数,使得:
(11)
L-Lipschitz(利普希茨连续条件)定义:
对于函数,若其任意定义域中的, 都存在,使得,即对于上每对点,连接它们的线的斜率的绝对值总是不大于这个实数。
(2)泰勒展开
在处将进行二阶泰勒展开:
(12)
由(11)式,泰勒将展开式的二阶导用代替,得到:
(13)
(3)简化泰勒展开式
将(13)式化简:
(14)
其中,是无关的常数。
(4)简化优化问题
这里若通过梯度下降法对(连续可导)进行最小化,则每一步下降迭代实际上等价于最小化二次函数,推广到优化目标(10),可得到每一步迭代公式:
(15)
令,
则可以先求,再求解优化问题:
(16)
(5)求解
令为的第个分量,将(16)式按分量展开,其中不存在这样的项,即的各分量之间互不影响,所以(12)式有闭式解。
为什么(16)式不存在这样的项?
因为展开(16)式得到,
从而优化问题变为求解个独立的函数:。
对于上述优化问题需要用到soft thresholding软阈值函数(证明见参考文献2),即对于优化问题:
(17)
其解为: (18)
而我们的优化问题为(16)式,则得到闭式解为:
(19)
其中,与分别是与的第个分量。因此,通过PGD能使LASSO和其他基于范数最小化的方法得以快速求解。
参考文献:
1.《机器学习》第十一章嵌入式选择与L1正则化——周志华
2. LASSO回归与L1正则化西瓜书
3. 机器学习之正则化(正规化)
4. 正则化及正则化项的理解
【机器学习】一文读懂正则化与LASSO回归,Ridge回归相关推荐
- 一文读懂正则化:LASSO回归、Ridge回归、ElasticNet 回归
将L1.L2或L1和L2正则化同时应用于线性回归 你可能听说过"Ridge"."Lasso"和"ElasticNet"这样的术语.这些技术术 ...
- 【深度学习】一文读懂机器学习常用损失函数(Loss Function)
[深度学习]一文读懂机器学习常用损失函数(Loss Function) 最近太忙已经好久没有写博客了,今天整理分享一篇关于损失函数的文章吧,以前对损失函数的理解不够深入,没有真正理解每个损失函数的特点 ...
- 一文读懂机器学习中奇异值分解SVD
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录: 矩阵分解 1.1 矩阵分解作用 1.2 矩阵分解的方法一文 ...
- 一文读懂机器学习中的模型偏差
一文读懂机器学习中的模型偏差 http://blog.sina.com.cn/s/blog_cfa68e330102yz2c.html 在人工智能(AI)和机器学习(ML)领域,将预测模型参与决策过程 ...
- 原创 | 一文读懂机器学习中的shapley值方法
作者:贾恩东本文约2000字,建议阅读9分钟本文为你介绍更公平分配利益权重的一种算法--Shapley值方法. 本篇文章是数据派一文读懂系列的新年第一篇原创,在这里祝贺大家新年学业有新成就,生活有新气 ...
- 一文读懂机器学习与深度学习的联系与区别
一文读懂机器学习与深度学习的联系与区别 https://mp.weixin.qq.com/s/6Zk5JxBUs_Op1wwiY4EIZA 翻译: Tocy, kevinlinkai, 雪落无痕xd ...
- 一文读懂EfficientDet
一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...
- 一文读懂 Bias(偏差)、Error(误差)、Variance(方差)
一文读懂 Bias(偏差).Error(误差).Variance(方差) 偏差 偏差度量了学习算法的期望预期与真实结果的偏离程度 ,即刻画了学习算法本身的拟合能力.偏差太高,就会出现欠拟合,即与真实结 ...
- 一文读懂Faster RCNN
来源:信息网络工程研究中心本文约7500字,建议阅读10+分钟 本文从四个切入点为你介绍Faster R-CNN网络. 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在20 ...
最新文章
- php webapi验签,Asp.netCore3.0 WebApi从0到1手摸手教你写【5】增加接口参数签名验证...
- python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1...
- boost learn notes
- Elasticsearch1.x 基于lc-pinyin和ik分词实现 中文、拼音、同义词搜索
- 2015-03-17 current note creation logic in my task
- Github博客地址
- 转载:建设工程中常见的项目建设管理模式有哪些(DBB模式、EPC模式)
- iOS 8 自适应 Cell
- 通过BigInteger真正实现无限大的十进制转N(任意整数)进制
- ubuntu 16.04安装显卡驱动
- 风控建模十一:利用外部数据联合建模时,如何选择样本
- Epub格式电子书格式
- FindBugs 汇总(持续修改)
- html图片右边加竖线,插入Html竖线代码
- 微信web中IOS系统手机摇一摇功能实现及问题解决
- 50TB ExaDrive SSD投入商用,EB级容量闪存系统来日可期
- BATT集体发力搜索,争夺下一代搜索平台的“引路人”
- 推荐一些IEDA,Eclipse十分好用的插件
- eslint prettier husky代码规范配置
- docker跨主机网络——overlay与macvlan