Makine Öğreniminde Naif Bayes Algoritması
⚡ Akıllı Özet
Naive Bayes, her özelliğin bağımsız olarak katkıda bulunduğunu varsayan, Bayes teoremi üzerine kurulu, denetimli, olasılıksal bir sınıflandırma algoritmasıdır. Teorisi, uygulamalı bir atölye çalışmasıdır.ping Örneğin, üç model varyantı, avantajları, sınırlamaları ve gerçek dünya uygulamaları aşağıda ele alınmıştır.

Naive Bayes Sınıflandırıcı Algoritması
Sınıflandırıcı, verileri bir veya daha fazla "sınıfa" ayıran bir makine öğrenme algoritmasıdır. E-posta sınıflandırıcısı bunun bilindik bir örneğidir: gelen her mesajı tarar ve Spam veya Spam Değil sınıf etiketini ekler.
Makine öğreniminde Naive Bayes Sınıflandırıcısı bir denetimli öğrenme Sınıflandırma görevlerinde kullanılan algoritma.
Aşağıdaki diyagram bu akışı özetlemektedir.
Naive Bayes sınıflandırma problemlerini çözmek için kullanılır. Bir nesnenin olasılığına dayanarak tahminde bulunur. Naive Bayes, Bayes Teoremini temel alır ve çoğunlukla metin sınıflandırma amacıyla kullanılır. Naive Bayes, uygulanması kolay ve eğitilmesi hızlı olan olasılıksal bir sınıflandırma algoritmasıdır.
Naive Bayes sınıflandırıcısı, Bayes teoremi üzerine kurulu olduğu için olasılık sınıflandırıcısı olarak da bilinir. Bir öğenin olasılığına dayanarak tahmin yapar.
Naif Bayes neden bu şekilde adlandırılıyor?
Naive Bayes adı iki bölümden oluşur: Naive (Naif) ve Bayes. Neden naif? Algoritma, özelliklerin görünme sırasını dikkate almaz, bu nedenle "Sen" ve "Sen misin" ifadeleri ona özdeş görünür. Ayrıca hiçbir özelliğin diğerini etkilemediğini varsayar. Elma meyvesini tanımak için kırmızı rengi, küresel şekli ve tatlı tadı kullanırsınız ve algoritma bu ipuçlarının her birini ayrı, bağımsız kanıt olarak ele alır.
- Naive Bayes sınıflandırıcısı, özelliklerin birbirlerinden bağımsız olduğunu varsayar. Bu durum gerçek hayattaki verilerde nadiren mümkün olduğundan, sınıflandırıcıya "naif" (naif) denir.
- Bu sınıflandırma algoritması Bayes teoremi üzerine kuruludur, bu nedenle Naif Bayes Sınıflandırıcı olarak bilinir.
Naive Bayes Teoremi
Bayes teoremi, önsel bilgiye bağlı koşullu olasılıklarla bir hipotezin olasılığını bulmak için kullanılır. Bu teorem, Thomas Bayes'in adını taşır. Naive Bayes sınıflandırıcı, Bayes teoremi tarafından verilen koşullu olasılık ilkesine göre çalışır.
Bayes teoremini anlamak için, iki madeni parayı atma örneğine, yani basit bir Naive Bayes sınıflandırıcı örneğine bakalım. İki madeni parayı atarak şu örnek uzayları elde edebiliriz: {HH, HT, TH, TT}. Dolayısıyla, bu olayların olasılıkları şöyle olacaktır:
- İki tura almak = 1/4
- En az bir kuyruk = 3/4
- İlk paraya tura verilen ikinci para yazı = 1/2
- İlk para verildiğinde iki tura gelmesi tura = 1/2
Bayes teoremi, bir olayın gerçekleşme olasılığını, daha önce gerçekleşmiş farklı bir olayın olasılığına dayanarak hesaplar. Bayes teoreminin formülü şu şekildedir:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B), B olayı zaten gerçekleşmişken A olayının gerçekleşme olasılığıdır. P(B) olasılığı sıfır olamaz.
- B olayı (kanıt) doğru olduğunda verilen A olayının olasılığını bulmanız gerekir.
- P(A), A olayının önsel olasılığıdır; yani, herhangi bir kanıt gözlemlenmeden önce olayın gerçekleşme olasılığıdır. Burada, B olayı bilinmeyen bir örneğin değeridir.
- P(A|B), A olayının sonradan gelen olasılığıdır; yani, B kanıtına bakıldıktan sonra A olayının gerçekleşme olasılığıdır.
Naive Bayes Sınıflandırıcısının Çalışma Örneği
Formülün işe yaradığını görmenin en hızlı yolu, onu elle çalıştırmaktır.
Bir dükkan örneği ele alalım.ping Bayes Naif Sınıflandırıcısının çalışma prensibini anlamak için. Bu veri setinde, bu örnek için 30 satırdan oluşan küçük bir örnek veri seti bulunmaktadır.
Veri kümesi
Sorun, Naive Bayes Teoremini kullanarak bir kişinin belirli bir Gün, İndirim ve Ücretsiz Teslimat kombinasyonunda bir ürün satın alıp almayacağını tahmin etmektir.
) 1 Adım Veri kümesinde belirtilen gün, indirim ve ücretsiz teslimat gibi giriş türlerini kullanarak her özellik için sıklık tabloları oluşturacağız.
'Satın Al' olayını 'A', bağımsız değişkenleri ise 'İndirim', 'Ücretsiz teslimat' ve 'Gün' olarak 'B' ile gösterelim. Bu olayları ve değişkenleri kullanarak Bayes teoremini uygulayacağız.
) 2 Adım Şimdi Olasılık tablolarını tek tek hesaplayalım.
Örnek 1:
Bu olabilirlik tablosuna dayanarak koşullu olasılıkları aşağıdaki gibi hesaplayacağız.
P(A) = P(No Buy) = 6/30 = 0.2 P(B) = P(Weekday) = 11/30 = 0.37 P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33
Bayes teoremini kullanarak P(A/B)'yi bulun,
P(A/B) = P(No Buy / Weekday) = P(Weekday / No Buy) * P(No Buy) / P(Weekday) = (2/6 * 6/30) / (11/30) = 0.1818
Benzer şekilde, eğer A Satın Al ise, o zaman
= P(Buy / Weekday) = P(Weekday / Buy) * P(Buy) / P(Weekday) = (9/24 * 24/30) / (11/30) = 0.8181
Not: P(Satın Al | Hafta İçi) P(Satın Alma Yok | Hafta İçi) değerinden daha büyük olduğundan, bir müşterinin ürünü büyük olasılıkla Hafta içi bir günde satın alacağı sonucuna varabiliriz.
) 3 Adım Benzer şekilde, bir olayın gerçekleşme olasılığını üç değişkenin tümüne dayanarak hesaplayabiliriz. Şimdi yukarıdaki frekans tablolarını kullanarak her üç değişken için Olabilirlik tablolarını hesaplayacağız.
Örnek 2:
Şimdi, bu üç Olasılık tablosunu kullanarak, bir müşterinin belirli bir 'Gün', 'İndirim' ve 'Ücretsiz teslimat' kombinasyonuna dayalı olarak satın alma olasılığının olup olmadığını hesaplayacağız.
Burada bu faktörlerin bir kombinasyonunu ele alalım:
- Gün = Tatil
- İndirim = Evet
- Ücretsiz Teslimat = Evet
Ne zaman, A = Satın Al
Aşağıdaki gün, indirim ve ücretsiz teslimat kombinasyonunda satın alma işleminin koşullu olasılığını hesaplayın.
B nerede:
- Gün = Tatil
- İndirim = Evet
- Ücretsiz Teslimat = Evet
Ve A = Satın Al
Bu nedenle,
= P(A/B) = P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30) = 0.986
Ne zaman, A = Satın Alma Yok
Benzer şekilde, gün, indirim ve ücretsiz teslimat kombinasyonunun satın alma koşullu olasılığını hesaplayın.
B nerede:
- Gün = Tatil
- İndirim = Evet
- Ücretsiz Teslimat = Evet
Ve A = Satın Alma Yok
Bu nedenle,
= P(A/B) = P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes) = ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) ) / ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) ) = (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30) = 0.027
) 4 Adım Bu nedenle,
Satın alma olasılığı = 0.986
Satın almama olasılığı = 0.027
Son olarak, bu gün satın almak için koşullu olasılıklarımız var. Şimdi olayların olabilirliğini elde etmek için bu olasılıkları genelleştirelim.
- Olasılıkların toplamı = 0.986 + 0.027 = 1.013
- Satın alma olasılığı = 0.986 / 1.013 = %97.33
- Satın Almama Olasılığı = 0.027 / 1.013 = %2.67
Bağımsızlık varsayımı her bir tahminin yaklaşık değer olmasını sağladığı için, iki puanın toplamı 1 yerine 1.013'tür; bu nedenle toplam değere bölmek, onları yüzdelere dönüştürür.
%97.33'ün %2.67'den büyük olduğunu unutmayın. Ortalama bir müşterinin tatilde indirimli ve ücretsiz teslimatla satın alacağı sonucuna varabiliriz.
Naive Bayes Modelinin Türleri
Naive Bayes Sınıflandırıcılarının birçok türü vardır. Burada Multinomial, Bernoulli ve Gaussian Naive Bayes sınıflandırıcılarını tartıştık.
| Varyant | Özellik türü | Tipik kullanım |
|---|---|---|
| Çok terimli | Kelime sayıları | Konu ve belge sınıflandırması |
| bernoulli | İkili var veya yok bayrakları | Kısa metinler ve spam filtreleme |
| Gauss | Sürekli sayısal değerler | Sensör okumaları ve ölçümleri |
1. Çok Terimli Naive Bayes
Bu tür Naive Bayes modeli belge sınıflandırma problemlerinde kullanılır. Bir belgedeki kelimelerin sıklığını temsil eden özelliklerle çalışır. Sınıflandırıcı, bir belgenin spor, politika veya teknoloji gibi belirli bir kategoriye ait olma olasılığını belirlemek için kelimelerin oluşumunu ve sayısını dikkate alır.
2. Bernoulli Saf Bayes
Bu, çok terimli Naive Bayes'e benzer. Belge sınıflandırma görevleri için Bernoulli Naive Bayes sınıflandırıcısı kullanılır. Ancak boole tahmincilerini kullanır. Bir kelimenin var olup olmadığını temsil eder ve yalnızca Evet veya Hayır değerlerini alır. Sınıflandırıcı, bir kelimenin metinde bulunup bulunmamasına göre olasılıkları hesaplar.
3. Gauss Saf Bayes
Bu sınıflandırıcı sürekli değer durumunda kullanılır ancak ayrık değerde kullanılmaz. Bu sınıflandırıcı olasılıkları aşağıdaki parametreleri kullanarak hesaplar: Gauss dağılım, yani ortalama ve varyans.
Koşullu olasılık formülü şu şekilde değişir:
MKS scikit-öğrenme Kütüphane iki yeni varyant daha ekliyor: Dengesiz metinler için Tamamlayıcı Naive Bayes ve ayrık kategoriler için Kategorik Naive Bayes.
Naive Bayes Sınıflandırıcının Faydaları ve Sınırlamaları
Naive Bayes algoritmasının makine öğrenmesinde çeşitli avantajları ve dezavantajları bulunmaktadır.
Naive Bayes Sınıflandırıcının Faydaları
- Sadelik ve Verimlilik: Naive Bayes'in eğitilmesi ve uygulanması basit ve kolaydır. Hesaplama maliyetinin düşük olması nedeniyle verimlidir. Büyük veri kümelerini verimli bir şekilde işleyebilir.
- Hızlı Eğitim ve Tahmin: Naive Bayes, özellikler arasındaki bağımsızlık nedeniyle çok fazla eğitim verisine ihtiyaç duymaz. Model eğitildikten sonra hızlı tahmin yapabilir.
- Ölçeklenebilirlik: Naive Bayes, çok sayıda özelliğe sahip yüksek boyutlu veri kümelerini işleyebilir. Özellik sayısı eğitim örneklerinin sayısından fazla olduğunda bile iyi performans gösterir. Veri noktalarının ve tahmincilerin sayısına göre ölçeklenir. Hem sürekli hem de ayrık verileri işler.
- İlgisiz Özelliklere Karşı Sağlamlık: İlgisiz özelliklere duyarlı değildir.
- Küçük Eğitim Setleriyle iyi çalışır: Naive Bayes, sınırlı eğitim verisiyle bile makul sonuçlar verebilir. Eğitim örneklerinin sayısının az olduğu durumları da ele alabilir.
Naive Bayes Sınıflandırıcının Sınırlandırılması
Naif Bayes makine öğrenme tüm özelliklerin birbirinden bağımsız olduğunu varsayar. Dolayısıyla verideki farklı özellikler arasındaki ilişkileri öğrenemez. Her özelliğe diğerleriyle hiçbir ilişkisi yokmuş gibi davranır.
İkinci bir uyarı: Bildirdiği sınıf olasılıkları yetersiz kalibre edilmiştir, bu nedenle bir tahmine eklenen güven aralığı rakamı güvenilir bir olasılık değildir.
Bu sorunun üstesinden gelmek için şunları kullanabilirsiniz: Karar ağaçlarıRastgele Ormanlar, Destek Vektör Makineleri (SVM), Nöral ağlar vb. Bu algoritmalar, verilerdeki özellikler arasındaki karmaşık ilişkileri ve bağımlılıkları öğrenme yeteneğine sahiptir. Bu nedenle daha doğru sonuçlar tahmin edebilirler.
Naive Bayes Sınıflandırıcı Uygulamaları
Bu algoritma hızlı ve etkili olduğundan gerçek zamanlı tahminler yapmak için kullanabilirsiniz.
İstenmeyen Posta Algılama
E-posta hizmetleri (Örneğin GmailBu algoritma, bir e-postanın spam olup olmadığını belirlemek için kullanılır. Bu algoritma, spam filtreleme için mükemmeldir.
Duygu Analizi
Kelime seçimi, cümle yapısı ve bağlam gibi özelliklere göre metni olumlu, olumsuz veya nötr olarak sınıflandırabilir. Sosyal medya izleme, müşteri incelemeleri ve pazar araştırmalarında uygulama alanı bulur.
Belge Sınıflandırma
Belgeleri, belgedeki belirli kelimelerin veya özelliklerin sıklığına veya varlığına göre spor, politika, teknoloji veya finans gibi kategorilere ayırabilir.
Tavsiye Sistemleri
Ürün, film veya makale önermeye yönelik kullanıcı ilgi alanlarını veya tercihlerini tahmin etmek için kullanıcı tercihlerini, geçmiş verileri ve öğe özelliklerini analiz edebilir.
Bu sınıflandırma algoritması ayrıca yüz tanıma, hava tahmini, tıbbi teşhis ve alışveriş gibi alanlarda da kullanılmaktadır.pingHaber sınıflandırması vb. alanlarda Naive Bayes algoritmasını uygulayabilirsiniz. Pythonsklearn.naive_bayes modülü yukarıda açıklanan tüm varyantları sunmaktadır.








