Markov Zincirleri Konsepti Açıklandı [Örnekle]
Yayınlanan: 2020-12-18İçindekiler
Tanıtım
Markov zincirleri oldukça yaygın, sezgiseldir ve otomatik içerik oluşturma, metin oluşturma, finans modelleme, hız kontrol sistemleri vb. gibi birçok alanda kullanılmıştır. Ünlü marka Google, arama sırasını belirlemek için sayfa sıralama algoritmasında Markov zincirini kullanır. .
Markov zincirleri nispeten basittir ve uygulama için herhangi bir matematiksel kavram veya ileri istatistik bilgisi gerektirmez. Markov zincirlerini iyi anlıyorsanız, olasılıksal modelleme ve veri bilimi tekniklerini öğrenmek daha kolay hale gelir.
Bu makale, Markov zincirlerinin ne olduğu ve nasıl çalıştıkları hakkında örnekler yardımıyla derinlemesine bir anlayış sağlayacaktır.
Markov Zinciri nedir?
Markov zinciri, yalnızca önceki olay durumuna dayalı olarak bir sonraki durum için olasılıklar veya tahminler sağlayan matematiksel bir modeldir. Markov zinciri tarafından üretilen tahminler, o senaryonun tüm geçmişini gözlemleyerek yapılabilecekleri kadar iyidir.
Bazı olasılık koşullarına bağlı olarak bir durumdan diğer duruma geçişi deneyimleyen bir modeldir. Markov zincirini tanımlayan bir özellik, mevcut duruma nasıl ulaşılırsa ulaşılsın gelecekteki durumların sabit olmasıdır. Bir sonraki durumun olası sonucu, yalnızca mevcut duruma ve durumlar arasındaki zamana bağlıdır.
Okuyun: Python Eğitiminde Markov Zinciri
Örneklerle Markov Zinciri Konsepti
Yarın için hava koşullarını tahmin etmek istediğinizi varsayalım. Ama zaten biliyorsunuz ki hava durumu için sadece iki olası durum olabilir, yani bulutlu ve güneşli. Markov zincirlerini kullanarak bir sonraki günün hava durumunu nasıl tahmin edeceksiniz?
Pekala, mevcut hava durumunu gözlemlemeye başlayacaksınız ve güneşli veya bulutlu olabilir. Diyelim ki bugün hava güneşli. İklim durumu her zaman birkaç geçişten geçer. Geçmiş yıllardaki hava durumu verilerini toplayacak ve güneşli bir günün ardından bulutlu bir gün olma olasılığının 0.35 olduğunu hesaplayacaksınız.
Güneşli bir günün ardından güneşli bir gün olma ihtimalinin 0.65 olduğunu da gözlemlemişsinizdir. Bu dağılım, ertesi günün de güneşli olacağını tahmin etmenize yardımcı olacaktır. Mevcut hava durumu, gelecekteki durumu tahmin etmenize bu şekilde yardımcı olur ve gelecek günlerin hava koşullarını tahmin etmek için aynı mantığı uygulayabilirsiniz.
Yukarıdaki örnek, Markov'un, Markov zincirinin hafızasız olduğu özelliğini göstermektedir. Ertesi gün hava koşulları, o günkü hava durumuna yol açan adımlara bağlı değildir. Olasılık dağılımına ancak içinde bulunulan günden bir sonraki güne geçiş yaşanarak ulaşılır.
Markov zincirinin bir başka örneği, yalnızca meyve, sebze veya et yiyen bir kişinin yeme alışkanlıklarıdır. Yeme alışkanlıkları aşağıdaki kurallara tabidir:
- Kişi günde sadece bir kez yemek yer.
- Bir kişi bugün meyve yerse, yarın eşit olasılıkla sebze veya et yer.
- Bugün sebze yerse, yarın 1/10 olasılıkla sebze, 1/40 olasılıkla meyve ve 1/50 olasılıkla et yer.
- Bugün et yerse, yarın 4/10 olasılıkla sebze, 6/10 olasılıkla meyve yer. Yarın yine et yemeyecek.
Yeme alışkanlıklarını Markov zincirlerini kullanarak kolayca modelleyebilirsiniz, çünkü ertesi gün için seçimi dün veya önceki gün ne yediğinden bağımsız olarak yalnızca bugün ne yediğine bağlıdır.
Ayrıca Okuyun: Markov Zincirlerine Giriş
Markov Zinciri Geçiş Matrisi
Şimdiye kadar, bir durumdan diğerine geçiş olasılığını nasıl tahmin edebileceğimizi gördük. Ancak birkaç adımda meydana gelen geçişlerin olasılık dağılımını bulmaya ne dersiniz? Markov zincir geçiş matrisini kullanarak birden fazla adımdaki geçişlerin olasılık dağılımını öğrenebilirsiniz.

Markov zincir geçiş matrisi, bir durumdan diğerine geçişlerin olasılık dağılımından başka bir şey değildir. Farklı olası durumlar arasındaki geçişleri gösterdiği için geçiş matrisi olarak adlandırılır.
Her bir durumla ilişkili olasılığa, o durumun olasılık dağılımı denir. Markov zincirinin analizinde kullanılan en önemli araçtır. Örneğin, N sayıda olası durum varsa, geçiş matrisi (P) aşağıdaki gibi olacaktır.
P = N x N matrisi
Bir satırdaki (I, J) bir giriş, I durumundan J durumuna geçiş olasılığını temsil ettiğinde. Geçiş matrisi P'nin her satırının toplamı 1 olmalıdır.
Bir Markov zincirini temsil etmek için, N olası durumun her birinde başlangıcı tanımlayan bir başlangıç durum vektörüne de ihtiyacınız olacaktır. Başlangıç durum vektörünü (X) şu şekilde temsil edebilirsiniz:
X = N x 1 matris
I durumundan J durumuna geçişin M bölü çoklu adım olasılığını bulmak istediğinizi varsayalım. Üç olası durum verdiniz, yani boğa piyasası, ayı piyasası ve durgun piyasa.
Yukarıdaki örnekte, geçiş matrisinin ilk sütunu boğa piyasası durumunu, ikinci ayı piyasasını ve üçüncüsü durgun piyasayı gösterir. Satırlar da benzer bir şekilde karşılık gelir.
Geçiş matrisinde, geçiş olasılığı, P'yi adım sayısının (M) gücüne yükselterek hesaplanır. 3 adımlı bir geçiş için, olasılığı P'yi 3'e yükselterek belirleyebilirsiniz.
Yukarıdaki P3 matrisini çarparak, bir durumdan diğerine geçişin olasılık dağılımını hesaplayabilirsiniz.
Çözüm
Markov zincirinin nasıl çalıştığını anladığınız için, bir çözüme ulaşmak veya otomatikleştirmek için herhangi bir sorun ifadesinde bunları kolayca uygulayabilirsiniz. Markov zincirleri çok güçlüdür ve diğer daha gelişmiş modelleme teknikleri için bir temel sağlar.
Markov zincirinin anlaşılması, kısa modelleme ve örnekleme gibi çeşitli tekniklerde daha derin bilgi edinmenize yol açabilir.
Python, veri bilimi hakkında bilgi edinmek istiyorsanız, çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, pratik uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk sunan IIIT-B & upGrad'ın Veri Biliminde PG Diplomasına göz atın. Sektör danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.
Markov zinciri için ilginç gerçek yaşam kullanım durumları var mı?
Evet, metin oluşturmadan finansal modellemeye kadar birçok ilginç gerçek hayatta Markov zincir kullanım durumu vardır. Metin oluşturucuların çoğu Markov ağlarını kullanır. Zincir sistemi, sahte metinler, büyük boyutlu makaleler oluşturmak ve konuşmaları derlemek için yaygın olarak kullanılmaktadır. İnternette genellikle gördüğümüz isim üreteçleri de Markov zincirini kullanır. Markov zincirlerinin bir başka iyi bilinen uygulaması da gelecek kelimeleri tahmin etmektir. Otomatik tamamlama ve öneriler için de yararlıdırlar. Google PageRank ve Subreddit Simulator, tüm bir subreddit için materyal üretimini otomatikleştirmek için Markov zincirlerini kullanan öne çıkan örneklerdir.
Veri Bilimi öğrenirken Markov zinciri kritik midir?
Markov zincirleri Veri Bilimi öğrenenler için zorunlu olmasa da, olasılıksal modelleme ve veri bilimi tekniklerini öğrenmek için mükemmel bir yaklaşım sağlayabilirler. Markov Zincirleri teorik olarak oldukça basittir ve herhangi bir karmaşık istatistiksel veya matematiksel fikirlere ihtiyaç duymadan uygulanabilirler. Veri biliminin en belirgin uygulaması tahminler yapmaktır ve Veri Bilimciler bu tahminleri yapmak için Markov Zincirlerinin Koşullu Olasılığını kullanır. Adını, herhangi bir sürecin gelecekteki durumlarının dağılımının yalnızca bu süreçlerin mevcut durumu tarafından belirlendiğini söyleyen Stokastik Süreçlerin hafızasız özelliğinden almıştır.
Markov zinciri, Google'ın PageRank Algoritmasına nasıl yardımcı olur?
Google'ın PageRank Algoritması, iyi bilinen bir bağlantı tabanlı sıralama algoritmasıdır. Sayfa sıralaması, sayfaları içeriğine göre değerlendirmek yerine, birbirine bağlı yapılarına göre sıralar. Markov Zinciri, basitçe mevcut durumu inceleyerek, bir durumdan diğerine geçişte bir sistemin davranışını tahmin etmeye yardımcı olabilir.
Bir kullanıcı bir arama motoruna bir sorgu girdiğinde, PageRank algoritması web üzerinde sorgu kelimesiyle eşleşen siteleri tanımlar ve Markov ağını kullanarak bu sayfaları PageRank sırasına göre kullanıcıya gösterir. PageRank algoritması, bir web sitesinin önemini, sayfanın içeriğinden ziyade yalnızca web'in bağlantı yapısına göre belirler.