熵为什么使用log?
首先,信息也是物理量,就像质量kg,我们测量质量的方法是,我们选择一个参照物,把这个物体的质量定义为1kg,当想要测量其它物体的质量时就看这个这个物体的质量相当于多少个参照物的质量,这里的多少个便是kg。
上图中待测物体的质量m等于参照物体的质量B乘以参照物体的个数n,所以当知道总质量m要求个数n时,我们用乘法的反函数,既除法来计算。
但是测量信息时,不能用除法,比如抛掷3枚硬币能够产生的结果是2的3次方=8种,而不是2*3=6种,是指数关系而不是线性关系,所以当知道可能情况的个数m,想求这些情况相当于多少个(n)参照事件所产生的时,用指数运算的反函数,即对数函数来计算,如下图。
如果换成选择题,四个选项,选c的概率是1/2,其余三个选项概率相通都是1/6,熵如何计算呢?需要分别测量待测试件的每种可能情况的信息量后,乘以他们各自的发生概率再相加即可。
首先需要计算概率为1/6的情况的不确定性相当于投掷多少次硬币所产生的的不确定性m,我们知道1%会发生的情况,相当于从100个等概率情况中确定实际情况,概率的倒数等于概率情况的格式,m=1/p,用1/p替换等概率情况个数m后,我们就可以计算每种情况的信息量了,如下图。
最后,-logp 就是一种可能性的信息量,一个事件总的信息量就是每一种可能的情况的信息量乘以它们发生的概率,其实就是信息量的数学期望。
至于log的底,我理解他就是一个参考量,机器学习中常用e作为底,有时确实方便计算。
熵为什么使用log?相关推荐
- 机器学习入门(08)— 损失函数作用和分类(均方误差、交叉熵误差)
神经网络的学习中的"学习"是指从训练数据中自动获取最优权重参数的过程. 为了使神经网络能进行学习,将导入损失函数这一指标.而学习的目的就是以该损失函数为基准,找出能使它的值达到最小 ...
- 一文总览机器学习中各种【熵】的含义及本质
https://www.toutiao.com/a6681435530564993544/ 2019-04-19 11:02:15 机器学习领域有一个十分有魅力的词:熵.然而究竟什么是熵,相信多数人都 ...
- [机器学习]理解熵,交叉熵和交叉熵的应用
一 信息量 信息论当中的熵指的是信息量的混乱程度,也可以理解成信息量的大小. 举个简单的例子,以下两个句子,哪一个句子的信息量更大呢? 我今天没中彩票 我今天中彩票了 从文本上来看,这两句话的字数一致 ...
- 损失函数(交叉熵误差)
损失函数 神经网络以某个指标为线索寻找最优权重参数.神经网络的学习中所用的指标称为损失函数 (loss function).这个损失函数可以使用任意函数,但一般用均方误差和交叉熵误差等. 交叉熵误差 ...
- 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之模糊熵
目录 二.模糊熵 1.概念 2.基本原理 3.MATLAB代码 4.参考文献 说明:关于排列熵的内容请阅读博客:排列熵.模糊熵.近似熵.样本熵的原理及MATLAB实现 二.模糊熵 1.概念 在样本熵的 ...
- 度量学习(Metric learning)—— 基于分类损失函数(softmax、交叉熵、cosface、arcface)
概述 首先,我们把loss归为两类:一类是本篇讲述的基于softmax的,一类是基于pair对的(如对比损失.三元损失等). 基于pair对的,参考我的另一篇博客: https://blog.csdn ...
- 从信息熵、相对熵到交叉熵损失函数
信息熵.相对熵和交叉熵是机器学习中非常重要的概念,它们都是用来衡量不同概率分布之间的差异.在这篇博客中,我们将分别介绍这些概念,并用通俗易懂的语言以及实例的方式来阐述它们的含义. 信息熵 信息熵(En ...
- 机器学习入门-决策树算法
决策树:从根节点开始一步步到叶子节点,所有的数据最后都落到叶子节点里面,既可以用来做分类也可以用来做回归 树的组成: 1.根节点(第一个参数) 2.非子叶节点与分支: 中间过程 3. 子叶节点,最终的 ...
- 决策树准确率低原因_机器学习决策树算法--剪枝算法
一.剪枝算法决策树生成算法递归地产生决策树,直到不能继续下去为止.这样产生的树往往对训练数据的分类很准确,但对未知的测试数据的分类却没有那么准确,即出现过拟合现象.过拟合的原因在于学习时过多地考虑如何 ...
最新文章
- 个人销售建筑服务器,建筑个人云服务器
- php中的foreach和js中的foreach的用法和区别
- Database之SQLSever:SQLSever数据库管理(GUI法/SQL语句命令法两种方法实现备份(完整备份、差异备份、日志备份)、还原、删除、修改数据库等案例)之详细攻略
- 懒人专用SSH框架下的基本配置
- 项目私活 【抢小米手机软件】可以做的朋友,可以联系社区
- java 心跳程序_Java实现心跳机制的方法
- Python进阶(九)常用高级函数Counter、defaultdict、nametuple、map、reduce、filter、groupby
- 图:试图播放的文件扩展名与文件格式不匹配。播放该文件可能会导致意外行为...的解决办法
- 2022.3.27 学习韩顺平老师java基础
- Could not start AVD
- 引入echarts 报错xAxis “0“ not found
- 软件工程 学习笔记 知识梳理
- 【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)
- C++计算耗时方法(四种方法)
- 1.2 CSS选择器和布局
- 正确理解left join
- java生成unix格式文件_Java Windows文本格式和Liunx/Unix文本格式转换
- vue收缩面板_vuejs实现折叠面板展开收缩动画
- Tomcat- AJP协议文件读取/命令执行漏洞(CVE-2020-1938 / CNVD-2020-10487)
- 快递公司泄露买家信息最高罚3万 快递员双挨罚