En Yakın Komşu Algoritması (K-Nearest Neighbors)
ModellerEn Yakın Komşu Algoritması nedir?
KNN, yeni bir örneğin sınıfını (veya değerini) belirlemek için ona en çok benzeyen k tane komşusuna bakan basit ama etkili bir makine öğrenmesi algoritmasıdır. Mantığı çok sezgisel: yeni bir nokta geldiğinde, veri kümesindeki en yakın k komşusunu bulur ve onların çoğunluğu hangi sınıftaysa yeni noktayı da o sınıfa atar.
Nasıl çalışır?
Önce bir "yakınlık" ölçüsü seçilir — genelde öklid mesafesi •iki nokta arasındaki düz çizgi uzaklığı• veya cosine similarity •iki vektör arasındaki açıya bakan benzerlik•. Yeni bir örnek geldiğinde algoritma, tüm eğitim verisiyle olan mesafesini hesaplar, en yakın k tanesini seçer ve oylama yapar. k=1 ise en yakın tek komşuya bakar; k=5 ise beş komşunun çoğunluğuna. İşin ilginci, KNN bir "eğitim" aşaması yapmaz — bütün veriyi ezberler ve tahmin anında hesaplar. Bu yüzden ona tembel öğrenici (lazy learner) denir.
Neden önemli?
Anlaması ve uygulaması çok kolay, hiçbir varsayım yapmaz. Küçük ve orta boy veri kümelerinde şaşırtıcı derecede iyi çalışır. Öğrenme aşaması olmadığı için yeni veri eklemek de kolay. Ama bir bedeli var: veri büyüdükçe her tahmin yavaşlar (her seferinde tüm veriyle kıyaslama gerekir) ve alakasız özellikler sonucu bozabilir.
Kullanım alanları
Öneri sistemleri ("bu ürünü alanlar şunu da aldı"), el yazısı ve görüntü tanıma, anomali tespiti ve eksik veri doldurma. Ayrıca daha karmaşık modeller için hızlı bir kıyaslama çizgisi olarak da kullanılır.
Ilgili terimler
