Softmax和Cross Entropy Loss在分类问题中的作用

本文介绍了Softmax和CrossEntropyLoss在处理三分类神经网络中的作用。通过一位有效编码表示类别标签,使用Softmax函数将网络输出转换为概率分布,然后利用CrossEntropyLoss计算损失值,重点关注正确类别的预测概率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

  本文以三分类神经网络为例,讲解Softmax和Cross Entropy Loss在分类问题中的作用。

  首先,对类别标签进行一位有效编码

y = [ y 1 , y 2 , y 3 ] T y=[y_{1},y_{2},y_{3}]^{T} y=[y1,y2,y3]T

y i = { 1 , i f ( i = y ) 0 , o t h e r w i s e y_{i}=\left\{\begin{matrix} 1 ,& if (i=y) & \\ 0, & otherwise & \end{matrix}\right. yi={1,0,if(i=y)otherwise

(假设对于猫、狗、马三分类问题,有一张猫的图片,它的标签为 y = [ 1 , 0 , 0 ] y=[1,0,0] y=[1,0,0];有一张狗的图片,它的标签为 y = [ 0 , 1 , 0 ] y=[0,1,0] y=[0,1,0];有一张马的图片,它的标签为 y = [ 0 , 0 , 1 ] y=[0,0,1] y=[0,0,1])

  其次,对输出值 O = [ o 1 , o 2 , o 3 ] O=[o_{1},o_{2},o_{3}] O=[o1,o2,o3]进行Softmax运算,输出匹配概率(非负,和为1):

y ^ = s o f t m a x ( o ) \hat{y}=softmax(o) y^=softmax(o)

y ^ i = e x p ( o i ) ∑ k = 1 n e x p ( o k ) \hat{y}_{i}=\frac{exp(o_{i})}{\sum_{k=1}^{n}exp(o_{k})} y^i=k=1nexp(ok)exp(oi)

(本文为 3 3 3分类,所以上式中的 n = 3 n=3 n=3,将猫的图片输入网络,输出结果可能为 y ^ = [ 0.6 , 0.15 , 0.25 ] \hat{y}=[0.6,0.15,0.25] y^=[0.6,0.15,0.25];将狗的图片输入网络,输出结果可能为 y ^ = [ 0.15 , 0.6 , 0.25 ] \hat{y}=[0.15,0.6,0.25] y^=[0.15,0.6,0.25];将马的图片输入网络,输出结果可能为 y ^ = [ 0.15 , 0.25 , 0.6 ] \hat{y}=[0.15,0.25,0.6] y^=[0.15,0.25,0.6])

  然后,对真实值 y y y和输出值 y ^ \hat{y} y^做Cross Entropy Loss(交叉熵损失)计算,将其作为损失值:

l ( y , y ^ ) = − ∑ i = 1 n y i l o g y ^ i = − l o g y ^ y l(y,\hat{y})=-\sum_{i=1}^{n}y_{i}log\hat{y}_{i}=-log\hat{y}_{y} l(y,y^)=i=1nyilogy^i=logy^y

(由于真实值 y y y是一个一位有效编码的向量,即只在真实类别处的值为 1 1 1,其余类别处的值为 0 0 0,所以上述交叉熵损失计算可简化为:某个类别的损失值 = = = 输出值 y ^ \hat{y} y^中该类别对应概率值的 − l o g -log log值。即在分类问题中,不关心非正确类的预测值,只关心正确类的预测值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓shuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值