Loading

吴恩达机器学习笔记-4(多项式回归)

多项式回归

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

特征的选择

以预测房价为例,给定的数据集中有两个特征,分别是临街宽度和垂直宽度,如图:
image
靠近马路的一边为临街宽度,另一边为垂直宽度。
容易得出假设函数\(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}\)

多项式回归的假设函数

假设我们有这样一个住房的数据集:
image
看起来直线并不能很好的拟合这个数据集,为了拟合它,可能有许多不同的模型选择,其中一个也许是一个二次函数,如下图:
image
那么对应的假设函数应该为:\(h_\theta(x)=\theta_0+\theta_1x+\theta_2x^2\)

三次回归

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

而这种情况在实际生活中显然是不可能发生的。
所以我们会考虑用一个三次函数去拟合,也许会效果更好(如下图绿线)。
image
那么对应的假设函数应该是
\(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}\)
可以看出尺度相差非常之大,若要用梯度下降算法,
此时就需要进行特征归一化,使尺度范围变得具有可比性。

另一种回归模型

如前文提到,我们并不希望房价会出现向下降的意外情况,除了建立一个三次模型,还有很多模型可供选择。
譬如,我们这里选择用一个平方根函数去拟合数据集,如下图:
image
这样可以使图像更加平缓,而且永远不会下降。
那么对应的假设函数应该是\(h_\theta(x)=\theta_0+\theta_1x+\theta_2\sqrt{x}\)
在实际应用中,会出现很多复杂的情况, 因此特征的选择以及模型的构建是相当重要的。
有时候通过不同的角度来观察特征,就可以得到一个更符合你数据的模型。

posted @ 2021-06-09 10:29  mmmhongyu  阅读(217)  评论(0)    收藏  举报