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), makine öğreniminde (ML) hem sınıflandırma hem de regresyon görevleri için kullanılan temel bir algoritmadır. Basitliği ve sezgisel yaklaşımıyla öne çıkmaktadır. KNN parametrik olmayan bir yöntem olarak sınıflandırılır çünkü altta yatan veri dağılımı hakkında varsayımlarda bulunmaz. Aynı zamanda "tembel öğrenme" algoritması olarak da bilinir çünkü eğitim verisi aşamasında genel bir model oluşturmaz; bunun yerine tüm veri kümesini saklar ve yalnızca bir tahmin gerektiğinde hesaplamalar yapar.

KNN Nasıl Çalışır?

KNN'nin arkasındaki temel fikir, genellikle Öklid mesafesi gibi mesafe metrikleri kullanılarak tanımlanan benzerliğe dayanır. Yeni, görülmemiş bir veri noktasını tahmin ederken, algoritma depolanan eğitim veri kümesinden kendisine en yakın 'K' veri noktasını (komşuları) belirler. 'K' değeri kullanıcı tanımlı bir tamsayıdır ve dikkate alınan komşu sayısını temsil eder.

  • Sınıflandırma için: Yeni veri noktası, en yakın K komşusu arasında en yaygın olan sınıfa atanır. K=3 ise ve iki komşusu A sınıfına, bir komşusu da B sınıfına aitse, yeni nokta A sınıfı olarak sınıflandırılır.
  • Regresyon için: Yeni veri noktası için tahmin tipik olarak K en yakın komşularının değerlerinin ortalamasıdır (veya bazen medyanıdır).

Uzaklık metriğinin seçimi ve 'K' değeri, modelin performansını önemli ölçüde etkileyen çok önemli hiper parametrelerdir.

'K' Değerinin Seçilmesi

Optimum 'K' değerinin seçilmesi kritik önem taşır. Küçük bir 'K' değeri modeli gürültüye ve aykırı değerlere karşı hassas hale getirerek potansiyel olarak aşırı uyuma yol açar. Tersine, büyük bir 'K' değeri karar sınırlarını aşırı yumuşatarak potansiyel olarak yetersiz uyuma ve yüksek hesaplama maliyetine yol açabilir. Çapraz doğrulama gibi teknikler genellikle yanlılık-varyans dengesini sağlayan uygun bir 'K' değeri bulmak için kullanılır.

KNN Uygulamaları

KNN'nin basitliği, özellikle yorumlanabilirliğin önemsendiği çeşitli uygulamalarda kendini göstermektedir:

  1. Öneri Sistemleri: KNN, kullanıcılara 'en yakın' komşularının (benzer zevklere sahip kullanıcılar) tercihlerine dayalı olarak öğeler (filmler veya ürünler gibi) önerebilir. Netflix gibi hizmetler benzer örnek tabanlı yöntemleri araştırmıştır.
  2. Görüntü Tanıma: Temel görüntü sınıflandırma görevlerinde KNN, eğitim setindeki en benzer görüntülerin sınıflarına göre bir görüntüyü sınıflandırabilir (örneğin, piksel benzerliğine dayalı olarak el yazısı rakamlarını tanımlama). MNIST gibi daha basit veri kümeleri için etkili olsa da, daha karmaşık görevler genellikle sofistike modeller gerektirir.
  3. Anormallik Tespiti: KNN, herhangi bir komşu kümesinden uzak veri noktalarını tanımlayarak, dolandırıcılık tespiti veya üretimdeki kusurlu ürünlerin belirlenmesi gibi alanlarda yararlı olan aykırı değerleri veya anormallikleri tespit etmek için kullanılabilir. Anomali tespit yöntemleri hakkında daha fazlasını keşfedin.
  4. Gen İfadesi Analizi: Biyoinformatikte KNN, benzer genetik profilleri bir araya getirerek gen ifadesi modellerine dayalı olarak örneklerin sınıflandırılmasına yardımcı olur. Sağlık uygulamalarında yapay zeka hakkında daha fazla bilgi edinin.

KNN'nin Avantajları ve Dezavantajları

KNN çeşitli avantajlar sunmakla birlikte sınırlamalar da getirmektedir:

Avantajlar:

  • Basitlik ve Sezgisellik: Anlaşılması ve uygulanması kolaydır.
  • Eğitim Aşaması Yok: Veri kümesini depolayarak anında öğrenir, yeni verilere uyarlanabilir hale getirir.
  • Esneklik: Çok sınıflı sınıflandırmayı doğal olarak yönetir ve regresyon için uyarlanabilir.

Dezavantajlar:

  • Hesaplama Maliyeti: Tahmin, tüm eğitim noktalarına olan uzaklıkların hesaplanmasını gerektirdiğinden, özellikle büyük veri kümelerinde yavaş ve hesaplama açısından pahalı olabilir.
  • Alakasız Özelliklere Duyarlılık: Yüksek boyutlu verilerde (boyutluluk laneti) veya alakasız özellikler mevcut olduğunda performans önemli ölçüde düşer. Boyut azaltma gibi tekniklere ihtiyaç duyulabilir.
  • Özellik Ölçeklendirme İhtiyacı: Veri ölçeğine duyarlıdır; daha geniş aralıklara sahip özellikler mesafe hesaplamalarına hakim olabilir ve normalleştirme gerektirir.
  • Optimum 'K' değerini belirleme: 'K' için en iyi değeri bulmak, dikkatli hiperparametre ayarı gerektirir.

KNN ve İlgili Kavramlar

KNN'yi diğer algoritmalardan ayırmak önemlidir:

  • K-Means Kümeleme: Her ikisi de 'K' ve mesafe ölçütlerini kullanırken, K-Means verileri benzerliğe dayalı gruplar halinde kümelemek için denetimsiz bir öğrenme algoritmasıdır. KNN, etiketli komşulara dayalı sınıflandırma veya regresyon için denetimli bir öğrenme algoritmasıdır.
  • Destek Vektör Makinesi (SVM): DVM, sınıfları ayırmak için en uygun hiper düzlemi bulan denetimli bir algoritmadır. KNN'nin örnek tabanlı yaklaşımının aksine, SVM açık bir model oluşturur ve genellikle yüksek boyutlu verilerle daha iyi performans gösterir.
  • Karar Ağaçları: Karar ağaçları, özellik ayrımlarına dayalı bir model oluşturarak sınıflandırma veya regresyon için açık kurallar sağlar. KNN açık kurallar yerine yerel benzerliğe dayanır.

KNN belirli görevler ve temel makine öğrenimi kavramlarını anlamak için değerli olsa da, gerçek zamanlı nesne algılama gibi karmaşık sorunlar genellikle aşağıdaki gibi daha gelişmiş modellerden yararlanır Ultralytics YOLOÖzellikle büyük ölçekli bilgisayarla görme veri kümelerinde üstün hız ve doğruluk sunar. Ultralytics HUB gibi platformları kullanarak bu tür modelleri eğitebilir ve dağıtabilirsiniz.

Tümünü okuyun