技術レポート

大量データから知識を抽出する
ベイジアンネットワークの学習技術とその応用
営業本部 事業開発部

鈴木 恒一
1. はじめに
現在、様々な情報が電子化され、企業などには大量のデータやログなどが蓄積されるようになった。
またRFID やセンとは違い、不確定要素の多い事象のモデル化に向いている。
「熱がある。喉が痛い」などの症状からその病因を探る原因推定や、「売上、利益、資産、借り入れ状況」から倒産の確率を推論する予測など、様々な分野に適用可能である。

サーの普及に伴ってリアルタイムに大量のデータが生成されている。
そのため、これらの大量データを効率よく分析して知（2）ベイジアンネットワーク識を抽出し、業務に生かすための技術が求められている。

ベイジアンネットワークは、それぞれの事象をノードで、その事業開発部に属する当社新技術開発チームでは、大量関連を向きを持つリンクである有向リンクとして表現した非循データから知識を抽出する機械学習技術に注目し、ベイジアン

環有向グラフ（ループを含まない有向グラフ）
で、それぞれのネットワークの研究を電気通信大学と共同で行っている。
大量事象の起こる確率をノードごとの確率テーブルとして持ってデータを効率よく処理する独自の手法を考案して学習エンジンいるものである。図1にエンジンの故障診断を行う非常に簡略を開発し、複数の業務への応用を展開し始めている。

化されたベイジアンネットワークの例を示す（※1）。4つの円が事

本稿では、2章でベイジアンネットワークと学習技術の紹介

象を示すノードであり、数字の入った表がそれぞれのノードをし、3章で我々のチームの保有技術と提供可能機能の説明が持つ確率テーブルである。右下のノード④は「エンジンがを行う。4章では、各部門と協力して展開している業務への適かかるかどうか」を示し、「燃料があるかどうか」を示すノード用例を紹介する。

①と「プラグが汚れているかどうか」を示すノード②の影響を

なお「機械学習」は、計算機を用いてデータから統計的性受ける。④の確率テーブルには、燃料がある時とない時、プラ質を抽出し、確率分布の推定や予測のための統計モデルをグがきれいな時と汚れている時にエンジンがかかる確率がそ自動的に構築する技術の総称である。
なかでも本稿では、ベれぞれ収められている。
ベイズの定理から、エンジンがかからイジアンネットワークモデルの学習について述べる。

ない時に燃料が空である確率とプラグが汚れている確率を計算することができ、エンジンの故障の原因推定をすることが2. ベイジアンネットワークと学習技術
ベイジアンネットワークは、物事を確率的に推論する「確できる。
図1 エンジン故障診断の例

率推論」技術の一つである。我々の保有技術は、大量データからベイジアンネットワークを効率よく構築する学習技術であるが、まず確率推論とベイジアンネットワークについて説明を行う。
（1）
確率推論
確率推論は、「Aという事象が起きた時にBという事象が起こる確率は○%である」のように確率的に推論を行う技術である。
「AならばBである」と決定論的に導かれる論理推論（※1）Jensen, F. V. and Nielsen, T.D.: Bayesian Networks and Decision Graphs, Springer Verlag, 2nd edition 2007.

14

ベイジアンネットワークは、（a）様々な事象をノードとして表現できること、（b）モデルの理解が容易なこと、（c）全てのノードを入力にも出力にも使えること、（ d）他の推論技術に比べ用的な時間で行うことができている。
図2 計算時間と標準偏差て推論精度が高いことから、非常に柔軟で使いやすく適用（3）
ベイジアンネットワークの学習
では次に、ベイジアンネットワークの作成手法に目を向けてみる。図1で示したベイジアンネットワークでは因果関係が明確であり、モデルを作成するのは非常に簡単である。
また確率テーブルも、過去の故障報告などからエンジンがかからなComputation Time (sec)範囲の広い技術であり、応用例も数多く報告されている。

500が汚れていた場合の報告事例を集計することで容易に確率を求めることができる。
しかしながらこのような単純なベイジアンネットワークでは実用とすることはできないであろう。

える確率テーブルを全て埋めることは困難な作業となり、推論精度の高いベイジアンネットワークを人手で作成することはすぐに非現実的となる。
そこで注目されるのがデータからノード間の関連性を計算して適切に接続し、データを数え上げて確率テーブルを埋める学習技術である。
ところが従来の学習技術では、ノード数やそれぞれのノードが取りうる状態の数が増えるに従って指35030025015010050×0度までの学習が限度となる。

×××10000

20000

30000×40000

50000

10000
1000
100×10×0.10××

TPDA Mean
Proposed MeanTPDA SD
Proposed SD

1200400

600×800

1000

Variables

数関数的に計算時間が増えてしまうという課題を抱えている。通常のデスクトップレベルの性能のPCでは、数百ノード程

××200×

図3 ノード数と計算時間

Computation Time (sec)難しくなる。
また接続されるノードが増えるに従って次元が増400Sample

さらに多くのノードを持つ複雑なベイジアンネットワークを作成する場合、それぞれのノード間の関連性を判断することはTPDA Mean
Proposed MeanTPDA SD
Proposed SD×4500

かった場合の原因として燃料がなかった場合、およびプラグalarm

次章で紹介する実際の適用例ではまだ数十ノードレベルのベイジアンネットワークしか計算していないが、既存手法よりも高速でかつ学習時間の予測が容易であるという強みは非

3．保有技術と提供可能機能
当社新技術開発チームでは、森下研究員を社会人大学院生として電気通信大学へ派遣し、大規模ベイジアンネットワー
クの高速学習をテーマとして植野真臣准教授と共同研究を行ってきた。
大規模なベイジアンネットワークを高速に学習する常に有効である。
この学習エンジンを核として、我々のチームでは以下のような機能を提供することが可能となっている（図4）。
図4 提供可能機能

アルゴリズムTPDA（Three Phase Dependency Analysis）（※2）

を改良してさらに高速化した手法（※3）を考案し、独自の学習エンジンを実装した。
図2にこのエンジンの学習結果を示す。
37ノードのベイジアンネットワークの学習において、サンプルデー
タ数を増やした時の計算時間と計算時間のばらつきを示す標
準偏差（SD）のグラフである。
提案手法（Proposed）
では既存手法のTPDAよりも高速に、かつ計算時間のばらつきを非常に抑えて学習することができている。
計算時間のばらつきが少ないということは、学習時間の見積りがしやすいということである。
また図3のノード数を増やした時の計算時間のグラフに示
すように、従来手法では500ノード程度までしか学習できない計算環境で、1000ノードのベイジアンネットワークの学習を実（※2）Cheng, J., Greiner, R., Kelly, J., Bell, D., and Liu, W.: Learning Bayesian networks From data: an information-theory based approach, Artificial Intelligence,
Vol.137, No. 1-2, pp. 43-90（2002）（※3）森下民平, 植野真臣: ベイジアンネットワーク学習アルゴリズムTPDAの高速化,人工知能学会全国大会(第24回)論文集, 201015

（1）データを学習してグラフモデルを作成し視覚化する

4.1 市販後薬剤の有害事象分析（シグナル検出）

例えば顧客データや購買履歴、アクセスログなど既存デー

現在、当社医薬BTO部門と連携して活動しているのが薬タから学習データ（CSVファイル）を作成し、学習エンジンでグと有害事象の関連性分析である。
ある薬と複数の併用薬、ラフモデルを構築することにより、どのノード（年齢、性別、閲そしてそれらの薬を服用した時の有害事象の報告データか覧ページ、購買の成否など）間の関連が強いかを読み取る

ら、薬と有害事象の関連性や、複数の薬を飲み合わせた時ことができる。購買の成否と関連のあるノードが明確になれの有害事象の起こりやすさなどを計算することができる。
ここば、それに対する対策を立てることができるであろう。
ただしで「有害事象」とは、薬との因果関係のあるなしに係わらず、ノード数が増えるに従ってベイジアンネットワークは複雑化し、薬が投与されたのちに患者に発生した様々な負の事象であ知見を読み取るのが難しくなるため、（2）のシミュレーションにる。
この中からある薬との因果関係が認められたものを「副よって有用な情報を抽出する必要がある。
またモデル作成の作用」と呼ぶ。副作用が疑われるような有害事象をデータか目的を明確化して生データから必要な学習データを作成すら検出することを「シグナル検出」と呼ぶ。

る前処理には業務知識が必要となるため、業務を深く理解するエキスパートとの連携が必要である。

（1）製薬会社における分析ニーズ
新薬が承認され市販された後に起きた有害事象の報告（2）グラフモデルをもとに網羅的なシミュレーションを行う

は、病院から MR を通して各製薬会社に集められる。各製（1）で作成したグラフモデルをもとに、知りたい情報を持つ薬会社では収集された報告を分析し、死亡などの重篤な事ノード（購買の成否）と関連のあるノードが持っている状態を象や未知の有害事象をPMDA（医薬品医療機器総合機網羅的に組み合わせて確率推論エンジンで処理することによ構）へと報告を行う。PMDAでは、各製薬会社から上がってり、どのような条件の下で購買確率が高くなる（もしくは低くなくる報告をさらに分析し、注目すべきデータがあった場合にはる）のかをシミュレーションすることができる。購買確率の高い製薬会社に追加のデータを要求し、薬と副作用の関連性を条件を備えているが未購入の顧客であれば、購入を期待で見極め、薬の添付文書改訂などの対応を指示する（図5）。

きるであろう。

製薬会社では、PMDAからの予期せぬ問い合わせへの対応が非常に負担となってきているため、問い合わせなどにい（3）新規データをグラフモデルに入力し、個々のデータについての推論を行う（1）で作成したグラフモデルをもとに、学習では使用しなつでも対応できるよう、薬との因果関係が疑われるような事例をあらゆる角度から分析を行って把握しておきたいニーズがあり、我々の分析手法もその支援の一つとなる。

かった顧客リストを確率推論エンジンで処理することにより、どの顧客の購買確率がどのくらいあるかを推論することがで

図5 有害事象の報告経路

きる。
これにより購買確率の高い顧客からコンタクトを行うことで、効率的に営業を行うことができるであろう。

4．実業務への適用例
現在、大きく分けて二つの領域への適用を進めており、関連する部門と連携して活動を行っている。一つはCRM領域への適用で、顧客データ分析による売上/利益向上への貢献である。既に当社顧客と2011年の実用化を前提とした実証を開始しており、主にWebサイトのアクセスログデータを受領して分析を行っている。
いくつか結果は出つつあるが、実証中なので本稿での報告は差し控えることとする。
また金融分野において既存顧客深耕のための商品推薦や個人ロー

16（2）既存手法ではできない多剤組み合わせにおける定量的分析

ン向けの与信モデル作成などのテーマについて適用の検討

シグナル検出に使用されるデータマイニング手法には、こを始めている。
もう一つは医薬安全性領域への適用で、薬とれまでにもいくつか存在する。各国の規制当局がそれぞれ副作用の相関関係分析である。米国FDA（食品医薬品局）

異なる手法を採用しており、日本でも2009年度からデータマが公開しているデータを取得し分析を行い、それをもとに複イニング手法によるシグナル検出の運用が始まっている。
しか数の製薬会社と情報交換を実施している。以下では医薬のしながら既存のデータマイニング手法は、ある薬と有害事象事例を紹介する。のペアに注目し、その報告事例数をその他の事例数と比較して有意に多いかどうかを検出するもので、複数薬の組み合わせの相互作用による有害事象を分析することはできない。
それに対してベイジアンネットワークに基づく手法を用いることで、複数薬の組み合わせによる有害事象の発生確率を効

表1 薬剤の組み合わせと発生確率の推論値

薬剤の組み合わせ発生確率

G, H, I, J, K

33.33％

A, B, C, D

25.00％の一つである。
自社の薬が他社のライバル薬と比べて有害

C, G, K, H

25.00％

事象が起こりにくいことを定量的に示すことができれば、販売

C, G, E

23.08％F, G, L14.89％

率的に計算することができる。有害事象の起きやすさ/起きにくさを、確率値として定量的に計算することができるのも強み促進にも大きな力となる。

：（3）技術検証
ベイジアンネットワークに基づく手法を技術検証するために、米国FDAにて公開されている過去5年分の報告データ

条件なし

：
0.60％

（AERS）223万件を利用して、ベイジアンネットワークの学習を行った。AERS中で報告されている薬剤は約13,000種類、（4）独自エンジンの強み有害事象は約6,300種類ある。
ここから前処理として、ある

このAERSのデータは、全体としては膨大な報告の中で注注目薬Aの含まれる報告の中から併用薬と有害事象を抽出

目薬の報告が現れる割合はごくわずかであり、極端に偏ったし、45薬剤の学習データを作成した。
この学習データは、あるデータとなっている。通常のベイジアンネットワークの学習エン有害事象に関して服用された複数の薬がそれぞれ「飲んだジンでは、このようなデータの学習は非常に困難である。我々（T）/飲まない（F）」の2値で表されたCSVファイルとなってはこのような問題向けに学習エンジンを調整し、極端に偏っいる。
この学習データを我々の学習エンジンで処理することにたデータでも妥当なベイジアンネットワークの作成を可能としより、ある有害事象Xと関連の強い11薬剤がリンクで接続さた。
これは我々が理論からエンジンの実装までの知識/技術れたモデルが作成でき、関連図を描くことができた（図6）。
こをカバーしていることから実現できていることである。

こで学習したモデルを推論エンジンにかけることで、それぞれの薬が飲まれた時に有害事象が起こる確率をシミュレートす（5）今後の動きることができる。全ての組み合わせについて網羅的に推論す

現在すでにAERSデータの分析結果をもとに、いくつかのることによって、何も条件が与えられてない状況に比べて有製薬会社にベイジアンネットワークを利用したシグナル検出手意に有害事象が発生する組み合わせを抽出することができる

法の紹介と社内データ分析トライアルの要望ヒヤリングを行っ（表1）。
なお発生確率とは、この有害事象Xの報告中にこのている。今後は日本の有害事象報告データを分析して、引き薬剤の組み合わせが現れる確率であり、この薬剤を飲んで続き製薬会社にアプローチしていくとともに、論文発表などを有害事象X が発現する確率ではない。

通じてアカデミックな実績を積み、PMDAや製薬会社に対して多剤での分析の必要性を訴求していく予定である。

図6 有害事象Xと薬剤の関連図

5．おわりにX
K薬

A薬メージは掴んでいただけたのではないかと思う。技術的に興L薬B薬J薬C薬I薬
H薬

D薬E薬

ここまで、ベイジアンネットワークの学習技術の説明から適用事例紹介まで行ってきた。
この技術を応用したビジネスのイF薬G薬

味深い課題はまだいくつもあるものの、ビジネス化の兆しが見えてきていると考えている。
このベイジアンネットワークの学習技術は理論部分からエンジン実装部、業務ごとのアプリケーション部分まで全て当社がカバーしているため、ビジネス展開時にも非常に強い競争力を持つと考えている。
この競争力を維持するための基礎研究部分を地道に継続しつつ、ビジネス展開を続けていく考えである。

17