5.2 · Seviye 1 · Makineler Nasıl Öğrenir
Lojistik regresyon
olasılık üreten sınıflandırıcı
Yapay Zekâ Akademisi — M05, Klasik Modeller · 2.400 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ış
Martın ilk salısı, göz dibi programının güncellenmiş hâli sağlık merkezine kurulalı üç gün olmuştu. Dr. Seda Hanım sabahın ikinci hastasının fotoğraflarını açtığında ekranda alışık olduğu satırı aramadı; o satır artık yoktu. Eskiden program "Sevk gerektiren retinopati: yok" ya da "var" yazardı. Şimdi tek bir satır vardı: "Sevk gerektiren retinopati olasılığı: yüzde yirmi üç."
Hasta elli dört yaşında bir kadındı, on yıldır diyabetliydi. Son üç aylık şeker ortalaması yüksekçe gelmişti. Yan masada hemşire bir sonraki hastayı çağırmak için Seda Hanım'ın başını kaldırmasını bekliyordu.
Satıcının kurulumla birlikte gönderdiği yazı çekmecedeydi. Seda Hanım'ın şubatta sözleşmeye koydurduğu şart yerine getirilmişti: hangi yüzdeden sonra "sevk" deneceğini artık firma değil, sağlık merkezi seçecekti. Seçilene kadar program yalnız yüzdeyi gösterecekti.
Dr. Necati Bey kapıdan ekrana baktı. "Yüzde yirmi üç," dedi. "Peki gönderiyor muyuz, göndermiyor muyuz?"
Seda Hanım cevap vermeden önce başka bir soruyu düşünüyordu. Yüzde yirmi üç neyin yüzdesiydi? Bu kadının gözünün yüzde yirmi üçü mü hastaydı, yoksa ona benzeyen yüz kadının yirmi üçünde mi hastalık çıkacaktı? Ve program bu sayıyı hangi kadınlardan öğrenmişti?
Hemşire hâlâ bekliyordu. Seda Hanım sevk kâğıdını doldurmadan, fotoğraflara bir kez daha kendisi baktı.
Tek fikir
Lojistik regresyon, özniteliklerin ağırlıklı toplamını sıfır ile bir arasına sıkıştırarak bir olasılık üretir. O olasılık bir karar değildir; "evet" ya da "hayır" demek, sınırı kimin hangi bedelle seçtiğine bağlı ayrı bir adımdır.
Nasıl çalışır
Ders 4.2'de sınıflandırmayı, çıktısı önceden belirlenmiş sınıflardan biri olan problem diye tanımladık; göz dibinde sınıflar «sevk» ve «sevk yok»tur. Yine de bir sınıflandırıcının en çok işe yarayan çıktısı çoğu zaman sınıfın kendisi değil, o sınıfa ne kadar yakın olunduğudur. Bunu üretmenin en eski ve hâlâ en yaygın yollarından biri bu dersin konusu.
Göz dibi programı fotoğrafı çok daha büyük bir modelle okuyor. Mekanizmayı kâğıtta görebilmek için fotoğraf yerine kayıttan yalnız iki sayı okuyan küçük, kurgusal bir model kuralım. Birinci öznitelik diyabet süresi, yıl olarak. İkincisi son üç aylık şeker ortalaması, kısaca HbA1c, yüzde puanı olarak. Model her hasta için önce bir toplam hesaplar: eksi dokuz, artı diyabet süresinin onda biri, artı şeker ortalamasının sıfır virgül sekiz katı. Eksi dokuz başlangıç değeri, onda bir ve sıfır virgül sekiz de ağırlıklardır. Bu sayıları ders için biz seçtik; gerçek bir modelde eğitim verisinden öğrenilirler.
Üç hasta alalım. Ayşe Hanım beş yıldır diyabetli, şeker ortalaması yedi; toplamı eksi iki virgül dokuz. Açılıştaki hasta on yıldır diyabetli, ortalaması sekiz buçuk; toplamı eksi bir virgül iki. Üçüncü hasta yirmi yıldır diyabetli, ortalaması on; toplamı artı bir.
Bu toplamlar olasılık olamaz. Biri eksi, biri birden büyük olabilir; ağırlıklar biraz değişse toplam eksi otuza ya da artı kırka çıkabilirdi. Olasılık ise sıfırın altına inemez, birin üstüne çıkamaz. Toplamı bu aralığa taşıyan bir fonksiyon gerekir.
Üç toplamı bu fonksiyondan geçirelim. Eksi iki virgül dokuz yüzde beş virgül ikiye, eksi bir virgül iki yüzde yirmi üç virgül bire, artı bir yüzde yetmiş üç virgül bire dönüşür. Açılıştaki yüzde yirmi üç, bu kurgusal modelde böyle bir yoldan gelir.
Eğitim sırasında model, her geçmiş hastaya verdiği olasılığı o hastanın gerçek sonucuyla karşılaştırır. Sonradan sevk gerektiği anlaşılan bir hastaya yüzde iki demek ağır bir yanlış sayılır; yüzde sekseni ise hafif. Ağırlıklar, 4.5'te gördüğümüz biçimde, bütün hastalardaki bu yanlışların ortalaması küçülecek yönde ayarlanır.
Modelin asıl inceliği ağırlıkların ne anlattığındadır. Bunun için olasılığı başka bir biçimde yazmak gerekir.
Bu son cümle, ağırlıklara somut bir anlam verir. Toplam bir birim artınca olasılık oranı sabit bir sayıyla çarpılır. Şeker ortalamasının ağırlığı sıfır virgül sekiz olduğu için, şeker ortalaması bir puan artınca olasılık oranı iki virgül iki üç katına çıkar; diyabet süresi bir yıl artınca bir virgül bir katına.
Şimdi üç hastanın şeker ortalamasını birer puan artıralım.
| Hasta | Önce | Bir puan sonra | Olasılık farkı | Olasılık oranı |
|---|---|---|---|---|
| Ayşe Hanım | yüzde 5,2 | yüzde 10,9 | 5,7 puan | 2,23 katı |
| Açılıştaki hasta | yüzde 23,1 | yüzde 40,1 | 17,0 puan | 2,23 katı |
| Üçüncü hasta | yüzde 73,1 | yüzde 85,8 | 12,7 puan | 2,23 katı |
Olasılık oranı her hastada aynı katsayıyla büyüdü; olasılığın kendisi ise birinde altı puan, ötekinde on yedi puan arttı. Etki en çok ortadaki hastada görünür, çünkü lojistik fonksiyon yüzde elli civarında en dik, uçlarda en yatıktır.
Bu çerçeve yeni değildir.
Bir şey hâlâ eksik: karar. Model yüzde yirmi üç dedi. Sevk kâğıdı ise ya doldurulur ya doldurulmaz. Olasılığı bir sınıfa çevirmek için bir sınır seçilir: şu yüzdenin üstü "sevk", altı "bekle". Modelin içinde böyle bir sınır yoktur. Yüzde elli sık kullanılır ama doğal bir seçim değildir; 4.5'te Murat Bey'in bedel tablosunda gördüğümüz gibi, iki yanlışın bedeli farklıysa sınır da ortadan kayar. Sınırın nasıl ve kimin tarafından seçileceğini Modül 7'de ayrıntısıyla ele alacağız.
Sahada
Nerede yanılır
Lojistik regresyon, her özniteliğin olasılık oranının logaritmasına düz bir çizgi gibi eklendiğini varsayar. Şeker ortalaması yediden sekize çıkınca da on birden on ikiye çıkınca da aynı çarpan uygulanır. Gerçek ilişki böyle değilse model bunu kendiliğinden göremez. Bir değerin hem çok düşüğü hem çok yükseği riskliyse, kandaki potasyum gibi, tek bir ağırlık iki ucu birden yakalayamaz; ya birini görür ya ikisini de ortalamaya gömer. Bu durumda öznitelik, modele verilmeden önce elle dönüştürülmelidir ve hangi dönüştürmenin gerektiğini model değil, alanı bilen insan söyler.
İkinci yanılgı yeri olasılığın kaynağıdır. Yüzde yirmi üç, modelin eğitildiği hastalar arasında bu kadına benzeyenlerin yaklaşık ne kadarında sevk gerektiğinin tahminidir. Eğitim hastaları başka bir bölgeden, başka bir yaş dağılımından ya da başka bir yıldan geliyorsa sayı Trabzon'daki bir aile sağlığı merkezine olduğu gibi taşınmaz.
Üçüncü yanılgı ağırlıkların okunuşundadır. "Şeker ortalaması bir puan artınca olasılık oranı iki virgül iki üç katına çıkar" cümlesi, öteki öznitelikler aynı kalırken modelin verdiği tahmini anlatır. Şeker ortalamasını düşürmenin bu kadar etki yapacağını söylemez. Ders 3.5'teki karıştırıcı değişkenler burada da işler: ağırlık bir ilişkinin ölçüsüdür, bir müdahalenin sonucu değil.
Uygulama
Bu çalışmada bir hesap tablosunda küçük bir lojistik regresyonu elle çalıştıracak, sonra bir olasılığı karara çeviren adımı ayrı bir satır olarak yazacaksın.
- Bir hesap tablosu aç. Birinci sütuna diyabet süresini, ikinci sütuna şeker ortalamasını yaz: beş ile yedi, on ile sekiz buçuk, yirmi ile on.
- Üçüncü sütunda toplamı hesapla: eksi dokuz, artı birinci sütunun sıfır virgül biri, artı ikinci sütunun sıfır virgül sekizi.
- Dördüncü sütunda olasılığı hesapla. Türkçe hesap tablosunda formül
=1/(1+ÜS(-C2))biçimindedir; toplamın eksi işaretlisinin üstelini alıp bire ekler ve biri buna böler. - Beşinci sütunda olasılık oranını hesapla: olasılığı, birden olasılığın çıkarılmasıyla elde edilen sayıya böl.
- İkinci sütundaki her değeri bir artırıp üç sütunu yeniden hesapla. Yeni olasılık oranını eskisine böl; üç hastada da aynı sayıyı görmelisin.
- Bu kez birinci sütunu on artır, ikinciyi eski haline getir. Olasılık oranı hangi sayıyla çarpıldı? Bu sayıyı ağırlıktan nasıl önceden bulabilirdin?
- Son satıra kendi sınırını yaz: bu kurgusal model için hangi yüzdeden sonra "sevk" derdin? Yanına iki şey ekle: o sınırda kaçacak hastayı mı daha çok düşündün, boşuna gidecek hastayı mı; ve bu sınırı senin yerine kimin seçmesi gerekirdi.
Bulman gereken sayılar şunlar. Toplamlar eksi iki virgül dokuz, eksi bir virgül iki ve artı bir; olasılıklar yüzde beş virgül iki, yirmi üç virgül bir ve yetmiş üç virgül bir. Olasılık oranları yaklaşık sıfır virgül sıfır beş beş, sıfır virgül üç ve iki virgül yetmiş iki. Beşinci adımda her hastada oran iki virgül iki üç katına çıkar. Altıncı adımda on yıllık artış toplamı bir birim büyütür, olasılık oranı da iki virgül yetmiş ikiyle çarpılır; bu sayı, sıfır virgül birlik ağırlığın on katının, yani birin üstelidir. Yedinci adımın tek doğru cevabı yoktur.
Defter: "Yüzdenin okunuşu" başlıklı sayfaya üç hastanın olasılığını ve oranını, kendi seçtiğin sınırı ve o sınırın gerekçesini yaz; altına bir yüzdeyle karşılaştığın son yeri ekle, bir hava durumu uygulaması da olabilir, bir tahlil sonucu da, ve o yüzdenin hangi topluluktan geldiğini bilip bilmediğini not et.
Hata köşesi
Yaygın yanlış"Adında regresyon geçtiğine göre lojistik regresyon bir sayı tahmin eder, sınıflandırıcı değildir."
Ad, modelin içindeki toplamdan gelir; o toplam olasılık oranının logaritması üzerine kurulmuş bir regresyondur. Modelin ürettiği şey ise bir sınıfa ait olma olasılığıdır ve kullanıldığı iş sınıflandırmadır. Ders 4.2'deki ayrım çıktının türüne bakar: burada çıktı "sevk gerekir" ile "gerekmez" arasındadır.
Yaygın yanlış"Model yüzde ellinin üstünü zaten 'evet' sayar."
Lojistik regresyon yalnız olasılık üretir; yüzde elli, birçok yazılımın hazır ayarıdır, modelin parçası değildir. Kaçan bir hastalık ile boşuna bir sevk aynı bedeli taşımıyorsa yüzde elli çoğu zaman yanlış yerdir ve sınır, bedelleri bilen kişi tarafından ayrıca seçilir.
Yaygın yanlış"Ağırlığı iki kat büyük olan öznitelik olasılığı iki kat artırır."
Ağırlık olasılık oranının logaritmasına eklenir; olasılığın kendisine değil. Aynı ağırlık yüzde beşlik bir hastada olasılığı altı puan, yüzde yirmi üçlük bir hastada on yedi puan oynatır. Ağırlıkları karşılaştırırken özniteliklerin birimine de bakılır: bir yıl ile bir puan aynı büyüklükte bir değişim değildir.
Sorumluluk
Yüzde yirmi üçü sevk kararına çeviren kişi hekimdir; program bir girdi verir, kararı vermez. Sınırı ise tek bir hekim her hastada yeniden icat etmemelidir: sağlık merkezi, kaçan bir retinopatinin ve boşuna bir sevkin bedelini göz hekimleriyle birlikte tartıp yazılı bir sınır seçer ve hasta dosyasına yüzdeyle birlikte o sınırı da kaydeder. Satıcı, olasılığın hangi hastalardan, hangi yıllardan ve hangi ülkeden öğrenildiğini belgelemekle sorumludur. Merkez de sayıların kendi hastalarında tutup tutmadığını her yıl, sevk edilen ve edilmeyen hastaların sonuçlarıyla doğrular. Hastaya söylenecek olan bir yüzde değil, bir karar ve onun gerekçesidir.
Kapanış
- Lojistik regresyon özniteliklerin ağırlıklı toplamını lojistik fonksiyondan geçirir ve sıfır ile bir arasında bir olasılık üretir; toplamın kendisi olasılık oranının logaritmasıdır.
- Bir özniteliğin ağırlığı olasılık oranını sabit bir sayıyla çarpar; olasılıktaki artış ise başlangıç noktasına göre değişir ve ortada en büyüktür.
- Olasılığı sınıfa çevirmek modelin değil, sınırı seçenin işidir; sınır iki yanlışın bedeline bakar ve yüzdenin hangi topluluktan geldiği bilinmeden okunamaz.
Üç soru
- Ağırlıklı toplam neden doğrudan bir olasılık olarak kullanılamaz ve lojistik fonksiyon bu sorunu nasıl çözer?
- Şeker ortalaması bir puan artınca üç hastanın olasılık oranı aynı katına çıktı. Olasılıktaki artış neden aynı olmadı?
- Göz dibi programı artık sevk demiyor, yüzde gösteriyor. Bu değişiklik kararı kimin eline bıraktı ve o kişinin neye ihtiyacı var?
Yanıtlar
- Ağırlıklı toplam herhangi bir sayı olabilir: eksi iki virgül dokuz da artı kırk da. Olasılık ise sıfır ile bir arasında kalmak zorundadır. Lojistik fonksiyon her sayıyı bu aralığa taşır; sıfırı yüzde elliye, büyük artı sayıları bire, büyük eksi sayıları sıfıra yaklaştırır ve hiçbirini aralığın dışına çıkarmaz.
- Ağırlık olasılık oranının logaritmasına eklenir, bu yüzden oran her hastada iki virgül iki üç katına çıkar. Lojistik fonksiyon ise yüzde elli civarında dik, uçlarda yatıktır; aynı adım yüzde beş civarında olasılığı az, yüzde yirmi üç civarında çok daha fazla oynatır. Çarpan sabittir, olasılık farkı değildir.
- Karar hekimin ve sağlık merkezinin eline geçti. Merkezin, kaçan bir hastalığın ve boşuna bir sevkin bedeline göre seçilmiş yazılı bir sınıra, satıcıdan da yüzdenin hangi hastalardan öğrenildiğini gösteren belgeye ihtiyacı var; yüzdeyi kendi hastalarının sonuçlarıyla düzenli olarak karşılaştırması da gerekir.
Sonraki derse köprü
Lojistik regresyon her özniteliğe tek bir ağırlık verir ve hepsini aynı toplamda birleştirir; şeker ortalamasının etkisi, hasta beş yıllık da olsa yirmi yıllık da olsa aynı çarpanla işler. Ders 5.3, Karar ağaçları, veriyi bir toplamla değil art arda sorulan evet-hayır sorularıyla bölen ve bir tahmine hangi sorular üzerinden varıldığı dalları izleyerek okunabilen bir modeli konu ediyor.
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.