modify some mistakes.

This commit is contained in:
Shine wOng
2020-01-09 11:20:16 +08:00
parent bdc2fc7b8c
commit d3b8c3d669

View File

@@ -310,11 +310,11 @@ $$
过拟合是统计学习中非常常见的一个问题,它是指模型的选择过于复杂,因而可以在训练集上得到很好的训练效果,使得损失函数接近于零,可是却难以将该模型**泛化**(`generalize`)到其他应用场合,比如说在一个新的测试集上预测准确率就会非常低下。**欠拟合**,正常拟合,以及过拟合的关系如下图所示
![overfitting](images.overfitting.jpeg)
![overfitting](images/overfitting.jpeg)
可以看到,第一张图中的模型选择过于简单,用线性函数去拟合一个多项式回归问题,发生了欠拟合;第三张图的模型则过于复杂,用了一个非常高阶的多项式来拟合一个简单问题,发生了过拟合。
可以看到,第一张图中的模型选择过于简单,用线性函数去拟合一个多项式回归问题,发生了欠拟合;第三张图的模型则过于复杂,用了一个非常高阶的多项式来拟合一个低阶问题,发生了过拟合。
关于过拟合,我想到这样一个直观的理解:训练模型的过程就好比一个人复习考试的过程,一种复习方案是深入理解题目背后的原理和知识点,另一种复习方案则是把每个题目都记忆下来。显然后者在训练集上会有出色的表现,如果记忆足够好甚至可以达到100%的正确率,可是在实际考试过程中,遇到的都是他从未记忆过的题目,此时就束手无策了。第二种复习方案就是这里的过拟合。
关于过拟合,我想到这样一个直观的理解:训练模型的过程就好比一个人复习考试的过程,一种复习方案是深入理解题目背后的原理和知识点,另一种复习方案则是把每个题目都记忆下来。显然后者在训练集上会有出色的表现,如果记忆足够好甚至可以达到100%的正确率,可是在实际考试过程中,遇到的都是他从未记忆过的题目,此时就束手无策了。第二种复习方案就是这里的过拟合。
过拟合会发生,主要是因为模型选择过于复杂,选择的特征太多。因此,一种解决过拟合的方案,就是手动剔除一些不重要的特征,简化模型,或者可以使用**模型选择算法**(`model selection algorithm`),后者将在后面的文章中提到。另一种更加常见的方案,就是下面要重点阐述的正则化。
@@ -326,7 +326,7 @@ $$
h_\theta(x) = \theta_0 + \theta_1x + \theta_2x^2 + \theta_3x^3 + \theta_4x^4
$$
为了避免发生过拟合,我可以限制$\thete_3, \theta_4$的大小,使得高阶项具有相对更小的权重。具体的方案是在损失函数中对$\theta_3, \theta_4$添加**罚项**(`penalty`),比如
为了避免发生过拟合,我可以限制$\theta_3, \theta_4$的大小,使得高阶项具有相对更小的权重。具体的方案是在损失函数中对$\theta_3, \theta_4$添加**罚项**(`penalty`),比如
$$
J(\theta) = \frac{1}{2m}\Sigma_{i = 1}^m[h_\theta(x^{(i)}) - y^{(i)}]^2 + 1000\theta_3^2 + 1000\theta_4^2