Naive Bayes Açıklaması: İşlev, Avantajlar ve Dezavantajlar, 2022'deki Uygulamalar

Yayınlanan: 2021-01-05

Naive Bayes, sınıflandırma problemlerini çözmek için kullandığımız bir makine öğrenme algoritmasıdır. Bayes Teoremine dayanmaktadır. Kullanımdaki en basit ancak güçlü ML algoritmalarından biridir ve birçok endüstride uygulama bulur.

Bir sınıflandırma problemini çözmeniz gerektiğini ve özellikleri yarattığınızı ve hipotezi oluşturduğunuzu, ancak üstleriniz modeli görmek istediğini varsayalım. Veri setini eğitmek için çok sayıda veri noktanız (yüzlerce veri noktası) ve birçok değişkeniniz var. Bu duruma en iyi çözüm, diğer sınıflandırma algoritmalarına göre oldukça hızlı olan Naive Bayes sınıflandırıcısını kullanmak olacaktır.

Bu yazıda, bu algoritmayı ayrıntılı olarak tartışacağız ve nasıl çalıştığını öğreneceğiz. Bu algoritmanın ne kadar önemli olduğunu anlamak için gerçek dünyadaki uygulamalarıyla birlikte avantajlarını ve dezavantajlarını da tartışacağız.

Kariyerinizi hızlandırmak için Dünyanın en iyi Üniversiteleri - Yüksek Lisanslar, Yönetici Yüksek Lisans Programları ve Makine Öğrenimi ve Yapay Zeka alanında İleri Düzey Sertifika Programından çevrimiçi Derin Öğrenme Kursuna katılın .

Başlayalım:

İçindekiler

Saf Bayes Açıklaması

Naive Bayes, Bayes Teoremini kullanır ve tüm tahmin edicilerin bağımsız olduğunu varsayar. Başka bir deyişle, bu sınıflandırıcı, bir sınıftaki belirli bir özelliğin varlığının diğerinin varlığını etkilemediğini varsayar.

İşte bir örnek: Yuvarlak, turuncu ve çapı yaklaşık 3,5 inç ise meyveyi portakal olarak kabul edersiniz. Şimdi, bu özellikler birbirinin var olmasını gerektirse bile, hepsi bağımsız olarak bu meyvenin portakal olduğu varsayımına katkıda bulunur. Bu algoritmanın adında 'Naif' olmasının nedeni budur.

Naive Bayes modelini oluşturmak oldukça basittir ve geniş veri kümeleriyle çalışmanıza yardımcı olur. Ayrıca, bu denklem performans açısından birçok gelişmiş sınıflandırma tekniğini yenmek için popülerdir.

İşte Naive Bayes denklemi:

P(c|x) = P(x|c) P(c) / P(x)

P(c|x) = P(x1 | c) x P(x2 | c) x … P(xn | c) x P(c)

Burada P (c|x), sınıf(c) için tahmin ediciye (x) göre sonsal olasılıktır. P(c) sınıfın önceki olasılığıdır, P(x) tahmin edicinin önceki olasılığıdır ve P(x|c) belirli bir sınıf(c) için tahmin edicinin olasılığıdır.

Naive Bayes, her özelliğin bağımsızlığını dikkate almanın yanı sıra, bunların eşit olarak katkıda bulunduğunu da varsayar. Bu hatırlanması gereken önemli bir noktadır.

Naive Bayes Nasıl Çalışır?

Naive Bayes'in nasıl çalıştığını anlamak için bir örnek tartışmalıyız.

Çalınan arabaları bulmak istediğimizi ve aşağıdaki veri setine sahip olduğumuzu varsayalım:

Seri numarası. Renk Tip Menşei Çalındı ​​mı?
1 kırmızı Spor Dalları Yerel Evet
2 kırmızı Spor Dalları Yerel Numara
3 kırmızı Spor Dalları Yerel Evet
4 Sarı Spor Dalları Yerel Numara
5 Sarı Spor Dalları İthal Evet
6 Sarı SUV İthal Numara
7 Sarı SUV İthal Evet
8 Sarı SUV Yerel Numara
9 kırmızı SUV İthal Numara
10 kırmızı Spor Dalları İthal Evet

Veri kümemize göre, algoritmamızın aşağıdaki varsayımları yaptığını anlayabiliriz:

  • Her özelliğin bağımsız olduğunu varsayar. Örneğin, bir arabanın 'Sarı' renginin, Menşei veya Türü ile ilgisi yoktur.
  • Her özelliğe aynı derecede önem verir. Örneğin, yalnızca Renk ve Kökeni bilmek sonucu doğru tahmin edebilir. Bu nedenle her özellik eşit derecede önemlidir ve sonuca eşit katkıda bulunur.

Şimdi veri setimiz ile hırsızların araba çalıp çalmadığını özelliklerine göre sınıflandırmamız gerekiyor. Her satırda ayrı girişler vardır ve sütunlar her arabanın özelliklerini temsil eder. İlk sırada, Yerli Menşeli çalıntı bir Kırmızı Spor Arabamız var. Hırsızların bir Kırmızı Yurtiçi SUV çalıp çalmayacağını öğreneceğiz (veri kümemizde Kırmızı Yurtiçi SUV için bir giriş yok).

Örneğimiz için Bayes Teoremini şu şekilde yeniden yazabiliriz:

P(y | X) = [P(X | y) P(y)P(X)]/P(X)

Burada y, hırsızların arabayı şartlara göre çalmadığını göstermek için sınıf değişkenini (Çalıntı mıydı?) ifade etmektedir. X özellikleri temsil eder.

X = x1, x2, x3, …., xn)

Burada x1, x2,…, xn özellikleri temsil etmektedir. Bunları Tür, Köken ve Renk olarak eşleyebiliriz. Şimdi, X'i değiştireceğiz ve aşağıdakileri elde etmek için zincir kuralını genişleteceğiz:

P(y | x1, …, xn) = [P(x1 | y) P(x2 | y) … P(xn | y) P(y)]/[P(x1) P (x2) … P(xn) )]

Veri kümesini kullanarak ve değerlerini denkleme koyarak her biri için değerleri alabilirsiniz. Payda, onu kaldırmak ve orantılılık eklemek için veri kümesindeki her giriş için statik kalacaktır.

P(y | x1, …, xn) ∝ P(y) i = 1nP(xi | y)

Örneğimizde, y'nin yalnızca iki sonucu vardır, evet veya hayır.

y = argmaxyP(y) i = 1nP(xi | y)

Her özellik için P(y|x) sonsal olasılığını hesaplamak için bir Frekans Tablosu oluşturabiliriz. Ardından, frekans tablolarını Olabilirlik Tablolarına dönüştüreceğiz ve her sınıfın sonsal olasılığını bulmak için Naive Bayes denklemini kullanacağız. Tahminimizin sonucu, en yüksek sonsal olasılığa sahip sınıf olacaktır. İşte Olasılık ve Frekans Tabloları:

Renk Frekans Tablosu:

Renk Çalındı ​​mı (Evet) Çalındı ​​mı (Hayır)
kırmızı 3 2
Sarı 2 3

Olasılık Renk Tablosu:

Renk Çalındı ​​mı [P(Evet)] Çalındı ​​mı [P(Hayır)]
kırmızı 3/5 2/5
Sarı 2/5 3/5

Tür Sıklık Tablosu:

Tip Çalındı ​​mı (Evet) Çalındı ​​mı (Hayır)
Spor Dalları 4 2
SUV 1 3

Olasılık Türü Tablosu:

Tip Çalındı ​​mı [P(Evet)] Çalındı ​​mı [P(Hayır)]
Spor Dalları 4/5 2/5
SUV 1/5 3/5

Menşe Frekans Tablosu:

Menşei Çalındı ​​mı (Evet) Çalındı ​​mı (Hayır)
Yerel 2 3
İthal 3 2

Olasılık Menşe Tablosu:

Menşei Çalındı ​​mı [P(Evet)] Çalındı ​​mı [P(Hayır)]
Yerel 2/5 3/5
İthal 3/5 2/5

Problemimizin X için 3 öngörücüsü var, bu nedenle daha önce gördüğümüz denklemlere göre, P(Yes | X) posterior olasılığı aşağıdaki gibi olacaktır:

P(Evet | X) = P(Kırmızı | Evet) * P(SUV | Evet) * P(Yurtiçi | Evet) * P(Evet)

= ⅗ x ⅕ x ⅖ x 1

= 0.048

P(Hayır | X) şöyle olur:

P(Hayır | X) = P(Kırmızı | Hayır) * P(SUV | Hayır) * P(Yurtiçi | Hayır) * P(Hayır)

= ⅖ x ⅗ x ⅗ x 1

= 0.144

Dolayısıyla, P(Hayır | X) arka olasılığı P(Evet | X) arka olasılığından daha yüksek olduğundan, Kırmızı Yurtiçi SUV'miz 'Çalındı ​​mı?' bölümünde 'Hayır' değerine sahip olacaktır. Bölüm.

Örnek, Naive Bayes Sınıflandırıcısının nasıl çalıştığını size göstermiş olmalıdır. Naive Bayes'in açıkladığı daha iyi bir resim elde etmek için şimdi avantajlarını ve dezavantajlarını tartışmalıyız:

Naive Bayes'in Avantajları ve Dezavantajları

Avantajlar

  • Bu algoritma hızlı çalışır ve çok zaman kazandırabilir.
  • Naive Bayes, çok sınıflı tahmin problemlerini çözmek için uygundur.
  • Özniteliklerin bağımsızlığı varsayımı doğruysa, diğer modellerden daha iyi performans gösterebilir ve çok daha az eğitim verisi gerektirir.
  • Naive Bayes, kategorik girdi değişkenleri için sayısal değişkenlerden daha uygundur.

Dezavantajları

  • Naive Bayes, tüm tahmin edicilerin (veya özelliklerin) bağımsız olduğunu ve gerçek hayatta nadiren gerçekleştiğini varsayar. Bu, gerçek dünya kullanım durumlarında bu algoritmanın uygulanabilirliğini sınırlar.
  • Bu algoritma, test veri setindeki kategorisi eğitim veri setinde mevcut olmayan kategorik bir değişkene sıfır olasılık atadığı 'sıfır frekans problemiyle' karşı karşıyadır. Bu sorunun üstesinden gelmek için bir yumuşatma tekniği kullanırsanız en iyisi olur.
  • Bazı durumlarda tahminleri yanlış olabilir, bu nedenle olasılık çıktılarını çok ciddiye almamalısınız.

Ödeme: Açıklanan Makine Öğrenimi Modelleri

Naive Bayes'in Uygulamaları Açıklandı

Bu algoritmanın uygulama bulduğu bazı alanlar şunlardır:

Metin Sınıflandırma

Çoğu zaman, Naive Bayes, çok sınıflı problemlerin çözümünde bağımsızlık ve yüksek performans varsayımı nedeniyle metin içi sınıflandırma kullanır. Hızı ve verimliliği nedeniyle diğer algoritmalardan daha yüksek bir başarı oranına sahiptir.

Duygu Analizi

Makine öğreniminin en belirgin alanlarından biri duygu analizidir ve bu algoritma orada da oldukça kullanışlıdır. Duygu analizi, müşterilerin belirli bir konu (ürün veya hizmet) hakkında olumlu mu yoksa olumsuz mu düşündüğünü belirlemeye odaklanır.

Öneri Sistemleri

İşbirlikçi Filtrelemenin yardımıyla Naive Bayes Sınıflandırıcı, bir kullanıcının belirli bir ürünü (veya kaynağı) isteyip istemediğini tahmin etmek için güçlü bir öneri sistemi oluşturur. Amazon, Netflix ve Flipkart, müşterilerine ürün önermek için öneri sistemlerini kullanan önde gelen şirketlerdir.

Daha Fazla Makine Öğrenimi Algoritması Öğrenin

Naive Bayes, çok sınıflı problemleri çözmek için basit ve etkili bir makine öğrenme algoritmasıdır. Duygu analizi ve metin sınıflandırma gibi makine öğrenimi uygulamalarının önde gelen birçok alanında kullanım alanı bulur.

Size yalnızca makine öğrenimini değil, aynı zamanda bulut altyapısını kullanarak bunun etkin dağıtımını da öğreten bir program oluşturmak için ülkedeki en iyi mühendislik okulu olan IIT Madras ile Makine Öğrenimi ve Bulutta Gelişmiş Sertifikasyon Programına göz atın. Bu programla amacımız, ülkedeki en seçici enstitünün kapılarını açmak ve yüksek ve gelişen bir beceride ustalaşmak için öğrencilere muhteşem fakülte ve kaynaklara erişim sağlamaktır.

Saf bayes algoritması nedir?

Kategorizasyon güçlüklerinin üstesinden gelmek için Naive Bayes makine öğrenimi tekniğini kullanıyoruz. Bayes Teoremi bunu destekliyor. Çeşitli endüstrilerdeki uygulamalarla, kullanımda olan en temel ancak güçlü makine öğrenimi algoritmalarından biridir. Diyelim ki bir sınıflandırma problemi üzerinde çalışıyorsunuz ve özellikleri ve hipotezi zaten kurdunuz, ancak patronunuz modeli görmek istiyor. Veri kümesini eğitmek için çok sayıda veri noktanız (binlerce veri noktanız) ve çok sayıda değişkeniniz vardır. Diğer sınıflandırma algoritmalarından çok daha hızlı olan Naive Bayes sınıflandırıcı bu durumda en iyi seçenek olacaktır.

Naif koyların bazı avantajları ve dezavantajları nelerdir?

Çok sınıflı tahmin sorunları için Naive Bayes iyi bir seçimdir. Özellik bağımsızlığı önermesi doğru kalırsa, çok daha az eğitim verisi kullanırken diğer modellerden daha iyi performans gösterebilir. Kategorik girdi değişkenleri, Naive Bayes'e sayısal girdi değişkenlerinden daha uygundur.

Naive Bayes'te, tüm tahmin edicilerin (veya özelliklerin) bağımsız olduğu varsayılır; bu, gerçek hayatta nadiren görülür. Bu, algoritmanın gerçek dünya senaryolarında kullanılabilirliğini sınırlar. Olasılık çıktılarını ciddiye almamalısınız çünkü bazı durumlarda tahminleri hatalı olabilir.

Naif koyların gerçek dünyadaki bazı uygulamaları nelerdir?

Çok sınıflı problemleri çözmedeki özerkliği ve yüksek performansı nedeniyle, Naive Bayes metin içi sınıflandırmada sıklıkla kullanılır. Duygu analizi, makine öğreniminin en popüler uygulamalarından biridir ve bu teknik bu konuda da yardımcı olabilir. Duyarlılık analizinin amacı, müşterilerin belirli bir konu (ürün veya hizmet) hakkında olumlu veya olumsuz duygulara sahip olup olmadığını belirlemektir. Naive Bayes Sınıflandırıcı, bir kullanıcının belirli bir üründen (veya kaynaktan) hoşlanıp hoşlanmayacağını tahmin edebilen karmaşık bir öneri sistemi oluşturmak için İşbirliğine Dayalı Filtrelemeyi kullanır.