我正在使用NB
分類器進行情感分析。我發現一些信息(博客,教程等)訓練語料庫應平衡:樸素貝葉斯分類器的平衡語料庫
- 33.3%正面;
- 33.3%的中性
- 33.3%的負
我的問題是:
爲什麼corspus
應該是平衡的?貝葉斯定理基於理性/案例的可預見性。因此,對於訓練目的來說,在現實世界中,例如負面推文只有10%而不是33.3%是不是很重要?
我正在使用NB
分類器進行情感分析。我發現一些信息(博客,教程等)訓練語料庫應平衡:樸素貝葉斯分類器的平衡語料庫
我的問題是:
爲什麼corspus
應該是平衡的?貝葉斯定理基於理性/案例的可預見性。因此,對於訓練目的來說,在現實世界中,例如負面推文只有10%而不是33.3%是不是很重要?
你是對的,平衡數據對於許多有區別的模型是很重要的,但對於NB來說並不是真的。然而,偏倚P(y)估計量以獲得更好的預測性能(因爲由於各種簡化模型的使用,分配給少數類別的概率可能會較差),可能更有利。對於NB,它是而不是關於平衡數據,但字面上修改估計的P(y),以便驗證集精度最大化。
在我看來,用於訓練目的的最佳數據集,如果您的分類器將用於現實世界數據的樣本。
對於所有的分類器(但其中一些確實不適合於不平衡的訓練集,在這種情況下,您實際上沒有選擇偏斜分佈),但對於概率分類器(如樸素貝葉斯)尤其如此。所以最好的樣本應該反映自然類別分佈。
請注意,這不僅對類先驗估計很重要。樸素貝葉斯將針對每個特徵計算預測給定特徵的類的可能性。如果您的貝葉斯分類器是專門爲文本分類而構建的,則它將使用全局文檔頻率度量(數據集中給定詞出現的次數,跨所有類別)。如果訓練集中每個類別的文檔數量不能反映它們的自然分佈,則通常在不常見的類別中看到的術語的全球術語頻率將被高估,頻繁類別的術語頻率被低估。因此,不僅以前的班級概率將不正確,而且還包括所有P(category=c|term=t)
估計值。
謝謝!你確認我的猜測:) –
嗨,謝謝你的迴應。所以請確認如果我得到它。我可以使給定類中文檔的比例變得更適合測試數據? –
是的,你會使貝葉斯推理失效,但並不意味着模型會表現得很差。樸素貝葉斯已經對您的數據做了很多錯誤的假設,您將再添加一個。在實踐中,兩者都可以工作,這取決於收集數據的方式,其特性等,只需記住在驗證時驗證這個重新加權而不是測試數據。 – lejlot