本文是吴恩达《机器学习》视频笔记第23篇,对应第2周第5个视频。
“Linear Regression with multiple variables——Features and polynomial regression”
前面我们已经学习了多元线性回归,这次视频将学习怎样从多个特征中进行特征选择,以及如何选择回归方程。
特征选择
还是以卖房子的事情为例,其实我们前面是说房屋面积和售价之间的关系。但是,实际上我们测量的是房子的长和宽,即房屋前面临街的宽度(frontage)、房屋的纵深(depth)。如下图:
![fafeee9bb3c868f0152c468e98fe66dd.png](https://img-blog.csdnimg.cn/img_convert/fafeee9bb3c868f0152c468e98fe66dd.png)
如果这样的话,我们死板的套用线性回归方程的话会得到上图左边这样的一个式子。我们让frontage为x1, 让depth为x_2。
实际上呢,我们是用frontage*depth=area为一个自变量来进行回归分析的,回归方程变为
多项式回归
我们确定了面积作为一个自变量后,将面积和售价之间的关系绘制一下散点图:
![674fd9cd42d8b7aa9a09dfa123c46d85.png](https://img-blog.csdnimg.cn/img_convert/674fd9cd42d8b7aa9a09dfa123c46d85.png)
从散点图上一看,这并不是一条直线啊,不能用线性方程来拟合啊,那咋办呢?
这个时候,我们考虑使用二次函数来进行拟合。
![eb9f85d47c77d2a4fe073a513d3d6c28.png](https://img-blog.csdnimg.cn/img_convert/eb9f85d47c77d2a4fe073a513d3d6c28.png)
这样的一个二次函数在开头的时候还不错,但是二次函数是一个开口向下的抛物线,它有上升到后面也会有下降,这就不行了,不可能随着房屋面积的增加售价还下降了。看来,二次函数也不行,那还能怎样?
我们考虑使用三次函数,三次函数不会下降,只会上升,如下图:
![d4c02ae639c2f84fc4cedbc8485a55d8.png](https://img-blog.csdnimg.cn/img_convert/d4c02ae639c2f84fc4cedbc8485a55d8.png)
如果使用3次方的话,你会发现前面我们讲到过的特征缩放就非常重要,因为:
![4c747dab45f651511894d1a36c626c93.png](https://img-blog.csdnimg.cn/img_convert/4c747dab45f651511894d1a36c626c93.png)
如果更细心一点,你会发现其实三次函数也不能很好的拟合最初的那个散点图。因为,随着面积的增加,售价的增长会非常缓慢,和三次函数的形状不一致了。
那这个时候,我们考虑使用下面这样的式子,考虑使用一个根号,如下图。
![42404717b09e98c121496016feb5fd6b.png](https://img-blog.csdnimg.cn/img_convert/42404717b09e98c121496016feb5fd6b.png)
最后这个式子,看上去就能很完美地拟合最开始的散点图了,搞定收工。
总结
这次视频虽然很短,但是很重要。为什么呢?
从这个视频我们知道了两个非常重要的知识点:(1)我们要研究的对象的特征是需要选择的,甚至是需要进行一些预处理的,这一点很重要;(2)多项式(或者说模型)也是需要进行选择的,可能需要很多次的比较多种模型才能找到一个最合适的。