2011-08-31 49 views
2

我想計算字符串內字符的發散,但我真的不知道如何將Kullback Divergence算法應用於這樣的問題。請任何人都可以解釋我可以用來解決這樣的問題的KLD算法。使用Kullback Divergence的字符發散

感謝

回答

3

KL信息量是可以給你一個分佈和彼此之間的僞距離的一些假設他們有相似的域(如他們分配概率類似的事情的指標..伯努利分佈給出概率0,1硬幣翻轉,正常給出實數等)。

KL(分佈A,分佈B)是那種我會怎麼居然被越來越東西從A採樣的措施的時候,我期待的東西從B.

它不是一個真正的距離度量,因爲採樣它不是對稱的,即如果對於[1,2,3,4,5]域,分佈A給所有數字的概率相等,但分佈B給出所有概率只有2,那麼KL(B,A)應該是多低於吉隆坡(A,B),因爲我會有點驚訝地看到我的均勻分佈總是返回相同的數字,但我會驚訝地看到我的唯一2分佈返回從[1,3,4,5]的東西,因爲這些被分配B認爲是不可能的(概率爲0)。

它不立即清楚你如何使用KL散度來衡量字符串之間的差異。請詳細說明你的問題,以便我能幫你解決這個問題。

關於KL的維基百科文章 - http://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence

+0

thanks for the answer。我試圖做字符串中的字符相比於英文字母的概率,例如字符串AAAAKAA和[a-z]的分佈,每個字符分別爲1/26。我希望我足夠清楚 – damola

+0

好吧,所以你正在處理該字符串作爲分佈{'A':7/8,'K':1/8,其他所有:0},然後你試圖將它與一個統一的分佈在字母表中,很酷,所以你的域名由26個字母組成,這兩個分佈中的每一個分配字母表中的每個字母都有一個概率。只需使用維基百科文章中的公式來計算KL( Sigma運算符的每次迭代都是針對字母表的不同字母)。那麼問題是什麼呢? –

+0

我真的不知道你要去哪裏..我不確定這個度量指標的定性方面是什麼:S .. fwiw搜索「字符串的熵」可能會給你帶有人的頁面類似的目標,你有什麼。 (我聽說過人們試圖測量SO上的字符串的熵,但沒有正確閱讀這些帖子,看看他們正在嘗試做什麼) –