參考https://blog.csdn.net/haolexiao/article/details/70142571
信息量
信息量表示一個信息所需要的編碼長度响疚。而一個信息的編碼長度跟其出現(xiàn)的概率呈負(fù)相關(guān)鄙信,因為一個短編碼的代價也是巨大的,因為會放棄所有以其為前綴的編碼方式忿晕,比如字母”a”用單一個0作為編碼的話装诡,那么為了避免歧義,就不能有其他任何0開頭的編碼詞了。所以一個詞出現(xiàn)的越頻繁鸦采,則其編碼方式也就越短宾巍,同時付出的代價也大。
I = log(\frac{1}{p(x)}) = -log(p(x))
信息熵
信息熵代表一個分布的信息量渔伯,即信息量的均值顶霞,或者編碼的平均長度
H(p) = \sum_x p(x)\log\left(\frac{1}{p(x)}\right) = -\sum_x p(x)\log\left(p(x)\right)
交叉熵 cross-entropy
交叉熵本質(zhì)上可以看成,用一個猜測的分布的編碼方式去編碼其真實的分布锣吼,得到的平均編碼長度或者信息量
H_p(q) = \sum_x p(x)\log\left(\frac{1}{q(x)}\right)
其中p(x)為真實分布选浑,q(x)為猜測的分布
交叉熵 cross-entropy在機器學(xué)習(xí)領(lǐng)域的作用
交叉熵cross-entropy在機器學(xué)習(xí)領(lǐng)域中經(jīng)常作為最后的損失函數(shù)使用
為什么要用cross-entropy呢,他本質(zhì)上相當(dāng)于衡量兩個編碼方式之間的差值吐限,因為只有當(dāng)猜測的分布越接近于真實分布鲜侥,則其值越小(真實分布最兄畹洹)。
比如根據(jù)自己模型得到的A的概率是80%崎苗,得到B的概率是20%狐粱,真實的分布是應(yīng)該得到A,則意味著得到A的概率是100%胆数,所以
L = -\sum_iy_ilog(p(x_i))+(1-y_i)log(1-p(x_i))
在LR中用cross-entropy比平方誤差方法好在:
- 在LR中肌蜻,如果用平方損失函數(shù),則損失函數(shù)是一個非凸的必尼,而用cross-entropy的話就是一個凸函數(shù)
- 用cross-entropy做LR求導(dǎo)的話蒋搜,得到的導(dǎo)數(shù)公式如下
\frac{\partial L}{\partial \theta_j} = -\sum_i(y_i-p(x_i))x_{ij}
而用平方損失函數(shù),其求導(dǎo)結(jié)果為
\frac{\partial L}{\partial \theta_j} = -\sum_i(y_i-p(x_i))p'(x_i)
平方損失函數(shù)的導(dǎo)數(shù)中會出現(xiàn)p^{'}(x_i)判莉,而sigmoid函數(shù)的導(dǎo)數(shù)會出現(xiàn)梯度消失的問題豆挽,因此用cross-entropy作為損失函數(shù)
KL散度
KL散度/KL距離是衡量兩個分布的距離,KL距離一般用D(p||q)或者D_p(q)稱之為p對q的相對熵
D_p(q) = H_p(q) - H(p) = \sum_x p(x)\log\left(\frac{p(x)}{q(x)}\right)
KL散度與cross-entropy的關(guān)系
D_p(q) = H_p(q) - H(p)
非負(fù)性證明
參考https://blog.csdn.net/yujianmin1990/article/details/71213601
直接證明D_p(q)\geq0較為麻煩券盅,可以證明-D_p(q)\leq0帮哈。
借助\ln x \leq x-1,其中x>0锰镀,當(dāng)且僅當(dāng)x=1時取得最值
聯(lián)合信息熵和條件信息熵
下面幾條我們要說的是聯(lián)合分布中(即同一個分布中)兩個變量相互影響的關(guān)系娘侍,上面說的KL和cross-entropy是兩個不同分布之間的距離度量
聯(lián)合信息熵:
H(X,Y) = \sum_{x,y} p(x,y) \log\left(\frac{1}{p(x,y)}\right)
條件信息熵:
H(X|Y) = \sum_y p(y) \sum_x p(x|y) \log\left(\frac{1}{p(x|y)}\right)= \sum_{x,y} p(x,y) \log\left(\frac{1}{p(x|y)}\right)
關(guān)系為:
H(Y|X) = H(X,Y) - H(X)
互信息
互信息就是一個聯(lián)合分布中的兩個信息的糾纏程度/或者叫相互影響那部分的信息量
I(X,Y)= \sum_{x \in X} \sum_{y \in Y} p(x, y) log_2 \frac{1}{\frac{p(x)p(y)}{p(x,y)}}
I(X,Y) = H(X) + H(Y) - H(X,Y)
I(X,Y) = H(Y) - H(Y|X)
決策樹中的信息增益就是互信息,決策樹是采用的上面第二種計算方法泳炉,即把分類的不同結(jié)果看成不同隨機事件Y憾筏,然后把當(dāng)前選擇的特征看成X,則信息增益就是當(dāng)前Y的信息熵減去已知X情況下的信息熵花鹅。