该文已经收录到专题机器学习进阶之路当中,欢迎大家关注。

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回归相关推荐

  1. 一文读懂正则化:LASSO回归、Ridge回归、ElasticNet 回归

    将L1.L2或L1和L2正则化同时应用于线性回归 你可能听说过"Ridge"."Lasso"和"ElasticNet"这样的术语.这些技术术 ...

  2. 【深度学习】一文读懂机器学习常用损失函数(Loss Function)

    [深度学习]一文读懂机器学习常用损失函数(Loss Function) 最近太忙已经好久没有写博客了,今天整理分享一篇关于损失函数的文章吧,以前对损失函数的理解不够深入,没有真正理解每个损失函数的特点 ...

  3. 一文读懂机器学习中奇异值分解SVD

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录: 矩阵分解 1.1 矩阵分解作用 1.2 矩阵分解的方法一文 ...

  4. 一文读懂机器学习中的模型偏差

    一文读懂机器学习中的模型偏差 http://blog.sina.com.cn/s/blog_cfa68e330102yz2c.html 在人工智能(AI)和机器学习(ML)领域,将预测模型参与决策过程 ...

  5. 原创 | 一文读懂机器学习中的shapley值方法

    作者:贾恩东本文约2000字,建议阅读9分钟本文为你介绍更公平分配利益权重的一种算法--Shapley值方法. 本篇文章是数据派一文读懂系列的新年第一篇原创,在这里祝贺大家新年学业有新成就,生活有新气 ...

  6. 一文读懂机器学习与深度学习的联系与区别

    一文读懂机器学习与深度学习的联系与区别 https://mp.weixin.qq.com/s/6Zk5JxBUs_Op1wwiY4EIZA 翻译:  Tocy, kevinlinkai, 雪落无痕xd ...

  7. ​一文读懂EfficientDet

    一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...

  8. 一文读懂 Bias(偏差)、Error(误差)、Variance(方差)

    一文读懂 Bias(偏差).Error(误差).Variance(方差) 偏差 偏差度量了学习算法的期望预期与真实结果的偏离程度 ,即刻画了学习算法本身的拟合能力.偏差太高,就会出现欠拟合,即与真实结 ...

  9. 一文读懂Faster RCNN

    来源:信息网络工程研究中心本文约7500字,建议阅读10+分钟 本文从四个切入点为你介绍Faster R-CNN网络. 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在20 ...

最新文章

  1. php webapi验签,Asp.netCore3.0 WebApi从0到1手摸手教你写【5】增加接口参数签名验证...
  2. python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1...
  3. boost learn notes
  4. Elasticsearch1.x 基于lc-pinyin和ik分词实现 中文、拼音、同义词搜索
  5. 2015-03-17 current note creation logic in my task
  6. Github博客地址
  7. 转载:建设工程中常见的项目建设管理模式有哪些(DBB模式、EPC模式)
  8. iOS 8 自适应 Cell
  9. 通过BigInteger真正实现无限大的十进制转N(任意整数)进制
  10. ubuntu 16.04安装显卡驱动
  11. 风控建模十一:利用外部数据联合建模时,如何选择样本
  12. Epub格式电子书格式
  13. FindBugs 汇总(持续修改)
  14. html图片右边加竖线,插入Html竖线代码
  15. 微信web中IOS系统手机摇一摇功能实现及问题解决
  16. 50TB ExaDrive SSD投入商用,EB级容量闪存系统来日可期
  17. BATT集体发力搜索,争夺下一代搜索平台的“引路人”
  18. 推荐一些IEDA,Eclipse十分好用的插件
  19. eslint prettier husky代码规范配置
  20. docker跨主机网络——overlay与macvlan

热门文章

  1. Linux主机名查看和更改
  2. Linux通过stty命令操作串口设备(linux串口操作命令)
  3. python3计算列表长度
  4. 二十、JVM命令行监控工具
  5. 毕业季基于ssm框架的管理系统设计与实现如何写开题报告,怎么完成设计
  6. ORacle空间数据
  7. IT开发资料大全 转
  8. 用django实现一个资产管理的系统
  9. 在西雅图华盛顿大学 (University of Washington) 就读是怎样一番体验?
  10. 物联网深度融入生活场景 爆发条件成熟