連載
» 2016年12月28日 09時30分 UPDATE

Over the AI ―― AIの向こう側に(6):時をかける人工知能 〜たった1つの数値で結果から原因に遡る (5/11)

[江端智一,EE Times Japan]

ベイジアンネットワークの設計方法

 さて、次に、実際のベイジアンネットワークの設計方法を御説明致します。

 今回は、これまでも何度が登場したNTT数理データ数理システムの「BAYONET」を使って説明しますが、ベイジアンネットワークのツールの使い方は、おおむねどれも同じ様です。

 説明の題材は、第4回の時にも使ったネイト・シルバーさんの著書「シグナル&ノイズ」の「パンティ問題」の話をそのまま使います。

 ベイジアンネットワークの設計は、ひと言で言えば、原因(浮気)のノードと、結果(パンティ)のノードを作って、原因から結果に向けて矢印を引くだけです。

 ベイジアンネットワークの設計で、最も混乱しやすいことが、何が原因で、何が結果なのかが、設計している自分自身でも分からなくなる点にあります。

 では、どう考えれば良いかと言うと、最初にノードだけ作っておいて、矢印については「後から考えればいい」のです。

 具体的には、「IF(浮気), THEN(パンティ)」の関係と、「(浮気)と(パンティ)の確率」が分かっていれば、(浮気)から(パンティ)に矢印を引くことで、ベイジアンネットワークの設計は完成です。

 つまり、ベイジアンネットワークは、この矢印の逆方向、つまり、"THEN"から"IF"に向けて解くものとだけ覚えておいていただければ十分です。

 ノードを作ると、上記のような表が自動生成されます。この表のことをCPT(Condition Probability Table(条件付き表)と呼びます(名前なんかどーでもいいですが)。

 ただ、ここでは、浮気(条件)のCPTが"2×1"の表になるのに対して、パンティ(結果)のCPTが"2×2"の表になることだけを覚えておいてください。

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.