机器学习 正则化l1怎么用_什么是机器学习中的正则化(Regularization)

Regularization:在现有Features不变情况下,降低部分不重要Features的影响力。这个方法有助于有很多Features且每个Features都有贡献的Neural Network避免Overfitting。

Regularization不是新鲜的词,我这里主要记录其在神经网络中的应用。

1829c6fac57ea08df3f37f89a3a5dfdf.png

复杂模型的overfitting问题

第一次听Regularization的时候,总会和正则表达联系在一起,如

@Star Folding

所说,Regularization就是向你的模型加入某些规则,加入先验,缩小解空间,减小求出错误解的可能性。而正则化这个词,的确让初学者不知道这个是什么。原理是这样的:

在cost function后面加一个惩罚项(对某些参数做限制),如果一个权重太大,将导致Cost过大,因此在反向传播后就会对这个权重进行惩罚,使保持在一个较小的值。

78c3af8a482fb57cf3ec3b8bc94fe9bd.png

常见的是L1 Regularization 和 L2 Regularization

原谅我还是得用李宏毅老师的PPT

cdbef363707c8fbea1f7bbdc2c698e7b.png

在用L1 Regularization后的Cost function经过微分后

用L1 Regularization的话,相当于每次在更新权重的时候,如果原来的

d43009d7a4991d674933c62cbc8e7b7d.png

是正的,就减去上图划线的项,如果是负的,就加上划线的项,于此一来就相当于每次更新都在减小权重。

c070b059407cb84fdc855e7b53b6fe69.png

在用L2 Regularization后的Cost function经过微分后

也就是对于L2 Regularization,相当于每次在权重更新的时候,都先将上一次的权重先乘

0ea23d9468dd27f6fe46c54ae5091191.png

,类似于0.999之类的,所以每次都会越来越靠近0(但不会真的都变成0,因为还有后面的微分)。

这样每次都减一点减一点的方式,就是Weight Decay了。

最后,来看一个在Regression中的Regularization视频,讲得不错。

Regularization

参考资料:

[1]:Machine Learning學習日記 — Coursera篇 (Week 3.4):The Problem of Overfitting, Cost Function, Regularized Linear Regression, Regularized Logistic Regression

[2]:机器学习中常常提到的正则化到底是什么意思?

[3]:Difference between L1 and L2 regularization, implementation and visualization in Tensorflow

[4]:https://murphymind.blogspot.com/2017/05/machine.learning.regularization.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值