用語集

ベイジアンネットワーク

ベイジアンネットワークが、AIやMLにおいて、どのように確率モデルを用いて関係を説明し、結果を予測し、不確実性を管理しているかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

ベイジアンネットワーク(Bayesian Network)は、ビリーフネットワーク(Belief Network)または有向非循環グラフモデル(Directed Acyclic Graphical Model)とも呼ばれ、有向非循環グラフ(DAG)を用いて変数の集合とそれらの条件依存関係を表現する確率的グラフモデルである。グラフ理論と確率論の原理を組み合わせ、不確実性をモデル化し、変数間の因果関係を推論する。これらのネットワークは、人工知能(AI)や機械学習(ML)において、不確実性の下での予測、異常検知、診断、意思決定などのタスクに特に有用である。

ベイジアンネットワークの仕組み

ベイジアンネットワークの核となる構造は、ノードと有向エッジで構成される:

  • ノード:各ノードはランダム変数を表し、離散変数(例:「病気がある」対「病気がない」)または連続変数(例:「温度」)である。
  • エッジ:有向エッジ(矢印)はノードのペアを結び、確率的依存関係を示す。ノードAからノードBへの矢印は、AがBに直接影響することを意味する。重要なことは、グラフが非循環的でなければならないことで、有向サイクルが存在しないことを意味する。この構造は条件付き独立性の仮定を符号化する-ある変数は、その親が与えられたとき、その子孫以外からは独立である。
  • 条件付き確率表(CPT):各ノードは確率分布に関連付けられる。親を持つノードの場合、これは条件付き確率分布で、しばしばCPTとして表現され、そのノードに対する親の効果を定量化する。親のないノードは事前確率分布を持つ.

ベイジアンネットワークにおける推論では、他の変数に関するオブザベーション(証拠)が与えられたときに、ある変数の確率分布を計算することが含まれ、多くの場合、ベイズの定理に基づくアルゴリズムが使用される。学習には、構造学習(データからグラフのトポロジーを特定する)またはパラメータ学習(データからCPTを推定する)が含まれる。

Aiと機械学習における関連性

ベイジアンネットワークは、AIやMLにおいていくつかの利点を提供する:

  • 不確実性を扱う:実世界の多くの問題に内在する不確実性を表現し、推論するための自然な枠組みを提供する。
  • 因果推論:グラフの有向性はしばしば因果関係を表し、原因と結果についての推論を可能にするが、因果関係の確立には慎重な設計と仮定が必要である(Judea PearlのCausalityに関する研究)。
  • 知識の結合:グラフの構造化において)専門家の領域知識と(確率の学習において)観測データの統合を可能にする。
  • 解釈可能性:グラフィカルな構造は、複雑なニューラルネットワーク(NN)のようなブラックボックスモデルと比較して、モデルの仮定や依存関係を理解しやすくする。

確率的推論には強力だが、ディープラーニング(DL)アーキテクチャ(例えば、次のような用途に使われる畳み込みニューラルネットワーク(CNN))のようなモデルとは異なる。 Ultralytics YOLOで使用される畳み込みニューラルネットワーク(CNN)のようなモデルとは異なります。CNNは、画像のような生データから階層的な特徴を学習することに優れていますが、多くの場合、明示的な確率的解釈ができません。ベイジアンネットワークが明示的な依存関係をモデル化するのに対し、NNは複雑な、しばしば暗黙的な関数を学習する。また、どちらもグラフィカルモデルの一種であるが、隠れマルコフモデル(HMM)のようなシーケンスモデルとは異なる。

実世界での応用

ベイジアンネットワークは様々な領域で使用されている:

  • 医療診断:病気、症状、患者の病歴、検査結果の関係をモデル化することができる。例えば、ネットワークは「発熱」や「咳」などの症状と患者の年齢を入力として、特定の呼吸器疾患の確率を予測することができる(医療診断に関する論文の例)。これは臨床医の診断を助け、医療画像解析のような技術を補完する。ヘルスケア・ソリューションにおけるAIをご覧ください。
  • スパムフィルタリング:電子メールの特徴(特定のキーワードの存在、送信者の評判、リンクの包含)をベイジアンネットワークの変数としてモデル化し、受信電子メールがスパムである確率を計算することができます(ベイジアンスパムフィルタリングの概要)。
  • リスク評価:金融や工学において、リスクの要因(市場環境、部品の故障など)をモデル化し、望ましくない結果の確率を推定するために使用される(金融リスクモデリングの応用)。
  • バイオインフォマティクス:遺伝子制御ネットワークをモデル化し、複雑な生物学的システムを理解するために応用される
  • システムのトラブルシューティングプリンターやネットワークのような複雑なシステムの問題を診断するために、コンポーネントと故障モードをモデリングします。

ツールとリソース

ベイジアンネットワークの作成と使用を容易にするソフトウェアライブラリがいくつかある:

  • pgmpy確率的グラフィカルモデルを扱うための一般的なPython ライブラリ。
  • TensorFlow 確率の拡張 TensorFlowベイジアンネットワークを含む確率的推論のためのツールを提供。
  • PyTorchコアに専用のBNライブラリはないが、PyroのようなPyTorch 上で構築された確率プログラミングライブラリが使える。
  • Matlab用ベイズネットツールボックス学術界で広く使用されているツールボックス。

Ultralytics HUBのようなプラットフォームは、コアモデルが特殊なツールを使用して開発されたベイジアンネットワークであっても、より広範なAIプロジェクトのライフサイクルを管理するのに役立ちます。ベイジアンネットワークを理解することは、機械学習という広い分野で不確実性や因果推論を含む問題に取り組むための貴重なスキルを提供します。AIモデルとアプリケーションの詳細については、Ultralytics ドキュメントをご覧ください。

すべて読む