本节需要理解的问题如下:
1.多变量线性回归的意义
2.多变量线性回归的代价函数的意义
3.多变量线性回归的梯度下降
4.公式的向量化(建议自己推导一遍,有助于理解)
我们之前探讨了单变量的线性回归,就是根据一个变量来预测目标。那么,我们现在来思考一下,在现实生活中,对一个事情的结果产生影响的因素一般不会是一个。例如,当我们想要去预测房价时,我们所要考虑的因素可能会有面积,楼层,房屋的结构等等。显而易见,此时对我们的房价产生影响的因素不是一个。此时,我们就要使用多变量的线性回归来预测。
接下来,我们举一个例子:假设我们要预测房价,现在知道了如下的信息:
面积 卧室的数量 楼层 该房屋的建成时间 价格
102 3 16 2010 10100
110 3 33 2016 12000
150 4 5 2017 15000
... ... ... ... ...
根据这些信息我们可以建立数学模型,首先我们引入数学符号:
n代表特征的数量(在本例中n为4,分别代表了面积,卧室的数量,楼层,房屋建成的时间)
代表第i个训练实例,
代表了第i个训练实例的第j个特征。例如在本例中
={102,3,16,2010},
=102
代表第i个实际的输出值
代表假设函数,就是根据
的输出来预测一个输出值,我们希望这个预测值要尽可能的接近
有了这些数学符号以后,我们很容易就可以得到预测的公式:
在得到数学公式后,接下来我们该做什么呢?相信只要是理解了单变量线性回归思想的读者们可以很清楚的知道下一步我们所要做的事情。对,类似于单变量线性回归,在构建好数学模型后,我们需要构建代价函数(若是你还不能理解代价函数的意义,那么请参照单变量线性回归反复思考)。其公式如下:
接下来,我们的目标就是寻找一组,使得J可以取到最小值,方法就是我们在单变量线性回归中介绍的梯度下降(若是不能理解此方法,请反复阅读并且思考单变量线性回归),其公式如下:
化解后可以得到:
......
我们可以将上面的公式向量化(向量化不是必须的,但是确实很简便,并且向量化的过程可以帮助我们更好的理解。所以建议读者自己进行向量化,可以得到一下结果)
在这个公式里表示向量,
表示矩阵的转置,Y表示输出的向量集合
现在我们已经学习完了多变量线性回归,请返回开头思考一下问题