信息熵、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操作。

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

相关文章
|
SQL Java 数据库连接
JDBC DriverManager 详解
JDBC(Java Database Connectivity)是 Java 标准库中用于与数据库进行交互的 API。它允许 Java 应用程序连接到各种不同的数据库管理系统(DBMS),执行 SQL 查询和更新操作,以及处理数据库事务。在 JDBC 中,DriverManager 是一个关键的类,用于管理数据库驱动程序和建立数据库连接。本文将详细介绍 JDBC DriverManager 的用法,面向基础小白,帮助您快速入门 JDBC 数据库连接。
358 1
|
机器学习/深度学习 并行计算 自动驾驶
深度学习 Day 2——解决深度学习环境配置问题
解决深度学习环境配置问题
2243 0
深度学习 Day 2——解决深度学习环境配置问题
|
6月前
|
移动开发 开发工具 数据库
App内“邀请好友“功能:如何准确追踪邀请关系并自动发放奖励
探讨如何准确追踪APP“邀请好友”功能中的邀请关系并自动发放奖励
224 2
|
12月前
|
数据采集 监控 算法
原子钟的基本介绍
【10月更文挑战第7天】本文介绍原子钟是一种利用原子跃迁频率作为基准的高精度计时设备,广泛应用于通信、导航、科学研究等领域。铯原子钟是最精确的计时设备之一,基于铯133原子的超精细跃迁,频率为9,192,631,770 Hz。其关键部件包括铯束源、微波腔、磁态选择器、检测系统和反馈回路。原子钟在GPS、电信、金融市场等应用中至关重要,软件开发需考虑高精度时间同步、数据处理、硬件接口和性能监控。
1099 59
|
12月前
|
存储 Docker 容器
docker中挂载现有目录作为数据卷
【10月更文挑战第14天】
184 1
|
存储 监控 NoSQL
MongoDB在不同行业中的广泛应用
MongoDB在不同行业中的广泛应用
410 3
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的注意力机制:原理、应用与未来展望
探索深度学习中的注意力机制:原理、应用与未来展望
|
SQL Java 数据库连接
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
447 3
|
编译器 Linux C语言
【Linux】编译器-gcc/g++
【Linux】编译器-gcc/g++
217 2
|
C++
解决VS中的_CRT_SECURE_NO_WARNINGS 1的警告问题
解决VS中的_CRT_SECURE_NO_WARNINGS 1的警告问题
423 1