ベイジアンネットワークと確率的推論におけるその役割を探求する。これらのグラフィカルモデルが説明可能なAIを強化し、Ultralytics と連携する方法を学ぶ。
ベイジアンネットワークは、 変数とその条件付き依存関係を表現するために有向非循環グラフ(DAG)を用いる 確率的グラフィカルモデルの一種である。 単に入力を出力にマッピングする「ブラックボックス」アルゴリズムとは異なり、 これらのネットワークは異なる要因間の因果関係を明示的にモデル化します。 この構造によりデータサイエンティストは不確実性下での予測モデリングと推論を実行でき、 データが不完全な場合や専門家のドメイン知識を統計的証拠と統合する必要があるシナリオにおいて 極めて効果的です。
これらのネットワークの中核をなすのはベイズの定理であり、 より多くの証拠や情報が得られるにつれて仮説の確率を更新するために用いられる数学的公式である。 ベイズネットワークでは、ノードは変数(症状、センサー読み取り値、分類ラベルなど)を表し、 エッジ(矢印)は確率的依存関係を表す。 ノードAからノードBへのリンクが存在する場合、AがBに直接的な影響を与えることを示す。このアーキテクチャは説明可能なAI(XAI)にとって極めて重要である。複雑な深層学習アーキテクチャでは達成が困難な透明性を提供し、ユーザーがモデルの推論経路を追跡できるようにするためである。
これらのモデルは、厳密なリスク評価を必要とする分野で特に有用である。 条件付き確率分布を利用することで、 ベイジアンネットワークは、他の変数に関する観測された証拠を前提とした特定の変数の状態に関する問い合わせに回答できる。 このプロセスは、しばしば確率的推論と呼ばれ、 標準的なニューラルネットワークが行う関数近似とは異なる。
ベイズネットワークは、意思決定において複数の不確実な要素を評価する必要がある産業分野で広く導入されている。
ベイジアンネットワークを他の統計モデルや機械学習モデルと区別することが重要です:
ベイジアンネットワークが明示的な因果グラフを扱う一方で、現代の深層学習モデルも確度を反映した確率的な信頼度スコアを出力する。Ultralytics ツールを用いてカスタムデータセットでモデルを訓練する場合、これらの確率を理解することがモデル性能を解釈する上で重要である。
Python 、事前学習済みモデルを用いた分類タスクにおける確率分布(信頼度)へのアクセス方法を示します。これは現代的な推論ワークフローにおいて確信度がどのように定量化されるかを説明しています。
from ultralytics import YOLO
# Load the YOLO26n-cls classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image source
# This returns a results object containing probability data
results = model("https://ultralytics.com/images/bus.jpg")
# Iterate through results to display class probability
for result in results:
# Access the 'probs' attribute for classification probabilities
top_class_index = result.probs.top1
confidence = result.probs.top1conf
print(f"Predicted Class Index: {top_class_index}, Confidence: {confidence:.4f}")