Huginの製品・サービスはマインドウエア総研により翻訳・提供されています。pict

(限定記憶)インフルエンス・ダイアグラムの構築(続き)

決定ノードともう1つの効用ノード

今、決定ノード Treatを追加しようとしています(図 1参照)。これは確率(chance)ノードや効用ノードを追加した方法と似ています:

  • 決定ツールを押す(効用ツールの右側)
  • ネットワーク・パネルのどこかを押す (適した場所としてはDryノードの右)
  • 新規の決定ノードの名前とラベルを"Treat"に変更する

:確率ノードにステートを追加したのと同じ方法で、決定ノードにアクションを追加していきます:

  • ツールバーのドロップダウンリストから選択するか、ダブルクリックで現在のノードとしてTreatノードを選択する
  • ステートを追加ツールを選択する
  • アクション名を"treat"と"not"に変更する

Treat決定ノードはSick'ノードに対して影響を持ちます。したがって、:

  • TreatからSick'に矢印を追加

新しい決定ノードは、木に処置を行うか否かの決定を表現しています。もしリンゴ農園の所有者(アップル・ジャック)が処置をすると選択すれば、これにより、彼にCost効用ノードによってモデル化されているコストがかかってきます。Costノードは表 2に示されているような効用表を持っています。

Treat="treat" Treat="not"
-8000 0
表 2: U(Cost).

では、インフルエンス・ダイアグラムにCost効用ノードを追加しましょう:

  • 新規効用ノードを追加 (Treatノードの右などが良い場所でしょう)
  • このノードの名前とラベルを"Cost"に変更する
  • TreatからCostへ矢印を追加する
  • Costの効用表に表 2を入れる

CPTの記入

Sick'ノードとDry'ノードをコピーしたとき、SickとDryのCPTも引き継いでいました。しかし、これらのノードは両方ともその他のノードの子になっているので、CPTはもはや正しいものではありません。表 3と表 4にあるように、これらに新しいCPTが指定されました。

  • Sick'のcptとして表 3を記入する
  • Dry'のcptとして表 4を記入する
Treat="treat" Treat="not"
Sick="sick" Sick="not" Sick="sick" Sick="not"
Sick'="sick" 0.20 0.01 0.99 0.02
Sick'="not" 0.80 0.99 0.01 0.98
表 3: P(Sick' | Sick, Treat).
Dry="dry" Dry="not"
Dry'="dry" 0.60 0.05
Dry'="not" 0.40 0.95
表 4: P(Dry' | Dry).

.さて、(限定記憶)インフルエンス・ダイアグラム (LIMID)は完了し、図 4のように見えているはずです。この時点でLIMIDを保存しておくのが良いでしょう。

show_id

図 4: 完成したインフルエンス・ダイアグラム 

限定記憶インフルエンス・ダイアグラムのコンパイル

:今はもうあなたは自分の LIMID を試すことはでき、ぜひ、どのように動くのか見たいと思っています。最初に、 LIMID をコンパイルしましょう。:

  • コンパイル・ツールを押す (ネットワーク・ウィンドウ・ツールバーで一番右にあるボタン)

インフルエンス・ダイアグラムのコンパイルは、最初のチュートリアルで説明したのと同じエラーのいくつかを生成するかもしれません。LIMIDがコンパイルされない場合は、おそらく小さなエラーがあります。インフルエンス・ダイアグラムがコンパイルされると、初期ポリシーのもとで確率と期待効用が計算されます。インフルエンス・ダイアグラムを解くには、Single Policy Updatingを呼び出す必要があります。

アップル・ジャックはどうするべきか?

:LIMIDがコンパイルされると、Single Policy Updatingを行うべきです。ここで、木に関してジャックが知っている唯一のことが、木が葉をなくしているということだけだということを想像してください。その場合、彼が最もすべきことは何でしょうか。これを見つけるには、次のステップがあります:

  • 左にあるノードリスト・パネルで、Loses確率ノードとTreat決定ノードを開く(それらをダブルクリック)
  • Losesは"yes"というエビデンスを入力する(ステート"yes"をダブルクリック)
  • インフルエンス・ダイアグラムを伝播する( sum 伝播ツールを押す)
  • Treat決定ノードで"treat"と"not"の期待効用を読み取る

図 5にあるようなものを読み取っているはずです。

appleTree_e

図 5: Loses="yes"というエビデンスを伝播したインフルエンス・ダイアグラム 

何もしなかったときの期待効用として11514.0が読み取れます。これは、アップル・ジャックにとって木に処置をしないのが良いということを示しています

これでチュートリアルを終了します。あなたはもう(限定記憶)インフルエンス・ダイアグラムを構築するためHugin GUIを使用することができるはずです。しかし、あなたがもし大きく複雑なモデルを作りたいと思っているなら、このチュートリアルを読むだけではなく、その領域をさらに勉強することをお薦めします。