线性回归's Gradient
损失函数和代价函数
在线性回归中,我们通常使用MSE(Mean Square Error, 均方误差) 作为我们算法的损失函数,其基本思想为衡量预测值和真实结果之间的绝对距离。MSE的公式为:。同时我们为了防止函数过拟合,我们引入正则表达式。在这里,我们先用L2正则表达式作为例子,L2正则表达式为:
。结合这两项,我们函数的代价函数可以表达为:
。
在反向传播中,我们需要计算梯度,以更新算法的权重:
计算梯度
根据求导规则,对** x+y求导** 等于 对x求导 加上 对y求导,即 (x + y)’ = x’ + y’ :
MSE梯度
我们分别计算两个部分,我们先计算第一部分:
根据链式法则,我们有 f[g(x)]’ = f(g(x)) * g’(x),于是
其中:
所以,第一部分求导结果如下
正则表达式梯度
我们再对正则表达式部分求导:
正则表达式和MSE部分梯度总结起来就是:
计算Bias梯度
接着我们对b求导
其中:
所以更新权重的算法现在为:
深入理解L2正则表达式
通过观察上面的更新公式,我们可以观察到:
其中为学习率,
为正则参数,m 为训练样本容量。可以看到L2正则表达式实际上在做的是,每一轮训练都把现有的
固定乘以一个稍微小于1的系数——越大的权重将减少的越多——因此我们能避免个别权重过大,让模型过于复杂。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 nty的技术博客!