| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【机器学习】熵与KL散度(Kullback-Leibler divergence) -> 正文阅读 |
|
[人工智能]【机器学习】熵与KL散度(Kullback-Leibler divergence) |
1. 信息量1.1 定义信息量是对一个概率P(θ)中所包含的信息的量化。 1.2 解释假设我们要判断一个人是好人还是坏人的概率。现在有两个概率P(好人)=0.8,(好人)=0.5。P1包含的信息量少,P2包含的信息量多。为什么后者信息量多呢??因为我们做出决策所需要的考虑会越多,换句话说就是信息量太多,我们不知道怎么做决策。而前者概率为0.8,判断一个人是好人还是坏人的所需要的额外信息量少,因此越接近1的概率信息量越少。 1.3 数学表达1.3.1 符号说明通常信息量表示为一个关于的函数,用子母表示信息量, 1.3.2 满足条件前者表示不同x的概率,后者表示不同概率表达下所包含的信息量 1.3.3 具体公式对数的表达可以很好的满足1.3.2的条件,是我们将信息量量化的一个方式。 公式:,可以将两种不同的概率代入式子,对比是否满足1.3.2中的所有条件。 2. 熵2.1 定义熵表示混乱程度,如人在判断是否出门或一个人是否是好人时,大脑是否不容易作出决策,若难以作出决策,表示混乱程度很大,也就是熵很大,这点和信息量类似。不过略有不同的是,熵是信息量的期望,简单来说,熵是信息量的均值。 2.2 数学表达2.2.1?公式通常用来表示熵 2.2.2 案例解释假设我们有如下数据,代表我们在这个世界上一共只认识14个人,第一列是编号,第二列表示这个人是否是好人,1代表是,0代表不是。
那么第二列的熵是多少呢?根据2.2.1的公式,如下: ?= - p(好人)log p(好人) -?p(坏人)log p(坏人),即: 其中,1/6和1/8分别是第二列中1和0的频率。 为什么说熵是信息量的期望呢?如果我们将信息量看做是由X映射出来的随机变量就很好理解,如下所示:
这样就可以清晰看出,熵其实就是信息量的期望。 3. KL散度3.1 定义KL散度表示两个不同分布间的差异 3.2 数学表达通常,p(x)为已知的分布,q(x)是未知的分布。显示中,我们往往将p代表的分布表示为样本中的已知分布y,q(x)是需要经过模型训练出的预测分布,若预测分布和样本中已知分布相同,那么KL散度的值就是0。 需要注意的是:p(x)其实是上帝分布,我们的目的是通过得到q(x)去拟合上帝分布,但是由于上帝分布我们通常是不可知的,所以只能通过抽样的方式来代表上帝分布,样本所代表的的分布即p(x) 3.3 性质
3.4 优点由于KL散度是非对称的,更加有利于我们将q(x)分布推往上帝分布p(x),因为在推动的过程中,上帝分布不会发生改变。 解释: 如果KL散度是对称的,我们在推动q(x)的同时,上帝分布p(x)也会往q(x)的方向前进,换句话说,两个分布在互相靠近。但是当结果收敛时,我们得到的预测分布q(x)已经不是我们想要的那个靠近上帝分布q(x)的分布,因为此时上帝分布已经发生了变化,不是原本的上帝分布。 4. 交叉熵4.1 定义交叉熵是指两个分布相互节后的熵值的表示 4.2 数学表达在3.2中我们已知KL散度,其实交叉熵就隐含在KL散度当中,现在将KL散度拆开,如下: ? ? ? ? ? ? ? ? ? ? ? 式子最后的结论中,负号左侧是我们正常的熵值表达,右侧即我们所说的交叉熵。 5. 机器学习中的KL散度那么KL散度如何用语机器学习呢,其实在3.4中也有说明。通过KL散度,我们可以将预测分布q(x)无限逼近样本分布p(x),从而达到我们预测的目的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 10:17:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |