统计学习方法之线性回归法

1.线性回归

  • 回归,统计学术语,表示变量之间的某种数量依存关系,并由此引出回归方程,回归系数。
  • 线性回归(Linear Regression),数理统计中回归分析,用来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
  • 线性回归模型

ε表示误差项,也叫随机干扰项,即真实值和预测值之间的差异。ε服从均值为0的正态分布,其中只有一个自变量的情况称为一元线性回归,多个自变量的情况叫多元线性回归

  • 对模型设定的假设:
    回归模型是正确设定的,即模型选择了正确的变量,且选择了正确的函数形式。
  • 对解释变量的假设:
    解释变量x是确定性变量,不是随机性变量,在随机抽样中取固定值。
  • 对误差项ε的假设:
    误差项ε是一个期望为0,且相互独立的高斯分布。

2.损失函数(Cost Function)

  • 举城市房屋价格为例,假设有一个房屋销售的数据如下:
    面积 售价
    123 250
    150 320
    87 160
    102 220


    房屋面积和售价图
  • 如果来了一个新的面积,假设在销售价钱的记录中没有的,我们怎么办呢?
    我们可以用一条曲线去尽量准的拟合这些数据,然后如果有新的输入过来,我们可以在将曲线上这个点对应的值返回。如果用一条直线去拟合,可能是下面的样子:


  • 绿色的点就是我们想要预测的点。
    首先给出一些概念和常用的符号,在不同的机器学习书籍中可能有一定的差别。

房屋销售记录表 - 训练集(training set)或者训练数据(training data), 是我们流程中的输入数据,一般称为x
房屋销售价钱 - 输出数据,一般称为y
拟合的函数(或者称为假设或者模型),一般写做 y = h(x)
训练数据的条目数(#training set), 一条训练数据是由一对输入数据和输出数据组成的
输入数据的维度(特征的个数,#features),n

  • 用X1,X2..Xn 去描述feature里面的分量,比如x1=房间的面积,x2=房间的朝向,等等,我们可以做出一个估计函数:


  • 向量的方式来表示:


  • 对于回归问题,常用的用于衡量最优解的代价函数为平方误差。


    平方误差的思想就是将实际样本数据值与我们拟合出的线做对应差值,即计算差距
  • 程序需要一个机制去评估我们θ是否比较好,所以说需要对我们做出的h函数进行评估,一般这个函数称为损失函数(loss function)或者错误函数(error function)


  • 要求出theta,使代价最小,即代表我们拟合出来的方程距离真实值最近。前面乘上的1/2是为了在求导的时候,消去系数。
  • 调整θ以使得J(θ)取得最小值有很多方法:梯度下降法、最小二乘法。

3.梯度下降

  • 梯度下降法则是一种最优化算法,它是用迭代的方法求解目标函数得到最优解,是在cost function(成本函数)的基础上,利用梯度迭代求出局部最优解。
  • 梯度下降法是按下面的流程进行的:

1)首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。
2)改变θ的值,使得J(θ)按梯度下降的方向进行减少,算法的结束将是在θ下降到无法继续下降为止。
3)当然,可能梯度下降的最终点并非是全局最小点,可能是一个局部最小点

  • 用一个例子描述一下梯度减少的过程:

    1)对于J(θ)求偏导J

    2)更新θi,θi会向着梯度最小的方向进行减少,α表示步长(学习率),也就是每次按照梯度减少的方向变化多少

    3)一个很重要的地方值得注意的是,梯度是有方向的,对于一个向量θ,每一维分量θi都可以求出一个梯度的方向,我们就可以找到一个整体的方向,在变化的时候,我们就朝着下降最多的方向进行变化就可以达到一个最小点,不管它是局部的还是全局的。


    简洁表示

4.最小二乘法

  • 线性回归过程主要解决的就是如何通过样本来获取最佳的拟合线。最常用的方法便是最小二乘法,它是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。
  • 推导过程:



5.数据归一化

  • 目的是使数据都缩放到一个范围内,便于使用梯度下降算法


  • 数据归一化有两种:
    离差归一化:


    Si取最大值-最小值

    Z-score归一化:


    Si取标准差

6. 模型评估

  • 得到模型参数之后,我们如何评价模型在现实中的表现呢?因为回归直线只是一个近似拟合,有很多点没有落在直线上,那我们如何判定,回归直线的拟合程度?

R^2 (Coefficient of Determination)
SST(Sum of Squares for Total)
SSR(Sum of Squares for Regression)
SSE(Sum of Squares for Error)
SST=SSR+SSE

  • 一般常用的判定指标是R^2 (coefficient of determination),又叫判定系数、拟合优度,确定系数,或者决定系数。一元线性回归中的R^2是皮尔逊积矩相关系数(Pearson product moment correlation coefficient或Pearson's r)的平方。
  • SST(Sum of Squares for Total):总偏差平方和是每个实际值y和其总体平均值之差的平方和,描述的是总体的波动情况。例如在上面的实例中,燃油效率是随着重量和其他特征而上下波动的。
  • SSR(Sum of Squares for Regression):回归平方和是每个y对应的预测值f(x)和y的总体平均值之差的平方和,反映了y的总偏差中,由于x和y的线性关系引起的y的变化部分,可以由回归直线来解释。例如上面实例中,重量对燃油效率的影响,就是通过回归直线来解释的。
  • SSE(Sum of Squares for Error):残差平方和描述的是,除了x对y的线性影响之外的其他因素对y变化的作用,是不能由回归直线来解释的。例如上面实例中,我们只是假设重量对燃油效率有影响,但实际上马力、加速度等特征和燃油效率之间也呈现明显的相关性,对燃油效率也有影响,而这些特征对燃油效率的影响,是不能通过我们拟合的“重量和燃油效率的线性回归直线”来解释的。






    一元线性回归模型评估

7.参考文献


作者:Jasonhaven.D
链接:http://www.jianshu.com/u/ed031e432b82
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

推薦閱讀更多精彩內容