Bayesçi Öğrenme nedir?

Melike Nur Yeğin
novaresearchlab
Published in
5 min readSep 20, 2020

Temel kavramları aklımızda canlandırabilmek için gelin konuya bir hikaye ile giriş yapalım:

Matematik-Doktora ve İşletme bölümlerinin olduğu bir okulun bahçesinde utangaç bir çocuk gördünüz. Sizce bu çocuk hangi bölümde olabilir? İlk bakışta bu öğrencinin Matematik-Doktora öğrencisi olduğunu düşünürüz. Ancak bu kararı verirken sadece elimizdeki utangaç olma bilgisine (bu bilgiye Kanıt(Evidence) diyoruz) göz önünde bulundurduk ve şunu ihmal ettik: Bu okulda Matematik-Doktora öğrencilerinin 10 katı kadar İşletme öğrencisi bulunur. Bu durum utangaç gencin İşletme öğrencisi olma ihtimalini artırır. Öğrencilerin bölümlere dağılımı ile ilgili bu ön bilgiye Önsel dağılım(Prior) diyoruz. Bir de elimizde Matematik-Doktora öğrencilerinin utangaç olma oranı = %75 ve İşletme öğrencilerinin utangaç olma oranı = %15 var. Bu bilgiye de Olabilirlik(Likelihood) diyoruz.

Ref: https://www.youtube.com/watch?v=BrK7X_XlGB8

Önsel dağılım ve olabilirlik oranlarının çarpımı utangaç arkadaşımızın hangi bölümde olduğuna karar vermemizi sağlar. Yani Matematik-Doktora öğrencilerinin oranı ve utangaç olma ihtimalini çarparız, aynı şekilde İşletme öğrencilerinin oranı ve utangaç olma ihtimalini de çarparız. Bu çarpımlardan hangisi yüksek çıkarsa utangaç arkadaşımızın o bölümde olduğunu tahmin ederiz. Böyle düşününce arkadaşımızın İşletme öğrencisi olma ihtimali daha yüksek çıkar. Daha mantıklı bir karar vermiş olduk değil mi? İşte bu şekilde düşünüp karar veriyorsak Bayesçi yaklaşım yapıyoruz demektir.

Ref: Google Görseller

Bir önceki yazımızda üretici modellerin birlikte gelme olasılığını hesapladığından ve buna göre bir dağılım çıkarttığından bahsetmiştik. Şimdi bu dağılımın nasıl çıkarıldığına dair bir örnek üzerinden temel kavramları da anlayarak ilerleyelim.

Problem: İki zar atılıyor, toplamlarının 9 olduğu bilindiğine göre zar1 kaç gelmiştir? (Olasılık dağılımı nedir?)

Burada elimizdeki veri (D) parametrelerimiz ise (zar1, zar2) olsun. Problemimiz D=x1+x2 şeklinde ifade edilir. Thomas Bayes zar1 parametresi hakkında D verisini gördükten sonraki bilgimizin veriyi görmeden önceki bilgimiz ve verinin bize sağladığı bilginin birleşimi olduğunu söyler. Burada 2 parametremiz bulunduğundan elimizdeki veriyi elde etmek için parametrelerin birlikte gelme olasılığının bulunması gerekir.

Önsel dağılım (Prior, p(zar1)p(zar2)): zar1 ve zar2 parametrelerinin değer kombinasyonlarının her birinin olasılığını ifade eder. Burada zarımızın hilesiz olduğunu varsaydığımız için tüm değerlerin birlikte gelme olasılığı eşittir. (Uniform dağılım)

Olabilirlik fonksiyonu (Likelihood, p(D=9|zar1, zar2)): Zarların toplamının 9 olduğu bilindiğinde hangi kombinasyonların bu değeri sağlayacağını ifade eder.

Olabilirlik x Önsel (p(D=9|zar1,zar2) x p(zar1)p(zar2)): Burada önceki iki tabloyu çarparak formülün pay kısmını elde edeceğiz.

Marjinal Olabilirlik (Marginal Likelihood, toplam(zar1, zar2)[p(D=9|zar1,zar2)*p(zar1)p(zar2)]): D’yi 9 yapan tüm olasılıkların toplamıdır. Formülün payda kısmını ifade eder.

Marjinal olabilirlik değeri özellik sayısı ve özelliklerin alabileceği değerlerin sınırlı olduğu durumlarda toplam formülü ile kolaylıkla hesaplanabilmektedir. Ancak özelliklerin çok sayıda olduğu ve sürekli değerler alabildiği durumlarda yüksek karmaşıklığa sahip bir integral hesabı gerektirmektedir. Bu hesaplamanın yapılması için Markov Chain Monte Carlo ile örnekleme veya variational lower bound’da optimizasyon yapmak gibi yöntemler önerilmiştir.

Sonsal dağılım (Posterior, p(zar1, zar2 | D=9)): Toplamın 9 olduğu bilindiğinde olabilecek değer ikililerinin gelme olasılıklarını verir.

Marjinal sonsal dağılım (Marginal Posterior, p(zar1|D)): zar1’in her bir değeri için toplamın 9 gelme olasılığını ifade eder.

Sonuç olarak atılan 2 zarın toplamının 9 olduğu bilindiğinde zar1’in değerinin hangi olasılıkla kaç olacağını açık bir şekilde görmüş olduk (%25 olasılıkla 3, %25 olasılıkla 4, %25 olasılıkla 5, %25 olasılıkla 6).

Burada özellik sayısı ve özelliklerin alabileceği değerler arttıkça birlikte gelme olasılıklarının küçüldüğünü fark ediyoruz. 2 zar atıldığında her ikili 1/36 olasılığa sahipken 3 zar atıldığında her üçlü 1/216 olasılığa sahip olacaktır. Önceki yazımızda bahsettiğimiz gibi Naive Bayes algoritması özelliklerin birbirinden bağımsız olduğunu varsayar ve birlikte gelme olasılıklarını her birinin tekil gelme olasılıklarının çarpımı olarak ele alır.

Özellik sayısının ve özelliklerin alabileceği değerlerin çok olması durumunda [0,1] aralığındaki bu olasılıkların çarpımları küçülerek 0’a yaklaşmaktadır. Bu sorunun çözümü için çarpımın logaritması alınarak olasılıkların log değerleri toplanır. Bu sayede daha anlaşılır sonsal dağılımlar elde edilir. Buna da terim olarak log-olabilirlik(log-likelihood) denir.

Artırımlı Güncelleme (Updating Incrementally): Bu kısımda Bayesçi öğrenmede her örneğin olasılık dağılımını nasıl güncellediğini yine basit bir örnekle açıklayacağız.

Problem: Elimizde hileli olup olmadığını bilmediğimiz bir para var ve atınca ne geleceğini tahmin etmek istiyoruz.

Bayesçi yaklaşım parayı her attığımızda gördüğümüz değeri kullanarak dağılımı güncellememizi ve bir sonraki adımda paranın hangi olasılıkla ne geleceğini bu yeni dağılıma göre tahmin etmemizi söyler. Hileli olup olmadığını bilmediğimiz bir parayı atıyoruz ve yazı mı tura mı gelir bilmek istiyoruz. İlk başta tutturma ihtimalimiz düşük gibi ancak sonraki turlarda şansımız artacaktır.

Ref: Google Görseller

Parayı attık ve tura geldi. Bayesçi öğrenme para hakkında hiçbir şey bilmeyen biri olarak bir sonraki atış için tura tahmin etmemizi söyler. Attık ve tura geldi, bu durumda tekrar tura geleceğine olan inancımız artar ve yine tura tahmin ederiz. Yazı gelmediği sürece tura geleceğine emin bir şekilde tura tahmin etmeye devam ederiz. Ta ki bir noktada yazı gelinceye kadar. Yazı gelmesi paranın yazı da gelme ihtimali olduğunu hatırlatır. Yazı gelene kadar söz gelimi 4 tane tura gelmiş olduğunu varsayalım. Bir sonraki atışta %80 ihtimalle tura %20 ihtimalle yazı geleceğini düşünüp bu yaklaşımla daha yüksek olasılık dağılımına sahip tura seçeneğini tahmin ederiz. Bu şekilde geçmişte gözlemlediğimiz değerlerin sonsal dağılımını önsel dağılım gibi kullanarak yeni tahminimizi yapmaya Bayesçi öğrenmede artırımlı güncelleme denir.

Bu yazımızda Bayesçi öğrenmenin temellerini en basit şekliyle ele aldık. Bayesçi öğrenmede karşımıza çıkan en temel probleme de marjinal olabilirlik tanımında değinmiş olduk. Zorlu İntegral (Intractable Integral) problemi olarak bilinen bu problemin çözümü için önerilen yöntemleri de önümüzdeki yazılarda inceleyeceğiz. Sağlıcakla kalın :)

Kaynaklar:

https://www.youtube.com/watch?v=L1dMx_N7HIM

https://www.cmpe.boun.edu.tr/~cemgil/Courses/cmpe547/bsml-all.pdf

https://towardsdatascience.com/from-scratch-bayesian-inference-markov-chain-monte-carlo-and-metropolis-hastings-in-python-ef21a29e25a

https://towardsdatascience.com/bayesian-inference-problem-mcmc-and-variational-inference-25a8aa9bce29

https://www.youtube.com/watch?v=BrK7X_XlGB8

--

--