信息熵、KL散度、交叉熵、softmax函数学习小记

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 信息熵、KL散度、交叉熵、softmax函数学习小记

1.信息熵

简介:
描述一组样本的不确定程度。

例如一组样本:

样本1 国庆假期选择出游的概率 样本2 国庆假期选择出游的概率
张三 0.2 Jack Zhang 0.6
李四 0.2 Eric Li 0.1
王五 0.2 Vicky Wang 0.1
赵六 0.2 Nicholas Zhao 0.1
钱七 0.2 Tsien 0.1
求信息熵:

样本1 样本2
= - (0.2log(0.2) + 0.2log(0.2) + 0.2log(0.2)) … = - (0.6log(0.6) + 0.1log(0.1) + 0.1log(0.1)) …
= - ((0.2 -0.699) + (0.2 -0.699) + (0.2 -0.699)) … = - ((0.6 -0.2218) + (0.1 -1) + (0.1 -1)) …
= 0.699 = 0.53308
结论:

样本1中的学生选择国庆假期出游的不确定性比较大。

2.交叉熵

简介:
度量预测样本与真实样本之间的差距。NN中最常见的名词之一,但除了会用,还可以再多了解一下。

(注:交叉熵有多种变形公式)

例如一组样本:

预测分类 预测标签( Q ) 真实标签( P )
张三国庆去甘肃 0.7 1
张三国庆去青海 0.1 0
张三国庆去宁夏 0.2 0
求交叉熵:

H(P,Q) = -(1Log(0.7) + 0log(0.1) + 0*log(0.2)) = 0.1549

结论:

预测结果越准确,交叉熵越小。

3.KL散度

简介:
描述2个概率分布间的差异或者距离。也是学习GAN时需要了解的重要概念。

KL散度 = 交叉熵-信息熵

我们知道Log(1)=0,分类问题结果往往是one hot形式的,那么上面公式就变成了:
KL散度 = 交叉熵 - 0

所以有时候直接求交叉熵就行了。

4.Softmax

简介:
将数字结果转换为概率,所以对于非分类问题的神经网络,要去掉Softmax操作。

这个比较常见,推导就不做了。

相关文章
|
Python
Python 字典转 dataframe
使用pandas将Python字典转换为DataFrame,需先确保安装pandas(`pip install pandas`)。
393 1
|
SQL Java 数据库连接
JDBC DriverManager 详解
JDBC(Java Database Connectivity)是 Java 标准库中用于与数据库进行交互的 API。它允许 Java 应用程序连接到各种不同的数据库管理系统(DBMS),执行 SQL 查询和更新操作,以及处理数据库事务。在 JDBC 中,DriverManager 是一个关键的类,用于管理数据库驱动程序和建立数据库连接。本文将详细介绍 JDBC DriverManager 的用法,面向基础小白,帮助您快速入门 JDBC 数据库连接。
379 1
|
8月前
|
机器学习/深度学习 JavaScript PyTorch
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
生成对抗网络(GAN)的训练效果高度依赖于损失函数的选择。本文介绍了经典GAN损失函数理论,并用PyTorch实现多种变体,包括原始GAN、LS-GAN、WGAN及WGAN-GP等。通过分析其原理与优劣,如LS-GAN提升训练稳定性、WGAN-GP改善图像质量,展示了不同场景下损失函数的设计思路。代码实现覆盖生成器与判别器的核心逻辑,为实际应用提供了重要参考。未来可探索组合优化与自适应设计以提升性能。
685 7
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
|
Python 机器学习/深度学习
Cross Entropy Loss 交叉熵损失函数公式推导
表达式 输出标签表示为{0,1}时,损失函数表达式为: $L = -[y log \hat{y} + (1-y)log(1- \hat{y})]$ 二分类 二分类问题,假设 y∈{0,1} 正例:$P(y = 1| x) = \hat{y}$ 反例:$P(y=0|x) = 1-\hat{y}$ 取似然函数 似然函数就是所有样本在参数θ下发生概率最大的那种情况,由于样本独立同分布,因此概率最大的情况就是每个样本发生概率的连乘。
16380 0
|
7月前
|
移动开发 开发工具 数据库
App内“邀请好友“功能:如何准确追踪邀请关系并自动发放奖励
探讨如何准确追踪APP“邀请好友”功能中的邀请关系并自动发放奖励
319 2
|
存储 Docker 容器
docker中挂载现有目录作为数据卷
【10月更文挑战第14天】
226 1
|
存储 监控 NoSQL
MongoDB在不同行业中的广泛应用
MongoDB在不同行业中的广泛应用
468 3
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的注意力机制:原理、应用与未来展望
探索深度学习中的注意力机制:原理、应用与未来展望
|
SQL Java 数据库连接
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
530 3
|
云安全 域名解析 SQL
什么是云盾Web应用防火墙?阿里云服务器如何接入云盾Web应用防火墙?
本文介绍了阿里云 云盾Web应用防火墙是什么以及云服务器如何接入云盾Web应用防火墙。
1307 0
什么是云盾Web应用防火墙?阿里云服务器如何接入云盾Web应用防火墙?
下一篇
oss云网关配置