ベイジアンネットワークと単純ベイズ分類器の違いは何ですか? 1つはMatlabに実装されているだけでclassify
、もう1つはネットツールボックス全体を持っていることに気付きました。
どちらがより良い精度を提供する可能性が高いかを回答で説明できれば、私は感謝します(前提条件ではありません)。
ベイジアンネットワークと単純ベイズ分類器の違いは何ですか? 1つはMatlabに実装されているだけでclassify
、もう1つはネットツールボックス全体を持っていることに気付きました。
どちらがより良い精度を提供する可能性が高いかを回答で説明できれば、私は感謝します(前提条件ではありません)。
短い答えです。予測タスクを解決することにのみ関心がある場合は、Naive Bayes を使用してください。
ベイジアン ネットワーク (優れたウィキペディアページがあります) は、フィーチャ間の関係を非常に一般的な方法でモデル化します。これらの関係が何であるかを知っている場合、またはそれらを導出するのに十分なデータがある場合は、ベイジアン ネットワークを使用するのが適切な場合があります。
単純ベイズ分類器は、ベイジアン ネットワークの特定のクラスを記述する単純なモデルであり、すべての機能がクラス条件付きで独立しています。このため、単純ベイズでは解決できない特定の問題があります (以下の例)。ただし、その単純さは適用も容易にし、多くの場合、良い結果を得るために必要なデータが少なくて済みます。
x1
バイナリ機能とx2
ターゲット変数に学習上の問題がありますy = x1 XOR x2
。
単純ベイズ分類器では、x1
独立x2
して処理する必要があります。したがって、「その確率」のようなものを計算しますy = 1
。x1 = 1
うまくいけば、これが役に立たないことがわかりx1 = 1
ますy = 1
。ベイジアンネットワークは独立性を仮定していないため、このような問題を解決できます。
Naive Bayes は、一般的なベイジアン ネットワークの制限/制約付き形式であり、クラス ノードが親を持たず、属性変数に対応するノードがそれらの間にエッジを持つべきではないという制約を適用します。そのため、一般的なベイジアン ネットワークを分類に使用することを妨げるものは何もありません。予測されたクラスは、他のすべての変数が通常のベイジアン推論の方法で予測インスタンス値に設定されている (条件付けされた) 場合に最大の確率を持つクラスです。 . これについて読むのに適した論文は、「Bayesian Network Classifiers, Machine Learning, 29, 131–163 (1997)」です。特に興味深いのはセクション 3 です。単純ベイズは、より一般的なベイジアン ネットワークの制約付き形式ですが、