2011-11-30 72 views
3

我正在使用樸素貝葉斯文本分類機器學習問題。我將每個單詞都作爲一個特徵。我已經能夠實現它,並且我獲得了很好的準確性。使用樸素貝葉斯文本分類

我可以使用元組的詞作爲功能嗎?

例如,如果有兩個類,政治和體育。稱爲政府的這個詞可能出現在他們兩個中。然而,在政治上,我可以有一個元組(政府,民主),而在班級體育中,我可以有一個元組(政府,運動員)。因此,如果一篇新的文章出現在政治中,那麼元組(政府,民主)的可能性比元組(政府,運動員)的可能性更大。

我在問這是因爲通過這樣做我違反了樸素貝葉斯問題的獨立性假設,因爲我也在考慮單個單詞。

另外,我正在考慮爲要素添加權重。例如,三元組特徵的權重將小於四元組特徵。

從理論上講,這兩種方法不會改變Naive Bayes分類器上的獨立性假設嗎?另外,我還沒有開始提到我提到的方法,但這會提高準確性嗎?我認爲準確度可能不會提高,但獲得相同準確度所需的訓練數據量會更少。

回答

5

即使沒有添加bigrams,真實文檔已經違反了獨立性假設。奧巴馬在文件中的條件是,總統更有可能出現。儘管如此,樸素貝葉斯在分類方面仍然做得不錯,即使它的概率估計是無望的。所以我建議你繼續往分類器中添加更復雜的功能,看看它們是否提高了準確性。

如果以較少的數據獲得相同的準確度,那基本上相當於使用相同數量的數據獲得更高的準確性。

另一方面,使用更簡單,更常用的功能可以更好地減少數據量。如果您嘗試將太多參數適用於太少的數據,則會導致嚴重過度裝配。

但底線是試試看。

2

不,從理論的角度來看,你並沒有改變獨立性假設。您只是創建一個修改的(或新的)樣本空間。一般來說,一旦開始在樣本空間中使用更高的n-gram作爲事件,數據稀疏就成了一個問題。我認爲使用元組會導致同樣的問題。您可能需要更多的培訓數據,而不是更少。您可能還需要考慮一下您使用的平滑類型。簡單的拉普拉斯平滑可能並不理想。

我認爲最重要的一點是:無論您使用哪種分類器,這些特徵都高度依賴於域(有時甚至是數據集)。例如,如果您根據電影評論對文本進行分類,則僅使用unigrams可能看起來違反直覺,但它們的表現比僅使用形容詞更好。另一方面,對於twitter數據集,發現unigrams和bigrams的組合是好的,但是更高的n-gram沒有用處。根據這些報告(參考Pang和Lee,意見挖掘和情感分析),我認爲使用更長的元組將顯示類似的結果,因爲畢竟,單詞的元組只是高維空間中的點。基本算法的行爲方式相同。