Bayes Algorithm

Naif bayes algoritması, istatistiksel bir sınıflandırma yöntemidir. Popüler bir olasılık teoremi olan bayes teoremine dayanır. Koşullu olasılık kavramı denmesi daha doğru olur.

Koşullu olasılık kavramını kısaca şöyle açıklayabiliriz. A ve B olayları olsun. B olayı gerçekleştiğinde A olayının gerçekleşme olasılığının hesaplanmasıdır. Gözetimli bir öğrenme şekli olan naif bayes algoritması işte bunun çözümü sağlıyor. Peki bu nasıl oluyor? Aşağıdaki formül ile;

P(A|B) = P(B|A) * P(A) / P(B)  

P(A|B) : B olayı gerçekleştiğinde A olayının gerçekleşme olasılığı

P(B|A) : A olayı gerçekleştiğinde B olayının gerçekleşme olasılığı

P(A) : A olayının gerçekleşme olasılığı

P(B) : B olayının gerçekleşme olasılığı

Bağımlı değişken ile bağımsız değişkenler arasındaki koşullu olasılık hesabı yapılıp daha sonra bu tersine çevrilip hesaplanması yapılıyor ve sonuca en fazla etki eden değişkenler tespit ediliyor. Bağımlı değişken formüldeki A , yani sonuçtur. Daha sonra bağımsız değişkenler olarak ele aldığımız durumları hesaplarız. Bu değişkenler arasındaki olasılık hesabı yapılıp koşullu olasılığı hesaplanır. Naif kelimesi bağımsız değişkenlerin tek başına hesaplanmasından gelir.

Naif bayes algoritması anladığım kadarı ile en çok kullanıldığı alanlardan birisi tıp alanındadır. Örnek bazı semptomlar sonucu hastalıkların tanımlaması gibi. Bir başka örnek ise gelen maillerin içeriğine göre spam olup olmayacağı sınıflandırılması diyebiliriz.

Bir örnek verelim. Udemy’de bir kursu satıyor olalım ve elimizde 3 tane parametremiz olsun. Bunlar yaş, cinsiyet, öğrenci olup olmadığı. Aşağıdaki bir gibi veri setimiz olsun.

öğrenci mi? yaş aralığı cinsiyet satıldı mı?
evet [18, 25] erkek hayır
evet [25, 35] erkek evet
evet [25, 35] kadın hayır
hayır [18, 25] erkek hayır
hayır [35, 45] erkek evet
hayır >45 erkek hayır
evet [18, 25] kadın evet
hayır >45 kadın hayır
evet [18, 25] erkek evet
evet [18, 25] erkek evet

Bu grafiğe göre alıp ve almama oranını bulalım.

P(kursu satın alanlar) = 6/10 = 0.6
P(kursu satın almayanlar) = 4/10 = 0.4

Bir kişinin dersi incelediğini varsayalım. Özellikleri şöyle olsun. 24 yaşında erkek bir öğrenci. Tek tek alacağı ve almayacağı olasılıklarını hesaplayalım.

P(her değişkenin durumu \| kursu alıp almama)  
P(öğrenci: evet | satın aldı) 	= 4/10 = 0.4
P(öğrenci: hayır | satın almadı) = 6/10 = 0.6
P(yaş aralığı: [18,25] | satın aldı) = 3/10 = 0.3
P(yaş aralığı: [18,25] aralığında değil | satın almadı) = 7/10 = 0.7
P(cinsiyet: erkek | satın aldı) = 4/10 = 0.6
P(cinsiyet: erkek | satın almadı) = 6/10 = 0.4

Daha sonra;

Bütün değişkenler ile alma olasılığı: 0.4 * 0.3 * 0.6 = 0.072
Bütün değişkenler ile almama olasılığı: 0.4 * 0.7 * 0.4 = 0.112

Daha sonra toplam kursu satın alma ve almama olasılıkları ile çarpıyoruz.

Satın alma ihtimalinin sonucu = 0.072 * 0.6 = 0.0432  
Satın almama ihtimalinin sonucu = 0.112 * 0.4 = 0.0448  

Buradaki değerler tamamen rastgele olduğu için sonuçta birbirine çok yakın denk geldi. Burada 24 yaşında erkek bir öğrencinin bizim kursumuzu alma ihtimali alma ihtimalinden düşük çıkıyor. Eğer tam tersi olsaydı ona bir indirim gösterip almasını sağlayabilirdik.

kaynaklar

etiketler

makineogrenmesi naivebayes

Subscribe

* indicates required

Intuit Mailchimp