Önce kodlaması kolay durum uzay modelleri ve kapalı form filtreleme (örn. Kalman filtreleri, gizli markov modelleri) hakkında bilgi edinmelisiniz. Matthew Gunn, basit kavramlarla şaşırtıcı bir şekilde uzaklaşabileceğiniz konusunda doğrudur, ancak benim düşünceme göre, bunu bir ara hedef yapmalısınız çünkü:
1.) Nispeten konuşursak, durum uzayı modellerinde daha hareketli parçalar vardır. SSM'leri veya gizli markov modellerini öğrendiğinizde, çok fazla gösterim var. Bu, bir şeyleri doğrularken oyun belleğinizde saklanacak daha fazla şey olduğu anlamına gelir. Şahsen, önce Kalman filtreleri ve doğrusal-Gauss SSM'lerini öğrenirken, temelde "eh, hepsi sadece çok değişkenli normal vektörlerin özellikleri ..." sadece hangi matrisin hangisi olduğunu takip etmek zorundayım "diye düşünüyordum. Ayrıca, kitaplar arasında geçiş yapıyorsanız, bunlar genellikle gösterimi değiştirir.
Daha sonra bunu "eh, bu her zaman noktasında sadece Bayes'in kuralı" gibi düşündüm. Bunu bir kez düşündüğünüzde, Kalman filtresinde olduğu gibi, konjuge ailelerin neden güzel olduğunu anlıyorsunuz. Gizli bir markov modelini, ayrı durum alanı ile kodladığınızda, neden herhangi bir olasılık hesaplamak zorunda olmadığınızı görürsünüz ve filtreleme / yumuşatma kolaydır. (Sanırım burada geleneksel hmm jargonundan sapıyorum.)
2.) Bunların çoğunu kodlayarak dişlerinizi kesmek, bir durum uzay modelinin tanımının ne kadar genel olduğunu fark etmenizi sağlayacaktır. Çok yakında kullanmak istediğiniz modelleri yazacak ve aynı zamanda neden yapamayacağınızı göreceksiniz. İlk olarak sonunda alıştığınız bu iki formdan birine yazamayacağınızı göreceksiniz. Biraz daha düşündüğünüzde, Bayes kuralını yazıyorsunuz ve sorunun veri için bir çeşit olasılık hesaplayamamanız olduğunu görüyorsunuz.
Sonuç olarak, bu posterior dağılımları (durumların düzgünleştirilmesi veya filtrelenmesi) hesaplayamamakta başarısız olacaksınız. Bununla ilgilenmek için orada çok sayıda yaklaşık filtreleme malzemesi var. Partikül filtreleme bunlardan sadece bir tanesidir. Parçacık filtrelemenin ana paketi: bu dağılımları simüle edersiniz çünkü hesaplayamazsınız.
Nasıl simüle edersiniz? Çoğu algoritma, önemli örneklemenin sadece bir çeşididir. Ama burada da daha karmaşık bir hal alıyor. Doucet ve Johansen tarafından hazırlanan eğitici makaleyi tavsiye ederim ( http://www.cs.ubc.ca/~arnaud/doucet_johansen_tutorialPF.pdf ). Kapalı form filtrelemenin nasıl çalıştığını görürseniz, önem örnekleme genel fikrini, daha sonra monte carlo yönteminin genel fikrini tanıtır ve daha sonra güzel bir finansal zaman serisi örneği ile başlamak için bu iki şeyi nasıl kullanacağınızı gösterir. IMHO, partikül filtrelemeyle ilgili en iyi öğreticiyim.
Karışıma iki yeni fikir eklemeye ek olarak (önem örnekleme ve monte carlo yöntemi), şimdi daha fazla gösterim var. Bundan sonra örneklediğiniz bazı yoğunluklar; bazılarını değerlendirirsiniz ve bunları değerlendirdiğinizde örneklerle değerlendirirsiniz. Sonuç, hepsini kodladıktan sonra, ağırlıklandırılmış numuneler, parçacıklar olarak kabul edilir. Her yeni gözlemden sonra değişirler. Tüm bunları bir kerede almak çok zor olurdu. Bence bu bir süreç.
Cryptic veya handwavy olarak karşılaşırsam özür dilerim. Bu sadece konuyu kişisel olarak tanımamın zaman çizelgesidir. Matthew Gunn'un gönderisi muhtemelen daha doğrudan sorunuzu cevaplıyor. Az önce bu cevabı atacağımı düşündüm.