目录
- 多项式回归
- 特征的选择
- 多项式回归的假设函数
- 三次回归
- 另一种回归模型
多项式回归
数据集不总可以用一次函数去拟合,实际情况中,数据集往往需要构建二次函数乃至于三次函数等高次函数去拟合,此时就需要构建多项式回归模型。
特征的选择
以预测房价为例,给定的数据集中有两个特征,分别是临街宽度和垂直宽度,如图:
靠近马路的一边为临街宽度,另一边为垂直宽度。
容易得出假设函数\(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}\)
多项式回归的假设函数
假设我们有这样一个住房的数据集:
看起来直线并不能很好的拟合这个数据集,为了拟合它,可能有许多不同的模型选择,其中一个也许是一个二次函数,如下图:
那么对应的假设函数应该为:\(h_\theta(x)=\theta_0+\theta_1x+\theta_2x^2\)
三次回归
但是运用二次函数进行拟合的话会出现这样一个问题:面积大到一定程度之后房价会下降(如下图)。
而这种情况在实际生活中显然是不可能发生的。
所以我们会考虑用一个三次函数去拟合,也许会效果更好(如下图绿线)。
那么对应的假设函数应该是
\(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}\)
可以看出尺度相差非常之大,若要用梯度下降算法,
此时就需要进行特征归一化,使尺度范围变得具有可比性。
另一种回归模型
如前文提到,我们并不希望房价会出现向下降的意外情况,除了建立一个三次模型,还有很多模型可供选择。
譬如,我们这里选择用一个平方根函数去拟合数据集,如下图:
这样可以使图像更加平缓,而且永远不会下降。
那么对应的假设函数应该是\(h_\theta(x)=\theta_0+\theta_1x+\theta_2\sqrt{x}\)
在实际应用中,会出现很多复杂的情况, 因此特征的选择以及模型的构建是相当重要的。
有时候通过不同的角度来观察特征,就可以得到一个更符合你数据的模型。