Sözlük

K-En Yakın Komşular (KNN)

K-En Yakın Komşular'ın (KNN) sınıflandırma ve regresyon görevleri için sezgisel, parametrik olmayan yaklaşımıyla makine öğrenimini nasıl basitleştirdiğini keşfedin.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

K-En Yakın Komşular (KNN) hem sınıflandırma hem de regresyon görevleri için kullanılan basit ama güçlü bir makine öğrenimi algoritmasıdır. Parametrik olmayan ve tembel bir öğrenme algoritması olarak kabul edilir, yani altta yatan veri dağılımı hakkında güçlü varsayımlarda bulunmaz ve tahmin zamanına kadar hesaplamayı erteler. KNN özellikle sezgiseldir ve uygulaması kolaydır, bu da onu temel makine öğrenimi kavramlarını anlamak için değerli bir araç haline getirir.

KNN Nasıl Çalışır?

K-En Yakın Komşular algoritması özünde benzerlik ilkesine göre çalışır. Yeni, sınıflandırılmamış bir veri noktası sunulduğunda KNN, eğitim veri kümesinden 'K' en yakın komşusunu belirler. 'K' değeri kullanıcı tanımlı bir sabittir ve sınıflandırmayı kaç komşunun etkileyeceğini belirler. Süreç aşağıdaki gibi ilerler:

  1. Mesafe Hesaplama: KNN, yeni veri noktası ile eğitim veri kümesindeki diğer her nokta arasındaki mesafeyi hesaplar. Yaygın mesafe ölçütleri arasında Öklid mesafesi, Manhattan mesafesi ve Minkowski mesafesi bulunur.
  2. Komşu Seçimi: Bir önceki adımda hesaplanan mesafeye göre yeni veri noktasına en yakın olan 'K' veri noktasını eğitim setinden seçer. Bu 'K' noktaları 'en yakın komşulardır'.
  3. Sınıflandırma veya Regresyon:
    • Sınıflandırma: Sınıflandırma görevleri için KNN, yeni veri noktasını en yakın 'K' komşusu arasında en sık görülen sınıfa atar. Bu aslında komşular arasında bir çoğunluk oylamasıdır.
    • Regresyon: Regresyon görevleri için KNN, 'K' en yakın komşularının değerlerinin ortalamasını (veya medyanını) hesaplayarak yeni veri noktasının değerini tahmin eder.

KNN Uygulamaları

KNN'nin çok yönlülüğü onu çeşitli alanlarda uygulanabilir kılmaktadır. İşte birkaç gerçek dünya örneği:

  • Öneri Sistemleri: Netflix veya Amazon gibi platformlarda KNN, işbirlikçi filtreleme öneri sistemleri oluşturmak için kullanılabilir. Örneğin, film önerileri istiyorsanız, KNN benzer izleme geçmişlerine dayanarak size "en yakın komşu" olan kullanıcıları bulabilir ve ardından bu komşuların beğendiği filmleri önerebilir. Bu, geçmişte benzer tercihleri olan kullanıcıların gelecekte de muhtemelen benzer tercihlere sahip olacağı fikrinden yararlanır. Öneri sistemleri ve veri analitiğindeki diğer yapay zeka uygulamaları hakkında daha fazla bilgi edinin.
  • Tıbbi Teşhis: KNN, hastalıkları teşhis etmek için tıbbi görüntü analizine yardımcı olabilir. KNN, hasta verilerini (semptomlar, test sonuçları vb.) analiz ederek bir veritabanında 'K' benzer hastayı bulabilir ve tanılarına dayanarak yeni bir hasta için tanıyı tahmin edebilir. Örneğin, kanser tespitinde, tıbbi görüntülerden çıkarılan özellikler kullanılabilir ve KNN, bilinen iyi huylu veya kötü huylu vakalara benzerliğe dayalı olarak yeni görüntüleri sınıflandırabilir.

KNN'nin Avantajları ve Dezavantajları

Tüm algoritmalar gibi KNN'nin de güçlü ve zayıf yönleri vardır:

Avantajlar:

  • Basitlik: KNN'nin anlaşılması ve uygulanması kolaydır.
  • Çok yönlülük: Hem sınıflandırma hem de regresyon için kullanılabilir.
  • Parametrik olmayan: Veri dağılımı hakkında hiçbir varsayımda bulunmaz, bu da birçok gerçek dünya senaryosunda faydalı olabilir.
  • Eğitim aşaması yok: KNN tembel bir öğrenici olduğundan, açık bir eğitim aşaması yoktur, bu da yeni verilere hızlı bir şekilde adapte olmasını sağlar.

Dezavantajlar:

  • Hesaplama açısından pahalı: Tahmin zamanında KNN'nin tüm eğitim veri noktalarına olan uzaklıkları hesaplaması gerekir ve bu da büyük veri kümeleri için yavaş olabilir.
  • Alakasız özelliklere karşı hassastır: KNN, alakasız özellikler mevcutsa mesafe hesaplamalarını çarpıtabileceğinden kötü performans gösterir. Özellik seçimi veya boyut azaltma teknikleri gerekli olabilir.
  • Optimum 'K' değeri: 'K' için doğru değeri seçmek çok önemlidir ve genellikle deneme gerektirir. Çok küçük bir 'K' gürültü hassasiyetine yol açabilirken, çok büyük bir 'K' sınıf sınırlarını bulanıklaştırabilir. Hiperparametre ayarlama gibi teknikler optimum 'K' değerinin bulunmasına yardımcı olabilir.
  • Dengesiz veri: KNN, dengesiz veri kümelerinde çoğunluk sınıfına karşı önyargılı olabilir çünkü çoğunluk sınıfı örnekleri komşuluğa hakim olacaktır.

İlgili Kavramlar

KNN'yi diğer makine öğrenimi kavramlarıyla ilişkili olarak anlamak, nişini ve ne zaman kullanılmasının en uygun olduğunu anlamaya yardımcı olur:

  • Diğer sınıflandırma algoritmaları ile karşılaştırma: Parametrik olan ve bir karar sınırı öğrenen lojistik regresyon veya destek vektör makinelerinin aksine KNN parametrik değildir ve örnek tabanlıdır. Örneğin, lojistik regresyon sınıf üyeliği olasılığını modellerken, KNN sınıflandırma için doğrudan veri noktalarının kendisini kullanır.
  • Kümeleme algoritmaları ile ilişki: KNN denetimli bir öğrenme algoritması olsa da, mesafe tabanlı benzerlik kavramını K-Means kümeleme gibi denetimsiz öğrenme algoritmalarıyla paylaşır. Ancak K-means etiketsiz verileri kümeler halinde gruplamak için kullanılırken KNN etiketli eğitim verilerine dayalı olarak yeni, etiketli veya etiketsiz veri noktaları için değerleri sınıflandırmak veya tahmin etmek için kullanılır.

Özetle, K-En Yakın Komşular makine öğreniminde temel bir algoritmadır ve özellikle veri kümesi orta büyüklükte olduğunda ve veri örüntüleri yakınlığa göre ayırt edilebildiğinde çeşitli uygulamalardaki basitliği ve etkinliği nedeniyle değerlidir. Daha karmaşık veri kümeleri veya daha hızlı çıkarım gerektiren gerçek zamanlı uygulamalar için, daha sofistike modeller Ultralytics YOLO nesne tespiti için tercih edilebilir.

Tümünü okuyun