线性回归模型

以一元线性回归为例,函数为:

其中,表示y随x的变化而线性变化的部分,是待求解的参数;是随机误差,是其他一切不确定因素的综合,其值不可观测,通常假定~。

误差项分析:极大似然估计

因为误差服从正态分布,兼通过目标函数移项,得到其概率密度:

希望误差能尽量为0,因此误差发生的概率应尽可能地大(根据正态分布,越靠近均值,发生的概率越大?)。使用似然函数来估计参数,并加以对数变换使表达式从连乘变为连加,更好算:

展开化简,得到:

继续化简,忽略常数项,得到估计参数的目标函数,此为最小二乘法的推导过程。


损失函数求解:最小二乘法

通过极大似然估计分析误差项(即最小二乘法),得到损失函数:

待求损失函数最小时的参数值,即转换为:当损失函数关于的一阶偏导数都等于0时,求解关于的二元二次方程问题。求得:

损失函数求解:梯度下降法

原理

假设有m个参数,目标损失函数如下:

这是一个关于的多元函数,相当于系数。所以,有几个待求解,就相当于目标函数有几维。除以n是为了对损失值取平均值(因为样本量增加,累积的损失值也会增加)。

梯度下降法的思路是:

1. 先确定步长,包括方向和步子大小

步长是学习率和方向相乘的矢量。令学习率为,代表步子的大小,相当于步长的模长。方向是梯度的负方向,在这个方向上函数值下降的最快,对每一个参数求偏导可得:

2. 对于每一个,设定初始值,按照确定好的步长,代入值,不断迭代:

此处是对求导后得出的系数

3. 直到两次迭代结果相差小于预设要求即可

批量梯度下降

每次跌代都代入所有样本,容易得到最优解,但是速度很慢。

随机梯度下降

每次迭代随便找一个样本,速度很快,但不是每次都朝着对的收敛方向,此时m=1。

小批量梯度下降

每次迭代都新取一部分样本,兼顾速度和精度,此时m=某个比m小很多的数。


评估指标

:真实观测值,:真实观测值的平均值,:拟合值(预测值)

残差平方和(SSE):拟合数据和原始数据之差的平方和

总离差平方和(SST):原始数据和均值之差的平方和

回归平方和(SSR):拟合数据和原始数据均值之差的平方和

确定系数(R-square):SSR/SST = 1- SSE/SST,如下

观测值、观测值均值与拟合值的关系

参考自:

线性回归与最小二乘法 - 乘风

线性回归算法 - 开发者学堂

梯度下降算法详解 - CDA数据分析师

你可能感兴趣的:(线性回归模型)