Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Naive Bayes

Naive Bayes sınıflandırıcıları Bayes teoremini uygular ve sınıf bilindiğinde özelliklerin birbirinden bağımsız olduğunu varsayar. Türleri, spam filtrelemeyi, sınırlamaları ve Python kodunu ele alır.

Naive Bayes, sınıf bilindiğinde özelliklerin birbirinden bağımsız olduğu yönündeki "naif" varsayım altında Bayes teoremini uygulayan bir olasılıksal sınıflandırıcı ailesidir. Bu varsayım, modelin her sınıftaki her özelliğin dağılımını ayrı ayrı öğrenmesini sağlar; dolayısıyla eğitim, eğitim verisi üzerinde tek bir sayım geçişinden ibarettir ve tahmin sırasında birkaç kayıtlı olasılık birleştirilir. Mehran Sahami ve çalışma arkadaşları bu yöntemi 1998'de istenmeyen e-postalara uyguladı. Bayes tabanlı spam filtreleri 2000'lerin başında yaygınlaştı; yöntem günümüzde de metin ve boyutu çok yüksek diğer veriler için denetimli öğrenmede hızlı ve güçlü bir başlangıç noktası olmaya devam ediyor.

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

Bayes teoremi, x₁ … xₙ özellikleri verildiğinde C sınıfının olasılığını şöyle ifade eder: P(C | x) = P(C)·P(x | C) / P(x). Özellik değerlerinin tüm birleşimleri için P(x | C) değerini tahmin etmek çok büyük bir veri kümesi gerektirir; bu nedenle naive Bayes koşullu bağımsızlığı varsayar ve ifadeyi P(x₁ | C)·P(x₂ | C)·…·P(xₙ | C) biçiminde çarpanlarına ayırır. Sınıflandırıcı, önsel P(C) olasılığı ile bu çarpımın sonucunu çarpar ve her sınıf için aynı olan P(x) değerini göz ardı ederek en yüksek sonucu veren sınıfı tahmin eder. Uygulamalar, binlerce küçük sayının çarpımının kayan noktalı aritmetikte sıfıra yuvarlanmasını önlemek için olasılıkları çarpmak yerine logaritmik olasılıkları toplar.

Sayım işlemi bir soruna yol açabilir: Eğitimde bir sınıfla hiç eşleşmemiş bir sözcüğün olasılığı sıfır olur ve diğer kanıtlar ne söylerse söylesin bu sözcüğü içeren her belgenin o sınıfa ait olasılığını sıfırlar. Toplamsal yumuşatma, her sayım değerine α sözde sayımını ekleyerek bu sorunu çözer. α = 1, Laplace yumuşatmasıdır ve scikit-learn'de varsayılan olarak kullanılır.

Naive Bayes Sınıflandırıcı Türleri#

Türler, her sınıftaki her özelliğin dağılımına ilişkin varsayımlarına göre farklılaşır. Çok terimli naive Bayes, bir belgede her sözcüğün kaç kez göründüğü gibi sayımları modeller ve metinler için standart tercihtir. Bernoulli naive Bayes, ikili varlık ya da yokluk değerlerini modeller ve bir sınıfa özgü sözcüklerin bulunmamasını da cezalandırır. Gauss naive Bayes, her sınıfta yer alan her sürekli özelliğe ayrı bir ortalama ve varyansla normal dağılım uydurur. Tamamlayıcı naive Bayes, her sınıfın sözcük istatistiklerini diğer tüm sınıflardan tahmin eder ve dengesiz metin veri kümelerine uygundur. Kategorik naive Bayes ise sabit bir kategori kümesinden değer alan özellikleri işler.

Bu örnek, altı etiketli iletideki sözcük sayımlarını kullanarak scikit-learn'ün MultinomialNB modelini eğitir ve iki yeni iletiyi puanlar:

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB

# Tiny labeled corpus: 1 = spam, 0 = legitimate
texts = [
    "win a free prize now",
    "free cash bonus click now",
    "claim your free reward today",
    "meeting moved to monday",
    "lunch with the team today",
    "project review notes attached",
]
labels = [1, 1, 1, 0, 0, 0]

# Count words, then learn class priors and per-class word probabilities (alpha=1 is Laplace smoothing)
vectorizer = CountVectorizer()
model = MultinomialNB(alpha=1.0)
model.fit(vectorizer.fit_transform(texts), labels)

new = vectorizer.transform(["free prize today", "notes from the monday meeting"])
print(f"P(spam): {model.predict_proba(new)[:, 1].round(3)}")

İlk iletinin spam olasılığı 0,881 çıkar; çünkü "free" ve "prize" sözcükleri yalnızca spam iletilerde bulunur. İkinci iletinin olasılığıysa 0,053'tür; çünkü "notes", "monday" ve "meeting" sözcükleri yalnızca meşru iletilerde bulunur. Yumuşatma olmasaydı "free" sözcüğünün meşru sınıf altında olasılığı sıfır olurdu ve bu sözcüğü içeren her meşru ileti kesin spam olarak puanlanırdı.

Güçlü Yönler ve Sınırlamalar#

Eğitim ve tahmin süreleri örnek ve özellik sayısıyla doğrusal orantılıdır. Bu nedenle naive Bayes, milyonlarca belgeyi çok düşük çıkarım gecikmesiyle işleyebilir. scikit-learn uygulamaları, çevrimiçi öğrenme için partial_fit üzerinden yeni gruplarla güncellenebilir. Yöntem ayrıca az miktarda veriye ihtiyaç duyar: Ng ve Jordan (2001), naive Bayes'in lojistik regresyona kıyasla daha az eğitim örneğiyle asimptotik hata oranına yaklaştığını gösterdi; ancak veri bol olduğunda lojistik regresyon daha düşük bir hata oranına ulaşır. Sınıf tahminleri, sınıfların doğru sıralanması yeterli olduğundan özellikler birbiriyle ilişkili olsa bile çoğu zaman isabetlidir.

Olasılıkların kalibrasyonu genellikle yetersizdir. İlişkili özellikler aynı kanıtı birkaç kez sayarak puanları 0'a ya da 1'e iter; bu nedenle güvenilir güven değerlerine ihtiyaç duyan uygulamalar, olasılıkları ayrılmış verilerle yeniden kalibre eder. Bağımsız sözcüklerden oluşan bir torba yaklaşımı sözcük sırasını ya da etkileşimleri temsil edemez; dolayısıyla "iyi değil" ifadesi, olumsuzluk ve olumlu bir sözcük karışımı gibi görünür. Transformer gibi dikkat kullanan modeller ise ifadeyi bağlam içinde okur.

Uygulamalar#

  • Spam filtreleme: Posta filtreleri, her iletiyi içerdiği sözcüklere, gönderen örüntülerine ve bağlantılara göre puanlar; kullanıcılar iletileri spam olarak işaretledikçe sözcük istatistiklerini günceller.
  • Duygu analizi: Yorumlar ve destek talepleri, kullandıkları sözcüklere göre olumlu ya da olumsuz olarak etiketlenir. Bu yöntem, dil modeli ince ayarından önce sık kullanılan bir ilk modeldir.
  • Belge yönlendirme: Haber makaleleri, hukuki belgeler ve destek talepleri konu ya da kuyruklara ayrılır. Bazı kategorilerin diğerlerinden çok daha seyrek olduğu durumlarda tamamlayıcı naive Bayes sıkça kullanılır.
  • Doğal dil işleme (NLP) başlangıç modelleri: Dil belirleme ve konu etiketleme görevlerinde naive Bayes, daha maliyetli tüm modellerin geçmesi gereken hızlı bir referans noktası olarak kullanılır.

Bilgisayarlı Görüde Naive Bayes#

Komşu pikseller arasında güçlü ilişkiler bulunur; bu nedenle ham pikselleri bağımsız özellikler olarak ele almak, nesneleri tanımlayan kenarları ve dokuları göz ardı eder. Evrişimli sinir ağları komşu pikselleri birlikte işleyerek bu özellikleri yakalar. Derin öğrenme öncesinde görsel sözcük torbası yaklaşımı, SIFT gibi yerel tanımlayıcıların histogramlarına naive Bayes uyguluyordu. Bu tanımlayıcılar, sözcük sayımlarının görsel karşılığı olacak biçimde k-ortalama kümeleme ile görsel sözcüklere ayrılıyordu. YOLO26 modelinin nesne algılama yoluyla bulduğu nesne sınıflarının sayıları da aynı türden sayım vektörünü oluşturur; dolayısıyla çok terimli naive Bayes modeli, yalnızca algıladığı nesnelere bakarak bir sahneyi cadde, mutfak veya ofis olarak etiketleyebilir.

  • Bayes ağları: Naive Bayes, en basit Bayes ağıdır; her özelliğin tek ebeveyni sınıftır ve özellikler arasında kenar bulunmaz. Genel Bayes ağları, bağımlılıkları modellemek için bu kenarları ekler.
  • Bayesçi çıkarım: Naive Bayes'teki "Bayes", Bayes teoremine gönderme yapar. Standart naive Bayes, her olasılığı yumuşatılmış bir frekans, yani tek bir nokta tahmini olarak hesaplar; tam Bayesçi yöntemler ise her parametre için bir dağılım tutar.
  • Destek vektör makineleri (SVM): Daha yüksek eğitim maliyetiyle doğrudan ayırt edici bir sınır öğrenir. Wang ve Manning (2012), duygu sınıflandırmasında naive Bayes'in kısa metin parçalarında SVM'lerden daha doğru, tam uzunluktaki değerlendirmelerde ise SVM'lerin daha doğru olduğunu buldu.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla