softmax与交叉熵的关系

softmax与交叉熵的关系

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

softmax第一步就是将模型的预测结果转化到指数函数上,这样保证了概率的非负性。
1)分子:通过指数函数,将实数输出映射到零到正无穷。
2)分母:将所有结果相加,进行归一化。

假设模型三分类问题:-3、1.5、2
y1 = exp(-3) = 0.05
y2 = exp(1.5) = 4.48
y3 = exp(2) = 7.39
分母使概率之和等于1
z1 = y1/(y1+y2+y3) = 0.05/(1.05+4.48+7.39)
z2 = y2/(y1+y2+y3) = 4.48/(1.05+4.48+7.39)
z3 = y3/(y1+y2+y3) = 7.39/(1.05+4.48+7.39)

import numpy as np



x=[-1,1.2,2,3]
y=np.exp(x)
sum=np.sum(y)
z=y/sum

交叉熵:交叉熵越小损失越小分类效果越好

     交叉熵刻画的是预测输出与期望输出的距离,交叉熵的值越小,两个概率分布就越接近。
     假设概率分布p为期望输出,概率分布q为实际输出,H(p,q)为交叉熵

在这里插入图片描述
p为标签,q为预测输出 p q同一个变量的两个不同的分布。

神经网络解决多分类中,最后一层输出N个节点,表示分类N种。如果一个输入的样本属于K类,则这个类对应的输出节点值为1,其它为0.这个样本的标签
. … p = [0,0,0,1,0,0]
而实际的输出的每个节点是神经网络的加权的出来的值,在经过一个softmax,得到一个预测输出 .
. . . .q = [0.1,0.1,0.1,0.5,0.1,0.1]
在通过交叉熵H(p,q) 来判定预测输出,与标签的接近程度===使用交叉熵来计算损失

计算方法一:

在这里插入图片描述

假设N=3,期望标签输出为p=(1,0,0),实际预测输出
q1=(0.5,0.2,0.3)
q2=(0.8,0.1,0.1)
在这里插入图片描述
q2与P的交叉熵小说明q2与标签越接近

计算方法二:

在这里插入图片描述在这里插入图片描述
在实际训练中:输入的样本是一个batch,则输出的H(p,q)为多维的,对一个batch最后去平均 == 0.2
在这里插入图片描述在这里插入图片描述

### 关系概述 在机器学习领域,Softmax、KL散度以及交叉熵紧密关联,在分类任务中扮演着重要角色。Softmax函数用于将模型最后一层的线性输出转换成概率分布形式[^1]。 ```python import numpy as np def softmax(x): e_x = np.exp(x - np.max(x)) return e_x / e_x.sum(axis=0) logits = np.array([2.0, 1.0, 0.1]) probs = softmax(logits) print(probs) ``` ### 数学定义联系 #### KL 散度 (Kullback-Leibler Divergence) KL散度衡量的是两个概率分布PQ之间差异的程度。其计算方式如下: \[D_{\mathrm{KL}}(P \parallel Q)=\sum_i P(i)\cdot(\log(P(i))-\log(Q(i)))\] 当应用于神经网络时,通常取真实标签的概率分布作为\(P\),而预测得到的概率分布作为\(Q\)。需要注意的是,KL散度不是对称的距离度量方法。 #### 交叉熵 (Cross Entropy) 对于离散型随机变量而言,给定真实的概率分布p估计的概率分布q,则它们之间的交叉熵表示为: \[H(p,q)=-\sum _{{x\in {\mathcal {X}}}}p(x)\,\log q(x).\] 在多类别分类场景下,如果采用one-hot编码的真实标签y通过softmax获得的预测值s来表达上述公式的话,那么针对单一样本i的交叉熵损失可写作: \[CE(y^{(i)}, s^{(i)})=\sum_j y_j^{(i)} (-\log(s_j^{(i)})).\] 实际上,交叉熵可以视为负对数似然的一个特例,并且经常被用作监督学习中的目标函数之一。 ### 应用实例分析 考虑到实际应用环境的不同需求,选择合适的评估指标至关重要。比如在某些情况下,尽管L2 loss能够有效测量数值差距,但对于处理概率性质的数据来说,KL散度或交叉熵往往更为适宜[^2]。 特别是在构建深度学习架构的过程中,为了简化实现并提高效率,很多框架默认集成了`softmax_cross_entropy_with_logits_v2()`这样的API接口,它内部自动完成了从原始得分到最终决策边界的整个流程——先经由softmax映射至合法区间内再求解对应的交叉熵误差项[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值