以一元线性回归为例,函数为:
其中,表示y随x的变化而线性变化的部分,是待求解的参数;是随机误差,是其他一切不确定因素的综合,其值不可观测,通常假定~。
误差项分析:极大似然估计
因为误差服从正态分布,兼通过目标函数移项,得到其概率密度:
希望误差能尽量为0,因此误差发生的概率应尽可能地大(根据正态分布,越靠近均值,发生的概率越大?)。使用似然函数来估计参数,并加以对数变换使表达式从连乘变为连加,更好算:
展开化简,得到:
继续化简,忽略常数项,得到估计参数的目标函数,此为最小二乘法的推导过程。
损失函数求解:最小二乘法
通过极大似然估计分析误差项(即最小二乘法),得到损失函数:
待求损失函数最小时的参数值,即转换为:当损失函数关于的一阶偏导数都等于0时,求解关于的二元二次方程问题。求得:
,
损失函数求解:梯度下降法
原理
假设有m个参数,目标损失函数如下:
这是一个关于的多元函数,相当于系数。所以,有几个待求解,就相当于目标函数有几维。除以n是为了对损失值取平均值(因为样本量增加,累积的损失值也会增加)。
梯度下降法的思路是:
1. 先确定步长,包括方向和步子大小
步长是学习率和方向相乘的矢量。令学习率为,代表步子的大小,相当于步长的模长。方向是梯度的负方向,在这个方向上函数值下降的最快,对每一个参数求偏导可得:
2. 对于每一个,设定初始值,按照确定好的步长,代入值,不断迭代:
此处是对求导后得出的系数
3. 直到两次迭代结果相差小于预设要求即可
批量梯度下降
每次跌代都代入所有样本,容易得到最优解,但是速度很慢。
随机梯度下降
每次迭代随便找一个样本,速度很快,但不是每次都朝着对的收敛方向,此时m=1。
小批量梯度下降
每次迭代都新取一部分样本,兼顾速度和精度,此时m=某个比m小很多的数。
评估指标
:真实观测值,:真实观测值的平均值,:拟合值(预测值)
残差平方和(SSE):拟合数据和原始数据之差的平方和
总离差平方和(SST):原始数据和均值之差的平方和
回归平方和(SSR):拟合数据和原始数据均值之差的平方和
确定系数(R-square):SSR/SST = 1- SSE/SST,如下