深度学习之学习笔记(七)——损失函数

深度学习之学习笔记(七)——损失函数
损失函数
在第五章中,我们介绍神经⽹络的训练过程中,需要不断对权重进⾏调整。调整权重的⽬的是为了得到⼀组最终权重,使得输⼊的特征数据的输出达到我们的期望值,也就是神经⽹络的实际输出值与期望输出值误差最⼩。
那么问题来了:如何度量两组数据之间的差异?
序号实际输出值期望输出值(Label)
1数据a数据b
2323.1320.7
3321.1322
4321.5321.4
5323324.6
6324.1323.2
的腾讯7319321.2
8318.2324.2
9321.3322.9
结构体数组10321.8323
11320.4324
12322.2323
13322.8325.2
随国14321.5320.5
15319.5323.5
16322.9323.5
性别大战
17321322
18323.7324.9
损失函数闪亮登场()
我们希望到⼀种度量实际输出值与期望输出值之间误差的⽅式,这种度量⽅式可以使⽤函数表⽰,这个函数称为误差损失函数,神经⽹络的训练过程就是要到⼀组权重,使得误差损失函数最⼩
度量误差的⽅式有很多种,我们⽤⼀个线性回归的例⼦来说明。假设要预测⼀个公司某商品的销售量
X:门店数  Y:销量
X Y1Y2期望输出值差值1差值211312130-12161614223192020-104222421135252825036
28
32
30
-2
2
我们发现销量随着门店数上升⽽上升。我们想要知道门店和销量的⼤概关系是怎么样的?于是建⽴⼀个预测模型  。⾸先假
设该模型的权重参数为
, 那么
,⽤下图中的蓝⾊直线表⽰
我们希望预测模型的输出与实际值差值越⼩越好,所以就定义了⼀种衡量模型好坏的⽅式,即损失函数。⾮常直观地,这个损失函数可以⽤
测试44实际输出值与期望输出值之差的绝对值来表⽰,称为绝对损失函数:
同时,我们选取另⼀组权重参数为
,那么
, 计算输出值与期望值的差值:
将差值2取绝对值后求和,得:11由此,我们判断当权重参数为
时,模型的表现更好。
642系统
我们在第五章中,曾提到过
均⽅误差损失函数
在实际中,⽐绝对损失函数更常⽤的损失函数是均⽅误差(Mean Squared Error,简称MSE),该损失函数表⽰如下:
其中,表⽰所有样本数。 表⽰样本的实际输出值, 表⽰样本的期望输出值。
对于前⾯的门店与销量的例⼦,
当权重参数为  时,均⽅误差损失函数的值为:
当权重参数为  时,  均⽅误差损失函数的值为:
当权重参数为  时,模型的表现更好。
损失函数的分类
在实际应⽤中,并没有⼀个通⽤的,对所有的机器学习算法都表现的很不错的损失函数(或者说没有⼀个损失函数可以适⽤于所有类型的数据)。针对特定问题选择某种损失函数需要考虑到到许多因素,包括是否有离点,机器学习算法的选择,运⾏梯度下降的时间效率,是否易于到函数的导数,以及预测结果的置信度等。
从学习任务的类型出发,可以从⼴义上将损失函数分为两⼤类——分类损失(Classification Loss)和回归损失(Regression Loss)。在分类任务中,我们要从类别值有限的数据集中预测输出,⽐如给定⼀个⼿写数字图像的⼤数据集,将其分为 0~9 中的⼀个。⽽回归问题处理的则是连续值的预测问题,例如给定房屋⾯积、房间数量,去预测房屋价格。
我们上⾯介绍的均⽅误差损失函数(上图中右边的Mean Square Error)属于回归损失函数。下⾯我们要介绍分类损失函数中使⽤得最⼴泛的损失函数——交叉熵,它与上图中左边的KL Divergence / Relative Entropy(KL散度 / 相对熵)指的是同⼀件事。
交叉熵损失函数()
在介绍交叉熵之前,我们先认识⼀下信息熵(Entropy)。
信息熵(Entropy)
熵 (entropy) 这⼀词最初来源于热⼒学。1948年,克劳德·爱尔伍德·⾹农将热⼒学中的熵引⼊信息论,所以也被称为⾹农熵(Shannon entropy),信息熵 (information entropy)。
⼀条信息的信息量⼤⼩和它的不确定性(概率)有直接的关系。我们需要搞清楚⼀件⾮常⾮常不确定的事,或者是我们⼀⽆所知的事,就需要了解⼤量的信息。相反,如果我们对某件事已经有了较多的了解,我们就不需要太多的信息就能把它搞清楚。所以,从这个⾓度,我们可以认为,信息量的度量就等于不确定性的⼤⼩(不确定性越⼤,概率越⼩)。
例如:
事件⼀:巴西进世界杯
事件⼆:中国进世界杯
由于中国进世界杯的概率很⼩,所以事件⼆带来的信息量更⼤⼀些,给⼈留下的印象更深刻(惊讶)。
由上⾯的例⼦可知,信息的量度应该依赖于概率分布 ,因此我们想要寻⼀个函数 ,它是概率  的单调函数,表达了信息的内容:
如果我们有两个不相关的事件  和 ,那么观察两个事件同时发⽣时获得的信息量应该等于观察到事件各⾃发⽣时获得的信息之和,即
因为两个事件是独⽴不相关的,因此
根据这两个关系,很容易看出  ⼀定与  的对数有关 (因为对数的运算法则是  )
因此我们定义  ,其中负号是⽤来保证信息量是正数或者零(因为  取值在[0,1]之间)
其中 log 函数的底的选择是任意的
信息论中基常常选择为2,因此信息的单位为⽐特(bit)
⽽机器学习中基常常选择为⾃然常数e,因此单位常常被称为奈特(nat)
也被称为随机变量 x 的⾃信息 (self-information),描述的是随机变量的某个事件发⽣所带来的信息量,其图形如下图:
交叉熵(Cross Entropy)的通俗解释(来⾃知乎)
⼩明在学校玩王者荣耀被发现了,爸爸被叫去开家长会,⼼⾥悲屈的很,就想法⼦惩罚⼩明。到家后,爸爸跟⼩明说:既然你犯错了,就要接受惩罚,但惩罚的程度就看你聪不聪明了。这样吧,我们俩玩猜球游戏,我拿⼀个球,你猜球的颜⾊,我可以回答你任何问题,你每猜⼀次,不管对错,你就⼀个星期不能玩王者荣耀,当然,猜对,游戏停⽌,否则继续猜。当然,当答案只剩下两种选择时,此次猜测结束后,⽆论猜对猜错都能100%确定答案,⽆需再猜⼀次,此时游戏停⽌。
上⾯三个题⽬表现出这样⼀种现象:针对特定概率为  的⼩球,需要猜球的次数    。

本文发布于:2024-09-22 04:07:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/204419.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   损失   输出   预测   选择   权重   学习
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议