交叉熵损失函数python_交叉熵损失函数nn.CrossEntropyLoss()

本文详细介绍了在PyTorch中如何使用交叉熵损失函数nn.CrossEntropyLoss进行多分类任务。内容包括信息量、熵的概念,以及二分类和多分类情况下的交叉熵计算公式,并通过例子解释了交叉熵损失的计算过程。最后,文章提到了nn.CrossEntropyLoss实际上是nn.logSoftmax和nn.NLLLoss的组合,简化了深度学习模型的实现。
摘要由CSDN通过智能技术生成

nn.CrossEntropyLoss()

1.引言

在使用pytorch深度学习框架做多分类时,计算损失函数通常会使用交叉熵损失函数nn.CrossEntropyLoss()

2. 信息量和熵

信息量:它是用来衡量一个事件的不确定性的;一个事件发生的概率越大,不确定性越小,则它所携带的信息量就越小。假设$X$是一个离散型的随机变量,其取值集合为$X$ = $x_0,x_1,,,x_n$,其概率分布函数为$p(x) = Pr(X = x),x\in X$,则定义事件$X = x_0$的信息量为:

$$

I(x_i) = -log(p(x_i))

$$

当$p(x_0) = 1$ 时,该事必定发生,其信息量为0。

熵用来衡量一个系统的混乱程度,代表系统中信息量的总和;熵值越大,表明这个系统的不确定性就越大。

信息量是衡量某个事件的不确定性,而熵是衡量一个系统(所有事件)的不确定性。

熵的计算公式:

$$

H(x) = -\sum_{i=1}^np(x_i)log(p(x_i))

$$

其中,$p(x_i)为事件X = x_i的概率,-log(p(x_i))为事件X = x_i 的信息量。$

可以看出,熵是信息量的期望值,是一个随机变量(一个系统,事件所有可能性)不确定性的度量。熵值越大,随机变量的取值就越难确定,系统也就越不稳定;熵值越小,随机变量的取值也就越

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值