下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、损失函数丨交叉熵损失函数SMRESPROBABILfTlESONEHOT2.01.00.11交叉熵(CrossEntropy)一F=0.7CROSSENIBOPHY0考虑一种情况,对于一个样本集,存在两个概率分布$p(x)$和$q($p$x)其中真实分布q(x)$为非真实分權于真实分布$p(x)$我们可以计算这个样本集的信息熵也就是编码长度的期望为:$H(p)=-sumlimits_xp(x)logp(x)$回顾一下负对数项表征了所含的信息量,如果我们用非真实分布$q(x)$来代表样本集的信息量的话,那么:$H(p,q)=-sumlimits_xp(x)logq(x)$因为其中表示信息量的项来
2、自于非真实分布$q(x)$,而对其期望值的计算采用的是真实分布$p(x)$,所以称其为交叉熵。CrossEntropy损失函数常用于分类问题中,但是为什么它会在分类问题中这么有效呢?先从一个简单的分类例子来入手。2预测政治倾向例子我们希望根据一个人的年龄、性别、年收入等相互独立的特征,来预测一个人的政治倾向,有三种可预测结果:民主党、共和党、其他党。假设我们当前有两个逻辑回归模型(参数不同),这两个模型都是通过Sigmoid的方式得到对于每个预测结果的概率值:模型1CompuiscCornet?0.30.30.4C01(民主更)IE10.30.40.3c-10(共和党)0.1C.20.7100
3、淇地党模型1对于样本1和样本2以非常微弱的优势判断正确,对于样本3的判断则彻底错误。模型2ComputedTargetsCornet?0.10.20.7001(民主党)0.10.70.2010(共和创0.30.40.3100(其地党)WiS模型2对于样本1和样本2判断非常准确,对于样本3判断错误,但是相对来说没有错得太离谱。有了模型之后,需要通过定义损失函数来判断模型在样本上的表现,那么可以定义哪些损失函数呢?3损失函数分类错误率(ClassificationE)ror分类错误率是最为直接的损失函数,定义为:$largeclassificationquaderror=fraccountquad
4、ofquaderrorquaditemscountquadofquadallquaditems$模型1:$largetextclassificationerror=frac13$模型2:$largetextclassificationerror=frac13$模型1和模型2虽然都是预测错了1个,但是相对来说模型2表现得更好,损失函数值照理来说应该更小。但是,$textclassificationerror$并不能判断出来,所以这种损失函数虽然好理解,但表现不太好。均方误差(MeanSquaredError)均方误差损失也是一种比较常见的损失函数,其定义为:$MSE=frac1nsumlimit
5、s_iAnleft(haty_iy_iright)A2$模型1:$beginarrayltextsample1textloss=(0.3-0)人2+(0.3-0)人2+(0.4-1)人2=0.54textsample2operatornameloss=(0.3-0)A2+(0.4-1)A2+(0.3-0)A2=0.54textsample3textloss=(0.1-1)A2+(0.2-0)A2+(0.7-0)A2=1.34endarray$对所有样本的$loss$求平均:$largeMSE=frac0.54+0.54+1.343=0.81$模型2:$beginarrayltextsample
6、1textloss=(0.1-0)人2+(0.2-0)人2+(0.7-1)人2=0.14textsample2operatornameloss=(0.1-0)人2+(0.7-1)人2+(0.2-0)人2=0.14textsample3operatornameloss=(0.3-1)人2+(0.4-0)人2+(0.3-0)人2=0.74endarray$对所有样本的$loss$求平均:$MSE=frac0.14+0.14+0.743=0.34$显然MSE能够判断出来模型2优于模型1,那为什么不采样这种损失函数呢?主要原因是逻辑回归配合MSE损失函数时,采用梯度下降法进行学习时,会出现模型一开始训
7、练时,学习速率非常慢的情况(MSE损失函数)。有了上面的直观分析,可以清楚的看到,对于分类问题的损失函数来说,分类错误率和均方误差损失都不是很好的损失函数,下面我们来看一下交叉熵损失函数的表现情况。交叉熵损失函数(CrossEntropyLossFunction二分类在二分的情况下,模型最后需要预测的结果只有两种情况,对于每个类别我们的预测得到的概率为$p$和$1-p$,此时表达式为:$L=frac1Nsumlimits_iL_i=frac1Nsumlimits_i-lefty_icdotlogleft(p_iright)+left(1-y_iright)cdotlogleft(1-p_iri
8、ght)right$其中:-$y_i$表示样本$i$的$label$,正类为$1$,负类为$0$。-$p_i$表示样本$i$预测为正类的概率。多分类多分类的情况实际上就是对二分类的扩展:$L=frac1Nsumlimits_iL_i=frac1Nsumlimits_i-sumlimits_c=1AMy_iclogleft(p_icright)$其中:-$M$类别的数量-$y_ic$符号函数$(0或1)$,如果样本$i$的真实类别等于$c$取$1$,否则取$0$。-$p_ic$观测样本$i$属于类别$c$的预测概率现在我们利用这个表达式计算上面例子中的损失函数值:模型1:$beginarrayl
9、textsample1textloss=-(0timeslog0.3+0timeslog0.3+1timeslog0.4)=0.91textsample2textloss=-(0timeslog0.3+1timeslog0.4+0timeslog0.3)=0.91textsample3textloss=-(1timeslog0.1+0timeslog0.2+0timeslog0.7)=2.30endarray$对所有样本的$loss$求平均:$largeL=frac0.91+0.91+2.33=1.37$模型2:$beginarrayltextsample1textloss=-(0timesl
10、og0.1+0timeslog0.2+1timeslog0.7)=0.35textsample2textloss=-(0timeslog0.1+1timeslog0.7+0timeslog0.2)=0.35textsample3textloss=-(1timeslog0.3+0timeslog0.4+0timeslog0.4)=1.20endarray$对所有样本的$loss$求平均:$largeL=frac0.35+0.35+1.23=0.63$可以发现,交叉熵损失函数可以捕捉到模型1和模型2预测效果的差异。交叉熵损失函数经常用于分类问题中,特别是在神经网络做分类问题时,也经常使用交叉熵作为
11、损失函数,此外,由于交叉熵涉及到计算每个类别的概率,所以交叉熵几乎每次都和Sigmoid(或Softmax)函数一起出现。我们用神经网络最后一层输出的情况,来看一眼整个模型预测、获得损失和学习的流程:神经网络最后一层得到每个类别的得分(也叫);该得分经过或函数获得概率输出;模型预测的类别概率输出与真实类别的形式进行交叉熵损失函数的计算。学习任务分为二分类和多分类情况,我们分别讨论这两种情况的学习过程。5.1二分类情况WSCOPES勺GMOEPROBABILITIESCRETOPHYONEHO-se=1.8*必尸亓药一叮D.14一中-忱也护i+l-y加卵剧0如上图所示,求导过程可分成三个子过程,
12、即拆成三项偏导的乘积:$argefracpartialL_ipartialw_i=frac1NfracpartialL_ipartialw_i=frac1NfracpartialL_ipartalp_icdotfracpartialp_ipartfels_icdotfracpartials_ipartialw_i$计算第一项:$largefracpartialL_ipartialp_i$largeL_i=-lefty_icdotlogleft(p_iright)+left(1-y_iright)cdotlogleft(1-p_iright)、right$其中:-$y_i$表示样本$i$的$la
13、bel$,正类为$1$,负类为$0$。-$p_i$表示样本$i$预测为正类的概率。$largebeginalignedfracpartialL_ipartialp_i&=fracpartial-lefty_icdotlogleft(p_iright)+left(1-y_iright)cdotlogleft(1-p_iright)rightpartialp_i&=-fracy_ip_i-leftleft(1-y_iright)cdotfrac11-p_icdot(-1)right&=-fracy_ip_i+frac1-y_i1-p_iendaligned$计算第二项:$largefracpart
14、ialp_ipartials_i$这一项要计算的是Sigmoid函数对于score的导数,我们先回顾一下Sigmoid函数和分数求导的公式:$largep=sigma(s)=fraceAs1+eAs$largefAprime(x)=fracg(x)h(x)=fracgAprime(x)h(x)-g(x)hAprime(x)hA2(x)$largebeginalignedfracpartialp_ipartials_i&=fracleft(eAs_iright)Aprimecdotleft(1+eAs_iright)-eAs_icdotleft(1+eAs_iright)Aprimeleft(1
15、+eAs_iright)A2&=fraceAs_icdotleft(1+eAs_iright)-eAs_icdoteAs_ileft(1+eAs_iright)A2&=fraceAs_ileft(1+eAs_iright)A2&=fraceAs_i1+eAs_icdotfrac11+eAs_i&=sigmaleft(s_iright)cdotleft1-sigmaleft(s_iright)rightendaligned$计算第三项:$largefracpartials_ipartialw_i$般来说,scores是输入的线性函数作用的结果,所以有:$largefracpartials_ipa
16、rtialw_i=x_i$计算结果$largefracpartialipartialw_i$largebeginalignedfracpartialL_ipartialw_i&=fracpartialL_ipartialp_icdotfracpartialp_ipartials_icdotfracpartials_ipartialw_i&=left-fracy_ip_i+frac1-y_i1-p_irightcdotsigmaleft(s_iright)cdotleft1-sigmaleft(s_iright)rightcdotx_i&=left-fracy_isigmaleft(s_irig
17、ht)+frac1-y_i1-sigmaleft(s_iright)rightcdotsigmaleft(s_iright)cdotleft1-sigmaleft(s_iright)rightcdotx_i&=left-fracy_isigmaleft(s_iright)cdotsigmaleft(s_iright)cdotleft(1-sigmaleft(s_iright)right)+frac1-y_i1-sigmaleft(s_iright)cdotsigmaleft(s_iright)cdotleft(1-sigmaleft(s_iright)right)rightcdotx_i&=l
18、eft-y_i+y_icdotsigmaleft(s_iright)+sigmaleft(s_iright)-y_icdotsigmaleft(s_iright)rightcdotx_i&=leftsigmaleft(s_iright)-y_irightcdotx_iendaligned$可以看到,我们得到了一个非常漂亮的结果,所以,使用交叉熵损失函数,不仅可以很好的衡量模型的效果,又可以很容易的的进行求导计算。6优缺点优点在用梯度下降法做参数更新的时候,模型学习的速度取决于两个值:一、学习率;二、偏导值。其中,学习率是我们需要设置的超参数,所以我们重点关注偏导值。从上面的式子中,我们发现,偏导值的大小取决于$x_i$和$sigma(s)-y$,我们重点关注后者,后者的大小值反映了我们模型的错误程度,该值越大,说明模型效果越差,但是该值越大同时也会使得偏导值越大,从而模型学习速度更快。所以,使用逻辑函数得到概率,并结合交叉熵当损失函数时,在模型效果差的时候学习速度比较快,在模型效果好的时候学习速度变慢。缺点Deng在2019年提出了ArcFaceLoss,并在论文里说了SoftmaxLoss的两个缺点:1、随着分类数目的增大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肺部患者雾化吸入的护理
- 房产抵押借款合同
- 2024-2025学年度执法资格过关检测试卷附参考答案详解(精练)
- 2024-2025学年度火电电力职业鉴定模拟题库附参考答案详解【综合题】
- 血透患者的疼痛管理策略
- 宠物饲养指南狗狗猫咪日常护理训练与疾病预防大全分享
- 2026AI营销行业白皮书
- 血小板减少的孕期护理
- 优化服务品质公开承诺书5篇
- 2024-2025学年度湖南中医药高等专科学校单招《英语》复习提分资料附答案详解
- 西方哲学史复习笔记
- 畜牧兽医考试题库
- 部编版三年级语文下册第6课《陶罐和铁罐》精美课件
- 卷扬机日检查表
- 新译林版高一必修三单词表全套
- 预防呼吸道疾病呼吸健康
- 批判性思维与创新思维
- 中学基于问题化学习的课堂教学实践研究结题报告
- 2023年危险化学品安全监管工作要点和危险化学品企业装置设备带病运行安全专项整治等 9个工作方案附件
- 学生编著:《雷雨》剧本
- 儿童生长监测和健康检查课件
评论
0/150
提交评论