Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

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

K-En Yakın Komşular (KNN) algoritmasının, 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) parametrik olmayan bir yöntemdir, için yaygın olarak kullanılan denetimli öğrenme algoritması hem sınıflandırma hem de regresyon görevleri. Genellikle şu şekilde anılır "tembel öğrenen" veya örnek tabanlı bir öğrenme yöntemi olarak KNN, aşağıdakilerden ayırt edici bir fonksiyon üretmez bir eğitim aşaması sırasında eğitim verileri. Bunun yerine, tüm veri kümesini hafızaya alır ve yalnızca yeni örnekler üzerinde tahminler yaparken hesaplamalar yapar. Bu yaklaşım benzer veri noktalarının özellik uzayında birbirine yakın olduğunu varsayar ve algoritmanın aşağıdakileri classify olanak tanır çoğunluk sınıfına veya en yakın komşularının ortalama değerine dayalı yeni girdiler.

KNN Nasıl Çalışır?

K-En Yakın Komşular'ın çalışma mekanizması, veriler arasındaki benzerliği ölçmek için mesafe metriklerine dayanır noktalar. En yaygın metrik şudur Öklid mesafesi, gibi diğerleri olsa da Manhattan uzaklığı veya Minkowski uzaklığı kullanılabilir problem alanına bağlı olarak değişir. Tahmin süreci birkaç farklı adım içerir:

  1. K'yı seçin: Kullanıcı, 'K' olarak gösterilen komşu sayısını tanımlar. Bu, aşağıdakiler için çok önemli bir adımdır hiperparametre ayarı, K değeri olarak modelin performansını doğrudan etkiler. önyargı-varyans ödünleşimi. Küçük bir K, aşağıdakilere yol açabilir büyük bir K belirgin sınırları yumuşatabilirken, gürültüye duyarlılık.
  2. Uzaklıkları Hesaplayın: Yeni bir sorgu noktası tanıtıldığında, algoritma mesafeyi hesaplar Bu nokta ile depolanan veri kümesindeki her örnek arasında.
  3. Komşuları Belirle: Algoritma mesafeleri sıralar ve en iyi K girdiyi en iyi komşu ile seçer. en küçük değerler.
  4. Toplanmış Çıktı:
    • Sınıflandırma: Algoritma, K sınıfları arasında en sık görünen sınıf etiketini atar. komşular (oy çokluğu).
    • Regresyon: Tahmin, K değerlerinin hedef değerlerinin ortalaması olarak hesaplanır. Komşular.

KNN'nin basitliği, onu birçok kişi için etkili bir temel haline getirir makine öğrenimi problemleri. Aşağıda kısa bir için popüler Scikit-learn kütüphanesini kullanan örnek Temel bir sınıflandırma iş akışı gösterebilir.

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# distinct classes: 0 and 1
X_train = np.array([[1, 1], [1, 2], [2, 2], [5, 5], [5, 6], [6, 5]])
y_train = np.array([0, 0, 0, 1, 1, 1])

# Initialize KNN with 3 neighbors
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

# Predict class for a new point [4, 4]
prediction = knn.predict([[4, 4]])
print(f"Predicted Class: {prediction[0]}")
# Output: 1 (Closer to the cluster at [5,5])

Gerçek Dünya Uygulamaları

Basitliğine rağmen, K-En Yakın Komşular, yorumlanabilirlik ve güvenilirliğin ön planda olduğu çeşitli karmaşık alanlarda kullanılmaktadır. örnek tabanlı muhakeme değerlidir.

  • Tavsiye Motorları: KNN şunları kolaylaştırır işbirlikçi filtreleme tavsiye sistemlerinde. Akış platformları, benzer görüntüleme geçmişine sahip kullanıcıları (komşular) bularak içerik önermek için kullanır. beğendikleri öğeler. Bu yöntem kişiselleştirilmiş kullanıcı deneyimleri için etkilidir.
  • Tıbbi Teşhis: İçinde tıbbi görüntü analizi, KNN aşağıdakilerde yardımcı olabilir Hasta ölçümlerini veya görüntü özelliklerini geçmiş vakalardan oluşan bir veri tabanıyla karşılaştırarak durumları teşhis etme. İçin örneğin, classify yardımcı olabilir meme kanseri tümörleri olarak Hücre özelliklerinin doğrulanmış vakalarla benzerliğine dayanarak kötü huylu veya iyi huylu.
  • Anomali Tespiti: Finansal kuruluşlar KNN'yi dolandırıcılığı tespit etmek için anomali tespiti. Tarafından İşlem kalıplarını analiz eden sistem, bir kullanıcının standart işlemlerinden önemli ölçüde sapan faaliyetleri işaretleyebilir. davranışı-esasen "en yakın komşularından" uzak olan noktalar.

KNN'yi İlgili Algoritmalardan Ayırmak

KNN ve diğer algoritmalar arasındaki farkları anlamak, bir algoritma için doğru aracı seçmek açısından hayati önem taşır. bilgisayarla görme veya veri analizi projesi.

  • K-Means Kümeleme: KNN ile karıştırmak kolaydır Benzer isimler nedeniyle K-Means Kümeleme. Bununla birlikte, K-Means bir gruplayan denetimsiz öğrenme tekniği etiketlenmemiş verileri kümelere ayırırken, KNN tahmin için etiketli verilere ihtiyaç duyan denetimli bir tekniktir.
  • Destek Vektör Makinesi (SVM): Her ikisi de sınıflandırma için kullanılırken Destek Vektör Makinesi (SVM) odakları sınıflar arasındaki marjı maksimize eden global bir karar sınırı (hiper düzlem) bulmaya odaklanır. KNN, tersine, şunları yapar Küresel bir model oluşturmadan yerel veri yoğunluğuna dayalı kararlar. Bu farklılıklar hakkında daha fazla bilgi için SVM belgeleri.
  • Karar Ağaçları: A Karar Ağacı, verileri açık bir şekilde öğrenerek sınıflandırır, özellik uzayını bölen hiyerarşik kurallar. KNN, özellik uzayında tamamen mesafe metriklerine dayanır ve düzensiz karar sınırlarına karşı daha esnektir ancak çıkarım sırasında hesaplama açısından daha ağırdır.

KNN daha küçük veri kümeleri için güçlü olsa da, aşağıdaki durumlarda ölçeklenebilirlik sorunlarıyla karşılaşır hesaplama maliyeti nedeniyle büyük veri her sorgu için mesafeler. Yüksek performans için, gibi görevlerde gerçek zamanlı çıkarım nesne algılama, modern derin öğrenme gibi mimariler YOLO11 için genellikle tercih edilmektedir. üstün hız ve doğruluk.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın