损失函数--KL散度与交叉熵
损失函数
在逻辑回归建立过程中,我们需要一个关于模型参数的可导函数,并且它能够以某种方式衡量模型的效果。这种函数称为损失函数(loss function)。
损失函数越小,则模型的预测效果越优。所以我们可以把训练模型问题转化为最小化损失函数的问题。
损失函数有多种,此次介绍分类问题最常用的交叉熵(cross entropy)损失,并从信息论和贝叶斯两种视角阐释交叉熵损失的内涵。
## 公式请查看:https://blog.csdn.net/Ambrosedream/article/details/103379183
K-L散度与交叉熵
随机变量X有k种不同的取值:,,。 记X的取值 的概率为p(X=) ,简写为P() .
克劳德· 香农定义了信息的信息量:
注:其中对数可以以任意合理数为底,如 2、e。使用不同的底数所得到的信息量之间相差一个常系数。
若以2为底,信息量的单位是bit ,I(X= )是X = 这条信息的自信息量(self-information) .
自信息量I随着概率P()的图像变化如下:
自信息量背后的含义:信息中事件发生的概率越小,则信息量越大。
举例:假如有人告诉你即将开奖的彩票中奖号码是777777777,这条信息的价值很高,类似事情发生概率极小。假如有人告诉你明天太阳会升起,这件事对你来说价值很低,但是他发生的概率却很高。所以我们会觉得彩票的开奖号信息量很大,太阳升起的信息量较小。
我们令信息源X 取不同的值 的概率分布分别为 .
定义信息源 X的熵(entropy)为:
H(p) =
信息源由概率分布p描述,s所以熵是p的函数,熵的概念来自热力学。H(p)又称平均信息。
根据公式我们可以看出,H(p)是将X所有取值的自信息量以概率为权重取平均。
对于两个概率分布p和q, 定义p和q的K-L散度(kullback-leibler divergence)是:
K-L散度是 在分布p上的期望。(注:KLD(p||q) KLD(q||p))
根据上述公式我们可以发现,当和 相等时, 所以KLD散度等于0。所以说两个同分布的KLD散度为0,所以我们一般使用KLD描述两个概率分布之间的相似度。
我们定义交叉熵:
所以根据上述两式,有:
H(p,q) = KLD(p||q) + H(p)
分布p和q的交叉熵等于它们的K-L散度加上p的熵。现在假设分布p固定,则H(p,q)与KLD(p||q)之间只相差一个常数H(p),所以此时H(p,q)也可以被用来描述两个分部之间的相似程度。即:H(p,q)越小,p,q越相似。
对于一个训练样本{ } 可以标签 给出了一个类别的概率分布:
,,
我们将逻辑回归模型的输出看做一个分布Q:
,
所以我们希望回归模型的准确率尽可能地高,即是希望分布Q与训练集P的分布尽可能地相似,由此我们可以使用交叉熵来描述输出分布于标签分布的相似度,也就是我们所说的损失函数(loss)
上式是模型在一个样本的交叉熵,其值越小,预测分布于标签给出分布越相似。
上式是样本的平均交叉熵,作为模型的损失函数。
损失函数--KL散度与交叉熵的更多相关文章
- 【机器学习基础】熵、KL散度、交叉熵
熵(entropy).KL 散度(Kullback-Leibler (KL) divergence)和交叉熵(cross-entropy)在机器学习的很多地方会用到.比如在决策树模型使用信息增益来选择 ...
- 第五节,损失函数:MSE和交叉熵
损失函数用于描述模型预测值与真实值的差距大小,一般有两种比较常见的算法——均值平方差(MSE)和交叉熵. 1.均值平方差(MSE):指参数估计值与参数真实值之差平方的期望值. 在神经网络计算时,预测值 ...
- 信息论相关概念:熵 交叉熵 KL散度 JS散度
目录 机器学习基础--信息论相关概念总结以及理解 1. 信息量(熵) 2. KL散度 3. 交叉熵 4. JS散度 机器学习基础--信息论相关概念总结以及理解 摘要: 熵(entropy).KL 散度 ...
- KL散度=交叉熵-熵
熵:可以表示一个事件A的自信息量,也就是A包含多少信息. KL散度:可以用来表示从事件A的角度来看,事件B有多大不同. 交叉熵:可以用来表示从事件A的角度来看,如何描述事件B. 一种信息论的解释是: ...
- 从香农熵到手推KL散度
信息论与信息熵是 AI 或机器学习中非常重要的概念,我们经常需要使用它的关键思想来描述概率分布或者量化概率分布之间的相似性.在本文中,我们从最基本的自信息和信息熵到交叉熵讨论了信息论的基础,再由最大似 ...
- 【深度学习】K-L 散度,JS散度,Wasserstein距离
度量两个分布之间的差异 (一)K-L 散度 K-L 散度在信息系统中称为相对熵,可以用来量化两种概率分布 P 和 Q 之间的差异,它是非对称性的度量.在概率学和统计学上,我们经常会使用一种更简单的.近 ...
- 最大似然估计 (Maximum Likelihood Estimation), 交叉熵 (Cross Entropy) 与深度神经网络
最近在看深度学习的"花书" (也就是Ian Goodfellow那本了),第五章机器学习基础部分的解释很精华,对比PRML少了很多复杂的推理,比较适合闲暇的时候翻开看看.今天准备写 ...
- 深度学习中交叉熵和KL散度和最大似然估计之间的关系
机器学习的面试题中经常会被问到交叉熵(cross entropy)和最大似然估计(MLE)或者KL散度有什么关系,查了一些资料发现优化这3个东西其实是等价的. 熵和交叉熵 提到交叉熵就需要了解下信息论 ...
- 交叉熵cross entropy和相对熵(kl散度)
交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量真实分布p与当前训练得到的概率分布q有多么大的差异. 相对熵(relativ ...
随机推荐
- 【设计模式】代理模式-Proxy
转载:https://www.cnblogs.com/yangchongxing/p/7654725.html 代理模式定义如下: Provide a surrogate or placeholder ...
- 一 UI基本的用法
1. UIView的基本用法 //打印屏幕的宽和高 CGRect screenBounds = [[UIScreen mainScreen] bounds]; NSLog(@"%f, %f& ...
- zabbix 安装部署
环境:CentOS7 机器 两台 分别为server 和 client zabbix下载网址:http://repo.zabbix.com 本次操作使用zabbix4.0 网址:http://rep ...
- poj 2631 Roads in the North (自由树的直径)
Roads in the North Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4513 Accepted: 215 ...
- SQL-SQL查询检索阶段二
一 前提准备 先声明一下,下面的库表只是简易的学习示例,不是生产的设计,不要深究,此文我们的目的是学习sql的检索不是库表设计:初学者最好跟着作者的文章一步一步敲一遍,如果没有使用过sql的可以查阅作 ...
- 解决苹果mac远程桌面无VDI客户端
解决苹果mac远程桌面云aDesk无VDI客户端 因集团办公工作需要使用桌面云aDesk 在深信服官网并未有mac 的VDI Client客户端 mac电脑可通过Google浏览器访问VDI的服务器地 ...
- Django3.0 异步通信初体验(小结)
2019年12月2日,Django终于正式发布了3.0版本.怀着无比的期待,我们来尝试一下吧! (附ASGI官方文档地址:https://asgi.readthedocs.io/en/latest/e ...
- Windows Terminal 美化分享
美化前: 美化后: Json分享: { "acrylicOpacity": 0.75, "closeOnExit": true, "colorSch ...
- Python3 系列之 并行编程
进程和线程 进程是程序运行的实例.一个进程里面可以包含多个线程,因此同一进程下的多个线程之间可以共享线程内的所有资源,它是操作系统动态运行的基本单元:每一个线程是进程下的一个实例,可以动态调度和独立运 ...
- .Net Core2.2升级到3.1小记
.NET Core 3.1 作为LTS长期支持版本,会提供3年的支持(明年就出.net5),值得升级(吗). 目前主流的第三方包大多都已经提供了支持,2.x => 3.1还是变化不是特别多,EF ...