Apa itu pengklasifikasi Naïve Bayes?

Apa itu pengklasifikasi Naïve Bayes?

Pengklasifikasi Naïve Bayes adalah algoritme machine learning terawasi yang digunakan untuk tugas klasifikasi seperti klasifikasi teks. Mereka menggunakan prinsip probabilitas untuk melakukan tugas klasifikasi.

Naïve Bayes adalah bagian dari keluarga algoritma pembelajaran generatif, yang berarti bahwa algoritma ini berusaha memodelkan distribusi input dari kelas atau kategori tertentu. Tidak seperti pengklasifikasi diskriminatif, seperti regresi logistik, pengklasifikasi ini tidak mempelajari fitur mana yang paling penting untuk membedakan antar kelas.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Tinjauan singkat statistik Bayesian

Naïve Bayes juga dikenal sebagai pengklasifikasi probabilistik karena didasarkan pada Teorema Bayes. Akan sulit untuk menjelaskan algoritma ini tanpa menjelaskan dasar-dasar statistik Bayesian. Teorema ini, juga dikenal sebagai Aturan Bayes, memungkinkan kita untuk “membalikkan” probabilitas bersyarat. Sebagai pengingat, probabilitas bersyarat merepresentasikan probabilitas suatu peristiwa jika beberapa peristiwa lain telah terjadi, yang direpresentasikan dengan rumus berikut:

Teorema Bayes dibedakan dari penggunaan kejadian berurutan, di mana informasi tambahan yang diperoleh kemudian berdampak pada probabilitas awal. Probabilitas ini dilambangkan sebagai probabilitas sebelumnya dan probabilitas posterior. Probabilitas prior adalah probabilitas awal dari suatu peristiwa sebelum peristiwa tersebut dikontekstualisasikan dalam kondisi tertentu, atau probabilitas marjinal. Probabilitas posterior adalah probabilitas suatu peristiwa setelah mengamati sepotong data.

Contoh populer dalam literatur statistik dan machine learning (tautan berada di luar ibm.com) untuk menunjukkan konsep ini adalah pengujian medis. Misalnya, bayangkan ada seorang individu, bernama Jane, yang mengambil tes untuk menentukan apakah dia menderita diabetes. Misalnya saja probabilitas keseluruhan menderita diabetes adalah 5%; ini akan menjadi probabilitas kami sebelumnya. Namun, jika dia mendapatkan hasil positif dari tesnya, probabilitas sebelumnya diperbarui untuk memperhitungkan informasi tambahan ini, dan kemudian menjadi probabilitas posterior kita. Contoh ini dapat direpresentasikan dengan persamaan berikut, menggunakan Teorema Bayes:

Namun, karena pengetahuan kami tentang probabilitas sebelumnya tidak mungkin tepat dengan variabel lain, seperti diet, usia, riwayat keluarga, dan lain-lain, kami biasanya memanfaatkan distribusi probabilitas dari sampel acak, menyederhanakan persamaan menjadi P (Y| X) = P (X | Y) P (Y)/P (X)

Kembalinya ke Naïve Bayes

Pengklasifikasi Naïve Bayes bekerja secara berbeda karena mereka beroperasi berdasarkan beberapa asumsi utama, sehingga mendapat gelar “naif”. Hal ini mengasumsikan bahwa prediktor dalam model Naïve Bayes bersifat independen secara kondisional, atau tidak terkait dengan fitur lain dalam model. Hal ini juga mengasumsikan bahwa semua fitur memberikan kontribusi yang sama terhadap hasil. Meskipun asumsi ini sering dilanggar dalam skenario dunia nyata (misalnya, kata berikutnya dalam email bergantung pada kata yang mendahuluinya), asumsi ini menyederhanakan masalah klasifikasi dengan membuatnya lebih mudah ditangani secara komputasi. Artinya, hanya satu probabilitas yang diperlukan untuk setiap variabel, yang pada gilirannya membuat penghitungan model menjadi lebih mudah. Meskipun asumsi independensinya tidak realistis, algoritma klasifikasi bekerja dengan baik, terutama dengan ukuran sampel yang kecil.

Dengan asumsi itu dalam pikiran, kita sekarang dapat memeriksa kembali bagian-bagian dari pengklasifikasi Bayes Naïve lebih dekat. Mirip dengan Teorema Bayes, ini akan menggunakan probabilitas bersyarat dan probabilitas sebelumnya untuk menghitung probabilitas sesudahnya menggunakan rumus berikut:

Sekarang, mari bayangkan contoh penggunaan klasifikasi teks untuk menggambarkan cara kerja algoritma Naïve Bayes. Bayangkan penyedia email yang ingin meningkatkan filter spam mereka. Data pelatihan akan terdiri dari kata-kata dari email yang telah diklasifikasikan sebagai "spam" atau "bukan spam". Dari sana, probabilitas bersyarat kelas dan probabilitas sebelumnya dihitung untuk menghasilkan probabilitas posterior. Pengklasifikasi Naïve Bayes akan beroperasi dengan mengembalikan kelas, yang memiliki probabilitas posterior maksimum dari sekelompok kelas (mis. "spam" atau "bukan spam") untuk email tertentu. Perhitungan ini diwakili dengan rumus berikut:

Karena setiap kelas mengarah pada teks yang sama, kita sebenarnya dapat menghilangkan penyebut dari persamaan ini, mempermudahnya menjadi:

Keakuratan algoritma pembelajaran berdasarkan kumpulan datapelatihan kemudian dievaluasi berdasarkan kinerja kumpulan data tes.

Probabilitas kelas bersyarat

Untuk membongkar ini sedikit lagi, kita akan melangkah lebih dalam ke bagian-bagian individual, yang terdiri dari rumus ini. Probabilitas bersyarat kelas adalah kemungkinan individu dari setiap kata dalam email. Ini dihitung dengan menentukan frekuensi setiap kata untuk setiap kategori—yaitu. “spam” atau “bukan spam”, yang juga dikenal sebagai estimasi kemungkinan maksimum (MLE). Dalam contoh ini, jika kita memeriksa frasa, "Dear Sir", kita hanya akan menghitung seberapa sering kata-kata tersebut muncul di semua email spam dan non-spam. Ini dapat diwakili oleh rumus di bawah ini, di mana y adalah “Dear Sir” dan x adalah “spam”.

Probabilitas sebelumnya

Probabilitas sebelumnya persis seperti yang kami jelaskan sebelumnya dengan Teorema Bayes. Berdasarkan set pelatihan, kita dapat menghitung probabilitas keseluruhan bahwa email adalah “spam” atau “bukan spam”. Probabilitas sebelumnya untuk label kelas, “spam”, akan direpresentasikan dalam rumus berikut:

Probabilitas sebelumnya bertindak sebagai “bobot” untuk probabilitas bersyarat kelas ketika dua nilai dikalikan bersama, menghasilkan probabilitas posterior individu. Dari sana, perkiraan maksimum a posteriori (MAP) dihitung untuk menetapkan label kelas spam atau bukan spam. Persamaan akhir untuk persamaan Naïve Bayes dapat diwakili dengan cara berikut:

Atau, dapat direpresentasikan dalam ruang log sebagai bayes naif sering digunakan dalam bentuk ini:

Mengevaluasi klasifikator Naïve Bayes Anda

Salah satu cara untuk mengevaluasi pengklasifikasi Anda adalah dengan memplotkan matriks kebingungan, yang akan memplotkan nilai aktual dan prediksi dalam sebuah matriks. Baris umumnya mewakili nilai aktual sementara kolom mewakili nilai yang diprediksi. Banyak panduan akan menggambarkan gambar ini sebagai plot 2 x 2, seperti di bawah ini:

Namun, jika Anda memprediksi gambar dari nol hingga 9, Anda akan memiliki plot 10 x 10. Jika Anda ingin mengetahui berapa kali pengklasifikasi "mengacaukan" gambar 4 dengan 9, Anda hanya perlu memeriksa baris ke-4 dan kolom ke-9.

Jenis pengklasifikasi Naïve Bayes

Tidak hanya ada satu jenis pengklasifikasi Naïve Bayes. Jenis yang paling populer berbeda berdasarkan distribusi nilai fitur. Beberapa di antaranya termasuk:

  • Gaussian Naïve Bayes (GaussianNB): Ini adalah varian dari pengklasifikasi Naïve Bayes, yang digunakan dengan distribusi Gaussian—yaitu distribusi normal—dan variabel kontinu. Model ini dipasang dengan mencari rata-rata dan standar deviasi tiap kelas.
  • Multinomial Naïve Bayes (MultinomialNB): Jenis pengklasifikasi Naïve Bayes ini mengasumsikan bahwa fitur-fiturnya berasal dari distribusi multinomial. Varian ini berguna saat menggunakan data diskrit, seperti jumlah frekuensi, dan biasanya digunakan dalam contoh penggunaan pemrosesan bahasa alami, seperti klasifikasi spam.
  • Bernoulli Naïve Bayes (BernoulliNB): Ini adalah varian lain dari pengklasifikasi Naïve Bayes, yang digunakan dengan variabel Boolean—yaitu variabel dengan dua nilai, seperti Benar dan Salah atau 1 dan 0.

Semua ini dapat diimplementasikan melalui Scikit Learn (tautan berada di luar ibm.com) Pustaka Python (juga dikenal sebagai sklearn).

Mixture of Experts | Podcast

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Keuntungan dan kerugian dari pengklasifikasi Naïve Bayes

Keuntungan

  • Kurang rumit: Dibandingkan dengan pengklasifikasi lainnya, Naïve Bayes dianggap sebagai pengklasifikasi yang lebih sederhana karena parameternya lebih mudah untuk diperkirakan. Hasilnya, ini adalah salah satu algoritme pertama yang dipelajari dalam kursus ilmu data dan machine learning.
  • Skalabilitas yang baik: Dibandingkan dengan regresi logistik, Naïve Bayes dianggap sebagai pengklasifikasi yang cepat dan efisien yang cukup akurat ketika asumsi independensi bersyarat berlaku. Ini juga memiliki persyaratan penyimpanan yang rendah.
  • Dapat mengelola data berdimensi tinggi: Contoh penggunaannya, seperti klasifikasi dokumen, dapat memiliki jumlah dimensi yang tinggi, yang dapat menyulitkan pengklasifikasi lain untuk mengelolanya.

Kekurangan:

  • Tunduk pada frekuensi nol: Frekuensi nol terjadi ketika variabel kategorikal tidak ada di dalam set pelatihan. Sebagai contoh, bayangkan kita mencoba mencari estimator kemungkinan maksimum untuk kata, "sir" yang diberikan kelas “spam”, tetapi kata, “sir” tidak ada dalam data pelatihan. Probabilitas dalam kasus ini adalah nol, dan karena pengklasifikasi ini mengalikan semua probabilitas bersyarat secara bersamaan, ini juga berarti probabilitas posteriornya adalah nol. Untuk mengatasi masalah ini, gunakan penghalusan Laplace.
  • Asumsi inti yang tidak realistis: Meskipun asumsi independensi bersyarat secara keseluruhan berkinerja baik, asumsi tersebut tidak selalu berlaku, sehingga menyebabkan klasifikasi yang salah. 

Aplikasi pengklasifikasi Naïve Bayes

Bersama dengan sejumlah algoritme lainnya, Naïve Bayes termasuk dalam keluarga algoritme data mining yang mengubah data dalam jumlah besar menjadi informasi yang berguna. Beberapa aplikasi Naïve Bayes meliputi:

  • Penyaringan spam: Klasifikasi spam adalah salah satu aplikasi Naïve Bayes yang paling populer yang dikutip dalam literatur. Untuk membaca lebih dalam tentang contoh penggunaan ini, lihat bab ini dari Oreilly (tautan berada di luar ibm.com).
  • Klasifikasi dokumen: Klasifikasi dokumen dan teks berjalan seiring. Contoh penggunaan Naïve Bayes yang populer lainnya adalah klasifikasi konten. Bayangkan kategori konten situs media Berita. Semua kategori konten dapat diklasifikasikan di bawah taksonomi topik berdasarkan setiap artikel di situs. Federick Mosteller dan David Wallace dikreditkan dengan aplikasi pertama dari inferensi Bayesian dalam makalah mereka di tahun 1963 (tautan berada di luar ibm.com).
  • Analisis sentimen: Meskipun ini adalah bentuk lain dari klasifikasi teks, analisis sentimen biasanya dimanfaatkan dalam pemasaran untuk lebih memahami dan mengukur opini dan sikap seputar produk dan merek tertentu. 
  • Prediksi kondisi mental: Dengan menggunakan data fMRI, naïve bayes telah digunakan untuk memprediksi kondisi kognitif yang berbeda di antara manusia. Tujuan dari penelitian ini (tautan berada di luar ibm.com) adalah untuk membantu dalam memahami kondisi kognitif yang tersembunyi dengan lebih baik, khususnya di antara pasien cedera otak.
Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses ke berbagai kemampuan dalam satu alat untuk seluruh siklus pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung