黑:过拟合怎么办?
白:加入正则项防止过拟合白:加入正则项防止过拟合
黑:什么是正则项?
白:就是在原来的损失函数加入惩罚项
比如原损失函数:
加入惩罚项之后损失函数:
黑:还是不明白为什么加入这个正则项后就会防止过拟合了呢?原理是啥呢?
白:引入正则项后,会使权重小的特征的权重损失的更多的,而对权重大的特征的权重相对来说损失的就少很多。(类似于马太效应)
黑:数学不好的我怎么也看不出来权重小的损失的多啊?不应该权重大的损失的多一些吗?
好,下面举个栗子吧!如果有两个特征x1,x2,对应的线性回归方程为
有两个样本(1,1,4.1),(2,1,6.2),因为这里讨论的是
θ
1
\theta_1
θ1和
θ
2
\theta_2
θ2在引入正则项之后的变化,而
θ
0
\theta_0
θ0相当于常数,这里面,为了方便计算,把
θ
0
\theta_0
θ0赋值为0,那么显然不加正则项时
θ
1
\theta_1
θ1=2.1和
θ
2
\theta_2
θ2=2分别是x1和x2的权重.
当我引入正则项之后
观察发现是二元二次函数,我们可以分别求出minJ(
θ
\theta
θ)最小的情况下的
θ
1
\theta_1
θ1和
θ
2
\theta_2
θ2
得出
θ
1
\theta_1
θ1和
θ
2
\theta_2
θ2联立方程得
由此可看出当正则项系
λ
\lambda
λ=0时即是原函数的
θ
1
\theta_1
θ1=2.1和
θ
2
\theta_2
θ2=2使得minJ(
θ
\theta
θ)最小。
当
λ
\lambda
λ=1时,
θ
1
\theta_1
θ1=1.685和
θ
2
\theta_2
θ2=0.96.可以发现,
θ
2
\theta_2
θ2下降了很多啊。为什么呢?因为加入正则项后要要考虑两项之和最小,
θ
1
\theta_1
θ1承担使这项
尽量小的光荣使命,所以不能减小太多。所以只能牺牲权重较小的
θ
2
\theta_2
θ2了。