Markov Zincirleri

Esma Bozkurt
4 min readJan 27, 2021
  • Markov Zincirleri, dinamik ve skolastik sistemlerin analizinde ve özellikle bir sistemin zaman boyunca içinde bulunabileceği farklı durumlar arasında yaptığı hareketlerin incelenmesinde kullanılan modellerdir.
  • Bu modelde, her bir anda sistem belirli bir olasılık dağılımına bağlı olarak kendi durumundan başka bir duruma geçebilir yahut aynı durumda kalabilir. Durumda olan değişiklikler geçiş olarak bilinir ve çeşitli durum değişmeleriyle ilişkili olasılıklar da geçiş olasılıkları olarak adlandırılır.
  • Genel olarak geçmişe bakmaksızın bir durum üzerinden başka bir duruma geçiş kurallarını olasılıksal olarak belirlenebileceği bir model sunduğu için hafıza gibi özelliklere ihtiyaç duymaz. Kısaca bu sürecin en önemli özelliği hafızasız olması ve geçmiş değerlerinden bağımsız çıktı üretebilmesidir diyebiliriz.
  • Rastgele süreçleri istatistiksel olarak modellemenin basit bir yoludur. Metin üretiminden finansal modellemeye kadar birçok farklı alanda kullanılmıştır. En çok kullanılan alanları ise metin oluşturma ve otomatik tamamlama uygulamalarıdır.
(Markov zinciri ile rastgele oluşturulmuş cümlenin analizi yapılarak aşağıda verilmiş yapı oluşturulmuştur.)

Her defasında farklı yemek veren (hamburger, pizza, sandviç) bir otomat hayal edelim.

Örneğin ilk yemeği hamburger verdi. Diğer vereceği yemek %60 olasılıkla pizza olsun veya %20 olasılıkla tekrar hamburger versin.

Böylelikle biz bunu markov zincirinde şu şekilde ifade ederiz:

Buradaki oklar bir durumdan diğer duruma geçişi temsil etmektedir.

  • Ardı ardına gelen, X1, X2, X3, … ile ifade edilen, bir seri rassal değişkendir.

Formüle edecek olursak:

P( Xn+1 = x | X1 = x1, X2 = x2, …, Xn = xn) = P( Xn+1 = x | Xn = xn)

Örneğe devam edelim:

(Markov zinciri)
Sandviç çıkma olasılığı nedir?

P( Xn+1 = x | Xn = xn) olduğundan => Pizzadan sandviçe geçiş olasılığı 0.7’dir. Dolayısıyla 0.7 olasılıkla sandviç çıkacaktır.

Peki 10 adımda otomattaki işlemler sırasıyla şöyle olsun:

olasılık dağılımları:

P(H)=4/10= 0.351 , P(P)=2/10= 0.212 , P(S)=4/10= 0.435 olur.

Lineer cebir kullanarak bu geçiş olasılıklarını bitişik matrisle ifade edelim.

Pizzayı inceleyeceğiz. pizza->1 diğerleri->0

A bitişik matrisini yazarken satır ve sütunların sırayla hamburger, pizza, sandviç sırasına göre yazdığımıza dikkat edelim. Şimdi pizza olasılığı için bitişik matrisle pizza olasılığını çarpalım, ta ki durağan değer elde edene kadar…

(Farkettiyseniz eşitliğin diğer tarafı matristeki pizza olasılığının değeridir.)

Evet durağan durumu yakaladık, bundan sonra çarpmaya devam etsek de sonuç çok değişmeyecektir.

Formüle göre ne kadar yaklaşmışız görelim :

Olasılıkların toplam değeri 1'dir.

Şimdi de üzgün olduğunda uyuyan, dondurma yiyen veya koşan birinin örneğini python ile kodlayarak inceleyelim.

(Markov zinciri)
(Bitişik matrisi)

Deney sayısı arttıkça, sonuçların gerçek oranı teorik veya beklenen sonuç oranına yakınlaşacaktır. Dolayısıyla durumları aktivite listesinde biriktirelim.

Buraya kadar basit markov zincirinden bahsettim. Fakat çeşitli markov zinciri modelleri bulunmakta.

Son olarak farklı bir markov zincirinde olasılığı inceleyelim:

Burada ilk olasılık hesaplamamızdan farklı olarak üs alma yöntemini kullanıyoruz. 2 adımda ulaşma olasılığı için karesi, 3 adımda ulaşma olasılığı için küpü gibi…

Chapman Kolmogorov Teoremi:

P02(2) = P00(1) x P02(1) + P01(1) x P12(1) + P02(1) x P22(1)

Öyleyse İ’den başlayarak sonsuz adımdan sonra j’de olma olasılığı:

(0'dan 2'ye sonsuz adımda ulaşma olasılığı)

En çok metin oluşturmada kullanıldığını belirtmiştik. Son olarak yeni metinler nasıl oluşturuluyor merak ediyorsan bu videoyu izleyebilirsin!

Esma Bozkurt

Kaynakça

[1] https://www.datacamp.com/community/tutorials/markov-chains-python-tutorial

[2] https://www.youtube.com/watch?v=E4WcBWuQQws&t=140s

--

--