多元线性回归原理

例子先行

一元线性:拿房价预测来说,房价就只与一个特征size(feet^2)有关:

多元线性回归原理

多元线性:

多元线性回归原理

房子除了面积,还会有其他的特征:number of bedrooms;number of floors; age of home....,为了引入这些特征,有了多元线性回归,x1,x2,x3,x4为特征,y为预测的价格。

符号引入:

                n:特征的数量

                多元线性回归原理:第i个训练样例

                多元线性回归原理:第i个训练样例的第j个特征

可以得到模型函数:多元线性回归原理

我们要假设x0为1,即(多元线性回归原理),可以理解为我们增加了一个额外的第零个特征向量,因此我们的特征向量由原来的n个变为了n+1个,所以现在我们X的特征向量为:,n+1维向量,多元线性回归原理的n+1维向量,则向量表示模型函数为:多元线性回归原理

多元线性回归原理,   而多元线性回归原理,所以内积多元线性回归原理

定义代价函数:

如图将模型写成向量形式,多元线性回归原理用向量多元线性回归原理代替,代价函数多元线性回归原理用向量J(多元线性回归原理)代替,梯度下降的代价函数多元线性回归原理也用向量J(多元线性回归原理)代替

多元线性回归原理

从0~n不断的update第j个特征的参数,即执行梯度下降的过程。下图是一元和多元的比较,

多元线性回归原理

具体求导过程和一元的类似,如下是推理证明过程。

多元线性回归思路

经过简单的一元线性回归知识,可以了解知道,多元线性回归是将原来一元的x变成了x的向量,由y=b+a*x到了y=a0+a1*X1+a2*X2+...+an*Xn,含有多个特征。

多元线性回归原理

得到一个直线(实际不是直线,有可能是面或者跟复杂的曲线(面))最大程度的拟合所有的点,

方程:多元线性回归原理,x向量(x1~xn)和y都是已知的,只需要求出多元线性回归原理即可,所求出来的多元线性回归原理也是一个向量,即求得了线性回归的模型。

先列举几个几个典型的模型:


● 最基本的单变量线性回归: 
形如h(x)=theta0+theta1*x1
● 多变量线性回归: 
形如h(x)=theta0+theta1*x1+theta2*x2+theta3*x3
● 多项式回归(Polynomial Regression): 
形如h(x)=theta0+theta1*x1+theta2*(x2^2)+theta3*(x3^3) 
或者h(x)=ttheta0+theta1*x1+theta2*sqr(x2) 
但是可以令x2=x2^2,x3=x3^3,于是又将其转化为了线性回归模型。虽然不能说多项式回归问题属于线性回归问题,但是一般我们就是这么做的。
● 所以最终通用表达式就是: 
多元线性回归原理

          引自:https://blog.****.net/weixin_40014576/article/details/79918819#comments

原理思路:

由最小二乘法,多元线性回归的损失函数:和一元线性回归一样都是求多元线性回归原理的最小值,让预测结果和真实的结果的差值的平方 尽可能的小。

多元线性回归原理是个向量,x也是个向量,多元线性回归原理原来为列向量,让多元线性回归原理变为行向量,转置多元线性回归原理

多元线性回归原理做一个改变,在多元线性回归原理前面也乘以一个系数多元线性回归原理,为了不改变原式子,令多元线性回归原理=1.

多元线性回归原理

所以多元线性回归原理,由此多元线性回归原理可以变成向量形式:多元线性回归原理=多元线性回归原理

推广到整个式子为:多元线性回归原理,其中多元线性回归原理多元线性回归原理分别为(m,n+1)的矩阵和(n+1,1)的矩阵,

多元线性回归原理

所得结果多元线性回归原理为 所有的预测值组成的向量 。根据矩阵乘法法则,最后得到的是一个(m,1)的矩阵。

我们的目标就是让代价函数最小:多元线性回归原理最小,变为向量形式为:多元线性回归原理,将多元线性回归原理带入上式子得:

多元线性回归原理,在目标函数中,对第一个多元线性回归原理 进行了转置,这是为了方便使用矩阵的乘法;转置之后,第一个式子为(1,m)的行向量,第二个式子为(m,1)的列向量;所以最终结果为一个值。

最小二乘法求多元线性回归的参数

在学习模型的任务中,我们要做到的是让预测值尽量逼近真实值,做到误差最小,而均方误差就是表达这种误差的一种,所以我们要求解多元线性回归模型,就是要求解使均方误差最小化时所对应的参数:(其中W 相当于多元线性回归原理)

多元线性回归原理

                                                                                            式(1)

其中w*为模型对应的解,即使得均方误差函数最小化时的权重向量。

那么,我们应该如何求w*呢?在这里,我们可以用最小二乘法对模型的参数进行估计,具体做法是:损失函数对需要求解的参数进行求导(求梯度),并且令其导数为0,求得相应的参数。

在这里,我们需要让多元线性回归原理对w求导,在求导之前,我们来看一下两个求导公式:

多元线性回归原理

                                                                                           式(2)

多元线性回归原理

                                                                                           式(3)

 下图为详细的求导过程:

多元线性回归原理

 损失函数对参数进行求导之后,可以求得:

多元线性回归原理

                                                                                           式(4)

令式(4)为零可得:

多元线性回归原理

                                                                                           式(5)

多元线性回归原理

以上即为参数w最优解的闭式解,但我们可以发现w*的计算涉及矩阵的求逆,这样的话就有一些限制了,只有在X^T*X为满秩矩阵或者正定矩阵时,才可以使用以上式子计算。但在现实任务中,X^T*X往往不是满秩矩阵,这样的话就会导致有多个解,并且这多个解都能使均方误差最小化,但并不是所有的解都适合于做预测任务,因为某些解可能会产生过拟合的问题。

缺点:时间复杂度高:O(n^3) (优化O(n^2.4)); 当我们有上百万个样本,或者上百万个特征的时候,运算时间会非常长;但是能直接求得数学解也是很不错的,因为在机器学习算法中,很少有算法可以直接求出数学解。

优点:不需要对数据做归一化处理;结果是 原始数据运算得到结果,所以不存在量纲的问题;

参考:https://www.cnblogs.com/pengyingzhi/p/5383801.html

https://blog.****.net/qq_37610062/article/details/82532995