关于范数与正则化详解(转)
L0范数是指向量中非0的元素的个数。
L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。
L2范数是指向量各元素的平方和然后求平方根。
1. 什么是稀疏解?
yiyi
没有关系或者不提供任何信息的,在最小化目标函数的时候考虑xixi
这些额外的特征,虽然可以获得更小的训练误差,但是在预测新样本的时候,可能会干扰正常的预测。故特征稀疏是为了帮助我们去更好的完成特征选择而如果所得的解只在某(几)个轴上有实数,另外的轴为0,从而最终得到稀疏解
。
yiyi
没有关系或者不提供任何信息的,在最小化目标函数的时候考虑xixi
这些额外的特征,虽然可以获得更小的训练误差,但是在预测新样本的时候,可能会干扰正常的预测。故特征稀疏是为了帮助我们去更好的完成特征选择而设定的。2. L0、L1和L2正则是如何避免过拟合的?
L0正则化的值是模型参数中非零参数的个数,L1范数是指向量中各个元素绝对值之和,L2正则化标识各个参数的平方的和的开方值。
先讨论几个问题:
1)实现参数的稀疏有什么好处吗? 一个好处是可以简化模型,避免过拟合。因为一个模型中真正重要的参数可能并不多,如果考虑所有的参数起作用,那么可以对训练数据可以预测的很好,但是对测试数据就只能呵呵了。另一个好处是参数变少可以使整个模型获得更好的可解释性。
2)参数值越小代表模型越简单吗? 是的。为什么参数越小,说明模型越简单呢,这是因为越复杂的模型,越是会尝试对所有的样本进行拟合,甚至包括一些异常样本点,为了拟合这些异常点,函数的曲线就会变得非常陡,忽高忽低,函数曲线变化剧烈,说明参数值非常大,比如y=2x^2曲线就没有y=100x^2曲线陡峭,所以复杂的模型,往往就是过拟合的结果,其参数值就会比较大。
根据上面的讨论,稀疏的参数可以防止过拟合,因此用L0范数(非零参数的个数
)来做正则化项是可以防止过拟合的,毕竟L0的定义就是要使得非零参数个数最少
。从直观上看,利用非零参数的个数,可以很好的来选择特征,实现特征稀疏的效果,具体操作时选择参数非零的特征即可。但因为L0正则化很难求解,是个NP难问题,因此一般采用L1正则化。L1正则化是L0正则化的最优凸近似,比L0容易求解,并且也可以实现稀疏的效果。
L1正则化之所以可以防止过拟合,是因为L1范数就是各个参数的绝对值相加得到的,我们前面讨论了,参数值大小和模型复杂度是成正比的。因此复杂的模型,其L1范数就大,最终导致损失函数就大,说明这个模型就不够好。
L2正则化可以防止过拟合的原因和L1正则化一样,只是形式不太一样。L2范数是各参数的平方和再求平方根,我们让L2范数的正则项最小,可以使w的每个元素都很小,都接近于0。但与L1范数不一样的是,它不会是每个元素为0,而只是接近于0。越小的参数说明模型越简单,越简单的模型越不容易产生过拟合现象。
3. L1和L2的对比,以及L1如何得到稀疏解的?
对于线性回归模型
,使用L1正则化的模型建叫做Lasso回归
,使用L2正则化的模型叫做Ridge回归(岭回归)
。
我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为C的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解:
可以看到,L1-ball与L2-ball的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。
相比之下,L2-ball就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1能产生稀疏性,而L2不行的原因了。
因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,但这些特征都会接近于0。在所有特征中只有少数特征起重要作用的情况下,选择Lasso比较合适,因为它能自动选择特征。而如果所有特征中,大部分特征都能起作用,而且起的作用很平均,那么使用Ridge也许更合适。Lasso不仅可以作为正则化手段,其在特征选择时候非常有用,而Ridge就只是一种规则化而已。
4. 总结一下
L1范数主要是为了:1,得到稀疏解,可以用于特征选择;2,其次可以预防过拟合; L2范数主要是为了:防止过拟合,并且一般都选择L2范数来防止过拟合。
需要搞清楚以下问题:1,为什么L1可以得到稀疏解;2,L1和L2防止过拟合的原理差别;3,什么时候选择L1或L2。
转载于:https://www.cnblogs.com/gczr/p/6547182.html
关于范数与正则化详解(转)相关推荐
- tikhonov正则化 matlab_4 L1和l2正则化详解(花书7.1 参数范数惩罚)
7.1 参数范数惩罚 许多正则化方法通过对目标函数 添加一个 参数范数惩罚 ,限制模型(如神经网络.线性回归和逻辑回归)的学习能力.将正则化后的目标函数记为: 其中 是权衡范数惩罚项 和标准目标函数 ...
- L1、L2正则化详解
正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束.调整或缩小.也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险. 一. ...
- 【机器学习】L1正则化与L2正则化详解及解决过拟合的方法
在详细介绍L1与L2之前,先讲讲正则化的应用场景. 正则化方法:防止过拟合,提高泛化能力 所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越, ...
- L1正则化与L2正则化详解
L1.L2正则化 什么是正则化? L1.L2正则化公式 正则化的作用 为什么加入L1正则化的模型会更稀疏 1.梯度视角 2.解空间形状视角 为何黄色区域为解空间? 3.函数叠加视角 为何L1正则化可将 ...
- 【L1正则化与L2正则化详解及为什么L1和L2正则化可防止过拟合】
一.为什么L1和L2正则化可防止过拟合? 线性模型常用来处理回归和分类任务,为了防止模型处于过拟合状态,需要用L1正则化和L2正则化降低模型的复杂度,很多线性回归模型正则化的文章会提到L1是通过稀疏参 ...
- 【阿里云课程】详解深度学习优化:泛化与正则化,学习率与最优化
大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第6课中两节,介绍如下: 第1节:泛化与正则化 第1节课内容为:泛化与正则化,讲述泛化的概念与重要性,各种正则化方法,包括显 ...
- 深度学习中的正则化技术详解
目录 基本概念 1. 参数范数惩罚 1.1 \(L^2\)正则化 1.2 \(L^1\)正则化 1.3 总结\(L^2\)与\(L^1\)正则化 2. 作为约束的范数惩罚 3. 欠约束问题 4. 数据 ...
- 梯度下降、牛顿法凸优化、L1、L2正则化、softmax、Batchnorm、droupout、Targeted Dropout详解
一.梯度下降 问题提出:虽然给定一个假设函数,我们能够根据cost function知道这个假设函数拟合的好不好,但是毕竟函数有这么多,总不可能一个一个试吧?因此我们引出了梯度下降:能够找出cost ...
- 详解L1和L2正则化
大纲: L1和L2的区别以及范数相关知识 对参数进行L1和L2正则化的作用与区别 pytorch实现L1与L2正则化 对特征进行L2正则化的作用 L1和L2的区别以及范数 使用机器学习方法解决实际 ...
最新文章
- Linux RSS/RPS/RFS/XPS对比
- Mysql双向同步复制
- OpenCV高动态范围成像
- visual c++ 技术资料(网络收集)
- 内容库-管理介质和模板的最佳办法(转)
- css未生效,css不生效是什么原因
- [20170604]12c Top Frequency histogram补充.txt
- 【转】Servlet/JSP学习笔记(3)-Lomboz介绍+安装方法
- iOS比较当前日期与指定日期大小
- matlab中x.^2与x^2有什么区别?
- 产品设计必备干货:产品开发流程[完整版]
- 论文投稿 基金名称 标准版 中英文
- 苹果plus html,iPhoneX 苹果8 8PLus区别:所有功能参数 最详细全面对比
- Rhythmbox中mp3中文乱码问题
- C语言atan2()函数:求y/x的反正切值
- 《九日集训》(第一讲)函数
- HITCS_大作业_程序人生-Hello’s P2P
- zookeeper 监控
- 美团外卖API接入(一)
- String转ushort[](可自由组合高低byte,生成ushort)
热门文章
- vue 指令 v-cloak
- 数据科学近3年都应用在哪些领域?
- 数据算法之二叉树平衡(BinTreeNode Rotate)的Java实现
- Linux进程间通信的方法和示例
- 在过程中要正式批准可交付成果_PMP模拟考试一(200题中文版)
- 使用负载均衡SLB时为何出现请求分布不均衡的现象
- 分布式文件系统-HDFS( HDFS全称是Hadoop Distributed System)
- 一步步实现SDDC-嵌入式PSC的VC部署
- Nginx学习总结(15)—— 提升 Web 应用性能的十个步骤
- Docker学习总结(48)——Docker 四种网络模式温故