私は基本的に(バッグとは対照的に)に設定された文書を分類するためにナイーブなベイズ分類子を実装しようとしています。それぞれの文書は最大1回の文書内で出現することができます。たとえば、その機能をドキュメントの一意のキーワードと考えることができます。文書用のナイーブなベイズ分類器の長さ正規化
私はRennie、et。 al。ペーパーhttp://www.aaai.org/Papers/ICML/2003/ICML03-081.pdfで、私は対処されていないような問題に走っています。すなわち、短い文書を分類することは、より少ない特徴の数を有する文書のために非常に高い事後確率をもたらす。長いドキュメントの場合はその逆です。
事後確率は、(分母を無視して)として定義されているので、これはされています
P(class|document) = P(class) * P(document|class)
ことから、
P(class|document) = P(class) * P(feature1|class) * ... * P(featureK|class)
に展開され、それは少数の機能を備えた短い文書が高くなければならないことは明らかです一緒に乗算する項が少ないため、事後確率は単純に増加する。
たとえば、機能「foo」、「bar」、および「baz」がすべて肯定的なトレーニング観察で表示されるとします。次に、単一の特徴 "foo"を有する文書は、特徴 "{foo"、 "bar"、 "baz"}を有する文書よりも、陽性クラスに分類される事後確率が高くなる。これは直感的ではないようですが、私はこれをどのように解決するかについてはあまりよく分かりません。
長さの正規化を行うことはできますか? 1つのアイデアは、ドキュメントのサイズをフィーチャとして追加することですが、結果はトレーニングデータ内のドキュメントのサイズによって歪曲されるため、正しくはないようです。
実際には、「特定のクラスの最も可能性の高いドキュメントを比較したい」あなたの最後の方程式の分母が何を指しているのか分かりません。 "Sum_over_all_numerators"はP(feature1)* ... * P(featureK)を指していますか?私はそれが事後確率の完全な定義なので、あなたが意味することであると仮定しています。 – pmc255
補足:私は、分母がクラス間のposteriorsを比較するときだけ除外できることが重要だと思っていますが、文書間で比較しているのではありません。分母に加えて事後確率を効果的に正規化するでしょうか?私はそれが私が探していたものだと思います。ありがとう! – pmc255