深度学习基础之-1.6均方差损失(MSE)

均方差函数(MSE Mean Square Error)

计算预测值和真实值之间的欧式距离。预测值和真实值越接近,两者的均方差就越小
均方差函数常用于线性回归(linear regression),即函数拟合(function fitting)。

公式

J ( w , b ) = 1 2 m ∑ i = 1 m ( a i − y i ) 2 J(w,b)=\frac{1}{2m} \sum_{i=1}^m (a_i-y_i)^2 J(w,b)=2m1i=1m(aiyi)2

工作原理

要想得到预测值a与真实值y的差距,最朴素的想法就是用 E r r o r = a i − y i Error=a_i-y_i Error=aiyi

对于单个样本来说,这样做没问题,但是多个样本累计时, a i − y i a_i-y_i aiyi有可能有正有负,误差求和时就会导致相互抵消,从而失去价值。所以有了绝对值差的想法,即 E r r o r = ∣ a i − y i ∣ Error=|a_i-y_i| Error=aiyi

假设有三个样本的标签值是 y = [ 1 , 1 , 1 ] y=[1,1,1] y=[1,1,1]

样本标签值样本预测值绝对值损失函数均方差损失函数
[ 1 , 1 , 1 ] [1,1,1] [1,1,1] [ 1 , 2 , 3 ] [1,2,3] [1,2,3] ( 1 − 1 ) + ( 2 − 1 ) + ( 3 − 1 ) = 3 (1-1)+(2-1)+(3-1)=3 (11)+(21)+(31)=3 ( 1 − 1 ) 2 + ( 2 − 1 ) 2 + ( 3 − 1 ) 2 = 5 (1-1)^2+(2-1)^2+(3-1)^2=5 (11)2+(21)2+(31)2=5
[ 1 , 1 , 1 ] [1,1,1] [1,1,1] [ 1 , 3 , 3 ] [1,3,3] [1,3,3] ( 1 − 1 ) + ( 3 − 1 ) + ( 3 − 1 ) = 4 (1-1)+(3-1)+(3-1)=4 (11)+(31)+(31)=4 ( 1 − 1 ) 2 + ( 3 − 1 ) 2 + ( 3 − 1 ) 2 = 8 (1-1)^2+(3-1)^2+(3-1)^2=8 (11)2+(31)2+(31)2=8
4/3=1.338/5=1.6

可以看到5比3已经大了很多,8比4大了一倍,而8比5也放大了某个样本的局部损失对全局带来的影响,用不通俗的语言说,就是“对某些偏离大的样本比较敏感”,从而引起监督训练过程的足够重视,以便差异化回传的误差。

实际案例

假设有一组数据如下,我们想找到一条拟合的直线:

在这里插入图片描述
下面四张图,前三张显示了一个逐渐找到最佳拟合直线的过程。

  1. 第一张,用均方差函数计算得到Loss=0.5559
  2. 第二张,直线向上平移一些,误差计算Loss=0.1651,比图一的误差小很多
  3. 第三张,又向上平移了一些,误差计算Loss=0.02441,此后还可以继续尝试平移(改变b值)或者变换角度(改变w值),得到更小的Loss值
  4. 第四张,偏离了最佳位置,误差值Loss=0.1336,这种情况,算法会让尝试方向反向向下
    在这里插入图片描述
    我们把四张图叠加在一起看一下,绿色的线是第三张图Loss值最小的情况。
    在这里插入图片描述
    比较第二张和第四张图,由于均方差的Loss值都是正值,如何判断是向上移动还是向下移动呢?

在实际的训练过程中,是没有必要计算Loss值的,因为Loss值会体现在反向传播的过程中。我们来看看均方差函数的导数:
∂ J ∂ a i = a i − y i \frac{\partial{J}}{\partial{a_i}} = a_i-y_i aiJ=aiyi
虽然 ( a i − y i ) 2 (a_i-y_i)^2 (aiyi)2永远是正数,但是 a i − y i a_i-y_i aiyi却可以是正数(直线在点下方时)或者负数(直线在点上方时),这个正数或者负数被反向传播回到前面的计算过程中,就会引导训练过程朝正确的方向尝试。

在上面的例子中,我们有两个变量,一个w,一个b,这两个值的变化都会影响最终的Loss值的。

我们假设该拟合直线的方程是y=3x+1,当我们固定w=3,把b值从0到2变化时,看看Loss值的变化:
在这里插入图片描述
我们假设该拟合直线的方程是y=3x+1,当我们固定b=1,把w值从2到4变化时,看看Loss值的变化:
在这里插入图片描述

损失函数值的3D示意图

横坐标为w,纵坐标为b,二者的组合会形成一个损失函数值,用三维图的高度来表示,最后形成一个碗状。该三维图到底面上的投影与下面的2D示意图类似。
在这里插入图片描述

损失函数值的2D示意图

横坐标为w,纵坐标为b,二者的组合会计算出一个损失函数值,存放在矩阵中,最后把矩阵中相近的损失函数值的连线会形成椭圆。
在这里插入图片描述

https://github.com/microsoft/ai-edu/blob/master/B-教学案例与实践/B6-神经网络基本原理简明教程/03.1-均方差损失函数.md

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值