(57)【要約】【課題】学習データの内容に基づいた重みを付与した上で、その学習データを学習することができる、ベイジアンネットワークのモデルを実装した計算装置を提供する。【解決手段】計算装置は、ベイジアンネットワーク４０に入力される学習データに含まれる注目ノード４４の親ノードと子ノードの少なくとも１つを構成要素とする第１のノード群が示す確率変数についての第１の値群、及び、記憶手段に記憶される条件付確率に基づいて前記注目ノード４４の示す確率変数が所定の値となる第１の確信度を計算し、前記注目ノード４４の示す確率変数が所定の値となる第２の確信度を計算し、少なくとも第１の確信度と、第２の確信度との比較結果に基づいた重みを前記学習データに付与して、該学習データを学習する。【選択図】      図３
2008234064.tif 000002
【特許請求の範囲】
【請求項１】
確率変数を示すノードと、ノード間の依存関係を示す条件付確率とを含むベイジアンネットワークのうちの、少なくとも１つの注目ノードについて、該注目ノードとそのノードの親ノード、子ノードとの間の依存関係を示す条件付確率を記憶する記憶手段と、
前記ベイジアンネットワークに入力される学習データに含まれる前記注目ノードの親ノードと子ノードのうちの少なくとも１つを構成要素とする第１のノード群が示す確率変数の値、及び、前記記憶手段に記憶される条件付確率に基づいて、前記注目ノードが示す確率変数の値の第１の確信度を計算する第１計算手段と、
前記注目ノードが示す確率変数の値の第２の確信度を計算する第２計算手段と、
少なくとも前記第１の確信度と、前記第２の確信度との比較結果に基づいた重みを前記学習データに付与して、該学習データを学習する学習手段と、
を含むことを特徴とする計算装置。
【請求項２】
請求項１に記載の計算装置において、
前記第２計算手段は、前記学習データに付随する付随データに基づいて、前記第２の確信度を計算する、
ことを特徴とする計算装置。
【請求項３】
請求項２に記載の計算装置において、
前記付随データは、前記注目ノードが示す確率変数の値が定まるデータである、
ことを特徴とする計算装置。
【請求項４】
請求項１に記載の計算装置において、
前記第２計算手段は、前記学習データに含まれる、前記注目ノードの親ノード、子ノードのうちの少なくとも１つを構成要素とし、前記第１のノード群とは少なくとも一部の構成要素が異なる、第２のノード群が示す確率変数の値、及び、前記記憶手段に記憶される条件付確率から、前記第２の確信度を計算する、
ことを特徴とする特徴とする計算装置。
【請求項５】
確率変数を示すノードと、ノード間の依存関係を示す条件付確率とを含むベイジアンネットワークのうちの、少なくとも１つの注目ノードについて、該注目ノードとそのノードの親ノード、子ノードとの間の依存関係を示す条件付確率を記憶する記憶手段、
前記ベイジアンネットワークに入力される学習データに含まれる前記注目ノードの親ノードと子ノードのうちの少なくとも１つを構成要素とする第１のノード群が示す確率変数の値、及び、前記記憶手段に記憶される条件付確率に基づいて、前記注目ノードが示す確率変数の値の第１の確信度を計算する第１計算手段、
前記注目ノードが示す確率変数の値の第２の確信度を計算する第２計算手段、
少なくとも前記第１の確信度と、前記第２の確信度との比較結果に基づいた重みを前記学習データに付与して、該学習データを学習する学習手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算装置及びプログラムに関する。
【背景技術】
【０００２】
機械学習の一手法であるアダブーストを適用した学習ができる計算装置では、正解を導けなかったサンプルの重みを重くすることなどにより、学習データの内容に基づいた重みを学習データに付与した上で、その学習データを計算装置が学習することができる。（非特許文献１などを参照）。
【０００３】
ベイジアンネットワークのモデルを実装した計算装置であって、忘却機能を有するものは、最近のデータの重みを重くすることなどにより、学習データを学習した時刻に基づいた重みを学習データに付与した上で、その学習データを計算装置が学習することができる（非特許文献２などを参照）。
【非特許文献１】麻生英樹、津田宏治、村田昇著、「パターン認識と学習の統計学  統計科学のフロンティア6」、岩波書店、2003年
【非特許文献２】エフ・ブイ・ジェンセン（F.V.Jensen）著、「ベイジアン・ネットワークス・アンド・ディシジョン・グラフス（Bayesian Networks and Decision Graphs）」、（米国）、スプリンガー・ヴァーラグ・ニューヨーク・インク（Springer-Verlag,New York, Inc.）、2001年
【非特許文献３】ユシ・ジン（Yushi Jing）、ブラディミィア・パブロビック（Vladimir Pavlovic）、ジェームス・エム・レグ（James M. Rehg）著、「エフィシェント・ディスクリミナティブ・ラーニング・オブ・ベイジアン・ネットワーク・クラシファイア・ヴィア・ブーステッド・オーグメンテッド・ナイーブ・ベイズ(Efficient Discriminative Learning of Bayesian Network Classifier via Boosted Augmented Naive Bayes)」、2005年機械学習国際会議プロシーディングス(Proceedings of International Conference on Machine Learning)、2005年
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ベイジアンネットワークのモデルを実装した計算装置においては、忘却機能を応用したとしても、計算装置が学習する学習データに、その学習データの内容に基づいた重みを付与することは困難である。
【０００５】
計算装置が学習する学習データに、その学習データの内容に基づいた重みを付与できるアダブーストの手法を、ベイジアンネットワークのモデルを実装した計算装置に適用することが非特許文献３に示されている。しかしこの方法は通常のアダブーストの手法をベイジアンネットワークを用いた分類器に利用し間違ったかどうかの二値によって一つの学習データの寄与を計算している。従って一つの学習データの間違え方までを考慮していないので詳細な重み付けができないという課題がある。また学習するデータは答えが与えられている場合に限られているため答えの付いた大量の学習データの入手がコストの観点から難しい場合などに実用的に重要な教師なし学習、もしくは(半)教師なし学習の場合に適用することが困難であった。また、ベイジアンネットワークの確率推論を実行するためにノードに証拠と呼ばれる状態の確定値を入力するが、この証拠の獲得に時間差がある場合などは証拠集合の異なる複数の確率推論結果を得ることができるが、このような状況で学習データの重み付けをする方法がない、という課題があった。
【０００６】
本発明は上記課題に鑑みてなされたものであって、学習データの内容に基づいた重みを学習データに付与した上で、その学習データを学習することが可能な、ベイジアンネットワークのモデルを実装した計算装置を提供することをその目的の一つとする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る計算装置は、確率変数を示すノードと、ノード間の依存関係を示す条件付確率とを含むベイジアンネットワークのうちの、少なくとも１つの注目ノードについて、該注目ノードとそのノードの親ノード、子ノードとの間の依存関係を示す条件付確率を記憶する記憶手段と、前記ベイジアンネットワークに入力される学習データに含まれる前記注目ノードの親ノードと子ノードのうちの少なくとも１つを構成要素とする第１のノード群が示す確率変数の値、及び、前記記憶手段に記憶される条件付確率に基づいて、前記注目ノードが示す確率変数の値の第１の確信度を計算する第１計算手段と、前記注目ノードが示す確率変数の値の第２の確信度を計算する第２計算手段と、少なくとも前記第１の確信度と、前記第２の確信度との比較結果に基づいた重みを前記学習データに付与して、該学習データを学習する学習手段と、を含むことを特徴とする。
【０００８】
また、本発明に係るプログラムは、確率変数を示すノードと、ノード間の依存関係を示す条件付確率とを含むベイジアンネットワークのうちの、少なくとも１つの注目ノードについて、該注目ノードとそのノードの親ノード、子ノードとの間の依存関係を示す条件付確率を記憶する記憶手段、前記ベイジアンネットワークに入力される学習データに含まれる前記注目ノードの親ノードと子ノードのうちの少なくとも１つを構成要素とする第１のノード群が示す確率変数の値、及び、前記記憶手段に記憶される条件付確率に基づいて、前記注目ノードが示す確率変数の値の第１の確信度を計算する第１計算手段、前記注目ノードが示す確率変数の値の第２の確信度を計算する第２計算手段、少なくとも前記第１の確信度と、前記第２の確信度との比較結果に基づいた重みを前記学習データに付与して、該学習データを学習する学習手段、としてコンピュータを機能させるための命令を含んでいる。
【０００９】
本発明によれば、学習データの内容に基づいた重みを付与した上で、その学習データを計算装置が学習することができる。
【００１０】
ここで、前記第２計算手段は、前記学習データに付随する付随データに基づいて、前記第２の確信度を計算してもよい。
【００１１】
また、前記付随データは、前記注目ノードが示す確率変数の値が定まるデータであってもよい。
【００１２】
また、前記第２計算手段は、前記学習データに含まれる、前記注目ノードの親ノード、子ノードのうちの少なくとも１つを構成要素とし、前記第１のノード群とは少なくとも一部の構成要素が異なる、第２のノード群が示す確率変数の値、及び、前記記憶手段に記憶される条件付確率から、前記第２の確信度を計算してもよい。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００１４】
本発明の実施形態に係る計算装置は、例えば、ＣＰＵ等の制御装置、ＲＡＭやハードディスク等の記憶装置、ディスプレイ等の出力装置、キーボード等の入力装置、ネットワークボード等の通信装置を備えた公知のパーソナルコンピュータにより構成されている。
【００１５】
図１は、本計算装置で実現される、各機能の関係を示す機能ブロック図である。同図に示すように、計算装置１０は、機能的にはデータ入力部１２と、データ取得部１４と、計算部１６と、学習部１８と、記憶部２０を備えている。
【００１６】
データ入力部１２はキーボード等の入力装置により実現されている。データ取得部１４、計算部１６、学習部１８は計算装置１０にインストールされた計算プログラムを、計算装置１０に含まれるＣＰＵ等の制御装置で実行することにより実現されている。なお、この計算プログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の情報伝達媒体を介して、あるいは、インターネット等の通信ネットワークを介して計算装置１０に供給される。記憶部２０はＲＡＭやハードディスク等の記憶装置により実現されている。
【００１７】
記憶部２０には、ベイジアンネットワークが記憶されている。ベイジアンネットワークは不確実な事象を示す確率変数を示すノード、そのノード間の定性的な依存関係を示すリンク、及び、それぞれのノード間の定量的な関係を示す条件付確率を含んでいる。ベイジアンネットワークは、図２（ａ）〜（ｅ）に示す条件付確率表３０によって表現することができる。本実施形態では、記憶部２０に、条件付確率表３０が記憶されている。
【００１８】
図３は、図２に示す条件付確率表３０で表現されたベイジアンネットワーク４０の概念図である。図３に示したベイジアンネットワーク４０は、２つの原因ノード４２（確率変数Ｘ１を示す４２−１、及び、確率変数Ｘ２を示す４２−２）、１つの注目ノード４４（確率変数Ｘ３を示す）、２つの結果ノード４６、（確率変数Ｘ４を示す４６−１、及び、確率変数Ｘ５を示す４６−２）を含んでおり、注目ノード４４は原因ノード４２、結果ノード４６のそれぞれと有向リンク４８によりつながれている。原因ノード４２からは注目ノード４４の向きへ有向リンク４８がつながれており、注目ノード４４からは結果ノード４６の向きに有向リンク４８がつながれている。また、有向リンク４８でつながれたノード間の定量的な関係は図２に示す条件付確率表３０に示されている。
【００１９】
この条件付確率表３０に示されている各条件付確率は、蓄積された学習データから計算される推定値である。学習データを学習するにつれて、この推定値のもっともらしさは向上する。学習データがない状況において、予想、確信に基づく数字を与えたものである事前確率を各条件付確率とし、計算装置１０が学習データを学習することによって、そのもっともらしさを向上させていくということもできる。
【００２０】
図４は、図３に示したベイジアンネットワーク４０を、メールの重要度を計算する計算装置１０の具体例にあてはめた図である。注目ノード４４は、メールが重要であるという事象を示す確率変数Ｘ３を示している。そして、その注目ノード４４に対する原因ノード４２−１は、題名に「会議」という語が含まれているという事象を示す確率変数Ｘ１（含まれている場合は１、含まれていない場合は０）を示しており、原因ノード４２−２は、宛先に自分が含まれているという事象を示す確率変数Ｘ２（含まれている場合は１、含まれていない場合は０）を示している。一方、注目ノード４４に対する結果ノード４６−１は、メールを閲覧してから１分以内に削除するという事象を示す確率変数Ｘ４（削除した場合は１、削除していない場合は０）を示しており、結果ノード４６−２は、メールを返信したという事象を示す確率変数Ｘ５（返信した場合は１、返信しなかった場合は０）を示している。
【００２１】
ここで、図２に示す条件付確率表３０を図４の具体例にあてはめ、確率変数Ｘ３の確信度の計算の一例を示す。なお、確信度とは、その判断の確からしさを示す数値であり、０以上１以下の実数で表現される。題名に「会議」という語が含まれておらず（Ｘ１＝０）、宛先に自分が含まれていない（Ｘ２＝０）メールが重要である確信度（Ｘ３＝１）は０．１であり、そのメールが重要でない確信度（Ｘ３＝０）は０．９である（図２（ｃ）参照）。このことを、Ｐ（Ｘ３＝０｜Ｘ１＝０，Ｘ２＝０）＝０．９、Ｐ（Ｘ３＝１｜Ｘ１＝０，Ｘ２＝０）＝０．１と表記する。また、メールが重要でない場合に（Ｘ３＝０）、そのメールを削除する確信度（Ｘ４＝１）は０．８であり、そのメールを削除しない確信度（Ｘ４＝０）は０．２である（図２（ｄ）参照）。先の表記に従うと、Ｐ（Ｘ４＝０｜Ｘ３＝０）＝０．２、Ｐ（Ｘ４＝１｜Ｘ３＝０）＝０．８となる。また、メールが重要でないである場合に（Ｘ３＝０）、そのメールに返信する確信度（Ｘ５＝１）は０．１であり、返信しない確信度（Ｘ５＝０）は０．９である（図２（ｅ）参照）。先の表記に従うと、Ｐ（Ｘ５＝０｜Ｘ３＝０）＝０．９、Ｐ（Ｘ５＝１｜Ｘ３＝０）＝０．１となる。
【００２２】
なお、図２に示す条件付確率表３０と、ベイズの定理もしくは非特許文献２に記述されているような確率推論アルゴリズムを用いると、返信したメールが（Ｘ５＝１）が重要である確信度（Ｘ３＝１）、すなわち、Ｐ（Ｘ３＝１｜Ｘ５＝１）などを求めることは可能である。
【００２３】
次に、本実施形態に係る計算装置１０で行われる処理を図１に示した機能ブロック図と図５に示したフローチャートとに基づいて説明する。
【００２４】
記憶部２０には図２（ａ）〜（ｅ）に示す条件付確率表３０があらかじめ記憶されている。また、原因ノード４２や結果ノード４６が示す確率変数を要素とする２つの変数集合をあらかじめ定めておく。ここでは、（Ｘ１，Ｘ２）を第１の変数集合、（Ｘ１，Ｘ２，Ｘ４，Ｘ５）を第２の変数集合として定めておく。
【００２５】
ここで、データ入力部１２を介してデータ取得部１４が学習データを取得する（Ｓ１０１）。図６は学習データの一例である。図６に示すように、学習データ５０には、原因ノード４２や結果ノード４６が示す確率変数についてのいくつかの値５２が含まれている。例えば、題名に「会議」という語が含まれており、宛先に自分が含まれているという情報を含む学習データ５０を取得した際には、Ｘ１＝１，Ｘ２＝１の値５２を得たこととなる。さらに、その学習データ５０に、そのメールを閲覧してから１分以内に削除し、そのメールには返信しなかったという情報も含まれていたとすると、Ｘ４＝１，Ｘ５＝０の値５２も得たこととなる。そして、先に定めた２つの変数集合に従って、前記値５２から構成される集合である証拠集合を２つ特定する（Ｓ１０２）。そして、この２つの証拠集合をそれぞれ、第１の証拠集合、第２の証拠集合と呼ぶこととする。ここでは、（Ｘ１＝１，Ｘ２＝１）が第１の証拠集合であり、（Ｘ１＝１，Ｘ２＝１，Ｘ４＝１，Ｘ５＝０）が第２の証拠集合である。
【００２６】
次に、注目ノード４４が示す確率変数Ｘ３の第１の確信度を計算部１６にて計算する（Ｓ１０３）。ここで、第１の確信度とは第１の証拠集合の条件の下で計算される確率変数Ｘ３の条件付確率である。つまりここでは、Ｐ（Ｘ３＝１｜Ｘ１＝１，Ｘ２＝１）が第１の確信度となる。第１の確信度は、図２に示す条件付確率表３０、及び、ベイズの定理もしくは非特許文献２に記述されているような確率推論アルゴリズムを用いて計算することができる。この第１の確信度は記憶部２０に記憶される。
【００２７】
次に、注目ノード４４が示す確率変数Ｘ３の第２の確信度を計算部１６にて計算する（Ｓ１０４）。第２の確信度は第２の証拠集合の条件の下で計算される確率変数Ｘ３の条件付確率である。つまりここでは、Ｐ（Ｘ３＝１｜Ｘ１＝１，Ｘ２＝１，Ｘ４＝１，Ｘ５＝０）が第２の確信度となる。この値は、図２に示す条件付確率表３０、及び、ベイズの定理もしくは非特許文献２に記述されているような確率推論アルゴリズムを用いて計算することができる。この第２の確信度も記憶部２０に記憶される。
【００２８】
この確信度は、条件付確率表３０に設定されている各条件付確率に基づいて計算される推定値である。学習データ５０を学習するに従って、確信度の推定精度は向上する。
【００２９】
こうして計算された第１の確信度と第２の確信度とを比較し、その比較結果に基づいた重みを計算部１６にて計算する（Ｓ１０５）。例えば、第１の確信度と第２の確信度の差の絶対値に１を加えた値を重みとすることができる。このとき、第１の確信度が０．９５であり、第２の確信度が０．２０であった場合には、重みは１．７５となる。なお、重みの計算方法は確信度の差に基づいたものに限られず、比に基づいたものなどでもよい。このように第１の確信度と第２の確信度の違いを重み付けに用いることで少ない証拠集合からの推定精度を少ない学習データからすばやく向上させることが可能になる。また学習初期にアンケートなどからの教師つき学習によって第２の確信度の推定精度が高いことがわかっている場合などに第１の確信度の推定精度をこの重み付けを用いることですばやく教師なし学習させることができる。
【００３０】
そして、計算装置１０はこの重みに従って重み付けがされた学習データ５０を学習部１８にて学習する（Ｓ１０６）。具体的には、条件付確率表を計算する際に計算される頻度を、上記の重み付けによって、重み付け頻度に変換して計算する。教師なし学習、又は、半教師なし学習の場合にはこの手順に加え更にＥＭアルゴリズムなどの学習アルゴリズムを用いて、記憶部２０に記憶されている条件付確率表３０の値を更新する。このとき更新される条件付確率表３０の値は全てのノードに関する値である必要は必ずしもない。例えば図４においてＸ４とＸ５は精度が高いことがあらかじめわかっている場合には更新しないなどの措置も可能である。
【００３１】
この処理を学習データ５０がなくなるまで繰り返す（Ｓ１０７）。
【００３２】
以上説明した計算装置１０によれば、学習データ５０の内容に基づいた重みを付与した上で、その学習データ５０を計算装置１０が学習することができる。
【００３３】
なお、本発明は上記実施形態に限定されるものではない。
【００３４】
例えば、第２の確信度を、第２の証拠集合に基づいて計算する代わりに、学習データに付随する付随データ、例えば、利用者に対してアンケートを行うことによって得られた、注目ノード４４が示す確率変数の値が定まるアンケートデータが示す確定値に基づいて決定することが考えられる。上記の例では、受信したメールが重要であったか否かについて、利用者にアンケートを行い、メールが重要であれば第２の確信度を１とし、重要でなければ第２の確信度を０とすることができる。このように確定した値を持つ教師データからの教師つき学習に利用することも可能である。
【００３５】
２つの変数集合の定め方には様々なバリエーションが考えられる。
【００３６】
例えば、１つの学習データに含まれる値が得られるタイミングによって、２つの変数集合を定めることが考えられる。上記の例にあてはめると、メールが届いた時点で、そのメールの題名と宛先の情報が得られ、そのメールを削除したり、返信したりした情報はそれよりも後のタイミングで得られるので、第１の変数集合は（Ｘ１，Ｘ２）とし、第２の変数集合を（Ｘ４，Ｘ５）とするという定め方が考えられる。
【００３７】
また、例えば、第１の変数集合を、学習データに含まれるすべての原因ノード４２が示す確率変数から構成し、第２の変数集合を、学習データに含まれるすべての結果ノード４６が示す確率変数から構成するという定め方も考えられる。
【００３８】
一般的に、要素数が多い証拠集合の条件の下で計算される確信度が、要素数が少ない証拠集合の条件の下で計算される確信度よりももっともらしさが高い傾向にあるため、第１の証拠集合の要素数よりも第２の証拠集合の要素数を多くすると、計算装置１０は、より効率的に学習データを学習できる場合がある。
【００３９】
また、一般的に、第１もしくは第２の証拠集合での確信度のもっともらしさが高い証拠集合での確信度を基準として他方の証拠集合からの確信度のもっともらしさをすばやく向上させるように利用すれば、計算装置１０は、より効率的に学習データを学習できる場合がある。この場合もっともらしい確信度を生じさせる証拠集合は他方の証拠集合を包含する集合であることも可能である。
【００４０】
なお、一つのベイジアンネットワーク４０に含まれる注目ノード４４は１つとは限らない。複数の注目ノード４４のそれぞれについて上記手順により学習を行うことも考えられる。
【００４１】
また、条件付確率表３０は、学習データを１つ学習する度に逐次的に更新してもよいし、学習データとその重みを記憶部２０に記憶した上で、複数の学習データを学習してから記憶部２０に記憶された学習データとその重みに基づいて更新してもよい。
【００４２】
また、原因ノード４２が示す確率変数が示す事象と、注目ノード４４が示す確率変数が示す事象とには、定性的な依存関係があれば足り、因果関係がある必要はない。同様に、注目ノード４４が示す確率変数が示す事象と、結果ノード４６が示す確率変数が示す事象とにも、定性的な依存関係があれば足り、因果関係がある必要はない。
【００４３】
また、重みを計算する際に、比較対象となる確信度は２つである必要はなく、３つ以上であってもよい。また、各確率変数がとり得る値は２つである必要はなく、３つ以上であってもよい。
【００４４】
また、データ取得部１４がデータ入力部１２を介して学習データを取得する代わりに、記憶部２０に記憶されている学習データを取得してもよい。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態に係る計算装置の機能ブロック図である。
【図２】本発明の実施形態に係るベイジアンネットワークを表現した条件付確率表の一例を示した図である。
【図３】本発明の実施形態に係るベイジアンネットワークの概念図の一例を示した図である。
【図４】本発明の実施形態に係るベイジアンネットワークの具体的な一例を示した図である。
【図５】制御装置による処理を示すフロー図である。
【図６】学習データの一例を示す図である。
【符号の説明】
【００４６】
１０  計算装置、１２  データ入力部、１４  データ取得部、１６  計算部、１８  学習部、２０  記憶部、３０  条件付確率表、４０  ベイジアンネットワーク、４２  原因ノード、４４  注目ノード、４６  結果ノード、４８  有向リンク、５０  学習データ、５２  値。
【図１】
2008234064.tif 000003
【図２】
2008234064.tif 000004
【図３】
2008234064.tif 000005
【図４】
2008234064.tif 000006
【図５】
2008234064.tif 000007
【図６】
2008234064.tif 000008