宗成庆《自然语言理解》第二章作业
生活随笔
收集整理的這篇文章主要介紹了
宗成庆《自然语言理解》第二章作业
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2-1.任意摘錄一段文字,統(tǒng)計這段文字中所有字符的相對頻率。假設這些相對頻率就是這些字符的頻率,請計算其分布的熵:
摘錄的話:AAABBBBAABBCBDBDFDFFFDCDCDE
total:27
A:5 B:8 C:3 D:6 E:1 F:4?
現(xiàn)在可得到字符的概率為:5/27,8/27,1/9,2/9,1/27,4/27
熵的計算公式為? 注意0log2(0)?= 0
?
H(X) =?2.389172576943942
import numpy as np def ComputEntropy(probX):sum = 0.0for i in probX:sum += i*np.log2(i)return abs(sum)def main():probX = [5/27,8/27,1/9,2/9,1/27,4/27]print(ComputEntropy(probX))passif __name__ == '__main__':main()2-2.任意取另外一段文字,按上述同樣的方法計算字符分布概率,然后計算兩段文字中字符分布的KL距離。
摘錄的話:AAAACCCCDDDDEEEBDDDFFF
total:22
A:4 B:1 C:4 D:7 E:3 F:3?
現(xiàn)在可得到字符的概率為:1/11,1/22,1/11,7/22,3/22,3/22
kl距離的計算公式為
D(p||q) =?0.8565945218433031
def Computkl(p,q):sum = 0.0l = len(p)for x in range(l):sum += p[x]*np.log2(p[x]/q[x])return abs(sum)2-3.舉例說明(任意找兩個分布p和q),KL距離是不對稱的,即D(p||q)不等于D(q||p)
以上面的兩個來計算:
D(p||q) =?0.8565945218433031
D(q||p) =?0.16231575754255084
2-4.設X~p(x),q(x)為用于近似p(x)的一個概率分布,則p(x)與q(x)的交叉熵定義未H(p,q) = H(p) + D(p||q)。請證明:
由上述式子相加后log加法變換成乘法,然后得到:
,
?
總結
以上是生活随笔為你收集整理的宗成庆《自然语言理解》第二章作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java - 匿名类
- 下一篇: 什么是非集计模型_集计与非集计模型的关系