机器学习中的正则化

来源:互联网 发布:京东抢券软件安卓 编辑:程序博客网 时间:2024/06/05 12:01

机器学习中的正则化

@(《机器学习》西瓜书)


在看周志华老师的《机器学习》——神经网络这节时,读到一段话:

BP神经网络由于其强大的表示能力,经常遭遇过拟合情况,而防止过拟合情况最有效的策略就是“正则化”,其基本思想就是在损失函数中增加一个能描述其网络复杂度的部分,书中选择的是连接权和阈值的平方和。增加连接权和阈值平方和这一项后,训练过程将会偏好比较小的连接权和阈值,使得网络输出更加光滑,从而对过拟合有所缓解。

看到上述红体字不禁自问:为什么偏好比较小的?为什么更光滑?如何抑制过拟合?


翻看博客以及以往Coursera上的视频讲解,豁然开朗!


先从最简单的线性模型举例:
这里写图片描述
这里写图片描述
这里写图片描述
以上三幅图分别表示欠拟合—合适拟合—过拟合,我们可以看到过拟合实际是由于特征高次幂对函数影响较大,导致过拟合。
如果可以抑制x3,x4hθ(x)的影响,将会从过拟合转变为合适的拟合。
这也是正则化思想的由来:加入惩罚因子λ,使得特征高次幂部分对假设函数影响0
所以:线性模型的损失函数由

J(θ)=12mi=1m(hθ(x(i))y(i))2

变为:
J(θ)=12m(i=1m(hθ(x(i))y(i))2+λj=1mθ2j)

对应的梯度:
J(θ)θj=1m(i=1m(hθ(x(i))y(i))x(i)+λj=1mθj)

θj=θjαJ(θ)θj

则,加了正则化之后,对应的θj每次更新会多减去αλmj=1θj,最终θj会变的更小一些,间接的抑制了过拟合。


我们看到参数λ的值对抑制过拟合很关键,一般取值为0.1,那如果λ太大会怎么样呢?
- 算法依然正常工作,λ不会影响算法本身;
- 但算法可能会变成欠拟合,因为θ1,...,θj都变得很小,hθ(x)θ0
- 梯度下降算法不一定会收敛
这里写图片描述


看到这里已经可以理解上述红字部分的话了,减少高次幂特征的影响,网络输出会更加光滑,而且连接权和阈值会偏小一些,缓解了过拟合。


原创粉丝点击