Naive Bayes: özellikleri bağımsız sayarak sınıf olasılığı hesaplayan sınıflandırıcı
Sözlük

Naive Bayes: özellikleri bağımsız sayarak sınıf olasılığı hesaplayan sınıflandırıcı

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

Naive Bayes, bir örneğin her sınıfa ait olma olasılığını Bayes teoremiyle hesaplayan ve özellikleri birbirinden bağımsız varsayan sınıflandırıcıdır. Basitliği, hızı ve metinde iyi sonuç vermesiyle bilinir.

Bir bakışta

  1. Bayes teoremi işin özüdür. Sınıfın önsel olasılığı ile özelliklerin o sınıfta görülme olasılığı çarpılır, en yüksek sonuca sahip sınıf seçilir.
  2. Naif varsayım: özellikler birbirinden bağımsızdır. Gerçek hayatta bu nadiren doğrudur, ama pratikte yine de iyi sınıflandırma yapabilir.
  3. Hızlı ve az veriyle çalışır. Eğitimi yalnız sayım ve oran hesabıdır; yüksek boyutlu veride de hızla ölçeklenir.
  4. Metin sınıflandırmada klasiktir. Spam ayırma ve konu sınıflandırma gibi kelime sayımına dayalı işlerde güçlü bir başlangıç noktasıdır.

Naive Bayes nedir?

Naive Bayes, denetimli öğrenmeye ait bir olasılık tabanlı sınıflandırma algoritmasıdır. Bir örnek için her sınıfın olasılığını hesaplar ve en olası sınıfı seçer. Bu hesap, Bayes teoremine dayanır: bir sınıfın olasılığı, o sınıfın genel yaygınlığı ile gözlenen özelliklerin o sınıfta ne kadar tipik olduğunun çarpımıyla orantılıdır.

'Naive' (naif) sıfatı, algoritmanın bir basitleştirmesinden gelir: sınıf bilindiğinde özelliklerin birbirinden bağımsız olduğunu varsayar. Örneğin bir e-postada 'indirim' ve 'kampanya' kelimelerinin birlikte geçmesi arasındaki ilişkiyi yok sayar. Bu varsayım gerçeği tam yansıtmasa da hesabı çok kolaylaştırır ve çoğu zaman sınıflandırma kararını bozmaz.

Şekil 1

Karar, önsel bilgiye özelliklerin kanıtını ekleyerek verilir

  1. Önsel olasılıkHer sınıfın eğitim verisindeki genel yaygınlığı.
  2. OlabilirlikGözlenen her özelliğin o sınıfta görülme olasılığı, bağımsız varsayımıyla çarpılır.
  3. Sonsal olasılıkÖnsel ve olabilirlik birleşir, her sınıf için bir puan çıkar.
  4. KararEn yüksek puanlı sınıf tahmin olarak seçilir.
Kaynak: Kaynak: sayfa içeriğiMindset Institute

Nasıl çalışır? Spam örneği

Bir e-posta filtresi spam ve normal e-postaları ayırmak istiyor. Eğitim verisinde her sınıfın ne kadar yaygın olduğu ve hangi kelimelerin hangi sınıfta ne sıklıkta geçtiği sayılır. Yeni bir e-posta geldiğinde, içindeki her kelime için o kelimenin spamde ve normal postada görülme olasılığı çarpılır, sınıfın genel yaygınlığıyla birleştirilir ve iki sınıfın puanı karşılaştırılır.

'Kampanya' ve 'ücretsiz' gibi kelimeler spamde sık, toplantı notlarında seyrek geçtiği için puanı spam yönüne çeker. Eğitimde hiç görülmeyen bir kelime çarpımı sıfıra indireceğinden, Laplace düzeltmesi gibi bir yumuşatma uygulanır. Uygulamada küçük olasılıkların çarpımı hesaplama hatası yaratabileceği için işlem logaritma alanında toplama olarak yapılır.

Hangi türleri vardır?

Verinin yapısına göre farklı Naive Bayes türleri kullanılır. Çok terimli (multinomial) Naive Bayes, kelime sayımı gibi sayma verisinde; Bernoulli Naive Bayes, bir kelimenin var olup olmadığına dayalı ikili özelliklerde; Gauss (Gaussian) Naive Bayes ise sürekli sayısal özelliklerde kullanılır ve her özelliğin sınıf içinde normal dağıldığını varsayar.

Metin sınıflandırmada çoğunlukla çok terimli ya da Bernoulli türü seçilir. Sayısal ölçümlerde, örneğin boy ve ağırlık gibi sürekli özelliklerde Gauss türü uygundur. Doğru türü seçmek, özelliğin veride nasıl ifade edildiğine bağlıdır.

Güçlü ve zayıf yanları

Naive Bayes'in başlıca gücü hız ve sadelikte yatar: eğitim tek geçişlik bir sayımdır, az veriyle de makul sonuç verir, çok sayıda özellik ve sınıfa kolayca ölçeklenir ve ayarlanacak hiperparametresi azdır. Bu yüzden yeni bir metin sınıflandırma probleminde hızlı bir referans model (baseline) olarak sık seçilir.

Zayıf yanı, bağımsızlık varsayımıdır. Özellikler güçlü biçimde ilişkiliyse, örneğin aynı bilgiyi taşıyan birçok özellik varsa, model aynı kanıtı tekrar tekrar sayar ve aşırı özgüvenli olasılıklar üretir. Bu nedenle çıkardığı olasılıklar sıralama için güvenilir olsa da kalibrasyon açısından zayıf kalabilir. Karmaşık etkileşimleri yakalamak gerektiğinde ağaç tabanlı yöntemler ya da lojistik regresyon çoğunlukla daha iyi sonuç verir.

Sık yapılan hatalar

Yaygın hata, sürekli ve sayıma dayalı özellikleri aynı türle işlemektir; her veri tipi için uygun türü seçmek gerekir. Bir diğeri Laplace düzeltmesini unutup eğitimde görülmeyen kelimeler yüzünden olasılığı sıfıra indirmektir.

Bağımsızlık varsayımını ihlal eden, birbirinin kopyası özellikleri modele sokmak da puanları şişirir; özellik seçimi ya da boyut azaltma yardımcı olur. Son olarak, Naive Bayes olasılıklarını doğrudan gerçek olasılık gibi yorumlamamak gerekir; karar eşiğini doğrulama verisinde ayarlamak daha güvenlidir.

Mindset programlarında Naive Bayes

Makine Öğrenmesi (Uygulamalı) Programı'nın denetimli öğrenme sınıflandırma modülü, Naive Bayes'i diğer sınıflandırıcılarla yan yana denemek için uygun bir yerdir. Metin verisiyle çalışan analistler ve veri bilimciler, hızlı bir referans model kurmak için bu algoritmayı sık kullanır.

İlgili Mindset programı

Makine Öğrenmesi (Uygulamalı) Programı

Sık sorulanlar

Sık sorulan sorular

Naive Bayes neden 'naif' diye adlandırılır?

Çünkü sınıf bilindiğinde tüm özelliklerin birbirinden bağımsız olduğunu varsayar. Bu varsayım gerçek verilerde nadiren geçerlidir; ancak hesabı çok basitleştirir ve sınıflandırma kararı çoğu zaman yine de doğru çıkar.

Naive Bayes ne zaman lojistik regresyondan daha iyi olur?

Eğitim verisi az olduğunda ve özellik sayısı çok yüksek olduğunda Naive Bayes genellikle daha hızlı ve kararlıdır. Veri çoğaldıkça ve özellikler birbirine bağlı olduğunda lojistik regresyon çoğunlukla öne geçer. İkisini aynı doğrulama verisinde karşılaştırmak en sağlıklı yoldur.

Naive Bayes sayısal veride kullanılabilir mi?

Evet, Gauss türüyle. Her sayısal özelliğin sınıf içinde normal dağıldığı varsayılır ve ortalama ile yayılım eğitimden tahmin edilir. Dağılım normalden çok farklıysa özellikleri dönüştürmek ya da aralıklara bölmek sonucu iyileştirebilir.

Laplace düzeltmesi neden gerekli?

Eğitimde hiç görülmeyen bir kelime, sınıf için olasılığı sıfır yapar ve tüm çarpımı sıfırlar. Düzeltme her sayıma küçük bir değer ekleyerek olasılıkları sıfırdan uzak tutar; böylece görülmemiş bir kelime tüm kararı bozmaz.