损失函数和代价函数

在线性回归中,我们通常使用MSE(Mean Square Error, 均方误差) 作为我们算法的损失函数,其基本思想为衡量预测值和真实结果之间的绝对距离。MSE的公式为:image。同时我们为了防止函数过拟合,我们引入正则表达式。在这里,我们先用L2正则表达式作为例子,L2正则表达式为:image。结合这两项,我们函数的代价函数可以表达为:

image

在反向传播中,我们需要计算梯度,以更新算法的权重:

image

image

计算梯度

image

根据求导规则,对** x+y求导** 等于 对x求导 加上 对y求导,即 (x + y)’ = x’ + y’ :

image

MSE梯度

我们分别计算两个部分,我们先计算第一部分:

image

根据链式法则,我们有 f[g(x)]’ = f(g(x)) * g’(x),于是

image

其中:

image

所以,第一部分求导结果如下

image

正则表达式梯度

我们再对正则表达式部分求导:

image

正则表达式和MSE部分梯度总结起来就是:

image

计算Bias梯度

接着我们对b求导

image

其中:

image

所以更新权重的算法现在为:

image

image

深入理解L2正则表达式

通过观察上面image的更新公式,我们可以观察到:

image

其中image为学习率,image为正则参数,m 为训练样本容量。可以看到L2正则表达式实际上在做的是,每一轮训练都把现有的image固定乘以一个稍微小于1的系数——越大的权重将减少的越多——因此我们能避免个别权重过大,让模型过于复杂。