假设我们的系统散点是这样的
从图中可以看出,这个分布形似二次函数,只单纯的使用线性回归去拟合数据是肯定不合适的.所以说我们要把单纯的一次线性回归扩展成多次多项式回归.
如何使线性回归扩展成多项式回归呢?一种简单的方法是将每个feature都扩展为多次项,然后在此扩展上训练线性模型。
原线性回归方程是:y=a(x1)+b(x2)+1
二次多项式方程是:y=c(x1)^2 +d(x2)^2+a(x1)+b(x2)+1
三次多项式方程:继续在二次多项式回归方程里面加入(x1)^3 , (x2)^3, (x2)(x1)^2, (x1)(x2)^2
所以说,多项式回归不仅能拟合不规则的数据集,还能使两种features联系起来.
Learning Curves
如果我们的多项式模型过于复杂就会产生下面这种情况:
可以看到,当我们使用300-degree的多项式回归的时候出现了明显的过拟合情况.这是我们不想出现的结果.但是当我们用1-degree,也就是线性回归方程的时候又是明显的欠拟合.那么怎么才能找到合适的维度数呢?
很简单,我们用cross-validation去训练模型,然后根据训练集和验证集的误差大小来确定我们是不是过拟合或者欠拟合了.
首先,让我们看一下训练数据的性能ÿ