Note on Naive Bayes

3 04 2008

Naive Bayes merupakan suatu teknik pengklasifikasian berbasis probabilita dengan mengaplikasikan teori Bayesian. Salah satu asumsi yang membedakan naive Bayes dengan Bayesian Classifiers lainnya adalah asumsi independency antar variabel (feature) yang diikutkan dalam pengklasifikasian. Asumsi ini mengijinkan Naive Bayes untuk menganalisa data yang tidak lengkap.

Model probabilita untuk classifier ini adalah suatu model conditional:

p(C|F1, … , Fn)

dimana C adalah dependent class dan F adalah variabel (feature) serta n adalah jumlah variabel (feature) yang diikutkan dalam pengklasifikasian. Sesuai dengan teori Bayesian:

p(C|F1, … , Fn) = p(C) x p(F1, … , Fn|C) / p(F1, … , Fn)

yang dapat dituliskan secara lisan (diartikan) menjadi:

posterior = prior x likelihood / evidence

Dalam prakteknya, probabilita dari evidence tidak perlu diikutkan karena tidak tergantung pada class C yang ingin diprediksi. Sehingga, model probabilita di atas dapat dituliskan menjadi:

p(C|F1, … , Fn)
= p(C) x p(F1, … , Fn|C)
= p(C) x p(F1|C) x p(F2|C, F1) x … x p(Fn|C, F1, … , Fn-1)

Di sinilah asumsi independence yang “strongly naive” dipergunakan. Sehingga model probabilita conditional dari classifier dapat dibentuk menjadi:

p(C|F1, … , Fn)
= p(C) x p(F1|C) x p(F2|C) x … x p(Fn|C)
= p(C) x MULTIPLY (i=1 to n) p(Fi|C)

Melihat bahwa dalam suatu proses pengklasifikasian tidak semua variabel (feature) mempunyai nilai, maka model probabilita dari classifier dapat dituliskan menjadi seperti ini:

p(C|F1, … , Fn) = 1 / Z x p(C) x MULTIPLY (i=1 to n) p(Fi|C)

dimana Z adalah jumlah variabel (feature) yang mempunyai nilai.

Untuk melakukan pengklasifikasian, setiap fungsi probabilita perlu diekspresikan dengan satu atau lebih parameter, dimana parameter tersebut umumnya diestimasi dari data yang ada menggunakan Maximum Likelihood dan semua variabel (feature) harus didiskritkan terlebih dulu (Sumber: Wikipedia).

Pertanyaan yang menggantung:

  • Kenapa harus Maximum Likelihood? Mungkin bisa dengan pendekatan lainnya.
  • Kenapa setiap variabel (feature) harus didiskritkan? Bukannya untuk variabel (feature) bisa juga dengan karakteristik continuous. Model kelas mungkin memang harus didiskritkan.

Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: