熵
信息:
h(x)=−logp(x)h(x)=-log p(x)h(x)=−logp(x) ,假设h(x)h(x)h(x)可以表示信息,p是一件事情发生的概率,那么x, y两件独立的事情,如下 h(m) = h(x)+h(y),所以h函数肯定具有log函数的性质
那么若干个的平均信息量:
H(x)=(h(0)+h(1)+...+h(n))/nH(x)= (h(0)+h(1)+...+h(n))/nH(x)=(h(0)+h(1)+...+h(n))/n
H(x)=−∑xp(x)logp(x)H(x)=-\sum_x p(x) log p(x)H(x)=−∑xp(x)logp(x)
熵是一个正值,p的不确定性越大,H(x)越大,是凹函数
-
交叉熵
假设存在未知p(x)p(x)p(x)分布, 但是用了q(x)分布模拟了p(x),求此时怎么样?
H(p,q)=−∑xp(x)∗logq(x)H(p, q) = -\sum_x p(x)*log q(x)H(p,q)=−∑xp(x)∗logq(x)
交叉熵是一个正值,分布有交叠,而且重叠越多,p(x)与q(x),H(p, q)越大;描述的是q(x)与p(x)相似性, 凸函数;
-
相对熵,也称KL散度
假设存在未知p(x)p(x)p(x)分布, 但是用了q(x)分布模拟了p(x)
求的两个分布之间的距离,
KL=H(p,q)−H(p)KL=H(p, q)-H(p)KL=H(p,q)−H(p),
KL=∑xp(x)log(p(x)/q(x))KL= \sum_x p(x) log (p(x)/q(x))KL=∑xp(x)log(p(x)/q(x))
实际上,交叉熵已经可以描述p和q之前的分布,那为什么减去H(p)H(p)H(p),实际上H§可以认为是个常数;或者另外一种解释,H(p)=H(p,p)H(p) = H(p, p)H(p)=H(p,p) ,而且相对熵其实表示的是q(x)分布离最优的熵之间的差距;pq越相似, KL越小
缺点: 不对称
-
JS散度
假设存在另外一个分布m(x)
JSD=1/2KL(p,m)+1/2KL(q,m)JSD =1/2KL(p, m)+1/2KL(q, m)JSD=1/2KL(p,m)+1/2KL(q,m)
JSD=1/2∑xp(x)log(p(x)/m(x))+1/2∑xq(x)log(q(x)/m(x))JSD = 1/2\sum_x p(x) log (p(x)/m(x))+1/2\sum_x q(x) log (q(x)/m(x))JSD=1/2∑xp(x)log(p(x)/m(x))+1/2∑xq(x)log(q(x)/m(x))
JSD= 1/2(H(p,m)−H(p))+1/2(H(q,m)−H(q))JSD = 1/2(H(p, m)-H(p))+1/2(H(q, m)-H(q))JSD= 1/2(H(p,m)−H(p))+1/2(H(q,m)−H(q))
JSD=1/2(H(p,m)+H(q,m)−H(q)−H(q))JSD = 1/2(H(p, m)+H(q, m)-H(q)-H(q))JSD=1/2(H(p,m)+H(q,m)−H(q)−H(q))
取值范围(0,1), JS散度表示的其实是配p(x)q(x)距离m(x)之间的差距
缺点:p(x)距离q(x)太远时,JS是个常数,KL没有意义
-
互信息
I(x,y)=∑x∑yp(x,y)log(p(x,y)/(p(x)∗p(y))=H(x)+H(y)−H((x,y))I(x, y) = \sum_x\sum_yp(x, y)log(p(x,y)/(p(x)*p(y))= H(x)+H(y)-H((x,y))I(x,y)=∑x∑yp(x,y)log(p(x,y)/(p(x)∗p(y))=H(x)+H(y)−H((x,y))
其实就是p(x,y)和p(x)*p(y)之间的KL距离,对称的