語言模型評估

2021-09-08 03:48:57 字數 1619 閱讀 6968

如何評估語言模型 (<>)

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.無論什麼時候,我們都希望得到乙個泛化誤差 在新樣本上的誤差 小的學習器。但有時候會出現...