这里写目录标题
- 熵
- KL散度
- 引入交叉熵。
- 交叉熵的二分类公式:
- 再次理解SoftMax函数
- 结束
熵
熵,是一个物理上的概念,表示一个系统的不确定性程度,或者表示一个系统的混乱程序。
下边是信息熵的演示:
信息熵的公式如下:
H ( x ) = − ∑ i = 1 ) n p ( x i ) l o g p ( x i ) H(x)=-\sum_{i=1)}^{n}p(x_i)logp(x_i) H(x)=−∑i=1)np(xi)logp(xi)
其中 P ( x ) 表示随机变量 x 的概率函数 P(x)表示随机变量x的概率函数 P(x)表示随机变量x的概率函数看数值可知道班花A的头脑更加混乱,那么多个帅哥,不知选择哪一个,不像班花B只需要选择第一个大帅哥即可。
KL散度
KL散度就是相对熵,相对熵就是KL散度
KL散度 = 相对熵,相对熵 = KL散度。
KL 散度:是两个概率分布间差异的非对称性度量。
怎么理解这句话呢?
KL散度其实是用来衡量同一个随机变量的两个不同分布之间的距离。
KL散度的公式如下:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) D_{KL}(p||q) =\sum_{i=1}^{n}p(x_i)log(\frac{p(x_i)}{q(x_i)}) DKL(p∣∣q)=∑i=1np(xi)log(q(xi)p(xi))
KL散度的特性:
特点1:非对称性。
即D_KL(p||q) 不等于D_KL(q||p)
只有当p 和q的概率分布完全一样时才会相等。
特点2:非负性。
DKL的值永远大于0
只有当p 和q的概率分布完全一样时才会等于0.
看看b站老表老师的例子,笑着理解。哈哈哈
KL散度公式的变形:
引入交叉熵。
交叉熵公式如下:
H ( P , Q ) = − ∑ i = 1 n p ( x i ) l o g q ( x i ) H(P,Q) = -\sum_{i=1}^{n} p(x_i)logq(x_i) H(P,Q)=−∑i=1np(xi)logq(xi) 经过简单变形:
=> H ( P , Q ) = ∑ i = 1 n p ( x i ) l o g ( 1 q ( x i ) ) H(P,Q) = \sum_{i=1}^{n} p(x_i)log(\frac{1}{q(x_i)}) H(P,Q)=∑i=1np(xi)log(q(xi)1)
其中 p ( x i ) 是真实分布的概率, q ( x i ) 是预测的概率 p(x_i)是真实分布的概率,q(x_i)是预测的概率 p(xi)是真实分布的概率,q(xi)是预测的概率
同样看下b站老师的例子,笑着理解吧!
观测交叉熵的数值可知:
1、预测越准确,交叉熵越小。
2、交叉熵只跟真是标签的预测概率值有关。
所以你就能推断出交叉熵的最简公式:
C r o s s E n t r o p y ( p , q ) = − l o g q ( c i ) Cross_Entropy(p,q)=-logq(c_i) CrossEntropy(p,q)=−logq(ci)
交叉熵的二分类公式:
H ( P , Q ) = − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) H(P,Q)=-\sum_{i=1}^{n}p(x_i)log(q(x_i)) H(P,Q)=−∑i=1np(xi)log(q(xi))
= − p ( x 1 ) l o g q ( x 1 ) + p ( x 2 ) l o g q ( x 2 ) =-p(x_1)logq(x_1)+p(x_2)logq(x_2) =−p(x1)logq(x1)+p(x2)logq(x2)
= − p l o g q + ( 1 − p ) l o g ( 1 − q ) =-plogq+(1-p)log(1-q) =−plogq+(1−p)log(1−q)
= − ( p l o g q − ( 1 − p ) l o g ( 1 − q ) ) =-(plogq-(1-p)log(1-q)) =−(plogq−(1−p)log(1−q))
怎么推到第四步的呢?
p ( x 1 ) + p ( x 2 ) = 1 ,我们假设 p(x_1)+p(x_2)=1,我们假设 p(x1)+p(x2)=1,我们假设 p ( x 1 ) = p ,那么 p ( x 2 ) = 1 − p p(x_1) = p,那么p(x_2) = 1-p p(x1)=p,那么p(x2)=1−p
同理:
q ( x 1 ) + q ( x 2 ) = 1 ,我们假设 q(x_1)+q(x_2)=1,我们假设 q(x1)+q(x2)=1,我们假设 q ( x 1 ) = q ,那么 q ( x 2 ) = 1 − q q(x_1) = q,那么q(x_2) = 1-q q(x1)=q,那么q(x2)=1−q
继续看b站老师的例子,帮助理解。
继续观摩老师的PPT:
再次理解SoftMax函数
按照老师的话来说:
softMax就是将数字转换成概率的大杀器,进行数据归一化的大杀器。
结束
对于该为b站老师的视频,我感觉讲的非常好哇,很适合小白入门,可惜后续没再更新,不知在哪还能找到勒