如何評估語言模型 (<>)
perplexity
乙個語言模型表現更好好就是說它在測試集合表現更好,也就是說使得測試資料能有更高產生概率(assign a higher score to test data)
在這個基礎上表徵了這一特徵,perplextiy越低則表示測試資料產生概率越高。
n起歸一作用,在這裡避免了長度偏見,較長句子會使得概率較小一些。
考慮if p(w1,w2) = 1/16 (n = 2)
then pp(w) = 4
if p(w1w2,w3,w4) = 1/16 (n = 4)
then pp(w) = 2
如果使用chainrule來表示
更進一步如果是bigram的語言模型
考慮如果是乙個uingram語言模型,詞典對應
(1,2,3,….10) 每個出現概率是1/10
那麼pp(w) = 10
在乙個資料集合(wall street journal)訓練unigram,bigram,trigram三種語言模型,在測試集合上對應的perplexity表現是
perplexity和資訊理論的關係
考慮乙個資料對應可以用8bit編碼,那麼對應的perplexity是256。
類似上面 p(x) = 1/256
資訊熵
根據shannon-mcmillan-breiman theorem
交叉熵
同樣根據shannon-mcmillan-breiman theorem
這裡本質上就是 perplexity 就是
交叉熵的指數形式 exp of cross entropy
根據perplexity和交叉熵的關係,更小的perplexity從某種意義表明當前模型是更加接近產生測試資料集合的真實模型。
語言模型的評估與困惑度
提取碼 ekzm 訓練好乙個語言模型後,怎樣評估語言模型的好壞呢?可以使用困惑度 perplexity 困惑度越小,則語言模型越優。形式一 p p w p w1w 2.wn 1n pp w p w 1w 2.w n pp w p w1 w2 w n n1 上面的式子中w ww為一句話,w1w 2.w...
keras評估模型
當建立好模型並且用來訓練之後,如何評估模型的好壞,準確度又如何呢?三種常用方法 1 使用自動驗證方法 在 fit 函式中增加乙個validation split引數,該引數用來進行驗證效果 該引數可以自由設定,一般設定為20 或者30 也就是測試集佔總資料集的20 或者30 的資料用來進行驗證,其餘...
模型評估方法
有些自己熱愛卻因為被迫無奈而放棄的東西,慢慢記錄吧。以後想起,我還會知道自己學過這些。機器學習 周志華著的這本書是乙個很好的學習資料,其實我更喜歡這本書的樣子,漂亮而且有種童話故事的感覺。一 經驗誤差與過擬合 1.無論什麼時候,我們都希望得到乙個泛化誤差 在新樣本上的誤差 小的學習器。但有時候會出現...