2012-11-13 33 views
2

我有關於在文檔分類中使用的特定Naive Bayse算法的問題。以下是我的理解:使用naive bayse的文檔分類

  1. 結構爲每個已知的分類
  2. 設置的訓練每個單詞的一些可能給我們去除所有它包含
  3. 乘在一起的詞的概率詞的文檔存在於一個分類
  4. 執行(3)對於每一個分類
  5. 比較的結果(4),並選擇具有最高後
分類

我感到困惑的是我們計算給定訓練集的每個單詞的概率的部分。例如,對於「香蕉」一詞,它出現在A類的100個文件中,A中共有200個文件,並且A中總共出現1000個單詞。爲了獲得A類下出現「香蕉」的概率,使用100/200 = 0.5或100/1000 = 0.1?

回答

3

我相信如果您計算單詞出現的文檔數量,您的模型將會更準確地進行分類,而不是單詞出現的總次數。換句話說

分類 「談起果」:

「我喜歡香蕉。」

應權衡利弊沒有多於或少於

「香蕉!香蕉!香蕉!我喜歡他們。」

所以你的問題的答案是100/200 = 0.5。

文件分類對維基百科的描述也支持我的結論

然後給定文檔d包含所有的字W,給定一個C類的概率,是

http://en.wikipedia.org/wiki/Naive_Bayes_classifier

換句話說,文檔分類算法維基百科描述了測試給定文檔包含多少分類詞彙列表。順便提一下,更高級的分類算法將檢查N個字的序列,而不是每個單獨的字,其中N可以根據您願意專用於計算的CPU資源量來設置。

UPDATE

我的直接感受是基於短的文件。我想強調@BenAllison在評論中指出的研究表明,我的答案對於較長的文檔無效。特別是

一個弱點是,只考慮術語的存在或缺失,BIM忽略術語頻率固有的信息。例如,在所有情況都相同的情況下,我們預計如果一個單詞出現是一個文檔屬於某個類的良好線索,則5次出現應該更具有預測性。

一個相關的問題涉及文檔長度。隨着文檔變長,所使用的不同單詞的數量以及因此在BIM中等於1的x(j)的值的數量通常會增加。

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.1529

+0

謝謝你,我做了一些研究,並意識到,我實現的方式是隻有每個文檔的方式編碼,它只告訴你如果有一個字出現與否伯努利模型,但不是它的頻率。 –

+0

這是不正確的,伯努利模型將*不*給你比詞頻模型更好的結果,並且確實可以被認爲是全頻模型的貧化變體。例如參見:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.1529或http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11。 8264 –

+0

@BenAllison:我的直接經驗是用簡短的文件。這是一個很好的信息來源。我相應地更新了我的答案。 –