AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  AI(人工知能)用語集  >  ベイジアンネットワーク

ベイジアンネットワークとは

ベイジアンネットワークは、はイギリスの確率論研究家トーマス・ベイズが発案したベイズの定理に基づくもので、因果関係を確率により記述するグラフィカルモデルの1つであり、「原因」と「結果」の関係を複数組み合わせることにより、「原因」「結果」がお互いに影響を及ぼしながら発生する現象をネットワーク図と確率という形で可視化したものです。これは、ある「原因」から発生する「結果」を、確率をもって予測する推論手法ともいえます。

600px-SimpleBayesNet.svg
画像参照:Wikipedia

また、ベイジアンネットワークは、リンクの方向とは関係なく推論が行えます。どのノードに証拠を与えても他のノードの状態を知ることができるため、原因から結果を予測することはもちろん、結果から原因を探ることも可能です。
これらの考え方は人がさまざまな予測をするときの考え方にならったものといえ、近年では、IT、特にインターネットの世界でベイジアンネットワークを活用した推測エンジンの活用が盛んになってきています。

ベイジアンネットワークには以下のような特徴があります。

・単純な二方向の計算ではないこと
・確率(乗算)で表現できること
・視覚的に操作できること
・チューニングが容易であること
・人間の意志決定のプロセスと非常に似ていること

これらの特徴は、多数の、複雑に絡み合う属性それぞれについて同時に確率を計算することができ、ニューラルネットワークのようにブラックボックスのようなモデルとは異なり、人間がその意味を明確に読み取ることができるため、さまざまに入り組む複雑な関係性を、エキスパートの知識そのままの形でコンピューターが処理可能な形に落とし込むことができることを意味しています。

ベイジアンネットワークは当初、主に医療や機械システムの専門家が自らの判断を落とし込んで、手元の情報から、何らかの判断を行うエキスパートシステムのような使い方をされていました。
その後コンピューターの進歩に伴い、大量の観測データと高速な計算ができるようになったため、大量のデータ間の関係を網羅的に探索し、あり得るベイジアンネットワークを見つける、ということが徐々に可能となってきました。これによって、非常に複雑なことがらを確率モデルに表わすことが可能となりました。
ただし、現在においては完全にコンピューター任せにはしないことが多く、前提知識などに基づいておおよその構造を人間が決定し、細かい部分の最適化や確率計算をコンピューターにやらせるというスタイルが主流です。


ベイジアンネットワークの利用例

それでは、ベイジアンネットワークがどのように利用されているかというと、例えばWeb侵入検知などがあげられます。例えばベイジアンネットワークでは、「攻撃かどうか」、「特定の単語がHTTPリクエストに含まれているかどうか」等を原因と結果のノードとして表現できます。ここでは「攻撃であること」という原因がまず発生し、その結果として「特定の単語がHTTPリクエストに含まれる」という事象が発生する、という順番で考えます。

このとき、以下の表のような状態を考えます。

HTTPリクエストが攻撃である確率:1%
HTTPリクエストが攻撃でない確率:99%

そしてその次のノードでは

HTTPリクエストが攻撃であり、かつ特定文字列を含む確率:8%
HTTPリクエストが攻撃であり、かつ特定文字列を含まない確率:92%
HTTPリクエストが攻撃ではなく、かつ特定文字列を含む確率:0.2%
HTTPリクエストが攻撃ではなく、かつ特定文字列を含まない確率:99.8%

といった確率がわかっている場合

HTTPリクエストに特定文字列が含まれていた場合、それが攻撃である確率:28.8%

といったように、ベイジアンネットワークでは、観察可能なノードに既知の情報が入ると観察できないノードの確率がベイズの定理によって再計算できるという利点があります。

実際はこのような単純な仕組みではありませんが、このように決まった単語を何万通りも計算して不正なアクセスかどうかの判定を行うことができます。さらに多段化することで、単語だけでなく、単語の組み合わせなども判断基準として使うことができます。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加

AI(人工知能)入門セミナー開催中
AI(人工知能)入門セミナー
LINE@

Facebookページ