线性回归(Linear Regression,LR)

来源:互联网 发布:淘宝客返利是什么意思 编辑:程序博客网 时间:2024/05/01 07:07

问题描述

线性回归的目标是针对一组特征和结果的数据集,找到特征与结果之间的线性关系;该方法的有个假设是数据集的输入与结果存在线性关系。

数学抽象

输入:数据的输入X={x1,x2,...,xn},其中xi是具有d个特征的列向量,结果集y={y1,y2,...,yn},其中yi是输入xi对应的结果。

目标:构建目标函数,其中是一个1*d的行向量。可以理解为由一个1*d和d*1的矩阵相乘,得到一个数值(1*1的矩阵)这样就是该回归函数得到的误差。为了更好地适应该数据的线性函数,最小化误差,其中误差使用平方误差,因为线性回归有个合理的假设:该数据集中的噪音是服从均值为0的高斯分布。所以线性回归的目标是最小化目标函数。

求解方法

         目标函数是个凸函数(convex function,二阶导数非负),基本的方法有最小二乘法、梯度下降和牛顿方法。最小二乘法是一个数学的方法,而梯度下降和牛顿方法的过程是迭代进行的。

1.   最小二乘法(Least-Square)

将输入函数中的x与y看做矩阵,目标函数求导,令其导数为0,则可以求得全局最优值其中X是n*d的输入矩阵,是矩阵X的转置(transpose)。

2.   梯度下降(Gradient decent)

对目标函数求偏导,,w的更新过程总是会沿着梯度下降的方向,其中是步长,大于0的;若干次迭代之后,w会趋于稳定。

3.   牛顿方法(Newton Method)

1)        给一个w的初值

2)        求曲线在w的切线与x轴的交点复制给新的w

3)        重复上述过程,直至w不发生改变。

牛顿方法解决线性回归问题的公式如,其中H为Hessian矩阵,其规模为d*d,其中d是特征的数量。

上述三种方法中,最小二乘法比较简单,只需要进行矩阵的求逆及乘法,需要维护一个n*d的矩阵,如果数据量很大,内存开销太大,所以最小二乘法适应于数据量小的计算;而迭代的方法则适合数据量较大的计算。

 

方法的改进

         我们介绍的改进主要是针对于最小二乘法的。

1.      加权线性回归(locally weighted linear regression,LWLR)

有些数据的线性不是太明显,如果直接使用线性回归会出现欠拟合(underfit),LWLR通过给数据加权。,其中W是一个权值矩阵,是只有对角线元素,其余全为0,一般采用高斯加权,其中k是控制权值的力度。

具体效果如图1和图2。

 

图1 LR的结果                                                                          图2 LWLR的结果

2.      Ridge Regression

求解w的公式需要求一个矩阵的逆,如果该矩阵是非奇异矩阵(非满秩矩阵),就不存在逆矩阵,w就无解了,为了解决这个问题Ridge Regression对LR做了相应的改变。,其中矩阵I是对角线为1,其余为0的矩阵。

Ridge Regression的另外一种表示是最小化目标函数,即,然后加入限制条件。该方式可以转换为.

3.      Lasso Regression

Ridge Regression的公式相当于在原始LR的基础上加上一个限制,而Lasso Regression则是将限制条改为

 其目标函数仍然可以改写为

4.      Best Subset Selection

Best Subset Selection方法选择对该目标函数作用效果()比较大的特征,选择的特征i,其中t是可以调整的阈值。

改进方法的比较

         假设基本线性回归的目标函数解为,则改进方法的解如表1和图3:

  表1 各种改进放的解



图3 各种方法的解

过拟合问题

过拟合问题,可以像Ridge或者Lasso中加入对w的限制,舍去那些w较小的值。

Bayes理解

之前一直觉得损失函数是假设的,Bayes理论对其进行一个理论推导,这个推导是基于一个假设:噪音分布满足高斯分布(基于大数定理),利用最大似然估计得到损失函数式最小二乘的形式。


参考文献

1. Action in Machine Learning(机器学习实战).

2. Pattern Recognition and Machine Learning.

3. The Elements of Statistical Learning.

0 0
原创粉丝点击