【机器学习300问】11、多元线性回归模型和一元线性回归有什么不同?

        在之前的文章中,我们已经学习了一元线性回归模型,其中最关键的参数是w和b。机器学习的目的就是去得到合适w和b后能准确预测未知数据。但现实世界是复杂的,一个事情的发生绝大多数时候不会是一个原因导致。

        因此多元线性回归模型区别与一元线性回归主要的不同就在变量不再是w和b两个,而可以是w_{1},w_{2},...,w_{n},b多个变量。特征量变多了,很多之前学过的东西也就变复杂了,下面我来一个个讲解。

一、多元线性回归模型

(1)多维特征

        多元线性回归模型在定义上与一元线性回归模型不同,还是拿房价预测为例,我们假设房价预测有如下几个特征量。如图中所示有“房屋面积”、“房间数量”、“楼层数量”、“房屋年限”这四个特征量,在加上b偏置的话,一共是五个元。

【机器学习300问】11、多元线性回归模型和一元线性回归有什么不同?_第1张图片

(2)向量化表示

        多元线性回归模型在表示上与一元线性回归模型不同,上面提到的四个特征量,可以写成(x_{1},x_{2},x_{3},x_{4}),这明显是一个向量呀,所以可以用\overrightarrow{x}来表示。这些特征量对应的权重也可以同样方式写成\overrightarrow{w}=(w_{1},w_{2},w_{3},w_{4})。于是我们得到了多元线性回归模型的公式:

模型 公式
一元线性回归 f_{w,b}(x)=wx+b
多元线性回归 f_{w,b}=w_{1}x_{1}+w_{2}x_{2}+...+w_{n}x_{n}+b
多元线性回归向量表示 f_{\vec{w},b}=\vec{w}\cdot \vec{x}+b

        其中的n是指特征量的个数。向量化后,一方面看上去简洁,另一方面通过使用numpy库,可以进行快速的矩阵运算

二、多元线性回归的梯度下降算法

        多元线性回归模型在梯度下降处理上与一元线性回归模型不同,在某一点处维多变多了,梯度就变成这一点的所有偏导组成的向量,因此对于MSE均方误差函数而言每一个w都要求一次偏导。

        特征量 n\geqslant 2 时,梯度下降算法就变成了,一次梯度更新就要

        从

        w_{1} = w_{1} - \alpha \frac{1}{m}\sum_{i=1}^{m}(f_{\vec{w},b}(\vec{x})^{i}-y^{i})x_{1}^{i}

        到

        w_{n} = w_{n} - \alpha \frac{1}{m}\sum_{i=1}^{m}(f_{\vec{w},b}(\vec{x})^{i}-y^{i})x_{n}^{i}

        共更新n个w的加上更新b

        b = b - \alpha \frac{1}{m}\sum_{i=1}^{m}(f_{\vec{w},b}(\vec{x})^{i}-y^{i})

      

你可能感兴趣的:(【机器学习】,机器学习,线性回归,人工智能)