熵为什么使用log?

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 熵为什么使用log?

       首先,信息也是物理量,就像质量kg,我们测量质量的方法是,我们选择一个参照物,把这个物体的质量定义为1kg,当想要测量其它物体的质量时就看这个这个物体的质量相当于多少个参照物的质量,这里的多少个便是kg。

78763c11004a41a29eda65adfcaf229d.png



        上图中待测物体的质量m等于参照物体的质量B乘以参照物体的个数n,所以当知道总质量m要求个数n时,我们用乘法的反函数,既除法来计算。


       但是测量信息时,不能用除法,比如抛掷3枚硬币能够产生的结果是2的3次方=8种,而不是2*3=6种,是指数关系而不是线性关系,所以当知道可能情况的个数m,想求这些情况相当于多少个(n)参照事件所产生的时,用指数运算的反函数,即对数函数来计算,如下图。

65c3f35b653e491cb0230f96175dbe51.png



       如果换成选择题,四个选项,选c的概率是1/2,其余三个选项概率相通都是1/6,熵如何计算呢?需要分别测量待测试件的每种可能情况的信息量后,乘以他们各自的发生概率再相加即可。


6a8299280d38486c91e871ba6fcd4ee1.png


        首先需要计算概率为1/6的情况的不确定性相当于投掷多少次硬币所产生的的不确定性m,我们知道1%会发生的情况,相当于从100个等概率情况中确定实际情况,概率的倒数等于概率情况的格式,m=1/p,用1/p替换等概率情况个数m后,我们就可以计算每种情况的信息量了,如下图。

1e344ad2b7524134af7610ec8e54c524.png



       最后,-logp 就是一种可能性的信息量,一个事件总的信息量就是每一种可能的情况的信息量乘以它们发生的概率,其实就是信息量的数学期望。


       至于log的底,我理解他就是一个参考量,机器学习中常用e作为底,有时确实方便计算。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
4月前
|
算法 机器人 Python
【启发式算法】RRT*算法详细介绍(Python)
RRT(Rapidly-exploring Random Tree Star)* 是一种用于机器人路径规划的启发式算法,它是在经典的 RRT(Rapidly-exploring Random Tree)算法的基础上进行改进的。RRT* 通过优化路径质量,能够找到最短的路径,适用于高维空间中的路径规划问题。
729 2
|
Ubuntu Python
Ubuntu安装pip并切换国内源
Ubuntu安装pip并切换国内源
4149 0
Ubuntu安装pip并切换国内源
|
存储 人工智能 移动开发
7zip 命令使用手册
本文中介绍的命令使用方式在所有安装了7zip的系统平台上使用方式一致。 在 Windows 系统上,你可以直接去观官网下载 7zip 安装包根据提示进行安装,但是若要使用7z命令,一定需要手动将 7zip 的安装目录添加到系统的Path环境变量。 在Linux上,请确包你使用的是 原版7zip 而非 p7zip,在Linux系统上的安装可以参考我的博文《如何在 Linux 系统中安装和使用 7zip》(实际上,本文节选自该博文)
1543 0
|
11月前
|
数据挖掘 数据处理 索引
Pandas数据重命名:列名与索引为标题
Pandas 是强大的数据分析工具,支持灵活的数据结构和操作。本文介绍如何使用 Pandas 对 `DataFrame` 的列名和索引进行重命名,包括直接赋值法、`rename()` 方法及索引修改。通过代码示例展示了具体操作,并讨论了常见问题如名称冲突、数据类型不匹配及 `inplace` 参数的使用。掌握这些技巧可使数据更清晰易懂,便于后续分析。
750 29
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
397 4
|
IDE 搜索推荐 开发工具
|
XML 开发框架 .NET
ASP.NET Web Api 如何使用 Swagger 管理 API
ASP.NET Web Api 如何使用 Swagger 管理 API
350 1
|
机器学习/深度学习 测试技术 API
【Python-Keras】Keras搭建神经网络模型的Model解析与使用
这篇文章详细介绍了Keras中搭建神经网络模型的`Model`类及其API方法,包括模型配置、训练、评估、预测等,并展示了如何使用Sequential模型和函数式模型来构建和训练神经网络。
486 1
|
存储 PyTorch 调度
https://developer.aliyun.com/article/1564927(7)
Transformers 4.37 中文文档(十九)
410 2
|
监控 数据挖掘 大数据
Linux中的nohup命令:让你的任务在后台持久运行
**Linux的`nohup`命令让任务在后台持续运行,即使终端关闭。它创建不受终端影响的新进程,常用于长时间任务,如数据处理。`nohup`将输出重定向至`nohup.out`,可使用`-p`选项避免此行为。示例:`nohup ./script.sh > output.log 2>&1 &`。记得检查输出、重定向、记录命令、监控任务并使用日志管理工具。**