2016-09-30 15 views
2

私は機械学習のための宿題に取り組んでおり、Naive Bayesの質問を理解することができません。私が持っている問題は、次のページの質問番号2のバリエーションです:Naive Bayes Confusion;

https://www.cs.utexas.edu/~mooney/cs343/hw3-old/hw3.html

私が持っている数字は若干異なっているので、私は上記の例と私の割り当てから数字を置き換えます。私は現在、最初のテキストが物理学の確率を理解しようとしています。これを行うには、私はこのような少し見えるものを持っています:

P(物理| c)= P(物理)* P(炭素|物理学)* p(原子|物理学)* p(生命|物理学) * P(地球|物理学)/ [SOMETHING]

P(物理学| C)= 0.35 * 0.005 * 0.1 * 0.001 * 0.005/[SOMETHING]

私はこれをオフに基づかよ私のメモで見た例のうち、私が分けるべきものが分からないようです。私はノートからの例も提供します。

example from notes

おそらく、私は間違った方法でこのことについてつもりですが、私たちがすることによって除しているP(X)用語がどこから来ている私はわかりませんよ。これは、テキストが物理学の確率にどのように関係していますか?私はこの問題を解決することによって、課題の残りの部分が簡単になると感じています。

答えて

3

分母P(X)は、すべての可能なクラスについてP(X|Y)*P(Y)の単なる和です。

Naive Bayesでは、ではなく、ではP(X)を計算する必要があることに注意することが重要です。それぞれのクラスに対してP(X|Y)*P(Y)を計算してから、最も高い確率を生み出したクラスを選択するだけです。

あなたの場合は、複数のクラスが必要であると仮定します。 physicsと記載しましたが、chemistrymathのようなものが必要です。

ですから、計算することができます:

P(physics|X) = P(X|physics) * P(physics)/P(X) 

P(chemistry|X) = P(X|chemistry) * P(chemistry)/P(X) 

P(math|X)  = P(X|math) * P(math)/P(X) 

P(X)は、すべてのクラスのP(X|Y)*P(Y)の合計です:

P(X) = P(X|physics)*P(physics) + P(X|chemistry)*P(chemistry) + P(X|math)*P(math) 

(ちなみに、上記のステートメントは、画像の例とまったく似ています方程式はちょっと複雑ですが、それらを並べ替えると、その例ではP(X) = P(X|positive)*P(positive) + P(X|negative)*P(negative)になります)。答えを生成するために

(つまりphysicsYchemistry、またはmathを決定すること、である)、あなたはP(physics|X)P(chemistry|X)、およびP(math|X)うち最大の値を選択することになります。

私が述べたように、あなたはは、この用語はP(physics|X)P(chemistry|X)、およびP(math|X)の全ての分母に存在するためP(X)を計算する必要はありませありません。したがって、最大値はP(X|physics)*P(physics),P(X|chemistry)*P(chemistry)P(X|math)*P(math)の中から選択する必要があります。

1

ポイントは、すべてのクラスで同じなので、P(x)の値は本当に必要ないということです。だからあなたはそれを無視し、分割ステップの前に数字を比較するだけです。最も高い数字は予測クラスです。

それは式である理由は、ベイズ則から発信されています

P(C1|X) = P(X|C1) * P(C1)/P(X) 
関連する問題