写在前面:第一篇做了一个引入,讲了简单的线性回归,有兴趣可以点开查看一下。
2. 评估过拟合
在机器学习中过拟合的情况是最经常发生的,过拟合就是说,我们呢得到的模型的泛化能力是比较差的。13阶的比不过2阶的,这就引入了一个问题:到底多少阶数的模型才是最好的拟合模型呢?
2.1 训练与测试分开
在我们实际的应用中,我们的数据集是有限的,而把所有的数据集全部拿去训练,则会发生过拟合的现象,所以这里引入了一个观点就是将数据集划分称两部分:训练集和测试集。我们可以将我们的数据分成两部分,一部分拿来训练,一部分拿来测试:
通过这样的分离,我们便得到了两个误差:训练误差和测试误差。
2.2 训练/测试误差
实际上训练误差和测试误差的曲线是下面这样的:
从上面可以看到,即使你的模型复杂度越高,即阶数越高,但是测试误差是有一个反升的过程,所以,我们必须找到一个测试误差的最小值,从而找到我们的最适模型。
3. 加入其它新的特征
实际上并不只是有房屋的大小就能决定房屋的价格吗?并不是,我们只是单独的考虑了一个特征,所以我们需要引入一些新的特征。例如加入一个澡堂的数量,得到了下面的图像:
这样便从二维的模型变为了三维的模型,其模拟的便是图中的那个平面。