İçeriğe geç

5.5 · Seviye 1 · Makineler Nasıl Öğrenir

En yakın komşu

benzerlikle karar vermek ve uzaklığın anlamı

Yapay Zekâ Akademisi — M05, Klasik Modeller · 2.480 kelime · 3 saha durumu · ≈ 11 dk okuma · 17 dk dinleme

Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Belirli ürün ve modeller hakkındaki gözlemler yazıldıkları tarihte geçerlidir ve «Tarihli gözlem» etiketiyle yılı belirtilerek verilir. Yapay zekâ çıktıları doğrulanmadan karar dayanağı yapılmaz; dersler hukuki, tıbbi ya da mali danışmanlığın yerini tutmaz.

Açılış

Martın üçüncü haftası Mert derse bir kitap getirdi. Sayfaların arasında, babaannesinin bahçesindeki ağaçtan koparıp kuruttuğu bir yaprak vardı. Ağacın adını bilmiyordu; babaannesi telefonda "bizim bahçenin ağacı" demekle yetinmişti.

Zeynep Hanım yaprağı tahtaya bantlamadı. Sınıfın şubatta okul bahçesinden topladığı kırk yaprağın tablosu hâlâ ortak klasördeydi ve o günden beri tablonun son sütunu dolmuştu: her yaprağın hangi ağaçtan koparıldığı artık yazılıydı, ıhlamur ya da dut. "Bu yaprağın adını tabloya sor," dedi. "Ama tek kural var: yalnız ölçülere bakacaksınız. Ona en çok benzeyen yapraklar hangi ağaçtansa, o ağaçtan sayacağız."

Mert yaprağı ölçtü: boyu on santimetre, eni sekiz, sapı dört. Berk defterinde, tablodaki her yaprağın bu üç sayıdan ne kadar uzak olduğunu hesapladı ve en yakın tek yaprağı buldu: bir ıhlamur. Mert itiraz etti; tek yaprağa bakmak ona az geldi, en yakın üçüne baktı. Üçün ikisi duttu.

Elçin aynı işi hesap tablosunda yaptı ve başka bir sonuç buldu. Onun en yakın üç yaprağından ikisi ıhlamurdu, üstelik Berk'in listesinde dördüncü bile olmayan bir yaprak birinci sıradaydı. Sınıf bir süre hesap hatası aradı. Hata yoktu. Elçin'in tablosunda sap sütununun başlığında küçük harflerle "mm" yazıyordu; sapları milimetrik cetvelle o ölçmüştü.

Zeynep Hanım tahtaya tek bir soru yazdı: "Benzemek, neye göre?"

Tek fikir

En yakın komşu yöntemi yeni bir örneğe, kayıtlı örnekler içinde ona en çok benzeyenlerin cevabını verir. Bütün yük "benzemek" kelimesindedir: hangi sütunlar, hangi birim, hangi uzaklık ve kaç komşu, cevabı insanın seçimleri belirler.

Nasıl çalışır

Bu modülde şimdiye kadar gördüğümüz modeller, eğitim sırasında tablodan birkaç sayı çıkarıp tabloyu bir kenara bırakıyordu. Doğrusal regresyon katsayılarını, lojistik regresyon ağırlıklarını saklar; yeni bir örnek geldiğinde tabloya bir daha bakılmaz. Bu dersin yöntemi tersini yapar.

Ders 1.4'te bir modelin önce eğitildiğini, sonra çıkarım yaptığını söylemiştik. En yakın komşuda eğitim neredeyse yoktur: bütün örnekler olduğu gibi saklanır. Bütün iş çıkarım anına kalır; her yeni yaprak için saklanan her yaprağa olan uzaklık hesaplanır. Bu yüzden yönteme bazen "tembel öğrenme" de denir. Ezber gibi görünür ve bir anlamda ezberdir, ama işe yarayan ezberdir: yeni örneğin cevabı, ona benzeyen eski örneklerin cevabından okunur. Bedeli de buradan gelir. Tablo kırk satırken hesap anlıktır; kırk milyon satır olunca her soru kırk milyon uzaklık ister ve tablonun kendisi her an elde tutulmak zorundadır.

Ders 4.1'de parametreyi, eğitim sırasında veriden ayarlanan sayı diye tanımlamıştık. Bu yöntemde veriden ayarlanan bir sayı yoktur. Yine de iki seçim yapılmadan tek bir cevap çıkmaz: k kaç olacak, ve uzaklık nasıl ölçülecek.

Sınıfın kırk yaprağından sekizini alalım; dördü ıhlamur, dördü dut. Ölçüler santimetre cinsinden.

YaprakAğaçBoyEnSap
1ıhlamur8,07,04,0
2ıhlamur7,06,53,5
3ıhlamur9,58,04,5
4ıhlamur6,56,03,0
5dut11,08,02,5
6dut12,09,03,0
7dut10,07,52,0
8dut9,57,53,5

Mert'in yaprağı on, sekiz ve dört. Üçüncü yaprakla arasındaki uzaklığı hesaplayalım. Boy farkı yarım santimetre, en farkı sıfır, sap farkı yarım. Karelerin toplamı sıfır virgül beş, karekökü yaklaşık sıfır virgül yetmiş bir. Sekizinci yaprakla uzaklık sıfır virgül seksen yedi, beşinciyle bir virgül sekiz, yedinciyle iki virgül sıfır altı, birinciyle iki virgül iki dört.

Tek komşuya bakan Berk'in cevabı üçüncü yaprak, yani ıhlamur. Üç komşuya bakan Mert'inki üç, sekiz ve beş: iki dut, bir ıhlamur, cevap dut. Şimdi sap sütununu Elçin gibi milimetreyle yazalım. Yeni yaprağın sapı artık kırk, birinci yaprağınki kırk, üçüncününki kırk beş, beşincininki yirmi beş.

YaprakAğaçUzaklık, sap santimetreUzaklık, sap milimetre
3ıhlamur0,715,02
8dut0,875,05
5dut1,8015,03
7dut2,0620,01
1ıhlamur2,242,24

Sap farkları on katına çıkınca uzaklığı neredeyse yalnız sap belirler. Birinci yaprağın sapı yeni yaprağınkiyle aynı olduğu için birden en yakın komşu olur; beşinci yaprak ise sapı kısa olduğu için listenin sonuna düşer. Elçin'in üç komşusu bir, üç ve sekiz: iki ıhlamur, bir dut.

Ders 4.3'te Melis'in kırk sütununda, büyük sayılar taşıyan para sütunlarının eksenleri kendine çektiğini görmüştük; burada olan da odur. Uzaklık, sütunların birimini sorgulamadan toplar. Her sütunu kendi yayılımına bölerek ortak bir ölçeğe getirmek sık başvurulan çaredir ve bu tabloda en yakın üç komşuyu üç, sekiz ve bir yapar. Ama bu da bir seçimdir, kendiliğinden doğru olan değil.

Yöntem yeni değildir.

Bu sınırı okumak için bir kavram gerekiyor. Diyelim ki aynı boy, en ve sap ölçüsünü taşıyan yaprakların yüzde onu gerçekte öteki ağaçtan. Bu durumda ölçülere bakan hiçbir kural, ne kadar akıllı olursa olsun, o yaprakların hepsini doğru bilemez. Dağılımı tam bilen birinin bile kaçınamayacağı bu en düşük hata oranına Bayes hata oranı denir.

Son bir özellik çok sütunlu verilerde ortaya çıkar. Sütun sayısı arttıkça, rastgele dağılmış noktaların bir soru noktasına olan uzaklıkları birbirine yaklaşır; en yakın ile en uzak arasındaki fark erir.

Bin sütunlu bir tabloda "en yakın" komşu, en uzak olandan ancak yüzde on kadar daha yakındır. Komşuluk kavramı orada kendi anlamını yitirmeye başlar. Gerçek veriler tamamen rastgele değildir ve çoğu zaman sütunlar birbirine bağlıdır, bu yüzden etki her zaman bu kadar sert değildir; ama yön budur.

Sahada

Nerede yanılır

Açılıştaki sınıf, yöntemin en sık bozulduğu yeri kendi elleriyle buldu: birim. Uzaklık ölçüsü bir sütunun santimetre mi milimetre mi olduğunu bilmez; yalnız sayıları görür. Yayılımı en büyük sütun uzaklığı ele geçirir ve öteki sütunlar sessizce susar. Bu, hesap tablosunda görünmeyen bir hatadır, çünkü hiçbir hücre yanlış değildir. Belirtisi, komşuların tek bir sütunda birbirine çok benzeyip ötekilerde dağınık olmasıdır. Komşu listesini, sütun sütun yeni örnekle birlikte okumak bu yüzden işe yarar.

İkinci zayıf nokta k'dır. k bir olduğunda cevap tek bir kayda bağlanır; o kayıtta tür yanlış yazılmışsa, yanlış yazılan tür doğrudan cevaba geçer. k büyüdükçe tek tek kayıtların gürültüsü azalır, ama komşular yeni örnekten giderek uzaklaşır. k tablonun tamamına eşit olursa yöntem her soruya, tabloda en kalabalık olan sınıfı söyler. İki sınıflı bir problemde çift bir k beraberlik de doğurabilir: sekiz yapraklık tabloda k sekiz olsaydı dört dörtlük bir eşitlik çıkardı.

Üçüncüsü boş bölgelerdir. Yöntem her soruya bir komşu bulur, en yakın kayıt kilometrelerce uzakta olsa bile. Aynur Hanım'ın uzaklık sütunu bu yüzden vardır: cevap kadar, cevabın ne kadar uzaktan geldiği de bilgi taşır. Çok sütunlu verilerde bu sorun derinleşir; benzetimde gördüğümüz gibi orada herkes herkese aşağı yukarı eşit uzaklıktadır ve "en yakın" sıralaması küçük farklara, hatta ölçüm gürültüsüne bağlı kalır.

Mert akşam babaannesini aradı: ağaç bir duttu. Santimetreyle hesaplanan üç komşunun cevabı tutmuştu, ötekiler tutmamıştı. Bu tek yaprak k'nın üç, birimin santimetre olması gerektiğini göstermez. Hangi seçimin iyi çalıştığını, türü bilinen yaprakları sırayla tablodan çıkarıp kalanlarla tahmin ederek ve kaç tanesinin doğru bilindiğini sayarak görmek gerekir.

Uygulama

Bu çalışmada sekiz yapraklık tabloyla en yakın komşuyu elle çalıştıracak ve aynı yaprağın cevabının hangi seçimlerle değiştiğini kendi gözünle göreceksin. Bir hesap tablosu ve on beş dakika yeter.

  1. Dersteki sekiz yaprağın boy, en ve sap ölçülerini ve ağaç adını bir hesap tablosuna yaz. Altına Mert'in yaprağını ekle: on, sekiz, dört.
  2. Her yaprak için üç farkın karesini ayrı sütunlarda hesapla, kareleri topla ve toplamın karekökünü al. Türkçe hesap tablosunda karekök için =KAREKÖK(F2) kullanılır.
  3. Tabloyu uzaklığa göre küçükten büyüğe sırala. k bir, üç ve beş için cevabı yaz.
  4. Sap sütununu on ile çarparak milimetreye çevir, Mert'in yaprağının sapını da kırk yap. Uzaklıkları yeniden hesapla ve üç k için cevabı yeniden yaz.
  5. Bu kez farkların karesi yerine mutlak değerlerini topla; sap yine santimetre olsun. Sıralamanın ilk üçü değişti mi?
  6. Bir yazım hatası taklit et: sap yine santimetreyken üçüncü yaprağın ağaç adını dut yap. k bir ile k üçün cevabı bu tek hücreden nasıl etkilendi?
  7. Bulduklarını bir cümleyle özetle: aynı yaprak, hangi seçimlerle hangi ağaca gitti?

Sonuçlar şöyle çıkmalı. Santimetreyle k birde ıhlamur, k üçte dut, k beşte üçe iki dut. Milimetreyle üç k'da da ıhlamur; k beşte çoğunluk üçe iki. Mutlak farklarla ilk iki komşu yine üçüncü ve sekizinci yapraktır, üçüncü sırada beşinci ve yedinci yaprak iki buçukta berabere kalır; ikisi de dut olduğu için k üçün cevabı değişmez. Altıncı adımda k birin cevabı ıhlamurdan duta döner, çünkü yalnız o tek kaydın adı değişti; cevap bu kez babaannenin söylediğiyle örtüşse de kaynağı bir yazım hatasıdır. k üçün cevabı dut kalır, öteki iki komşu zaten dut olduğu için.

Defter: Bu çalışmanın sonucunu "Komşuluk" sayfasına tek tablo olarak geçir: satırlarda k, sütunlarda santimetre, milimetre ve mutlak fark; en alta, birinin sana "en çok buna benziyor" dediği son durumu ve o benzerliğin hangi özelliklere bakılarak kurulduğunu ekle.

Hata köşesi

Yaygın yanlış"Eğitim yapılmadığına göre bu yöntem bir şey öğrenmiyor."
Doğrusu

Öğrendiği şey tablonun kendisidir; bilgi bir denklemde değil kayıtlarda durur. Tabloya yeni ve doğru etiketlenmiş bir yaprak eklemek, yöntemi hiçbir hesap yapmadan anında değiştirir. Bunun tersi de doğrudur: yanlış etiketlenmiş bir kayıt, o kayda yakın düşen her yeni örneğin cevabını bozar.

Yaygın yanlış"Uzaklık nesnel bir ölçüdür, iki sayı arasındaki farkı tartışmaya gerek yok."
Doğrusu

Uzaklık, hangi sütunların alındığına, her sütunun hangi birimle yazıldığına ve farkların nasıl toplandığına bağlıdır; bunların her biri bir karardır. Açılıştaki yaprak yalnız sap sütununun birimi değişince başka ağaca gitti. Ölçeklemek de bu kararlardan biridir, onu ortadan kaldırmaz.

Yaygın yanlış"Ne kadar çok komşuya bakılırsa cevap o kadar güvenilir olur." k büyüdükçe komşular yeni örnekten uzaklaşır ve cevap, tablonun genel çoğunluğuna kayar.
Doğrusu

En iyi k, verinin büyüklüğüne ve gürültüsüne bağlıdır ve sınanarak seçilir.

Sorumluluk

En yakın komşu bir karar vermez, bir benzerlik sunar ve bu benzerliğin tanımını yapan insandır. Melis'in ekranında hangi sütunların uzaklığa gireceğine Elif karar verir ve kararını yazar. Bu karar masum değildir: dosyanın bulunduğu ilçe uzaklığa girerse, geçmişte o ilçede düşük ödenmiş dosyalar yeni dosyaların komşusu olur ve eski bir ödeme alışkanlığı yeni dosyalara taşınır. Eksper komşu listesini bir öneri olarak okur, ödeme kararının sorumlusu yine odur. Aynur Hanım'ın ve Onur'un pencereleri için de aynı kural geçerlidir: komşunun neden komşu olduğu ekranda görünür, seçilen k ve birimler belgeye yazılır ve seçimin işe yarayıp yaramadığı, sonucu bilinen örneklerle düzenli olarak doğrulanır.

Kapanış

  1. En yakın komşu yöntemi örnekleri olduğu gibi saklar ve yeni bir örneğe, ona en yakın k kaydın çoğunluk cevabını ya da değerlerinin ortalamasını verir; işin tamamı çıkarım anında yapılır.
  2. Cevabı belirleyen, uzaklık ölçüsü, sütunların birimi ve ölçeği ve k'dır; açılıştaki yaprak yalnız bir sütunun birimi değişince başka ağaca gitti.
  3. Büyük örneklemde tek komşu kuralının hatası en düşük olası hatanın iki katını aşmaz, ama çok sütunlu verilerde uzaklıklar birbirine yaklaşır ve "en yakın" sözü anlamını yitirmeye başlar.

Üç soru

  1. Berk, Mert ve Elçin aynı yaprak için neden farklı cevaplar buldu? Her birinin seçimini adlandır.
  2. Bu yöntemde eğitim neden neredeyse hiç sürmez, buna karşılık hangi bedel ödenir?
  3. Aynur Hanım komşuların yanına uzaklıklarını da yazıyor. Bu sütun hangi hatayı yakalamaya yarar?

Yanıtlar

  1. Berk tek komşuya baktı ve en yakın yaprak ıhlamurdu. Mert üç komşuya baktı ve üçün ikisi duttu. Elçin de üç komşuya baktı ama sapı milimetreyle yazmıştı; sap farkları on katına çıkınca uzaklığı sap belirledi ve komşular değişti. Birinci fark k'nın seçimi, ikincisi bir sütunun birimidir.
  2. Eğitim, örnekleri olduğu gibi saklamaktan ibarettir; ayarlanacak bir katsayı yoktur. Bedel çıkarım anında ödenir: her yeni örnek için saklanan bütün örneklere uzaklık hesaplanır ve tablo hep elde tutulur. Tablo büyüdükçe her soru daha pahalıya gelir.
  3. Yöntem en yakın kayıt çok uzakta olsa bile bir cevap verir. Uzaklık sütunu, yeni tasarıma gerçekten benzeyen bir tasarımın defterde olup olmadığını gösterir; en yakın komşu bile uzaksa cevabın dayanağı zayıftır ve rapora bu yazılır.

Sonraki derse köprü

Bu derste her yaprağın yanında ağacının adı yazılıydı; komşuya bakmak, o adı ödünç almaktı. Adlar silindiğinde de uzaklık hesaplanabilir ve birbirine yakın duran noktalar bir araya toplanabilir. Ders 5.6, Kümeleme, bu toplama işini adım adım yapan bir yöntemi ve ortaya çıkan grupların neye karşılık geldiği sorusunu ele alıyor.

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.