単純なベイジアン分類器のパフォーマンスが優れているのはなぜですか?


38

単純ベイズ分類器は、分類問題の一般的な選択肢です。これには、次のような多くの理由があります。

  • 「Zeitgeist」-約10年前のスパムフィルターの成功後の広範な認識
  • 書きやすい
  • 分類子モデルの構築は高速です
  • モデルを再構築することなく、新しいトレーニングデータでモデルを変更できます。

しかし、それらは「素朴」です-つまり、特徴が独立していると仮定します-これは、最大エントロピー分類器(計算が遅い)などの他の分類器とは対照的です。

独立性の仮定は通常仮定することができず、スパムフィルターの例を含む多くの(ほとんど?)場合、それは単に間違っています。

では、なぜ機能が互いに独立していない場合でも、Naive Bayes Classifierはそのようなアプリケーションで非常に優れたパフォーマンスを発揮するのでしょうか?

回答:


23

この論文は、ベイズが機能が独立しているときだけでなく、機能間の依存関係が機能間で類似しているときもベイズが良いことを証明しているようです(数学には従えません):

この論文では、単純ベイズの優れた分類性能に関する新しい説明を提案します。基本的に、依存性分布を示します。すなわち、ノードのローカル依存関係が各クラスで均等または不均等に分散する方法、およびすべてのノードのローカル依存関係が一貫して(特定の分類をサポートする)または一貫性なく(互いにキャンセルする)動作する方法が重要な役割を果たします。したがって、属性間の依存関係がどれほど強力であっても、依存関係がクラス内で均等に分散している場合、または依存関係が互いに打ち消し合う場合、ナイーブベイズは依然として最適です。


1
定性的には、それは理にかなっています。依存する機能は重み付けになります-そのため、均等な分布またはキャンセルする分布は、この重み付けをキャンセルします。しかし、「lop-sided」依存関係はおそらくまだ十分に機能しないでしょうか?スパムの例については、+ spam機能には多くの依存関係があると予想されますが、一般的なケースでは必ずしも-spam機能とは限りません。ただし、特定のトピックに関する多くの正当な電子メールを受信する可能性があるため、その場合、多くの依存機能が存在し、+スパム機能のバランスが取られます。
-winwaed

3
また、私はこの論文をお勧めします。cs.stanford.edu/people/ang/papers/...
ドブ

25

ほとんどの機械学習の問題は簡単です!

たとえば、John Langfordのブログを参照してください。彼が本当に言っているのは、MLが問題を簡単にしていることであり、これは研究者にとって、方法を広範囲の単純な問題に適用するか、より困難な問題を攻撃するかという点で問題を提示します。しかし、副産物は、多くの問題に対してデータが線形分離可能(または少なくともほぼ)であるということです。その場合、線形分類器はすべてうまく機能します!元のスパムフィルターペーパーの作成者がNaive Bayesを使用することを選択したのは、偶然ですが、パーセプトロン、SVM、フィッシャー判別分析、ロジスティック回帰、AdaBoost、またはおそらく同様に機能する他のほとんどのものを使用していたからです。

アルゴリズムのコーディングは比較的簡単であるという事実が役立ちます。たとえば、SVMをコーディングするには、QPソルバーが必要です。または、簡単なタスクではないSMOアルゴリズムをコーディングする必要があります。もちろん、libsvmをダウンロードできますが、初期にはそのオプションは利用できませんでした。ただし、他にも多くの単純なアルゴリズム(上記のパーセプトロンを含む)があり、それらはコーディングが簡単です(また、質問で述べたように増分更新が可能です)。

もちろん、非線形問題を処理するには、非線形問題に対処できる方法が必要です。ただし、カーネルメソッドを使用する場合、これでも比較的簡単な作業になります。質問は、「どの分類器を使用すべきか」ではなく、「データに対して効果的なカーネル関数をどのように設計するか」になります。


「簡単」はおそらく相対的だと思いますが、はい、スパムの分類はほとんどの人が12年ほど前に想定したよりも「簡単」です。カーネルメソッドは、高速で単純な分類器を作成するためのアプローチかもしれませんが、「データに対して効果的なカーネル関数を設計する方法」は、機械学習の一部が「人間の学習」(つまり、データとその相互関係)?
winwaed

1
はい、それは相対的であり、また多くの問題がありますので、まだたくさんの難しい問題があります!そして、私はMLと人間の学習の境界は常にぼやけていると思います...もしあなたが何らかの超豪華な確率モデルを作成しているなら、あなたは同じことをしているのです。古き良きNFLTは、1つの方法ですべての問題を解決できるわけではないが、その方法は複雑であるため、モデル/カーネル/アルゴリズム、またはデータをさらに活用するために必要なものを設計するために常に人間が必要になると語っています。
tdc

true-間違いなくぼやけたライン!
winwaed

1
なぜ下票なのですか?コメントする気?
tdc 14年

7

セグメンテーション分類ツールでNaive Bayesian Classifiersを広範囲に使用してきた私の経験は、すべての予測変数が利用可能な場合、NBCが線形判別およびCART / CHAIDに匹敵する精度を示す公開論文と一致しています。

(正しい解を最も可能性の高いものとして予測する際の「ヒット率」とキャリブレーションの正確さにより、75%のメンバーシップの推定は、70%から80%のケースで正しいことを意味します。)

私の2セントは、NBCが非常にうまく機能していることです:

  • 予測変数間の相互相関は、考えられるほど強力ではありません(0.05〜0.15の相互情報スコアが一般的です)
  • NBCは離散的な多変数をうまく処理でき、それらを大まかに二分したり、順序変数を基数として扱う必要はありません。
  • NBCはすべての変数を同時に使用しますが、CART / CHAIDはごく少数を使用します

そして、それはすべての変数が観察されるときです。NBCが実際にパックから引き離されるのは、1つ以上の予測変数が欠落しているか、または観測されない場合に、優雅に劣化するからです。その場合、CART / CHAIDおよび線形判別分析は完全に停止します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.