模型训练之初,你压根不知道哪些特征会有用,于是你找了很多特征,以此来尽可能精确地去拟合训练数据。
这样的结果往往就是,你用上了一些其实不重要的特征,虽然加上这些特征,会在训练集中表现很好,甚至拿到满分,但是我们的目标并不是让模型在训练集上取得满分,而是在正儿八经的测试集,这种大考中,取得优秀的表现。
十有八九,我们第一次训练出来的模型,会出现过拟合,也就是说,在测试集表现的没有在训练集上好,甚至差不少。
分析发现,我们在模型中使用的某些特征,本身就不具备普适性。但你通过训练集,还是学习到它了,因为你的模型,想法设法地拟合了所有的样本点,自然而然地就会出来很多特征参数,如下图,第三幅图的模型复杂程度远大于第一幅。
在这种不具备普遍性的情况下学习到它,自然会影响你测试集的效果,自然就做不出泛化能力强的模型,就产生了过拟合。
当然了,并不是只要参数一多就会过拟合,还要看你的样本量。
先不用管L1, L2正则到底是干啥的,它们之间有何区别等这样的问题。
按照逻辑,遇到过拟合这个问题,直接解决过拟合就行。
我们不妨先想想,如果想消除几个原来模型中的特征,你会怎么去做?比如我们学到了一个模型:
y = tanh(w1x1 + w2x2 + w3x3 + w4x4)
如果想变弱或消除特征x3, 其实很简单的。直接添加一项 -w3*常数就会达到效果,对吗?yeah, 这样不就变弱特征x3的作用了吗。
关于这个问题的回答,近日,我查阅到了几篇讲的比较好的博客,非常通俗地解释了这个问题。
https://blog.csdn.net/weixin_39750084/article/details/83661413
https://www.zhihu.com/question/37096933
假如,我们的模型Loss函数与某个特征w 的关系如下:
图片来源于网络
如果施加 L1,则新的函数为:Loss()+C|w|,要想消除这个特征的作用,只需要令 w = 0,使它取得极小值即可。
且可以证明:添加L1正则后 ,只要满足:
系数 C 大于原函数在 0 点处的导数的绝对值,
w = 0 就会变成一个极小值点。
证明过程如下,如上图所示,要想在0点处取得极小值,根据高数基本知识:
1) w小于0时,d(Loss)/d(w) - C 小于0
2) 且,w大于0时,d(Loss)/d(w) + C 大于0
上面两个式子同时满足,可以简写为:| d(Loss)/d(w) | < C, 得证。
如果施加 L2, 则新的函数为:Loss()+Cw^2 ,求导可得:d(Loss)/d(w) + 2Cw,要想在w = 0点处取得极小值,必须得满足:
d(Loss)/d(w) = 0
言外之意,如果原函数在0点处的导数不为 0,那么施加 L2 正则后导数依然不为 0,也就不会在0点处取得极小值。
这种概率很明显小于L1正则在0点处取得极小值的概率值,由此可得,L1更容易使得原来的特征变弱或消除,换句话说就是更容易变稀疏。
讲完了,读者朋友们,你们看明白了吗?
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、检测分割识别、三维视觉、医学影像、GAN、自动驾驶、计算摄影、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
投稿也欢迎联系:simiter@126.com
长按关注计算机视觉life
推荐阅读
原来CNN是这样提取图像特征的。。。
有哪些靠谱的deep learning网络调参经验?
深度学习中最常见GAN模型应用与解读
CNN系列模型发展简史(附代码,已全部跑通)
盘点卷积神经网络中十大变革操作:变形卷积核、可分离卷积。。。
深度学习,怎么知道你的训练数据真的够了?
重磅!MobileNetV3 来了!
最佳机器/深度学习课程 Top 5 ,吴恩达占了俩
机器学习必学十大算法
YOLO简史
这可能是「多模态机器学习」最通俗易懂的介绍
算力限制场景下的目标检测实战浅谈
开源 | 用深度学习让你的照片变得美丽
面试时让你手推公式不在害怕 | 线性回归
面试时让你手推公式不在害怕 | 梯度下降
深度学习在计算机视觉各项任务中的应用
干货 | 深入理解深度学习中的激活函数
何恺明组又出神作!最新论文提出全景分割新方法
Android手机移植TensorFlow,实现物体识别、行人检测、图像风格迁移
没有人工标注,如何实现互联网图像中的像素级语义识别?
详解如何将TensorFlow训练的模型移植到安卓手机
有趣又有料:任意操控静态图片中人的眼球
深度学习+几何结构:1+1>2?
机器学习工程师第一年的 12 点体会
万字长文总结机器学习的模型评估与调参,附代码下载
如何配置一台深度学习工作站?
最新AI干货,我在看