6

確率的グラフィカルモデルをパラメータ化するためにpymcをどのように使用できますか?

X2 つのノードとを持つ PGM があるとしYます。X->Yグラフだとしましょう。

AndXは 2 つの値{0,1}を取り、 Yまた 2 つの値も取ります{0,1}

pymc を使用して分布のパラメーターを学習し、それをグラフィカル モデルに入力して推論を実行したいと考えています。

私が考えることができる方法は次のとおりです。

X_p = pm.Uniform("X_p", 0, 1)
X = pm.Bernoulli("X", X_p, values=X_Vals, observed=True)
Y0_p = pm.Uniform("Y0_p", 0, 1)
Y0 = pm.Bernoulli("Y0", Y0_p, values=Y0Vals, observed=True)
Y1_p = pm.Uniform("Y1_p", 0, 1)
Y1 = pm.Bernoulli("Y1", Y1_p, values=Y1Vals, observed=True)

ここY0Valsに、値 = 0に対応する値と、値 = 1 にY対応する値があります。XY1ValsYX

計画は、これらから MCMC サンプルを抽出し、 および の手段を使用してY0_pY1_p 離散ベイジアン ネットワークの確率を設定するP(X) = (X_p,1-X_p)ことです...したがって、 while の確率表はP(Y/X):

  Y  0       1
X 
0   Y0_p   1-Y0_p
1   Y1_p   1-Y1_p

質問:

  1. これはこれを行う正しい方法ですか?
  2. 特にX数百の離散値がある場合、これは不器用になりませんか? または、変数に 2 つの親がXありY、それぞれに 10 個の離散値がある場合は?
  3. 私にできるもっと良いことはありますか?
  4. この種の相互接続を行う方法を詳しく説明している良い本はありますか?
4

0 に答える 0