Sosyal Ağlarda Makine Öğrenmesi 12 [ Naive Bayes ]

Naive Bayes sınıflandırıcı ismini İngiliz matematikçi Thomas Bayes’ten almış. Naive ise basit, sade ifadesinden geliyor. Gerçekten de isminin hakkını verircesine ilginç derecede güzel sonuçlar veren sade bir olasılıkçı yaklaşım diyebiliriz. Algoritma Bir eleman için tüm durumların olasılığı hesaplanır.

Unutma:

Naive Bayes algoritmasında veri kümesini eğitmek kısmen daha zor olsa da eğittikten sonra oldukça hızlı çalışan bir sınıflandırma algoritmasıdır. Bir durumun olma ihtimalinin en yüksek olma koşuluna göre hareket eder. Dezavantajlı olduğu durum ise verinin sürekli değiştiği durum. Çünkü her yeni veri eğitim sürecini uzatacaktır.

Genellikle Naive Bayes için örnek verilen projelerde farklı hava koşullarına göre spor yapılıp yapılamayacağı olan veri setleri verilmiş. Örneğin havanın güneşli,yağmurlu,rüzgarlı olduğu çeşitli durumlarda Golf oynanıp oynanamayacağı gibi tahminlerde bulunuluyor. Elbette burada önceki durumlar ile modelimiz eğitiliyor.

Bir Youtube kanalı düşünelim. Bu youtube kanalında kadın ve erkek aboneler var. Önceki kayıtlara göre biz şunları biliyoruz.

1.Kullanıcılar: Kadın ve Erkek Abone
2.Günlük Kullanıcı Sayısı: Kadın 800, Erkek 600
3.Dislike Veren Kullanıcı Oranı: %5

Sorumuz şu: Bir gün için Erkek abonelerin Dislike tuşuna basma oranı nedir ?

Şöyle düşünüyoruz.

Toplam 1400 kullanıcımız var.

600 Erkek ve %5 oranından dolayı 70 dislike gelecek.

Bu dislikeları cinsiyetlere göre eşit dağıtırsak 35 Erkek ve 35 Kadın dislike tuşuna basmış demek.

Öyleyse Erkeklerin dislike tuşuna basma olasılığı 35/600 = %5833

Şimdi Bayes formülü ile aynısını yapalım.

Bu bizim ana formülümüz.

Anlamı şu:

P(A|B) = B olayı gerçekleştiği durumda A olayının meydana gelme olasılığıdır

P(B|A) = A olayı gerçekleştiği durumda B olayının meydana gelme olasılığıdır

P(A) = A olayının olma olasılığı

P(B) = A olayının olma olasılığı


Örneğimize uyarlıyoruz:

Formülümüz P(Dislike| Erkek) (0.5 * 0.05) / 0.428 = 0.058 şeklinde yine aynı değere ulaşır.

Tabi biz burada Dislike sayısının cinsiyetlere göre aynı olma koşulunu ele aldık bu değişebilir. Yani 10 Erkek ile 10 Kadın aynı oranda bu tuşa basmayabilir. Aynı sayıdaki Erkek, Kadınlara göre daha çok basabilir. Böyle bir durumda işler değişecektir. Fakat ilk örneğin anlaşılabilir olması açısından bu örnek işimize yarayacaktır.

Sıfır Frekans nedir ?

Naive Bayes’te karşımıza Sıfır-Frekans( Zero Frequency) sorunu çıkıyor. Bu sorun bir olasılığında 0 olması durumunda ortaya çıkıyor. Örneğin çeşitli hava durumları için basketbol oynama üzerine tahminde bulunan bir sınıflandırıı ürettik diyelim. Fakat elimizdeki veri setinde bulutlu havada hiç basketbol oynanmamış. Dolayısıyla bölüm kısmına 0 kelecek ve matematiksel olarak sıkıntılı bir durum oluşacak. İşte bunu aşmak için tüm özelliklere 1 ekliyor ve sıfır-frekans problemini aşıyoruz.

Naive Bayes Türleri

Multinominal Naive Bayes:
Çoğunlukla doküman sınıflandırma problemlerinde kullanılan bu yaklaşık bir haberin spor,politika,teknoloji gibi kategorilerden hangisine ait olduğunu içerdiği kelimeler ile tespit eder.

Bernoulli Naive Bayes:
Multinominal bayese benzese de tahmin ediciler boolen değişkenleridir. Örneğin metinde bir kelimenin olup olmamasına göre evet veya hayır değeri alır.

Gauss Naive Bayes:
Tahmin ediciler ayrık değil sürekli değer aldıklarında bunu kullanıyoruz. Bu değerlerin bir Gauss dağılımından örneklendiğini varsayıyoruz.

Şimdi ikinci bölüme geçelim ve projemizi gerçekleştirelim.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir