熵,信息熵,相对熵(KL散度),交叉熵

英文:entropy

熵是一个物理学概念,它表示一个系统的额不确定性程度,或者说是一个系统的混乱程度。

信息熵

英文:Information entropy

一个叫香农的美国数学家,将熵引入信息论中,并将它命名为:“香农熵”或者“信息熵”。(注意log以什么为底是对结果的比较没有影响,但是不同系统如果要比较混乱程度必须用相同的低比较)

公式:\begin{equation} H(X) = -\sum_{i=1}^{n}P(x_i)logP(x_i) \end{equation}

n:随机变量可能的取值数目(i = 1,2···n)

x:随机变量

P(x):随机变量x的概率函数

例子:

班花选男朋友的概率
宿舍1班花A选择他的概率班花B选择他的概率
帅哥10.20.6
帅哥20.2 0.1
帅哥30.20.1
帅哥40.20.1
帅哥50.20.1

在这个例子中:

  1. 对于班花A    n = 5,P(x_1)=P(x_2)=P(x_3)=P(x_4)=P(x_5)=0.2   计算班花A的信息熵 H(A) = -(0.2lg(0.2)+0.2lg(0.2)+0.2lg(0.2)+0.2lg(0.2)) = 0.699
  2. 对于班花B    n = 5,P(x_1)=0.6P(x_2)=P(x_3)=P(x_4)=P(x_5)=0.1  计算班花B的信息熵 H(B) = -(0.6lg(0.6)+0.1lg(0.1)+0.1lg(0.1)+0.1lg(0.1)) = 0.53308

根据结果可以知道H(A) > H(B)也就是说A的系统是更混乱的,也就是A的内心是更加纠结的。

相对熵(KL散度)

英文:relative entropy(Kullback-Leibler divergence)

两个概率分布间差异的非对称性度量(用来衡量同一个随机变量的两个不同分布之间的距离)

公式:\begin{equation} D_{KL}(p||q)=\sum_{i=1}^np(x_i)log(\frac{p(x_i)}{q(x_i)}) \end{equation}

特性1(非对称性):

  1. D_{KL}(p||q)\neq{D_{KL}(q||p)}
  2. P和Q的概率分布完全一样时候才会相等

特性2(非负性):

  1. D_{KL}(p||q)恒大于等于0
  2. P和Q的概率分布完全一样才相等0

对KL散度的公式进行变形之后会发现KL散度就等于交叉熵减去信息熵

交叉熵

英文:cross entropy

公式:H(P,Q)=-\sum_{i=1}^np(x_i)logq(x_i)

交叉熵是信息论中的一个重要概念,用来衡量两个概率分布之间的差异性信息。

交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。

例子:

第一次预测要预测的分类模型预测值(Q(x))真实标签值(P(x))预测正确?
篮球0.71正确
足球0.10
排球0.20
H(P,Q) = -(1*log(0.7))-(0*log(0.1))-(0*log(0.2))=0.1549

第二次预测要预测的分类模型预测值(Q(x))真实标签值(P(x))预测正确?
篮球0.31错误
足球0.60
排球0.10
H(P,Q) =0.5229

第三次预测要预测的分类模型预测值(Q(x))真实标签值(P(x))预测正确?
篮球0.10正确
足球0.10
排球0.81
H(P,Q) =0.0969

通过这三个例子我们了解到预测越准确交叉熵越小,交叉熵只是跟真实标签的预测概率值有关系。

交叉熵最简化公式:通过上面我们发现其实真实标签的只有一个概率为1,其他的都是0,也就是说只需要计算真实标签为1的那个项。所以我们可以简化交叉熵公式为只计算真实标签为1的那个项。

softmax函数

softmax函数是将数字转换成概率的神器,能够进行数据归一化。

公式S_i=\frac{e^{z_i}}{\sum_{i=1}^ne^{z_i}}

例子:

有三个数z_1=3,z_2=1,z_3=-3  那么 \sum_{i=1}^ne^{z_i}=e^3+e^1+e^{-3}

经过softmax函数之S_1=\frac{e^3}{e^3+e^1+e^-3},S_2=\frac{e^1}{e^3+e^1+e^-3},S_3=\frac{e^{-3}}{e^3+e^1+e^-3}

注意三个加一起是等于1的。

sigmoid函数(logistics)

公式:S(x)=\frac{1}{1+e^{-x}}

sigmoid函数图像

用处:常用为二分类问题的激活函数(激活函数的本质是向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线。如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,引入非线性函数作为激活函数,那输出不再是输入的线性组合,可以逼近任意函数)

声明:这篇文章是看的一个叫 iter008 的up主后总结的,如有侵权,联系删除。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值