本文是吴恩达《机器学习》视频笔记第19篇,对应第2周第1个视频。
“Linear Regression with multiple variables——Multiple features”
01
—
笔记
上一周我们已经学习了机器学习的基本知识,包括机器学习的基本概念、监督学习、无监督学习、一元线性回归、梯度下降、机器学习所需要的线性代数基础等。
而第二周的主要内容有两个:
- 多元线性回归;
- Octave(Matlab)入门。
本小节先来看一下多维特征是个什么东西?为什么需要多元线性回归?
1.1 还是卖房子的例子
在上一周预测房屋售价的时候,我们只考虑了面积对房屋售价的影响,我们使用梯度下降法求解下图中这样的一元模型的参数。
但实际上,我们在买房的时候不单看面积,我们还要看它是几室几厅、是几层的、还要看房屋的年限等,多种因素共同影响房屋的最终售价,即:
相应的,我们就用一些特别的标识来表示这些影响房屋最终售价的特征,如下图:
那,我们让这件事情更一般化一点。假设影响因变量y的自变量有n个,即 。我们在讲一元模型的时候讲到过,用m表示训练样本的个数。而第i个样本表示成 , 。如果自变量是有n个的话,相对应的自变量就是可以细分到第i个样本的第j个特征,即 。
再结合上周学到的线性代数基础,我们可以把第i个样本的m个分量用一个m维的列向量来表示,具体化到卖房子的这个例子,就可以 表示维为下图所示:
1.2 多元线性回归的一般模型
本来一元模型是这样的,
变成了多元模型之后(此处卖房子的变成了四元模型):
上式中,我们知道x1、x2、x3、x4分别表示的是面积(平方英尺)、卧室数量、层数、年限四个自变量。
然后,借助训练样本的帮助经过一定的算法,可能可以求出上面模型中的参数,然后公式有可能是下面这个样子:
上面这个式子怎么理解呢?注意我们这里的
是最终房屋的售价(单位是:千美元),房屋的面积每增加一平方英尺就增加100美元,同样面积的房子每增加一个卧室售价增加10美元,同样面积同样卧室数每增加一层就会增加3000美元,而房屋的使用年限每增加一年就减少2000美元。
对于n元的情况:
上面这个式子,有没有可能通过线性代数的方法让它看上去更精炼么?如果我们引入一个多一个自变量 让它恒等于1, 那么如下图所示:
我们可以用矩阵向量乘法的形式把多元线性回归的模型公式表示为:
这样的公式看着非常舒服,好像求解的问题显得简单了,但实际上我们知道它包含了好多好多的数在里面的。
更具体的我们后面再讲。