Macademia'nın robotik ve mühendislik programı · ücretsiz seviye tespiti ve kişisel öğrenme yolu

Makine Öğrenmesi · Bölüm 3

k en yakın komşu (k-NN)

Renk sensörüyle nesne tanımak: yeni ölçüm, komşularına bakar

Veri. Robot kolun ucundaki renk sensörü her nesne için iki sayı ölçer: ton ve parlaklık. Elimizde 90 etiketli ölçüm var: kırmızı top, mavi silindir, sarı küp. Kol yeni bir nesneyi kavradığında hangisi olduğunu söylemeli.

etiketli ölçümler90 ölçüm · k = 5
1 / 23
knn.pypython
  1. import numpy as np
  2. from renk import X, y, Q # 90 ölçüm, etiketleri, yeni ölçümler
  3. k = 5 # komşu sayısı
  4. for q in Q:
  5. d = ((X - q) ** 2).sum(1) # her ölçüme uzaklık²
  6. near = d.argsort()[:k] # en yakın k ölçüm
  7. votes = np.bincount(y[near], minlength=3) # sınıf oyları
  8. print(votes.argmax()) # en çok oy alan
  9. pred = [np.bincount(y[((X - t) ** 2).sum(1).argsort()[:k]], minlength=3).argmax() for t in T]
  10. print((np.array(pred) == y_test).mean()) # test doğruluğu

Sahnedeki her sayı, aynı algoritmanın tarayıcında yapılan gerçek çalıştırmasından gelir (sabit tohum, her seferinde aynı sonuç). Python kodunu kendi bilgisayarında çalıştırırsan rastgele başlangıçlar farklı olacağı için sayılar biraz değişebilir.

Nasıl çalışır

  1. Yeni ölçümün eğitim verisindeki her ölçüme uzaklığı hesaplanır.
  2. En yakın k ölçüm seçilir ve her biri kendi sınıfına bir oy verir.
  3. En çok oy alan sınıf tahmindir. Eğitim yoktur: model, verinin kendisidir.
  4. k = 1 her gürültülü noktaya uyar ve sınırlar parçalanır; k büyüdükçe sınırlar yumuşar. k'yi değiştir, sınırları ve test doğruluğunu izle.

Neden önemli

En basit sınıflandırıcıdır ama çoğu zaman şaşırtıcı derecede iyidir; yeni bir yöntemin karşılaştırıldığı ilk çizgidir. Aynı fikir, yapay zekâ uygulamalarındaki vektör aramanın temelidir: bir sorunun cevabını bulmak için anlamca en yakın metinler aranır.

ESOF 323, 11. hafta: robotlarda derin öğrenme →
Esc
  • PanelAna sayfaSayfa
  • ModüllerTüm modüllerSayfa
  • ParçalarParça ansiklopedisiSayfa
  • Mühendislik yoluBüyükler için robotik: 128 parça, 7 seviyeSayfa
  • Robotik dersi (ESOF 323)Üniversite robotik dersi, 14 haftaSayfa
  • TestlerimMini testler ve puanlarSayfa
  • Blok atölyesiSerbest blok programlamaAraç
  • Devre laboratuvarıSanal Arduino ve devreAraç
  • Robot arenasıSanal robot sürüşüAraç
  • OyunlarBloklarla 8 öğretici oyunAraç
  • Mikro Kart atölyesiSanal LED kartı bloklarla programlaAraç
  • Robot atölyesiMikro Kart'ı robota tak, bloklarla görev yapAraç