东阳的学习记录,坚持就是胜利!
过拟合
首先看一个正常的拟合。y = b + w * x
更改模型, 使用二次回归,
y
=
b
+
w
1
∙
x
+
w
2
∙
x
2
y = b + w _1 ∙ x + w 2 ∙ x^ 2
y=b+w1∙x+w2∙x2
逐渐增大,
y
=
b
+
w
1
∙
x
+
w
2
∙
(
x
2
+
w
3
∙
x
3
+
w
4
∙
x
4
+
w
5
∙
x
5
y = b + w _1 ∙ x + w_ 2 ∙ (x ^ 2+ w _3 ∙x^3 + w 4 ∙ x^ 4 + w 5 ∙ x^5
y=b+w1∙x+w2∙(x2+w3∙x3+w4∙x4+w5∙x5
不同模型在训练集和测试集上的表现
可以看到, 当改变回归模型的阶数时,在训练集上的变现编号,但是在测试集上的表现先变好,后变差。称这种现象叫做过拟合。
过拟合的理解
之所以存在过拟合的可能,是因为选择模型的标准和评价模型的标准是不一致的。举例来说,选择模型时往往是选取在训练数据上表现最好的模型;但评价模型时则是观察模型在训练过程中不可见数据上的表现。当模型尝试“记住”训练数据而非从训练数据中学习规律时,就可能发生过拟合。一般来说,当参数的自由度或模型结构的复杂度超过数据所包含信息内容时,拟合后的模型可能使用任意多的参数,这会降低或破坏模型泛化的能力。
如图中所示,过拟合虽然包含了所需要的内容,但是也包含了一些无用的,在原来数据中所不能体现出来的东西。不够精确。
如何防止过拟合
正则化
我们在损失函数中,添加上如下图红色框的内容。这个行为就是正则化。正则化的目的是找到一个更平滑的曲线来拟合数据,这样更不容易受到噪声的影响。(正则化不用管bias)
正则化的理解
加入正则化后,我们可以得到一个参数值(
w
i
w_i
wi)更加接近于0的训练结果,为什么接近于0的参数可以防止过拟合呢。
w
i
w_i
wi接近于0,表示该函数曲线更平滑,更不容易受到noise的影响,这样就能够保证一个比较好的结果。
加入正则化之后的模型表现
- 在一定范围内增大λ,可以增强模型的表现。
- 但是λ不能过大,这样会使得曲线过于平滑,而导致欠拟合。