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 çıkar ve örnek tabanlı öğrenmeyi anlamak için harika bir başlangıç noktasıdı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 depolar 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 nokta K komşusu arasında en yaygın olan sınıfa atanır (çoğunluk oylaması). Regresyon için, tahmin tipik olarak K komşularının ortalama değeridir. Uzaklık metriğinin seçimi (örneğin Manhattan, Minkowski) ve 'K' değeri, modelin performansını önemli ölçüde etkileyen çok önemli hiper parametrelerdir. Verimli uygulama, özellikle büyük veri kümelerinde komşu aramalarını hızlandırmak için genellikle KD ağaçları veya Ball ağaçları gibi veri yapılarına dayanır.

'K' Değerinin Seçilmesi

Optimum 'K' değerinin seçilmesi kritik önem taşır. Küçük bir 'K' değeri (örneğin, K=1) modeli verilerdeki gürültü ve aykırı değerlere karşı oldukça hassas hale getirerek potansiyel olarak modelin eğitim verilerinde iyi performans gösterdiği ancak görülmeyen verilerde kötü performans gösterdiği aşırı uyuma yol açar. Tersine, büyük bir 'K' değeri karar sınırlarını aşırı yumuşatarak modeli yerel örüntülere karşı daha az hassas hale getirebilir ve potansiyel olarak tahmin sırasında yetersiz uyuma ve yüksek hesaplama maliyetine yol açabilir. Çapraz doğrulama gibi teknikler (bkz. Scikit-learn Çapraz Doğrulama Kılavuzu) genellikle yanlılık-varyans dengesini sağlayan uygun bir 'K' bulmak için kullanılır. Scikit-learn kütüphanesi KNN'yi uygulamak ve hiperparametre aramaları yapmak için araçlar sağlar ve Ultralytics Hiperparametre Ayarlama Kılavuzu'nda genel ipuçları bulabilirsiniz.

KNN Uygulamaları

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

  • Öneri Sistemleri: KNN, Netflix gibi platformların tavsiye sistemleri için kullandığı tekniklere benzer şekilde, öğeleri önermek için geçmiş davranışlara dayalı olarak benzer zevklere sahip kullanıcıları belirleyebilir.
  • Temel Görüntü Sınıflandırma: MNIST veri kümesi gibi veri kümelerinden el yazısı rakamları tanımak gibi basit görüntü sınıflandırma görevleri için kullanılabilir.
  • Anomali Tespiti: Komşularından uzak olan olağandışı veri noktalarını tanımlamak, ağ güvenliği gibi alanlarda yararlıdır(OWASP Anomaly Detection Project).
  • Sağlık hizmetleri: Sonuçları tahmin etmek veya durumları teşhis etmek için hastaları özelliklere göre sınıflandırmak, sağlık hizmetlerinde yapay zekaya katkıda bulunmak (bkz. Nature Medicine Sağlık ve Tıpta Yapay Zeka koleksiyonu).

KNN'nin Avantajları ve Dezavantajları

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

Avantajlar:

  • Basitlik ve Yorumlanabilirlik: Komşulara dayalı tahmin mantığını anlamak ve açıklamak kolaydır.
  • Açık Eğitim Aşaması Yok: Modelin yeniden eğitilmesi gerekmediğinden yeni verilere hızla adapte olur, sadece veri noktaları ekler.
  • Esneklik: Doğal olarak çok sınıflı sınıflandırmayı işler ve regresyon için uyarlanabilir.

Dezavantajlar:

KNN ve İlgili Kavramlar

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

  • K-Means Kümeleme: K-Means, verileri benzerliğe dayalı olarak K kümelerine gruplamak için kullanılan denetimsiz bir öğrenme algoritmasıdır. KNN, etiketli komşulara dayalı sınıflandırma veya regresyon için kullanılan denetimli bir öğrenme algoritmasıdır.
  • Destek Vektör Makinesi (SVM): DVM, sınıfları ayırmak için optimum bir hiper düzlem bulan denetimli bir algoritmadır. KNN yerel komşu benzerliğine göre sınıflandırma yaparken, SVM küresel bir optimum sınır arar. Scikit-learn SVM sayfasında daha fazla bilgi edinin.
  • Karar Ağaçları: Karar Ağaçları, ağaç benzeri bir yapı oluşturarak bir dizi hiyerarşik kural öğrenerek verileri sınıflandırır. KNN mesafe tabanlı benzerlik kullanırken, Karar Ağaçları özellik tabanlı bölmeler kullanır. Ayrıntılar için Scikit-learn Karar Ağaçları sayfasına bakın.

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 performans sunar. Ultralytics HUB gibi platformları kullanarak bu tür modelleri eğitebilir ve dağıtabilirsiniz.

Tümünü okuyun
OSZAR »