编辑
2024-12-16
机器学习
0
请注意,本文编写于 124 天前,最后修改于 124 天前,其中某些信息可能已经过时。

目录

线性回归
预测误差
梯度下降
过拟合与正则化

线性回归

假设空间:连续值输入、连续值输出的线性函数(linear function)

y=w1x+w0y=w_1x+w_0

其中w0w_0w1w_1是待学习的系数

预测误差

若记学习到的函数为hw(xj)h_w(x_j),单个样本上的误差定义为

yjhw(xj)y_j-h_w(x_j)

所有样本上的误差则是

j(yjhw(xj))\sum_j(y_j-h_w(x_j))

显然不能用这个作为损失函数,引入最小化平方损失函数L2L_2,它是所有样本误差的平方和

Note

j[yjhw(xj)]2\sum_j[y_j-h_w(x_j)]^2

为了使其最小,应当使得权重参数为极值点

Lossw0=2j[yj(w0+w1xj)]=0Lossw1=2j[yj(w0+w1xj)]xj=0\dfrac{\partial Loss}{\partial w_0}=-2\sum_j[y_j-(w_0+w_1x_j)]=0\\ \dfrac{\partial Loss}{\partial w_1}=-2\sum_j[y_j-(w_0+w_1x_j)]x_j=0

求解该方程即可得到参数

w1=Njxjyj(jxj)(jyj)Njxj2(jxj)2, w0=1N(jyjw1jxj)w_1=\dfrac{N\sum_jx_jy_j-\left(\sum_j x_j\right)\left(\sum_j y_j\right)}{N\sum_jx_j^2-\left(\sum_jx_j\right)^2},~ w_0=\dfrac{1}{N}\left(\sum_jy_j-w_1\sum_jx_j\right)



对于多变量的线性回归,将数据一行一行拼成一个矩阵XX,权重记为一个列向量ww,则预测的输出为

y=Xwy'=Xw

平方误差损失为

L(w)=Xwy2L(w)=||Xw-y||^2

令其梯度为零

wL(w)=2XT(Xwy)=0\nabla_wL(w)=2X^T(Xw-y)=0

解的

w=(XTX)1XTyw=(X^TX)^{-1}X^T y

梯度下降

梯度下降法是指在参数空间中朝着LossLoss下降最快的方向前进,即进行迭代

Note

wi=wiαwiLoss(w)w_i=w_i-\alpha\dfrac{\partial}{\partial w_i}Loss(w)

其中α\alpha称为学习率

若进行梯度计算时使用所有训练样例进行迭代,称为批梯度下降,遍历了所有训练样例的一步更新称为轮(epoch)

批梯度下降也称确定性梯度下降,其损失曲面是凸函数,可以达到全局最小值。但由于使用所有的样例进行训练,资源消耗比较大,因而引入随机梯度下降,在每一步中随机选择少量训练样例进行迭代。不过小批量的随机梯度下降会在最小值附近波动而不收敛。不过它被证明了可以有效找到接近全局最小值的性质良好的局部最小值

过拟合与正则化

高维空间中进行多变量回归时可能会导致过拟合,因而添加一个惩罚项,选取要最小化的函数为

Loss(w)+λpenalty(w)Loss(w)+\lambda\cdot penalty(w)

惩罚项称为正则化函数,可以选取

penalty(w)=j=1wjqpenalty(w)=\sum_{j=1}|w_j|^q

本文作者:GBwater

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!