信息量,熵,交叉熵,相对熵与代价函数

本文将介绍信息量,熵,交叉熵,相对熵的定义,以及它们与机器学习算法中代价函数的定义的联系。转载请保留原文链接:http://www.cnblogs.com/llhthinker/p/7287029.html

1. 信息量

信息的量化计算:

解释如下:

信息量的大小应该可以衡量事件发生的“惊讶程度”或不确定性:

如果有⼈告诉我们⼀个相当不可能的事件发⽣了,我们收到的信息要多于我们被告知某个很可能发⽣的事件发⽣时收到的信息。如果我们知道某件事情⼀定会发⽣,那么我们就不会接收到信息。 也就是说,信息量应该连续依赖于事件发生的概率分布p(x) 。因此我们想要寻找⼀个基于概率p(x)计算信息量的函数h(x),它应该具有如下性质:

  1. h(x) >= 0,因为信息量表示得到多少信息,不应该为负数。
  2. h(x, y) = h(x) + h(y),也就是说,对于两个不相关事件x和y,我们观察到两个事件x, y同时发⽣时获得的信息应该等于观察到事件各⾃发⽣时获得的信息之和;
  3. h(x)是关于p(x)的单调递减函数,也就是说,事件x越容易发生(概率p(x)越大),信息量h(x)越小。

又因为如果两个不相关事件是统计独⽴的,则有p(x, y) = p(x)p(y)。根据不相关事件概率可乘、信息量可加,很容易想到对数函数,看出h(x)⼀定与p(x)的对数有关。因此,有

满足上述性质。

2. 熵(信息熵)

对于一个随机变量X而言,它的所有可能取值的信息量的期望就称为熵。熵的本质的另一种解释:最短平均编码长度(对于离散变量

离散变量:

连续变量:

3. 交叉熵

现有关于样本集的2个概率分布p和q,其中p为真实分布,q非真实分布。按照真实分布p来衡量识别一个样本的熵,即基于分布p给样本进行编码的最短平均编码长度为:

如果使用非真实分布q来给样本进行编码,则是基于分布q的信息量的期望(最短平均编码长度),由于用q来编码的样本来自分布p,所以期望与真实分布一致。所以基于分布q的最短平均编码长度为:

 上式CEH(p, q)即为交叉熵的定义。

4. 相对熵

将由q得到的平均编码长度比由p得到的平均编码长度多出的bit数,即使用非真实分布q计算出的样本的熵(交叉熵),与使用真实分布p计算出的样本的熵的差值,称为相对熵,又称KL散度

KL(p, q) = CEH(p, q) - H(p)=

相对熵(KL散度)用于衡量两个概率分布p和q的差异。注意,KL(p, q)意味着将分布p作为真实分布,q作为非真实分布,因此KL(p, q) != KL(q, p)。

5. 机器学习中的代价函数与交叉熵

是数据的真实概率分布,

是由数据计算得到的概率分布。机器学习的目的就是希望

尽可能地逼近甚至等于

,从而使得相对熵接近最小值0. 由于真实的概率分布是固定的,相对熵公式的后半部分(-H(p)) 就成了一个常数。那么相对熵达到最小值的时候,也意味着交叉熵达到了最小值。对

的优化就等效于求交叉熵的最小值。另外,对交叉熵求最小值,也等效于求最大似然估计(maximum likelihood estimation)。

特别的,在logistic regression中,  p:真实样本分布,服从参数为p的0-1分布,即X∼B(1,p)

p(x = 1) = y

p(x = 0) = 1 - y q:待估计的模型,服从参数为q的0-1分布,即X∼B(1,q)

p(x = 1) = h(x)

p(x = 0) = 1-h(x)

其中h(x)为logistic regression的假设函数。 两者的交叉熵为: 

对所有训练样本取均值得: 

这个结果与通过最大似然估计方法求出来的结果一致。使用最大似然估计方法参加博客 Logistic Regression.

Ref:

《模式识别与机器学习》1.6节

http://blog.csdn.net/rtygbwwwerr/article/details/50778098

https://www.zhihu.com/question/41252833

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Pytorch实践

Pytorch实现LSTM时间序列预测

摘要:本文主要基于Pytorch深度学习框架,实现LSTM神经网络模型,用于时间序列的预测。 开发环境说明: Python 35 Pytorch 0.2 CP...

1.2K7
来自专栏计算机视觉战队

前馈神经网络和BP算法简单教程

吴立德老师亲自讲解前馈神经网络和BP算法,让初学者对基础更加了解,对以后网络的改建和创新打下基础,值得好好学习!希望让很多关注的朋友学习更多的基础知识,打下牢固...

3416
来自专栏WD学习记录

机器学习深度学习 笔试面试题目整理(2)

(1) 思想    改变全连接为局部连接,这是由于图片的特殊性造成的(图像的一部分的统计特性与其他部分是一样的),通过局部连接和参数共享大范围的减少参数值。可...

2452
来自专栏机器之心

从Inception v1到Inception-ResNet,一文概览Inception家族的「奋斗史」

2216
来自专栏人工智能LeadAI

常见激活函数总结 | 深度学习笔记2

01激活函数概览 基本上,入门深度学习的第一件事情就是了解”神经元”的构造,激活函数算是最基本的一个”部件”了吧.那激活函数到底有什么用呢?为什么需要激活函数?...

4188
来自专栏机器学习算法与Python学习

SoftMax回归详解

Contents 1 关键词 2 引言 3 代价函数 4 softmax回归模型参数化的特点 5 权重衰减 6 softmax与logistics回归的关系 1...

3888
来自专栏深度学习思考者

深入浅出——搞懂卷积神经网络的过拟合、梯度弥散、batchsize的影响的问题(二)

  上一篇主要是对卷积神经网络的整个训练过程中公式以及误差的推导给出详细的分析。   博客地址:https://cloud.tencent.com/deve...

3809
来自专栏IT派

对数几率回归 —— Logistic Regression

首先,在引入LR(Logistic Regression)模型之前,非常重要的一个概念是,该模型在设计之初是用来解决0/1二分类问题,虽然它的名字中有回归二字,...

1232
来自专栏决胜机器学习

循环神经网络(一) ——循环神经网络模型与反向传播算法

循环神经网络(一) ——循环神经网络模型与反向传播算法 (原创内容,转载请注明来源,谢谢) 一、概述 这一章开始讲循环神经网络(RNN,Recurrent Ne...

3735
来自专栏大数据挖掘DT机器学习

该怎么检测异常值?

原文作者: Jacob Joseph 原文链接:https://blog.clevertap.com/how-to-detect-outliers-u...

4779

扫码关注云+社区