目录

  • 多项式回归
  • 特征的选择
  • 多项式回归的假设函数
  • 三次回归
  • 另一种回归模型

多项式回归

数据集不总可以用一次函数去拟合,实际情况中,数据集往往需要构建二次函数乃至于三次函数等高次函数去拟合,此时就需要构建多项式回归模型。

特征的选择

以预测房价为例,给定的数据集中有两个特征,分别是临街宽度和垂直宽度,如图:

多项式回归 过拟合 多项式回归公式_多项式


靠近马路的一边为临街宽度,另一边为垂直宽度。

容易得出假设函数\(h_\theta(x)=\theta_0+\theta_1\times{frontage}+\theta_2\times{depth}\)

我们当然可以用这两个特征去构建一个多元线性回归模型,但其实我们也可以创造一个新的特征。

此例中,我们想要预测房价,而真正能够决定房价的其实是房屋的面积,或者说土地的大小。

那么我们新创造一个特征\(x={frontage}\times{depth}\),这个特征即是土地面积或者房屋大小。

此时可以将假设函数变为

\(h_\theta(x)=\theta_0+\theta_1\times{x}\)

多项式回归的假设函数

假设我们有这样一个住房的数据集:

多项式回归 过拟合 多项式回归公式_多项式回归 过拟合_02


看起来直线并不能很好的拟合这个数据集,为了拟合它,可能有许多不同的模型选择,其中一个也许是一个二次函数,如下图:

多项式回归 过拟合 多项式回归公式_多项式回归 过拟合_03


那么对应的假设函数应该为:\(h_\theta(x)=\theta_0+\theta_1x+\theta_2x^2\)

三次回归

但是运用二次函数进行拟合的话会出现这样一个问题:面积大到一定程度之后房价会下降(如下图)。

多项式回归 过拟合 多项式回归公式_数据集_04

而这种情况在实际生活中显然是不可能发生的。

所以我们会考虑用一个三次函数去拟合,也许会效果更好(如下图绿线)。

多项式回归 过拟合 多项式回归公式_拟合_05


那么对应的假设函数应该是

\(h_\theta(x)=\theta_0+\theta_1x+\theta_2x^2+\theta_3x^3\)

这里的x对应上面创造的特征:面积

假设函数中出现了高次,那么特征归一化就显得更重要了。

倘若面积是1到1000,即\({1}\leq{x}\leq{10^3}\)

那么显然\({1}\leq{x^2}\leq{10^6}\),\({1}\leq{x^3}\leq{10^9}\)

可以看出尺度相差非常之大,若要用梯度下降算法,

此时就需要进行特征归一化,使尺度范围变得具有可比性。

另一种回归模型

如前文提到,我们并不希望房价会出现向下降的意外情况,除了建立一个三次模型,还有很多模型可供选择。

譬如,我们这里选择用一个平方根函数去拟合数据集,如下图:

多项式回归 过拟合 多项式回归公式_多项式_06


这样可以使图像更加平缓,而且永远不会下降。

那么对应的假设函数应该是\(h_\theta(x)=\theta_0+\theta_1x+\theta_2\sqrt{x}\)

在实际应用中,会出现很多复杂的情况, 因此特征的选择以及模型的构建是相当重要的。

有时候通过不同的角度来观察特征,就可以得到一个更符合你数据的模型。