İçeriğe geç

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

Girdi, çıktı, fonksiyon

öğrenmeyi bir eşleme bulmak olarak görmek

Yapay Zekâ Akademisi — M04, Öğrenme Problemi · 2.419 kelime · 3 saha durumu · ≈ 11 dk okuma · 16 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ış

Şubatın ilk pazartesisi Melis, Elif'in masasına iki kâğıt bıraktı. Birincisi hasar biriminin yıllardır kullandığı ön karşılık cetveliydi: bir dosya açıldığında, eksper daha araca bakmadan, şirketin o dosya için kenara ayıracağı parayı veren tek satırlık bir kural. Satırı on iki yıl önce emekli olmuş bir eksper şefi yazmıştı: hasarlı her parça için yirmi bin lira, üstüne on bin lira işçilik.

İkinci kâğıtta Melis'in kapanmış dosyalardan seçtiği beş satır vardı. Bir parçası hasarlı araç için otuz bin lira ödenmişti, iki parçalı için kırk yedi bin, üç parçalı için altmış sekiz bin, dört parçalı için seksen üç bin, beş parçalı için yüz iki bin. Cetvel ilk satırı tutturuyordu; sonra her satırda biraz daha fazla para ayırıyordu ve beş parçalı dosyada fark sekiz bine çıkıyordu.

"Bu satırı ben düzeltebilirim," dedi Melis. "Yirmi yerine on sekiz, on yerine on iki yazarsam beşi de neredeyse tutuyor."

Elif kâğıda baktı. Melis'in iki sayısı gerçekten daha iyi oturuyordu. Ama ekibin kurduğu hasar tutarı modeli de aynı şeyi yapıyordu: kırk sütunluk tabloya bakıp birtakım sayıları ayarlıyordu. Fark yalnız sütun sayısında mıydı?

Melis bir şey daha sordu: "Eski şef bu iki sayıyı neye bakarak yazmıştı? Biz neye bakarak değiştiriyoruz?"

Tek fikir

Bir model, girdileri çıktılara bağlayan bir fonksiyondur ve içinde ayarlanabilir sayılar taşır. Öğrenmek, o sayıları elle yazmak yerine, çıktısı bilinen örneklere en iyi uyacak biçimde veriden seçmektir.

Nasıl çalışır

Seviye 0'da veriyi tablo olarak okuduk. 3.3'te tanımladığımız öznitelik ile hedef değişken bu dersin iki ucunu oluşturur: öznitelikler bir dosyayı anlatan sütunlardır, hedef değişken ise tahmin etmek istediğimiz sütun. Hasarlı parça sayısı bir özniteliktir, ödenen tutar hedef değişkendir. Bu ders ikisi arasındaki köprüye bir ad veriyor.

Eksper şefinin cetveli bir fonksiyondur. Girdisi parça sayısıdır, çıktısı lira. Üç parça girerseniz yetmiş bin çıkar; bugün de, yarın da. Bunu bir hesap formülü olarak yazmak kolaydır: çıktı, girdinin yirmi katına on eklenerek bulunur. Kısaca y eşittir yirmi çarpı x artı on, x parça sayısı, y bin lira olarak tutar.

Dikkat edilecek yer şurası: "her girdiye tek bir çıktı" kuralı fonksiyona aittir, veriye ait değildir. Elif'in tablosunda üç parçalı yüzlerce dosya var ve hepsine aynı para ödenmemiş. Biri bir tamponla bir çamurluktur, öteki bir kaputla iki far; biri ucuz bir şehirde, öteki yetkili serviste onarılmıştır. Parça sayısı aynı, tutar farklı. Fonksiyon bu dosyaların hepsine aynı cevabı verecektir. Bu bir kusur değil, girdiyle sınırlı olmanın bedelidir: fonksiyon yalnız kendisine verilen sütunları görür. Görmediği her şey, tablodaki gerçek tutar ile fonksiyonun çıktısı arasındaki farkta kalır.

Bu çerçeve istatistikte yerleşik bir resimdir.

Breiman'ın danışmanlık yıllarından anlattığı iki iş bu resmin ne kadar genel olduğunu gösterir. Birinde girdi, o güne ve önceki günlere ait dört yüz elliden fazla hava ölçümüydü, çıktı ertesi günün ozon düzeyi. Ötekinde girdi bir kimyasal bileşiğin kütle tayfıydı, çıktı ise iki değerden biri: bileşikte klor var ya da yok. Girdiler ve çıktılar çok farklı, ama ikisinde de iş aynı cümleyle söylenir: girdiyi alıp çıktıyı veren bir fonksiyon kurmak.

Şimdi cetvelin içine bakalım. "Yirmi çarpı x artı on" tek bir fonksiyondur. "a çarpı x artı b" ise bir fonksiyon ailesidir: a ve b'ye verilen her değer çifti ailenin başka bir üyesini seçer. Yirmi ile on bir üye, on sekiz ile on iki başka bir üye, on dokuz ile dokuz bir üçüncüsü.

1.4'te modeli, bir girdiyi alıp çıktı üreten ve ayarlarını veriden öğrenmiş hesap düzeni olarak tanımlamıştık. Bu dersin diliyle model, parametreleri ayarlanmış bir fonksiyondur; eğitim de parametreleri ayarlama işidir. Eksper şefi parametreleri tecrübesiyle, elle yazmıştı. 1.2'de gördüğümüz kural tabanlı sistemler hep böyledir: fonksiyonu da sayılarını da bir insan seçer. Öğrenen bir sistemde aileyi yine insan seçer, ama sayıları örnekler belirler.

Melis'in beş satırında üç aday parametre çiftini deneyelim. Tablodaki farklar, gerçek tutardan fonksiyonun çıktısı çıkarılarak bulunmuştur; artı işaret fonksiyonun az tahmin ettiğini, eksi işaret fazla tahmin ettiğini söyler.

ParçaÖdenen (bin lira)20x + 10Fark18x + 12Fark19x + 9Fark
13030030028+2
24750−348−1470
36870−266+266+2
48390−784−185−2
5102110−81020104−2

Eski cetvelin farkları hep eksi tarafta ve parça sayısı arttıkça büyüyor: kural her ek parçaya fazla para biçiyor. Melis'in çifti farkları sıfırın iki yanına dağıtıyor ve hiçbiri iki bini geçmiyor. Üçüncü çift de öyle. Hangisinin "daha iyi" olduğunu söylemek için farkları tek bir sayıya toplamanın bir yolu gerekir; o yol 4.5'in konusu. Şimdilik göz kararı yetiyor: son iki çift, eski cetvelden açıkça daha iyi uyuyor ve birbirinden pek ayrılmıyor.

Öğrenme dediğimiz şey burada küçültülmüş haliyle görünüyor. Bir aile seçildi, düz bir çizgi. Çıktısı bilinen örnekler toplandı. Ailenin üyeleri arasından örneklere en iyi uyanı arandı. Elif'in gerçek modeli kırk sütunla ve binlerce satırla çalışır, parametre sayısı ikiden çok fazladır ve aramayı Melis'in kalemi değil bir algoritma yapar. Ama soru aynıdır.

Sahada

Nerede yanılır

Aynı beş noktaya uyan fonksiyon sayısı sınırsızdır. Düz çizgi ailesinden ayrılıp daha esnek bir aile seçersek, beş noktanın hepsinden tam olarak geçen bir eğri bulabiliriz.

Tablodaki farklara bakan biri bu eğriyi en iyi aday sanabilir: farkların hepsi sıfır. Oysa sekiz parçalı bir dosyada düz çizgiler yüz elli altı ile yüz yetmiş bin arasında bir şey söylerken eğri beş yüz seksen üç bin söylüyor. Örneklere kusursuz uyan fonksiyon, örneklerin dışındaki ilk girdide saçmalıyor. Bunun nedeni basit: beş nokta, beş sayıyla ayarlanabilen bir aileye yetecek kadar bilgi taşır ama o sayıların gerçek bir düzeni mi yoksa her dosyanın kendi rastlantısını mı izlediğini ayırt etmeye yetmez.

Breiman aynı sorunun daha az göze batan bir biçimini anlatır.

Bu ikinci yanılma daha sinsidir, çünkü sayılar göz kararıyla aynı görünür. Melis'in on sekiz ile on iki çifti ve on dokuz ile dokuz çifti beş dosyada birbirine çok yakın; ama sabit terim birinde on iki, ötekinde dokuz bin. Biri "her dosya parçadan bağımsız on iki bin götürüyor", öteki "dokuz bin götürüyor" der. Bu sayıyı bir sunumda "işçilik bedeli" diye okumak, aynı veriye eşit derecede uyan başka bir çiftin başka bir hikâye anlatacağını unutmaktır. Parametreye anlam yüklemeden önce, veriye yaklaşık aynı ölçüde uyan başka çiftlerin ne dediğine bakılır.

Hangi fonksiyonun görülmemiş dosyalarda iyi çalışacağı sorusunun adı genellemedir ve Modül 6 onu ayrıntılı ele alıyor.

Uygulama

Bu çalışmada Melis'in beş dosyasıyla kâğıt üzerinde parametre arayacak ve aynı veriye uyan iki farklı fonksiyonun yeni bir dosyada nasıl ayrıldığını göreceksin. Hesap makinesi ya da bir hesap tablosu yeter.

  1. Kareli kâğıda yatay ekseni parça sayısı, dikey ekseni bin lira olacak biçimde iki eksen çiz. Beş noktayı koy: bir parçada otuz, iki parçada kırk yedi, üç parçada altmış sekiz, dört parçada seksen üç, beş parçada yüz iki.
  2. Eski cetveli, yirmi çarpı x artı on çizgisini, aynı kâğıda çiz. Çizginin noktaların hangi tarafında kaldığını bir cümleyle yaz.
  3. Kendi a ve b değerlerini seç. Bir ipucu: a, bir ek parçanın tutara eklediği miktardır; ardışık iki noktanın arasındaki dikey uzaklığa bak. b ise çizginin sıfır parçada nereden başladığıdır.
  4. Seçtiğin çift için beş dosyanın her birinde çıktıyı hesapla ve gerçek tutardan çıkar. Farkların hepsi aynı işaretliyse çizgiyi yukarı ya da aşağı kaydır ve yeniden dene.
  5. Farkları birbirine yakın olan ikinci bir çift bul; a'sı ilkinden en az bir farklı olsun.
  6. İki çiftin sekiz parçalı ve sıfır parçalı bir dosya için ne söylediğini hesapla. Kanıt kartındaki eğrinin aynı girdiler için söylediğiyle karşılaştır.
  7. Sabit terimi, b'yi, bir cümleyle yorumlamaya çalış. İki çiftinin b'si farklıysa, hangi yoruma güvenebileceğini yaz.

Kendi sonuçlarını şununla karşılaştırabilirsin. On sekiz ile on iki çifti sekiz parçada yüz elli altı, on dokuz ile dokuz çifti yüz altmış bir bin lira verir; aralarındaki beş bin lira, eğrinin söylediği beş yüz seksen üç binin yanında küçük kalır. Sıfır parçada iki çift on iki ve dokuz bin der. Gerçek tabloda hiç hasarlı parçası olmayan, yalnız cam ya da çekici bedeli ödenmiş dosyalar vardır ve onları bu beş satır temsil etmez; b'nin anlamı bu yüzden bu veriden okunamaz.

İstersen aynı işi kendi tuttuğun bir kayıtla yap: bir taksi fişindeki kilometre ve ücret, bir ay boyunca yaktığın elektrik ve fatura tutarı. Sabit terimin orada bir anlamı var mı, sor.

Defter: "Kutunun içi" adını verdiğin bir sayfaya kendi işinden ya da gündelik hayatından üç fonksiyon yaz: her birinin girdisini, çıktısını, parametrelerini ve o parametreleri kimin, neye bakarak seçtiğini.

Hata köşesi

Yaygın yanlış"Veri bir fonksiyona tam uymuyorsa model yanlıştır."
Doğrusu

Aynı girdiye sahip dosyaların farklı tutarlar alması verinin doğasıdır; fonksiyon yalnız kendisine verilen sütunları görür ve geri kalan her şey fark olarak kalır. Farkın sıfır olmaması kusur değildir. Asıl sorulacak, farkın belli bir yönde birikip birikmediği, eski cetvelde olduğu gibi parça sayısı arttıkça hep aynı tarafa kayıp kaymadığıdır.

Yaygın yanlış"Model veriden öğrendiyse içindeki sayılar dünyanın gerçeğini söyler."
Doğrusu

Parametreler, seçilen ailenin içinde örneklere en iyi uyan değerlerdir. Aile değişirse sayılar değişir; aynı veriye eşit derecede uyan başka çiftler de vardır. On iki bin liralık sabit terimi işçilik bedeli diye okumak, verinin söylemediği bir şeyi ona söyletmektir.

Sorumluluk

Fonksiyon ailesini seçen, girdileri belirleyen ve sonucu kullanan insandır. Eksper şefinin cetvelinde bu kişi bir addı ve kural onun tecrübesine dayanıyordu; öğrenen bir modelde aynı karar daha görünmez yerlere dağılır: hangi sütunların girdi olacağına, hangi dosyaların örnek sayılacağına, hangi ailenin deneneceğine. Elif bu yüzden modelin belgesine üç satır ekledi: girdiler hangi sütunlar, aile ne, parametreler hangi tarihte hangi dosyalarla ayarlandı. Karşılık tutarı yanlış çıkarsa bedelini önce poliçe sahibi öder, ödemesi gecikir; o yüzden parametrelerin yorumunu sunuma koymadan önce doğrulama, başka bir dosya kümesiyle yeniden ayarlayıp aynı hikâyenin çıkıp çıkmadığına bakmaktır. Sorumlu kişi, bu kontrolün kaydını tutan kişidir.

Kapanış

  1. Fonksiyon her girdiye tek bir çıktı atar; model, parametreleri ayarlanabilen bir fonksiyon ailesidir ve öğrenme bu parametreleri çıktısı bilinen örneklere uyacak biçimde seçmektir.
  2. Kural tabanlı bir sistemde parametreleri insan yazar; öğrenen bir sistemde aileyi ve girdileri yine insan seçer, sayıları örnekler belirler.
  3. Aynı örneklere uyan sayısız fonksiyon vardır; örneklere kusursuz uyan bir fonksiyon örneklerin dışında saçmalayabilir ve parametrelere yüklenen anlam başka bir iyi aday tarafından çürütülebilir.

Üç soru

  1. Eksper şefinin cetveli ile Elif'in hasar tutarı modeli arasındaki fark nedir, ve hangi açıdan ikisi aynı türden şeydir?
  2. Üç parçalı iki dosyaya farklı tutarlar ödenmişse, "ödenen tutar, parça sayısının bir fonksiyonudur" cümlesi yanlış mıdır? Tablo ile model açısından ayrı ayrı cevapla.
  3. Dördüncü dereceden eğri Melis'in beş dosyasında hiç fark bırakmadığı halde neden düz çizgiden daha kötü bir aday sayılır?

Yanıtlar

  1. İkisi de girdiyi alıp bir tutar veren fonksiyondur ve içlerinde sayı taşırlar. Cetvelin ailesini de iki parametresini de bir insan, tecrübesine dayanarak yazmıştı; modelin ailesini ekip seçti, parametrelerini ise kapanmış dosyalar belirledi. Fark sütun sayısında değil, sayıların nereden geldiğindedir.
  2. Tablo için doğrudur ki bu cümle tutmaz: aynı girdiye iki çıktı düşüyor, demek ki tutar parça sayısının yanında başka şeylere de bağlı. Model için ise cümle tanım gereği doğrudur; model her üç parçalı dosyaya aynı tutarı verir ve aradaki fark, modelin görmediği etkenlerin payı olarak kalır.
  3. Çünkü beş noktaya beş parametreyle tam uyuyor ve bu uyum gerçek bir düzenden değil, her dosyanın kendi rastlantısından geliyor. Sekiz parçada beş yüz seksen üç bin, sıfır parçada kırk yedi bin lira söylemesi, örneklerin dışında akla yatkın olmadığını gösterir; düz çizgiler aynı girdilerde birbirine yakın ve makul değerler verir.

Sonraki derse köprü

Bu derste Melis'in beş dosyasının her birinin yanında ödenen tutar yazıyordu ve parametreleri bu tutarlara bakarak seçtik. Çıktısı bilinen örneklerle öğrenmenin kendi adı ve iki ayrı yüzü var: çıktı bir tutar gibi sayı olabilir ya da "kusurlu, sağlam" gibi bir sınıf. Ders 4.2, Denetimli öğrenme, etiketli örneklerle öğrenmeyi ve bu iki yüzün nerede ayrıldığını 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.