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.
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'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.
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'nin basitliği, özellikle yorumlanabilirliğin önemsendiği çeşitli uygulamalarda kendini göstermektedir:
KNN çeşitli avantajlar sunmakla birlikte sınırlamalar da getirmektedir:
Avantajlar:
Dezavantajlar:
KNN'yi diğer algoritmalardan ayırmak önemlidir:
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.