この記事の続きです。 ここではPRMLの10.1.3項の一変数ガウス分布の例題(WikipediaのVariational_Bayesian_methodsのA basic exampleと同じ)をSymPyで解きます。すなわちデータが に従い*1、とが、 に従うという状況です。ここでデータ()が得られたとして事後分布を変分ベイズで求めます。 まずはじめに、上記の確率モデルから同時分布を書き下しておきます。 なので、 となります。 この問題は単純なので事後分布は厳密に求まるのですが、ここでは変分ベイズで解きます。すなわち、事後分布をで近似します。さらにと因子分解可能と仮定します。そして、前の記事の最後の2つの式を使って、とが収束するまで繰り返し交互に更新して求めるのでした。以下ではこれをSymPyでやります。 from sympy import * from sympy.stats imp