Yazılım·3 dk okuma·

Markov Zinciri Monte Carlo: Modern Yapay Zekanın Kalbinde Yatan 1953 Algoritması

Paylaş
Markov Zinciri Monte Carlo: Modern Yapay Zekanın Kalbinde Yatan 1953 Algoritması

1953 yılında, bugün bir web sayfasının favicon'undan bile daha az belleğe sahip bir makinede tasarlanan çığır açıcı bir algoritma geliştirildi. Hava durumu tahminlerinden kara delik birleşmelerinin modellenmesine ve modern yapay zekanın temelindeki Bayesçi istatistik kütüphanelerine kadar pek çok alanda bu algoritma sessizce çalışıyor: Markov Zinciri Monte Carlo (MCMC).

MCMC'nin yazılımcılara karmaşık bir kara kutu gibi hissettirmesinin temel sebebi genellikle tersten anlatılmasıdır. Ergodiklik ve durağan dağılımlar gibi teorik kavramlara boğulmak yerine, MCMC'nin birbirine kenetlenmiş iki sade fikrine odaklanmak konuyu kavramayı kolaylaştırır.

1. Fikir: Rastgele Atışlar Yaparak Ölçüm Yapmak (Monte Carlo)

Elinizde hesap makinesi olmadan $\pi$ sayısını hesaplamanız istenseydi, analitik formüller türetmek yerine olasılıktan yararlanabilirdiniz. Kenar uzunluğu $2R$ olan bir karenin içine $R$ yarıçaplı bir çember yerleştirip rastgele dartlar fırlattığınızı hayal edin. Çemberin içine düşen dartların toplam dartlara oranı, çember alanının ($\pi R^2$) kare alanına ($4R^2$) oranı olan $\pi / 4$'e eşittir. Çok sayıda atış yapıp çember içine düşenleri sayarak ve sonucu 4 ile çarparak $\pi$ değerini elde edebilirsiniz.

Los Alamos'ta nötron difüzyon hesaplamaları yapan araştırmacıların kumarhaneden esinlenerek adlandırdığı Monte Carlo metodunun mantığı budur: İntegral çözmek yerine sayım yapmak.

import random

hits = sum(1 for _ in range(10_000_000) if random.random()**2 + random.random()**2 <= 1.0)
print(4 * hits / 10_000_000)  # ~3.1417...

Yazılımcılar için temel sorun: Bu kodda random.random() bize homojen dağılımlı örneklemi doğrudan sundu çünkü aradığımız geometrik şeklin sınırlarını (kareyi) biliyorduk. Oysa gerçek dünya veri bilimi ve yapay zeka problemlerinde, örneklem almak istediğiniz olasılık dağılımının geometrisini önceden bilemezsiniz.

2. Fikir: Yalnızca Bulunduğu Anı Hatırlayan Süreç (Markov Zinciri)

Markov zinciri, bir sonraki durumun geçmişteki onlarca adıma değil, yalnızca mevcut duruma bağlı olduğu durum dizisidir. Bu özellik literatürde "hafızasızlık" (Markov özelliği) olarak tanımlanır.

Üç duruma sahip klasik hava durumu örneğini ele alalım: Yağmurlu, bulutlu ve güneşli.

  • Yağmurlu durumdan bulutluya geçme olasılığı %60, yağmurlu kalma olasılığı %40 olsun.
  • Bulutlu durumdan güneşliye geçme olasılığı %50 olsun.

Zincir çalıştığında 5. adım yalnızca 4. adıma bakar; sürecin yağmurla başlayıp başlamadığından tamamen habersizdir. Bu yapıyı pratik ve güçlü kılan özellik ise, zincirin tüm durumlara erişebilmesi ve bir noktada kilitlenmemesi halinde zamanla sistemin gerçek olasılık dağılımını ortaya çıkarmasıdır.

Yazılım Geliştiricileri İçin Pratik Çıkarımlar

  • Analitik Hesaplama Yerine Simülasyon: Yüksek boyutlu parametre uzaylarında karmaşık integralleri analitik olarak çözmek imkansız hale geldiğinde, Monte Carlo simülasyonları deterministik yöntemlerin yerine pratik yaklaşımlar sunar.
  • Modern Bayesçi Yapay Zekanın Çekirdeği: PyMC ve Stan gibi kütüphaneler, derin öğrenme ve istatistik modellerinde parametre belirsizliğini tahmin etmek için arka planda MCMC algoritmalarını koşturur.
  • Belleksiz Durum Yönetimi: Markov özelliği, ajan mimarilerinde ve pekiştirmeli öğrenmede durum uzayını sadeleştirerek gereksiz bellek yükünü ortadan kaldırır.

[Orijinal kaynağa buradan ulaşabilirsiniz.](https://dev.to/lovestaco/markov-chain-monte-carlo-the-1953-algorithm-hiding-under-modern-ai-5cb4)

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →