关于线性回归模型的由来以及定义的更涉及本质的深入的分析见


文章目录

  • 1. 线性回归问题的数学描述
  • 2. 最小均方算法(LMS, Least Mean Square)
  • 2.1. 只有一个样本的情况
  • 2.2. 多个样本的情况
  • 2.3. 线性回归的闭式解(解析解)
  • 3. 线性回归模型的概率解释
  • 3.1. 线性回归模型前提假设条件
  • 3.2. 损失函数为均方误差的证明


1. 线性回归问题的数学描述

权重回归算法 线性回归权重系数_线性回归为n维的输入特征,权重回归算法 线性回归权重系数_迭代_02为参数(parameter),也叫权重(weight),假设函数为以权重回归算法 线性回归权重系数_线性回归为变量的线性函数:
权重回归算法 线性回归权重系数_线性回归_04
其中,习惯令权重回归算法 线性回归权重系数_人工智能_05,对应的权重回归算法 线性回归权重系数_线性回归_06为截距项(intercept term)
代价函数(cost function)为权重回归算法 线性回归权重系数_人工智能_07与对应的权重回归算法 线性回归权重系数_线性回归_08的欧氏距离(的平方的一半):
权重回归算法 线性回归权重系数_权重回归算法_09
上述代价函数其实就是最小二乘法拟合模型中的成本函数。

2. 最小均方算法(LMS, Least Mean Square)

我们的目的是选取合适的权重回归算法 线性回归权重系数_迭代_02使得最小化权重回归算法 线性回归权重系数_线性回归_11。一般可采用迭代搜索的算法,选取权重回归算法 线性回归权重系数_迭代_02的初始值,然后改变权重回归算法 线性回归权重系数_迭代_02使得权重回归算法 线性回归权重系数_线性回归_11减小并重复迭代这一过程。比较常用的算法是梯度下降(gradient descent)方法,迭代公式为:
权重回归算法 线性回归权重系数_人工智能_15
权重回归算法 线性回归权重系数_权重回归算法_16对所有参数权重回归算法 线性回归权重系数_人工智能_17都进行更新。权重回归算法 线性回归权重系数_代价函数_18学习率(learning rate),用来调节迭代步长。梯度下降法可以朝着权重回归算法 线性回归权重系数_权重回归算法_19降低最快的方向移动。

2.1. 只有一个样本的情况

当训练集只有一个样本时,第权重回归算法 线性回归权重系数_人工智能_20维参数的梯度方向为:
权重回归算法 线性回归权重系数_代价函数_21
此时,权重回归算法 线性回归权重系数_权重回归算法_16可表示为:
权重回归算法 线性回归权重系数_线性回归_23
可以看到,(2-3)中参数变化量的绝对值正比于实际值与预测值的差的绝对值,所以在迭代初期能够较快地靠近最优值,迭代末期能够比较精细地逼近最优值。

2.2. 多个样本的情况

一种更新方式是对所有样本的损失之和,也即权重回归算法 线性回归权重系数_权重回归算法_24所示代价函数进行求导代入权重回归算法 线性回归权重系数_权重回归算法_16
权重回归算法 线性回归权重系数_线性回归_26
上述方法在每一步迭代时都要对训练集所有样本计算损失函数,被称为批量梯度下降(batch gradient descent)。、

注意,如果目标函数不是凸函数,那么梯度下降法很容易陷入局部最优;线性回归的代价函数是凸函数,只要权重回归算法 线性回归权重系数_代价函数_18选取得不是特别大,总能收敛到全局最小值点。
另一种更新策略是每次迭代时,分别计算一个样本的损失函数并对参数进行更新:

Loop{
    for i=1 to m,{

权重回归算法 线性回归权重系数_代价函数_28

}
}

上面的方法叫做随机梯度下降(stochastic gradient descent)或者增量梯度下降(incremental gradient descent)。
由于批量梯度下降在每次迭代的时候都要计算训练集所有的样本的损失函数,因此当样本数权重回归算法 线性回归权重系数_代价函数_29比较大的时候梯度批量下降每次迭代所需的时间开销会比较大。此外,随机梯度下降也能够比批量梯度下降更快接近最小值点(注意,接近不代表一定会收敛,事实上,有时会在最小值点附近震荡,不过通常情况下足以满足精度要求)。

2.3. 线性回归的闭式解(解析解)

将训练集样本用矩阵的形式表示:
权重回归算法 线性回归权重系数_代价函数_30

权重回归算法 线性回归权重系数_代价函数_31
其中权重回归算法 线性回归权重系数_代价函数_32是所有样本的特征组成的权重回归算法 线性回归权重系数_代价函数_33维矩阵,权重回归算法 线性回归权重系数_代价函数_34是所有样本的对应标签组成的权重回归算法 线性回归权重系数_代价函数_29维向量。
代价函数可表示为:
权重回归算法 线性回归权重系数_人工智能_36
利用矩阵求导的一些知识不难求得:
权重回归算法 线性回归权重系数_线性回归_37
为了让权重回归算法 线性回归权重系数_权重回归算法_19最小,应该使得其导数为零,因此可以得到:
权重回归算法 线性回归权重系数_线性回归_39
(2-9)需要对矩阵求逆运算,开销比较大,实际中一般不采用。

3. 线性回归模型的概率解释

本节主要是为了解释为什么线性回归模型以及权重回归算法 线性回归权重系数_权重回归算法_24所示的代价函数可以用来解决回归问题。

3.1. 线性回归模型前提假设条件

线性回归模型的成立需要满足一下几条假设:
1. 线性假设。线性模型是指输出变量关于参数是线性的,而对输出变量与输入变量没有过多要求。因此,线性模型不要求输出变量一定是输入变量的线性函数。但是,因为非线性组合的输入变量可以定义为一个新的变量,所以在很多场景下线性模型可以简化为输出变量关于输入变量是线性函数的形式,也即
权重回归算法 线性回归权重系数_迭代_41
即自变量权重回归算法 线性回归权重系数_代价函数_32每增加一个单位对权重回归算法 线性回归权重系数_人工智能_43的影响都是一样的(权重回归算法 线性回归权重系数_人工智能_43的值增加权重回归算法 线性回归权重系数_权重回归算法_45).
2. 正态分布假设。误差项权重回归算法 线性回归权重系数_权重回归算法_46是一个独立同分布与正态分布、期望为零、方差为权重回归算法 线性回归权重系数_人工智能_47的随机变量,且它与输出变量权重回归算法 线性回归权重系数_代价函数_32是不相关的:
权重回归算法 线性回归权重系数_人工智能_49

由上面可以推出权重回归算法 线性回归权重系数_权重回归算法_50,其中权重回归算法 线性回归权重系数_代价函数_51权重回归算法 线性回归权重系数_迭代_52的均值

3.2. 损失函数为均方误差的证明

我们用如下更紧凑的方式来表示线性回归模型:
权重回归算法 线性回归权重系数_代价函数_53
其中权重回归算法 线性回归权重系数_代价函数_54权重回归算法 线性回归权重系数_代价函数_55
用极大似然估计的方法来求取最优的权重回归算法 线性回归权重系数_迭代_02。似然函数为:
权重回归算法 线性回归权重系数_线性回归_57
因为随机误差权重回归算法 线性回归权重系数_线性回归_58是相互独立的,因此似然函数可以写成:
权重回归算法 线性回归权重系数_线性回归_59
对数自然函数为:
权重回归算法 线性回归权重系数_权重回归算法_60
最大化权重回归算法 线性回归权重系数_权重回归算法_61其实也就是等价于最小化如下式子(一般要再除以样本数权重回归算法 线性回归权重系数_代价函数_29,使cost function的量级不会依赖于样本数):
权重回归算法 线性回归权重系数_人工智能_63
因此损失函数选择均方误差是最好的选择