(57)【要約】【課題】  学習アルゴリズムを利用して完全テーブルを有するベイズネットワークを学習することを介して、決定木を有するベイズネットワークの学習を促進するシステムおよび方法を提供する。【解決手段】  学習アルゴリズムは、完全テーブルを有するベイズネットワーク中のエッジを反転することのできる探索アルゴリズムを、それに関連する有向非周期グラフ（ＤＡＧ）を精緻化するために備えることができる。次に、精緻化された完全テーブルＤＡＧを利用して、決定木ベイズネットワーク内の決定木を成長させるのに利用される学習アルゴリズムの制約のセットを導出することができる。【選択図】  図１
2005276225.tif 000002
【特許請求の範囲】
【請求項１】
局所分布を有するベイズネットワークの学習を促進するシステムであって、少なくとも１つの分布は完全テーブルではなく、
完全なデータセットと、
完全テーブルベイズネットワークを構築して前記完全なデータセット中のデータの局所分布を表し、完全テーブルベイズネットワーク中のエッジを反転することのできる学習アルゴリズムを利用して決定木ベイズネットワークの学習を促進するベイズネットワークコンストラクタコンポーネントと
を備えたことを特徴とするシステム。
【請求項２】
前記ベイズネットワークコンストラクタコンポーネントはさらに、前記完全テーブルベイズネットワークから結果として得られる有向非周期グラフを分析して、前記完全テーブルベイズネットワークの半順序を判定することを特徴とする請求項１に記載のシステム。
【請求項３】
前記学習アルゴリズムは、前記完全テーブルベイズネットワークの有向非周期グラフの半順序に対して前記局所分布の構築を可能にすることを特徴とする請求項２に記載のシステム。
【請求項４】
前記ベイズネットワークコンストラクタコンポーネントは、前記完全テーブルベイズネットワーク中の各エッジのスコアを判定することを特徴とする請求項１に記載のシステム。
【請求項５】
前記ベイズネットワークコンストラクタコンポーネントは、前記完全テーブルベイズネットワーク中の少なくとも１つの他の潜在的なエッジ構成のスコアを判定して、エッジのスコアを改善できるかどうか査定することを特徴とする請求項４に記載のシステム。
【請求項６】
前記ベイズネットワークコンストラクタコンポーネントは、前記完全テーブルベイズネットワーク中の少なくとも１つのエッジの操作により前記エッジのスコアが改善される場合に、前記エッジを操作することを特徴とする請求項５に記載のシステム。
【請求項７】
前記局所分布は、少なくとも１つの決定木を備えたことを特徴とする請求項６に記載のシステム。
【請求項８】
前記局所分布は、少なくとも１つのサポートベクターマシンを備えたことを特徴とする請求項６に記載のシステム。
【請求項９】
前記局所分布は、少なくとも１つのロジスティック回帰を備えたことを特徴とする請求項６に記載のシステム。
【請求項１０】
完全テーブルではない少なくとも１つの分布を有するベイズネットワークを学習するための方法であって、
完全なデータセットを入力することと、
完全テーブルを備える第１のベイズネットワークを学習することと、
完全テーブルベイズネットワークの有向非周期グラフを分析することと、
少なくとも１つの完全テーブルではない分布を有する分布を備える第２のベイズネットワークを学習することと
を備えることを特徴とする方法。
【請求項１１】
前記第１のベイズネットワークを学習することは、前記完全テーブルベイズネットワーク中のエッジを反転することができる探索アルゴリズムを利用することを備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記完全テーブルベイズネットワーク中の少なくとも１つのエッジのスコアを判定することをさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記完全テーブルベイズネットワーク中の他の潜在的なエッジ構成のスコアを判定することをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記少なくとも１つのエッジのスコアを別の潜在的なエッジ構成のスコアと比較して、前記少なくとも１つのエッジのスコアを改善できるかどうか判定することをさらに備えることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記少なくとも１つのエッジのスコアを改善できると判定された場合に、前記少なくとも１つのエッジを操作して前記少なくとも１つのエッジのスコアを改善することによって、前記完全テーブルベイズネットワークを精緻化することをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１６】
どのエッジスコアも改善できないと判定された場合に、前記完全テーブルベイズネットワーク中のエッジを操作するのを控えることをさらに備えることを特徴とする請求項１５に記載の方法。
【請求項１７】
どのエッジスコアも改善できないと判定されると、前記完全テーブルベイズネットワークの有向非周期グラフに基づいて、前記第２のベイズネットワーク中の局所分布の構築に関する制約のセットを導出することをさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記制約のセットを導出することは、前記完全テーブルベイズネットワークの有向非周期グラフを評価して、精緻化された完全テーブルベイズネットワーク中のすべてのエッジを識別することを備えることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記第２のベイズネットワークを学習することは、前記精緻化された完全テーブルベイズネットワークの有向非周期グラフの半順序を考慮する制約付き学習アルゴリズムを利用することを備えることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記第２のベイズネットワークを規定する局所分布として決定木を成長させることをさらに備えることを特徴とする請求項１９に記載の方法。
【請求項２１】
少なくとも１つのエッジのスコアを判定することは、
前記少なくとも１つのエッジによって接続されたノード間の依存性の度合いを判定することと、
前記少なくとも１つのエッジによって接続されたノード間の依存性の方向を判定することと、
前記少なくとも１つのエッジによって接続されたノード間の依存性の方向に少なくとも部分的に基づいて、前記少なくとも１つのエッジの方向が正しいかどうか査定することと
を備えることを特徴とする請求項１２に記載の方法。
【請求項２２】
前記少なくとも１つのエッジのスコアを前記ノードと前記少なくとも１つのエッジとの他のすべての考えられる構成のスコアと比較することによって、前記少なくとも１つのエッジのスコアが考えられる最良のスコアであるかどうか判定することをさらに備えることを特徴とする請求項２１に記載の方法。
【請求項２３】
前記少なくとも１つのエッジのスコアが前記ノードと前記少なくとも１つのエッジとの別の考えられる構成のスコアよりも低い場合は、前記エッジの方向を反転してエッジスコアを改善することをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２４】
複数のコンピュータコンポーネント間で伝送され、データアクセスを容易にするデータパケットであって、完全データテーブルに基づくモデルまたはパターンに少なくとも部分的に基づくデータセット情報を備えたことを特徴とするデータパケット。
【請求項２５】
前記データパケットは、前記データセットに直接基づくデータセット情報をさらに備えたことを特徴とする請求項２４に記載のデータパケット。
【請求項２６】
前記データパケットは、完全データテーブルに基づくデータセット情報をさらに備えたことを特徴とする請求項２５に記載のデータパケット。
【請求項２７】
複数のコンピュータコンポーネント間で伝送され、データアクセスを容易にするデータパケットであって、前記データパケットは、完全データテーブルを有するベイズネットワークに部分的に基づいて決定木を有するベイズネットワークを学習するために使用可能なデータセット情報を備えたことを特徴とするデータパケット。
【請求項２８】
コンピュータ、サーバ、ハンドヘルド電子デバイスのうちの少なくとも１つを備えたことを特徴とする請求項１に記載のシステムを利用するデバイス。
【請求項２９】
決定木を有するベイズネットワークを学習するのを促進するシステムであって、
データセットから完全テーブルベイズネットワークを学習するための手段と、
前記完全テーブルベイズネットワークから結果として得られる有向非周期グラフを精緻化するための手段と、
少なくとも１つの完全テーブルではない分布を有するベイズネットワークを学習するための手段であって、前記完全テーブルベイズネットの有向非周期グラフの半順序によって課される制約に従って局所分布が構築される手段と
を備えたことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、データモデリングおよび分析に関し、より詳細には、完全データテーブル（ｃｏｍｐｌｅｔｅ  ｄａｔａ  ｔａｂｌｅ）を利用してモデル（またはパターン）を生み出すことに関する。
【背景技術】
【０００２】
インターネット、特にインターネットを介した電子商取引（「ｅコマース」）の出現に伴って、データ分析ツールの使用は劇的に増加した。ｅコマース、ならびにその他のインターネットおよび非インターネットのアプリケーションでは、天文学的に膨大な量の情報を有するデータベースが生成され維持されている。通常、このような情報は、顧客、ユーザ、製品などに関する追加情報を学習するために分析されるか、または「マイニング」される。この情報により、ビジネスおよびその他のユーザがその製品および／またはアイデアをよりよく実施することが可能になる。
【０００３】
データマイニング（データベースにおける知識の発見−ＫＤＤ（Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ）としても知られる）は、「暗示的で、以前は知られていなかった、潜在的に有用な情報のデータからの自明でない抽出」と定義されている。データマイニングは、機械学習技法、統計的技法、および／または視覚化技法を利用して、知識を発見し、人間にとって容易に理解可能な形で提示することができる。一般的に言って、人間は、テキストアイテムよりもグラフィカルアイテムの方が認識または解釈しやすい。したがって、この手段を利用して、他の方法よりも多くの情報を中継することができる。このように、グラフィカルな統計モデルは、データマイニングでは非常に有益であることが証明されている。
【０００４】
コンピュータ科学における人工知能の出現は、多くの決定支援システムをもたらした。決定支援システムは、人間によって通常行われる決定が推奨され、時には決定が行われもするコンピュータシステムである。決定支援システムを開発する際、コンピュータ科学者らは、なしうる最も高い精度で決定を提供しようとする。したがって、コンピュータ科学者らは、人間の専門家と同等以上の決定支援システムを生み出そうと努力する。決定支援システムのアプリケーションには、医療診断、コンピュータネットワークのトラブルシューティング、または、決定が識別可能な基準に基づくその他のシステムが含まれる。
【０００５】
決定支援システムの研究で最も有望な新しい領域の１つは、ベイズネットワークである。ベイズネットワークは、世界に関する特徴（ｄｉｓｔｉｎｃｔｉｏｎｓ）間の確率的関係を表したものである。各特徴は変数と呼ばれることもあり、相互に排他的で網羅的な考えられる状態のセットのうちの１つをとることができる。ベイズネットワークは、変数がノードに対応し、ノード間の関係がアークに対応する非周期有向グラフ（ａｃｙｃｌｉｃ−ｄｉｒｅｃｔｅｄ  ｇｒａｐｈ）として表現される。
【０００６】
ベイズネットワークは、対象の変数間の確率的関係を符号化するグラフィカルな統計モデルである。この１０年にわたり、ベイズネットワークは、エキスパートシステムにおける不確かな専門知識を符号化するためのポピュラーな表現になった。より最近になり、研究者らは、データからベイズネットワークを学習するための方法を開発した。統計的技法と共に使用される場合、グラフィカルモデルは、データ分析にとっていくつかの利点がある。第１に、このモデルはすべての変数間の依存性を符号化するので、いくつかのデータエントリが欠けている状況を容易に扱える。第２に、ベイズネットワークを使用して因果関係を学習することができ、それゆえ、問題領域に関する理解を獲得し、介入（ｉｎｔｅｒｖｅｎｔｉｏｎ）の帰結を予測するために使用することができる。第３に、このモデルは因果的および確率的なセマンティクスの両方を有するので、先験知識（因果的な形でもたらされることが多い）とデータとを組み合わせるための理想的な表現である。第４に、ベイズの統計的方法とベイズネットワークとにより、データのオーバーフィッティングを回避するための効率的で理に適ったアプローチが提供される。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
決定木や決定グラフなどの統計モデルを構築するための従来のアプローチには、知識ベースのアプローチと、データベースのアプローチの２つがある。知識ベースのアプローチを使用して、ある人（知識技術者と呼ばれる）が、ある特定の分野の専門家と面接して、専門家の専門知識分野に関する専門家の知識を得る。知識技術者と専門家はまず、専門家の分野における意思決定に重要な、世界の特徴を決定する。これらの特徴は、対象の領域における変数に対応する。例えば、顧客が店で購入した製品に基づいて顧客の年齢を予測するために決定グラフを使用することにする場合、「年齢」についての変数と、すべての該当する製品についての変数があることになる。知識技術者と専門家は次に、決定グラフの構造と、条件付き確率分布を定量化する対応するパラメータ値を判定する。
【０００８】
データベースのアプローチでは、知識技術者と専門家はまず、領域の変数を判定する。次に、これらの変数についてデータを蓄積し、このデータから１つまたは複数の決定グラフを生み出すアルゴリズムを適用する。蓄積されるデータは、その領域の実世界のインスタンスに由来する。すなわち、ある特定の分野における意思決定の実世界のインスタンスである。
【０００９】
通常、データベースのアプローチの方が、一般的な見地からよりよく利用される。しかし、この数年にわたり、データをより効率的に収集する能力が高まるにつれて、これらデータベースのサイズは指数関数的に増大している。これにより、コンピュータ処理技術およびストレージアクセス技法において得られる速度が向上し続けているにもかかわらず、分析に非常に時間のかかる巨大なデータベースが生み出されている。
【課題を解決するための手段】
【００１０】
本発明のいくつかの態様の基本的な理解を提供する目的で、本発明の簡潔な概要を以下に提示する。この概要は、本発明の広範な概観ではない。この概要は、本発明の鍵となる要素または重要な要素を特定するものでもなく、本発明の範囲を画定するものでもない。その唯一の目的は、本発明のいくつかの概念を、後で提示するより詳細な説明の前置きとして簡潔な形で提示することである。
【００１１】
本発明は一般に、データモデリングおよび分析に関し、より詳細には、完全テーブル（ｃｏｍｐｌｅｔｅ  ｔａｂｌｅ）を備えたベイズネットワークを利用して、決定木（ｄｅｃｉｓｉｏｎ  ｔｒｅｅ）を備えたベイズネットワークモデル（またはパターン）を生み出すことに関する。本発明の一態様によれば、完全テーブルを有するベイズネットワーク中のエッジを反転して、このネットワークに追加されたエッジの訂正を容易にすることができる。例えば、分布として完全テーブルでベイズネットワークを学習することができ、この場合、学習アルゴリズムはエッジを反転することができる探索アルゴリズムを利用する。結果として得られる有向非周期グラフ（ＤＡＧ：Ｄｉｒｅｃｔｅｄ  Ａｃｙｃｌｉｃ  Ｇｒａｐｈ）を利用して、局所分布（ｌｏｃａｌ  ｄｉｓｔｒｉｂｕｔｉｏｎ）として決定木を使用するベイズネット学習アルゴリズムを制限することができる。この態様によれば、完全テーブルＤＡＧの半順序（ｐａｒｔｉａｌ  ｏｒｄｅｒ）が、決定木および／または完全テーブル探索から得られるＤＡＧにおいて考慮される。このようにして、完全テーブルＤＡＧ中でＸからＹへのダイレクトパスが存在する場合、Ｘの木においてＹに関する分岐を禁止することができる。
【００１２】
本発明の別の態様によれば、完全テーブルを有するベイズネット中のエッジを評価して、それに関連するスコアを査定することができる。このようなスコアは、そのエッジによって接続されたノード間の依存性の度合いを示すことができる。代替のノード／エッジ構成を考慮することができ、既存のエッジが考えられる最良のスコアを有するかどうかに関して判定を行うことができる。エッジスコアを改善することができる場合は、既存のエッジを操作（例えば反転、削除、新しいエッジと置換するなど）して、スコアの増加を達成することができる。このようにして、本発明は、ベイズネットが良好な順序を有することを確実にすることができる。
【００１３】
上記の目的および関連の目的を達成するために、本発明のいくつかの例示的な態様を、以下の説明および添付の図面に関連して本明細書に記述する。しかし、これらの態様は、本発明の原理を利用することのできる様々な方法のいくつかを示すだけであり、本発明はそのような態様およびその均等物すべてを含むものとする。本発明のその他の利点および新規な特徴は、本発明の以下の詳細な説明を図面と共に検討すると明らかになるであろう。
【発明を実施するための最良の形態】
【００１４】
本発明について図面を参照しながら説明する。図面全体を通して、同様の要素を指すために同様の参照番号を使用する。以下の記述では、本発明の完全な理解を提供するために、説明上、多くの具体的な詳細を示す。しかし、本発明はこれらの具体的な詳細がなくても実施できることは明白であろう。他の場合では、本発明の記述を容易にするために、周知の構造およびデバイスはブロック図で示す。
【００１５】
本明細書で使用されるように、用語「コンピュータコンポーネント」は、コンピュータ関連のエンティティを指すものとし、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアのいずれかである。例えばコンピュータコンポーネントは、限定しないが、プロセッサ上で稼働しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および／またはコンピュータとすることができる。例示の目的で、サーバ上で稼働しているアプリケーションもサーバも両方とも、コンピュータコンポーネントとすることができる。１つまたは複数のコンピュータコンポーネントがあるプロセスおよび／または実行のスレッド内に存在することができ、コンポーネントは１台のコンピュータ上に局在してもよく、そして／または２台以上のコンピュータ間に分散されてもよい。本明細書で述べるモデル、ネットワーク、クエリエンジン、ユーザインターフェース、コンパレータ、モデル（またはパターン）は、コンピュータコンポーネントとすることができることを理解されたい。
【００１６】
本発明は、ベイズネットワークをデータから学習するのを促進し、これには、データ中の独立性を最もよく表すモデル（例えばＤＡＧ）の構造を探索することを伴う。ベイズネットワークは、ＤＡＧと、対応する局所分布のセットとを備え、局所分布のセットは、ＤＡＧによって含意される独立性制約（ｉｎｄｅｐｅｎｄｅｎｃｅ  ｃｏｎｓｔｒａｉｎｔｓ）がすべて考慮される結合分布（ｊｏｉｎｔ  ｄｉｓｔｒｉｂｕｔｉｏｎ）を集合的に定義する。例えば、各局所分布ｐ（Ｘ｜親）が完全テーブルであるとき（例えば、親＿値のすべての可能な値について個々の分布ｐ（Ｘ｜親＝親＿値）があるとき）、典型的な探索手順は、エッジの追加、削除、反転を考慮することができる。
【００１７】
局所分布が決定木であるときは、探索問題はより難しくなることがある。何らかのターゲットＴについての決定木が変数Ｒ上の分岐を含むときは常に、ＲはＤＡＧにおいてＴの親になることになる。このようなシナリオでは、完全テーブル分布とは対照的に、あるノードの親のセットはそのノードについての局所分布を一意に識別しない。したがって、探索アルゴリズムはまた、分布の「下位構造（ｓｕｂ−ｓｔｒｕｃｔｕｒｅ）」（例えば木の構造など）も探索することができる。
【００１８】
多くの場合、学習されたモデルの品質は、ＤＡＧにおいて正しい半順序を導出することに依存する。例えば、構造Ｘ→Ｙ←Ｚが学習された場合、このようなモデル構造は、ＸとＺの周辺独立性（ｍａｒｇｉｎａｌ  ｉｎｄｅｐｅｎｄｅｎｃｅ）を符号化しているので、Ｘ→Ｙ→Ｚ，Ｘ→Ｚよりも優れている可能性がある。局所分布が完全テーブルであるときは、探索オペレータはエッジの方向を反転することができる。このようにして、アルゴリズムが最初にエッジの方向を誤って適用した場合、アルゴリズムは後でこの誤りを訂正することができる。上の例で、貪欲なアルゴリズム（ｇｒｅｅｄｙ  ａｌｇｏｒｉｔｈｍ）が空のネットワークで開始した場合、Ｘ→Ｙを追加することのスコアは、Ｙ→Ｘの追加と同じになることになる。というのは、モデルＸ→ＹＺとＸ←ＹＺは、同じ独立性制約を符号化しているからである。これらオペレータの両方が最良だと仮定すると、貪欲なアルゴリズムはこれらの間で任意に選択することになる。最適モデルがＸ→Ｙ←Ｚである場合、アルゴリズムは、後で反転することによってＸ←Ｙの追加から回復することができる。前述のように、同等のクラスのＤＡＧが適切なオペレータと共に利用される場合、アルゴリズムはこのような任意のエラーから回復することができる。
【００１９】
しかし、局所分布が木であるときは、従来のシステムおよび方法は、明確に定義されたエッジ反転の概念を提供しない。エッジＸ→Ｙを反転することは、（１）Ｙの親としてのＸを削除することと、（２）Ｘの親としてのＹを追加することとを含む。Ｙの親としてのＸを削除することは、Ｙについて決定木中でＸ上のいかなる分岐も削除することを含む。Ｘ上の分岐に従属する分岐が他にある場合は、このような削除によって他の親を削除する可能性がある。さらに、「Ｘの親としてのＹを追加する」ことは、従来のシステムおよび／または方法を使用した決定木分布には明確に定義されていない。むしろ、Ｘについて木の中でＹ上の分岐が必要である。
【００２０】
前述の欠点の結果として、決定木分布を有するベイズネットを学習するための従来の探索オペレータは、通常、木に分岐を追加することを考える。このようなオペレータは、新しい親である場合はエッジをＤＡＧに追加し、またはその親の上で分岐がすでに存在していた場合はエッジをＤＡＧに追加しないことになる。残念ながら、従来のシステムはエッジを追加するだけなので、このような従来システムを使用して、エッジを誤った方向に追加することから回復することは不可能である。さらに、完全テーブルの場合のように、エッジの方向の間での選択（例えば、Ｙの木の中のＸ上で分岐するか、Ｘの木の中のＹ上で分岐するかなど）は、貪欲な探索の初期段階では任意とすることができる。
【００２１】
本発明は、前述の困難の多くを軽減しながら、決定木を有するベイズネットワークを学習するのを促進する。例えば、エッジを反転することのできる探索アルゴリズムを使用して、完全テーブルとともに分布中でベイズネットワークを学習することができる。結果として得られたＤＡＧを利用して、決定木探索アルゴリズムを制限することができる。とりわけ、本発明のシステムおよび方法は、完全テーブルＤＡＧの半順序を決定木探索から得られるＤＡＧ中で考慮することを要求することができる。言い換えれば、完全テーブルＤＡＧ中でＸからＹへの有向パスがある場合、Ｘの木の中でＹ上の分岐を禁止することができる。
【００２２】
図１に、ベイズネットワーク１００の一例を示す。図１では３つの変数Ｘ１、Ｘ２、Ｘ３があり、これらをそれぞれノード１０２、１０６、１１０で表す。このベイズネットワークは、２つのアーク１０４および１０８を備える。ベイズネットワーク中の各変数には、確率分布のセットが関連付けられる。条件付き確率の概念を用いると、ある変数の確率分布のセットはｐ（ｘｉ｜Πｉ，ξ）で表すことができ、「ｐ」は確率分布を指し、「Πｉ」は変数Ｘｉの親を示し、「ξ」は専門家の知識を示す。ギリシャ文字「ξ」は、ベイズネットワークがある特定の分野の専門家の知識を反映していることを示す。したがって、この式は、変数Ｘｉの親と専門家の知識とが与えられた場合のＸｉの確率分布として読むことができる。例えば、Ｘ１はＸ２の親である。確率分布は、変数間の関係の強さを指定する。例えば、Ｘ１が２つの状態（真と偽）を有する場合、Ｘ１には単一の確率分布ｐ（ｘ１｜ξ）が関連付けられ、Ｘ２には２つの確率分布ｐ（ｘ２｜ｘ１＝ｔ，ξ）およびｐ（ｘ２｜ｘ１＝ｆ，ξ）が関連付けられる。本明細書の残りの部分では、ξについては特に言及しない。
【００２３】
ベイズネットワーク中のアークは、ノード間の依存性を表す。２つのノード間にアークがあるとき、アークの方向が第２のノードから第１のノードを指している場合は、第１のノードの確率分布は第２のノードの値に依存する。例えば、ノード１０６はノード１０２に依存する。それゆえ、ノード１０２と１０６は条件付きで依存すると言われる。ベイズネットワーク中にアークが欠けている場合、これは条件付き独立を表す。例えば、ノード１０２とノード１１０は、ノード１０６が与えられた場合に条件付きで独立である。しかし、中間変数を介して間接的に接続された２つの変数は、中間変数の値（「状態」）の知識の欠如を仮定すると条件付きで依存する。それゆえ、ノード１０６の値が知られている場合、ノード１０２とノード１１０は条件付きで依存する。
【００２４】
言い換えれば、変数Ｚが与えられた場合の変数Ｘの確率分布が変数Ｙに依存しない場合、ＸとＹのセットは、Ｚのセットが与えられた場合に条件付きで独立であると言われる。しかし、Ｚが空の場合、ＸとＹは「条件付きで独立」ではなく「独立」と言われる。Ｚが与えられた場合にＸとＹが条件付きで独立でない場合、ＸとＹは、Ｚが与えられた場合に条件付きで依存すると言われる。
【００２５】
各ノードに使用される変数は、異なるタイプとすることができる。具体的には、変数は、離散または連続の２つのタイプとすることができる。離散変数は、有限または可算の数の状態を有する変数であり、連続変数は、無限数の状態を有する変数である。離散変数の一例はブール変数である。このような変数は、「真」と「偽」の２つの状態の一方のみをと想定することができる。連続変数の一例は、−１と１の間の任意の実数を想定することができる変数である。離散変数は関連する確率分布を有する。しかし、連続変数は関連する確率密度関数（「密度」）を有する。あるイベントが、可能な結果のセットである場合、変数「ｘ」とイベント「ａ」および「ｂ」についての密度ｐ（ｘ）は、次のように定義される。
【００２６】
【数１】
2005276225.tif 000003
【００２７】
ここで、ｐ（ａ≦ｘ≦ｂ）は、ｘがａとｂの間にある確率である。
【００２８】
図２に、本発明の一態様によるベイズネット学習システム２００を示す。図２は、データセット２０４によって構成されたデータを分析するベイズネットワークコンストラクタ２０２を示している。ベイズネットワークコンストラクタ２０２は、データセット２０４から収集した情報に基づいて、データの半順序を決定するために、完全テーブルを有するベイズネットワーク２０６を作り出すことができる。ベイズネットワークコンストラクタ２０２は次いで、データセット２０４と、完全テーブルを有するベイズネットワーク２０６とを、探索アルゴリズムを使用して分析して、ベイズネットワーク内でエッジの他の潜在的な構成を識別することができ、このような他の構成を、完全テーブルを有するベイズネットワーク２０６によって定義される半順序と比較することができる。よりよい順序が存在すると判定された場合は、ベイズネットワークコンストラクタ２０２は、局所分布を形成する決定木を有する新しいベイズネットワーク２０８を構築するために、ベイズネット中のエッジを操作（例えば反転、削除、および／または置換など）することができる。新しいベイズネットワーク２０８の決定木は、判定されたよりよい順序に従って構成されたエッジで成長することができる。完全テーブルから導出された有向非周期グラフ（ＤＡＧ）を利用して、ベイズネットワークコンストラクタ２０２によって利用される学習アルゴリズムを、決定木を有する新しいベイズネットワーク２０８の構築が決定木および／または完全テーブル探索から得られるＤＡＧ中で完全テーブルＤＡＧの半順序が考慮されるという主張とともに実施できるように制限することができる。例えば、完全テーブルのＤＡＧがＸからＹへのダイレクトパスを備える場合、ベイズネットワーク学習アルゴリズムは、決定木を有するベイズネットワーク２０８におけるＸの木の中でＹ上の分岐を禁止することができる。
【００２９】
コンストラクタ２０２は、データセット、ＤＡＧ、ベイズネットなどの分析を容易にすることのできるプロセッサ（図示せず）を備えることができる。さらに、プロセッサは、例えばベイズネットワーク中のエッジの潜在的な構成を推定するのを促進するために、人工知能技法を利用することができる。本明細書で使用されるように、用語「推定」は一般に、イベントおよび／またはデータを介して取り込まれた観察のセットからシステム、環境、および／またはユーザの状態を推理または推定するプロセスを指す。推定を利用して、例えば、特定のコンテキストまたは動作を識別することができ、あるいは複数の状態にわたる確率分布を生成することができる。推定は、確率的、すなわちデータおよびイベントの考慮に基づいて、対象の複数の状態にわたる確率分布の算定とすることができる。推定はまた、イベントおよび／またはデータのセットからより高いレベルのイベントを構成するのに利用される技法を指すこともできる。このような推定の結果、観察されたイベントおよび／または記憶されたイベントデータのセットから、イベントが時間的に近接して相関していようとなかろうと、またイベントおよびデータが１つまたはいくつかのイベントおよびデータソースに由来していようとなかろうと、新しいイベントまたはアクションが構築される。様々な分類方式および／またはシステム（例えばサポートベクターマシン、ニューラルネットワーク、エキスパートシステム、ベイズ信念ネットワーク、ファジィ論理、データ融合エンジン、回帰法など）を、本発明と共に自動的および／または推定されたアクションを行うことに関連して利用することができる。
【００３０】
本明細書に述べる本発明は、局所分布として決定木を利用することを強調しているが、このような強調は本発明の説明を簡単にするために提供するものであり、本発明を利用して、決定木以外の条件付き分布を備えるベイズネットワークの構築および／または改良を促進することもできることを理解されたい。例えば、条件付き分布は、ニューラルネットワーク、ロジスティック／線形回帰モデル、サポートベクターマシン（ＳＶＭ）などでもよい。さらに、あるノードで利用される条件付き分布のタイプは、別のノードで利用される条件付き分布のタイプと異なっていてもよい。前述の分布タイプに関して当業者には理解されるであろうが、学習アルゴリズムは、分布に対する該当する入力を識別するために特徴選択アルゴリズム（ｆｅａｔｕｒｅ−ｓｅｌｅｃｔｉｏｎ  ａｌｇｏｒｉｔｈｍ）を必要とし、これらは次にベイズネットワーク中の親を定義する。決定木の中の変数上での分岐は、分岐が由来する変数を入力として選択する効果を有するので、従来の決定木学習アルゴリズムは自動的に特徴選択を行う。本明細書に開示するシステムおよび方法は、従来方法の欠点を克服することのできる、ベイズネットワークの改良されたヒューリスティック探索アルゴリズムを容易にする。このために、本発明は、例えば、コンピュータシステムにおける音声認識および／または手書き認識、蛋白質の構造および／または配列の分析、遺伝子配列決定などを促進するＳＶＭ分布のセットが入っている統計モデルの識別を向上することができる。この潜在的なアプリケーションのリストは、網羅的ではなく例示的な性質のものであり、本発明の範囲をどんな形でも限定するものではない。
【００３１】
図３は、本発明の一態様による、データセットからの決定木を有するベイズネットの構築を容易にするデータ操作の様々な段階を示すベイズネットワーク学習システム３００の図である。学習システム３００は、データセット３０２と、データセットから情報を抽出する手段３０６を有する完全テーブルを含むベイズネットワーク３０４と、完全テーブル３０４を有するベイズネットワークによって定義される半順序を使用して決定木を備えたベイズネットワーク３０８を学習するための学習手段３１０を有する決定木を備えたベイズネットワーク３０８とを備える。一実施例によれば、学習システム３００は、データセット３０２にによって構成される情報を分析し、学習アルゴリズムを介して、完全テーブルを有するベイズネットワーク３０４を構築することができる。学習アルゴリズムは、完全テーブルネットワーク３０４中のエッジを反転することのできる探索アルゴリズムを備えることができる。このようなベイズネットワーク３０４に基づいて、完全テーブルＤＡＧの半順序は、完全テーブルを有するベイズネットワーク３０４中のエッジの分析を介して、決定および／または定義することができる。半順序が評価されると、データセット３０２を手段３１２を介して再訪し再査定して、半順序を改善できるかどうかの分析を促進するために、完全テーブルを有するベイズネットワーク３０４によって定義されるＤＡＧをデータセット３０２の他の潜在的な構成に対して評価および／または比較することができる。例えば、完全テーブルを有するベイズネットワーク３０４中の特定のエッジの操作（例えば反転、削除、追加など）がより最適な順序の達成を促進することになるかどうかに関して決定を行うことができる。このような判定が、順序を改善できることを示す場合は、よりよい順序の達成を促進するために、エッジを操作することができ、新しいベイズネットワーク３０８を決定木と共に局所分布中で学習することができる。このようなことは、決定木ＤＡＧを構築するときに完全テーブルＤＡＧの半順序を考慮するベイズネット学習アルゴリズムを利用することによって促進することができる。
【００３２】
図４は、完全テーブルを備える単純な例示的ベイズネットワーク４００の図である。完全テーブルは、分布の形状に関する情報を備えることができるので、ベイズネットワーク中のエッジを学習するのに有用である。例えば、決定木は、不完全な局所分布を備えることがあり、それにより形状情報が不足するということになることがある。完全テーブルを利用してベイズネットワークを学習することによって、従来の方法で必要とされるよりも貪欲でない探索を行なうことができ、それにより、データ依存の良好な順序を判定するのを促進する。図４に示す「Ｖ」構造は、このような情報豊富な順序構造の１つである。この図によれば、ＸおよびＺがＹに先行するはずである。このような順序が学習されると、これを例えば決定木学習モデルに対する制約として適用することができる。例えば、このような制約は、ある変数が元の順序において子孫である場合はその変数にエッジを追加することはできないと主張することができる。このようにして、ベイズネットワークなどの決定木を成長するために、順序化の高品質な近似を提供し、次いで微調整することができる。
【００３３】
本発明のこの態様によれば、図４に示すように、最初にＸとＺは互に独立している（例えばＸに関する知識はＺを知ることによって得ることはできない）。例えば、Ｘが雨の発生を表し、Ｚがランダムに時間指定されたスプリンクラーシステムを表し、Ｙが湿った草を表す場合、雨が降った（例えばＸが真である）という知識は、スプリンクラーシステムも作動していなかった（例えばＺもまた真である）ということを推測しない。しかし、第２の概略図は、Ｙが与えられた場合にＸが統計的にＺに依存することを示しており、したがって、スプリンクラーシステムが作動していて、草が湿っていることが分かっている場合は、雨が降った確率は低くなる。このようにして、本発明は、完全テーブルの検索中にデータの順序に関する情報を収集することができ、次いでこの順序情報を利用して、決定木の展開を促進することができる。
【００３４】
図４には、本発明の一態様により２つの変数間のエッジの方向を能動的に反転できるというアクションが起こりうるということを示すために、第１の概略図から第２の概略図への破線矢印が示されている。このようなエッジ反転は、ベイズネットワークを学習するときに葉ノードや木などについて最良のスコアを達成するのを促進する。
【００３５】
図５に、本発明の一態様によるエッジ反転手順５００を示す。最初に、ＸとＹの間にエッジを挿入し、ＸがＹに依存することを示す。ＹとＺの間に第２のエッジを挿入し、ＹがＺに依存すること、および、Ｙが与えられた場合にＸが今やＺに依存することを示す。前述のように、例えばベイズネットワークを学習するのを促進するために、Ｘ−Ｙ−Ｚの葉ノードにスコアを割り当てることができる。この時点で、最初に加えたエッジが誤った方向で挿入されたと判定することができる（例えばＸはＹに依存すべきでないなど）。このような判定は、例えば、葉ノード中の変数間における他の可能な依存関係に関して葉ノードのスコアを判定することによって行うことができる。代替の組合せの方が高いスコアを生じる（例えば正しさの尤度がより高い）場合は、そのような組合せはエッジ方向の反転によって実現することができる。このようにして、本発明は、従来の決定木を利用することに関連する問題を克服することができ、これはこれまで、エッジ方向の考慮がなかったために訂正することができなかった。
【００３６】
この例によれば、構造Ｚ→Ｙ←Ｘが学習された場合、このようなモデル構造は、ＸとＺの周辺独立性を符号化しているので、例えばＺ→Ｙ→Ｘ，Ｚ→Ｘよりも優れている可能性がある。局所分布が完全テーブルであるときは、探索オペレータは、エッジの方向を反転して、このような優れた順序または構造を促進することができる。このようにして、アルゴリズムが最初にエッジの方向を誤って適用した場合、アルゴリズムは後でこの誤りについて訂正することができる。上の例で、貪欲なアルゴリズムが空のネットワークで開始した場合、Ｘ→Ｙを追加することのスコアは、Ｙ→Ｘの追加と同じになることになる。というのは、モデルＸ→ＹＺとＸ←ＹＺは、同じ独立性制約を符号化しているためである。これらのオペレータの両方が最良だと想定すると、貪欲なアルゴリズムはこれらの間で任意に選択することになる。最適モデルがＸ→Ｙ←Ｚである場合、アルゴリズムは、後で反転することによってＸ←Ｙの追加から回復することができる。前述のように、同等のクラスのＤＡＧが適切なオペレータと共に利用される場合、アルゴリズムはそのような任意のエラーから回復することができる。
【００３７】
上に図示し、記述した例示的なシステムに照らして、本発明により実施することのできる方法は、図６および７のフローチャートを参照してよりよく理解されるであろう。説明を簡単にするために、本方法を一連のブロックとして図示および記述するが、本発明によるいくつかのブロックは本明細書に図示および記述したのとは異なる順序で、そして／または他のブロックと同時に起こりうるので、本発明はブロックの順序によって制限されないことを理解および認識されたい。さらに、本発明による方法を実施するために、例示したすべてのブロックが必要であるとは限らない。
【００３８】
本発明は、１つまたは複数のコンポーネントによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを行うか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、データ構造などを含む。通常、プログラムモジュールの機能は、様々な実施形態での要望に応じて組み合わせたり、分散したりすることができる。
【００３９】
図６に、本発明の一態様に従って、局所分布を表すために決定木を利用してベイズネットワークを学習する方法６００を示す。方法６００によれば、６０２で、完全なデータセットが入力される。６０４で、エッジを反転することのできる探索アルゴリズムを利用して、完全テーブルを有するベイズネットを学習することができる。６０６で、完全テーブルベイズネットワークから結果として得られるＤＡＧを分析して、６０４で学習したベイズネットの半順序を判定することができる。
【００４０】
６０８で、ＤＡＧを利用して、決定木の成長に対する境界および／または制限を画定することができる。例えば、完全テーブルベイズネットのＤＡＧがＸからＹへのダイレクトパスを備える場合、決定木ベイズネットにおいてＸの木の中でＹ上の分岐を禁止することができる。このようにして、完全テーブルベイズネットから導出された順序を、決定木の成長に関する制約として適用することができ、それにより、高品質の順序近似が完全テーブルベイズネットによって達成することができ、ベイズネットワーク内の局所分布として決定木を成長させるために後でこれを微調整することができる。６１０で、決定木を局所分布中で利用する新しいベイズネットを構築するために、完全テーブルＤＡＧによって定義される半順序を考慮した決定木を成長させることができる。
【００４１】
図７は、本発明の一態様に従って、完全データテーブルを使用してベイズネットワークを学習するための方法７００の図である。７０２で、完全なデータセットが入力され、完全テーブルを有するベイズネットの半順序を判定するために、７０４で、学習アルゴリズムを利用してその中のノード間のエッジを識別する。学習アルゴリズムはさらに、完全テーブルベイズネット中のエッジを操作することのできる探索アルゴリズムを備えることができる。７０６で、完全テーブルベイズネット中でエッジスコアを増加することができるかどうかに関して判定が行われる。このような判定は、例えば、ノード間の相関性を測定して、ノードが統計的に依存する度合いを査定することによって行うことができる。このような判定は、従来利用可能であった方法よりも効率的な方法で順序構造を判定するのを促進する。例えば、エッジが２つのノード間に存在すると判定することは、これらのノードが統計的に依存することを示すことができるが、依存の大きさに関する情報を提供することはできない。エッジスコアを査定することにより、依存性の度合いを定量化することができる。これにより、最良の順序を判定して、ベイズネットなどの統計モデルの学習を促進することができる。
【００４２】
７０６での検討により、エッジスコアを増加することができることが示された場合は、７０８でこのような検討に従うことができ、スコアの低いエッジを、特定のエッジのスコアを改善するために削除、置換、反転するなどすることができ、したがって統計モデルの良好な順序を促進する。エッジを操作してより高いエッジスコアが達成されると、この方法をさらなる繰り返しのために７０４に戻ることができる。このようにして、方法７００は、フィードバック／フィードフォワードループを利用して、データテーブル中の頂点の最適な順序を実現するために、繰り返しのエッジ置換および／または調整を可能にすることができる。加えて、７０６でエッジスコアを改善することができない（例えば現在のエッジの方が他の潜在的な構成よりも正しい確率が高いなど）と判定された場合は、方法は７１０に進むことができ、完全データテーブルを有するベイズネットから得られる半順序に少なくとも部分的に基づいて、決定木の成長を介してベイズネットワークを学習することができる。最適な決定木を有するベイズネットを学習すると、７１２でベイズネットを出力することができる。このように、方法７００は、よりスコアの高いモデルの学習を可能にする順序を識別するのを促進するために、完全データテーブルを有するベイズネット中のエッジを操作することができ、これにより、改良された決定木ベイズネットの学習が容易になる。
【００４３】
本発明の様々な態様を実施するための追加のコンテキストを提供する目的で、図８および図９と後続の論考では、本発明の様々な態様を実施することのできる適したコンピューティング環境８００および９００の簡単かつ一般的な記述を提供する。本発明を、ローカルコンピュータおよび／またはリモートコンピュータ上で稼働しているコンピュータプログラムのコンピュータ実行可能命令の一般的なコンテキストで上述したが、本発明はその他のプログラムモジュールと組み合わせて実施することもできることを当業者は理解するであろう。一般に、プログラムモジュールは、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含む。さらに、本発明の方法は、その他のコンピュータシステム構成で実施することもできることを当業者は理解するであろう。その他のコンピュータシステム構成には、シングルプロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースまたはプログラム可能な民生用電子機器などが含まれ、これらはそれぞれ、１つまたは複数の関連するデバイスと動作可能に通信することができる。本発明の例示した態様はまた、通信ネットワークを介してリンクされたリモート処理デバイスによって特定のタスクが行なわれる分散コンピューティング環境で実施することもできる。しかし、本発明の態様でなければいくつかは、スタンドアローンコンピュータ上で実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよび／またはリモートのメモリストレージデバイスに位置することがある。
【００４４】
本明細書で使用するように、用語「コンポーネント」は、コンピュータ関連のエンティティを指し、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアのいずれかとする。例えばコンポーネントは、限定しないが、プロセッサ上で稼働しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、コンピュータとすることができる。例示の目的で、サーバ上で稼働しているアプリケーションおよび／またはサーバは、コンポーネントとすることができる。加えて、コンポーネントは１つまたは複数のサブコンポーネントを含むことができる。
【００４５】
図８を参照すると、本発明の様々な態様を実施するための例示的なシステム環境８００は、従来型のコンピュータ８０２を備え、コンピュータ８０２は、処理ユニット８０４と、システムメモリ８０６と、システムメモリを含む様々なシステムコンポーネントを処理ユニット８０４に結合するシステムバス８０８とを含む。処理ユニット８０４は、任意の市販のまたは独自仕様のプロセッサとすることができる。加えて、処理ユニットは、並列に接続できるものなど、複数のプロセッサで形成されたマルチプロセッサとして実装することができる。
【００４６】
システムバス８０８は、メモリバスまたはメモリコントローラ、周辺バス、様々な従来のバスアーキテクチャのいずれかを用いたローカルバスを含むいくつかのタイプのバス構造のいずれかとすることができ、従来のバスアーキテクチャのいくつかの例としては、ＰＣＩ、ＶＥＳＡ、マイクロチャンネル、ＩＳＡ、ＥＩＳＡなどが挙げられる。システムメモリ８０６は、読取り専用メモリ（ＲＯＭ）８１０およびランダムアクセスメモリ（ＲＡＭ）８１２を備える。起動中などにコンピュータ８０２内の要素間で情報を転送するのを助ける基本ルーチンが入ったＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）８１４はＲＯＭ８１０に格納されている。
【００４７】
コンピュータ８０２はまた、例えば、ハードディスクドライブ８１６、例えばリムーバブルディスク８２０に対して読み書きするための磁気ディスクドライブ８１８、例えばＣＤ−ＲＯＭディスク８２４またはその他の光学媒体に対して読み書きするための光ディスクドライブ８２２を備えることもできる。ハードディスクドライブ８１６、磁気ディスクドライブ８１８、光ディスクドライブ８２２は、それぞれハードディスクドライブインターフェース８２６、磁気ディスクドライブインターフェース８２８、光ドライブインターフェース８３０によってシステムバス８０８に接続される。ドライブ８１６〜８２２およびそれらの関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令など、コンピュータ８０２の不揮発性記憶域を提供する。上記のコンピュータ可読媒体の記述ではハードディスク、リムーバブル磁気ディスク、ＣＤについて言及したが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなど、コンピュータによって読取り可能なその他のタイプの媒体をこの例示的な動作環境８００で使用することもでき、さらにこのような媒体はいずれも、本発明の方法を行うためのコンピュータ実行可能命令を収容することができることを当業者は理解されたい。
【００４８】
ドライブ８１６〜８２２およびＲＡＭ８１２には、オペレーティングシステム８３２、１つまたは複数のアプリケーションプログラム８３４、その他のプログラムモジュール８３６、プログラムデータ８３８を含む、いくつかのプログラムモジュールを格納することができる。オペレーティングシステム８３２は、任意の適したオペレーティングシステム、またはオペレーティングシステムの組合せとすることができる。例として、アプリケーションプログラム８３４およびプログラムモジュール８３６は、本発明の一態様にしたがってデータセットを利用するモデル（またはパターン）および／または依存性ネットワークを備えることができる。加えて、プログラムデータ８３８は、本発明の一態様に従ってモデル（またはパターン）が生成される入力データ、および／または照会が行われる入力データを備えることができる。
【００４９】
ユーザは、キーボード８４０やポインティングデバイス（例えばマウス８４２）など、１つまたは複数のユーザ入力デバイスを介して、コマンドおよび情報をコンピュータ８０２に入力することができる。その他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、ワイヤレスリモート、スキャナなどを含めることができる。これらおよび他の入力デバイスは、システムバス８０８に結合されたシリアルポートインターフェース８４４を介して処理ユニット８０４に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など、その他のインターフェースによって接続することもできる。モニタ８４６または他のタイプの表示デバイスも、ビデオアダプタ８４８などのインターフェースを介してシステムバス８０８に接続される。モニタ８４６に加えて、コンピュータ８０２は、スピーカやプリンタなど、その他の周辺出力デバイス（図示せず）を備えることができる。
【００５０】
コンピュータ８０２は、１つまたは複数のリモートコンピュータ８６０との論理接続を用いて、ネットワーク化された環境で動作することができることを理解されたい。リモートコンピュータ８６０は、ワークステーション、サーバコンピュータ、ルータ、ピアデバイス、またはその他の共通ネットワークノードとすることができ、通常はコンピュータ８０２に関して述べた要素の多くまたはすべてを備える。ただし、簡単にするために図８にはメモリストレージデバイス８６２のみを示している。図８に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）８６４およびワイドエリアネットワーク（ＷＡＮ）８６６を備えることができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、インターネットで一般的である。
【００５１】
例えば、ＬＡＮネットワーキング環境で利用されるときは、コンピュータ８０２は、ネットワークインターフェースまたはアダプタ８６８を介してローカルネットワーク８６４に接続される。ＷＡＮネットワーキング環境で利用されるときは、コンピュータ８０２は通常、モデム（例えば電話、ＤＳＬ、ケーブルなど）８７０を備えるか、またはＬＡＮ上の通信サーバに接続されるか、インターネットなどのＷＡＮ８６６を介して通信を確立するための他の手段を有する。モデム８７０はコンピュータ８０２に対して内蔵でも外付けでもよく、シリアルポートインターフェース８４４を介してシステムバス８０８に接続される。ネットワーク化された環境では、プログラムモジュール（アプリケーションプログラム８３４を含む）および／またはプログラムデータ８３８を、リモートのメモリストレージデバイス８６２に格納することができる。図示したネットワーク接続は例示的であり、本発明の一態様を履行するときに、コンピュータ８０２と８６０との間で通信リンクを確立する他の手段（例えば有線または無線）を使用することができることは理解されるであろう。
【００５２】
コンピュータプログラミングに精通した者のプラクティスに従い、本発明は、特に指示しない限り、コンピュータ８０２やリモートコンピュータ８６０などのコンピュータによって行われる操作のアクトおよびシンボル表現を参照して述べた。このようなアクトおよび操作は、時にコンピュータにより実行されると言われる。アクトおよびシンボル的に表した操作には、データビットを表す電気信号の処理ユニット８０４による操作を含み、これにより、結果として得られる電気信号表現を変換または圧縮し、メモリシステム（システムメモリ８０６、ハードドライブ８１６、フロッピー（登録商標）ディスク８２０、ＣＤ−ＲＯＭ８２４を含む）中のメモリロケーションでデータビットを維持し、それによってコンピュータシステムの動作ならびに信号のその他の処理を再構成するか、そうではなければ変更させることが理解されるであろう。このようなデータビットが維持されるメモリロケーションは、そのデータビットに対応する特定の電気的、磁気的、または光学的特性を有する物理的位置である。
【００５３】
図９は、本発明が対話することのできる例示的なコンピューティング環境９００の別のブロック図である。システム９００はさらに、１つまたは複数のクライアント９０２を備えるシステムを示している。クライアント９０２は、ハードウェアおよび／またはソフトウェア（例えばスレッド、プロセス、コンピューティングデバイス）とすることができる。システム９００はまた、１つまたは複数のサーバ９０４を含む。サーバ９０４もまた、ハードウェアおよび／またはソフトウェア（例えばスレッド、プロセス、コンピューティングデバイス）とすることができる。サーバ９０４は、例えば、本発明を利用することにより変換を行うためのスレッドを収納することができる。クライアント９０２とサーバ９０４との間の可能な通信の１つは、複数のコンピュータプロセス間で伝送されるように適合されたデータパケットの形態とすることができる。システム９００は、クライアント９０２およびサーバ９０４の間の通信を容易にするのに利用することができる通信フレームワーク９０８を備える。クライアント９０２は、クライアント９０２に対してローカルな情報を格納するのに利用することができる１つまたは複数のクライアントデータストア９１０に動作可能に接続される。同様に、サーバ９０４は、サーバ９０４に対してローカルな情報を格納するのに利用することができる１つまたは複数のサーバデータストア９０６に動作可能に接続される。
【００５４】
本発明の装置、システム、および／または方法は、コンピュータコンポーネントおよび非コンピュータ関連コンポーネントなどを促進する節電方式全体で利用することができることを理解されたい。さらに、本発明の装置、システム、および／または方法は、限定しないがコンピュータ、サーバ、および／またはハンドヘルド電子デバイスなどを含む様々な電子関連技術で利用することができることを当業者は理解するであろう。
【００５５】
上記の記述は、本発明の実施例を含む。当然、本発明を記述する目的で考えられるあらゆるコンポーネントまたは方法の組合せについて述べることは不可能であるが、本発明の多くのさらなる組合せおよび置換が可能であることを当業者は理解するであろう。したがって本発明は、添付の請求項の趣旨および範囲内に入るすべてのそのような代替形態、修正形態、変更形態を包含するものとする。さらに、詳細な説明または特許請求の範囲で「含む、備える（ｉｎｃｌｕｄｅ）」という語が使用される限りにおいて、このような語は、請求項における移行語として用いられた場合に解釈される「含む、備える（ｃｏｍｐｒｉｓｉｎｇ）」という語と同様に包含的であるものとする。
【図面の簡単な説明】
【００５６】
【図１】本発明の一態様による例示的なベイズネットワークを示す図である。
【図２】本発明の一態様によるベイズネットワーク学習システムのブロック図である。
【図３】本発明の一態様によるベイズネットワーク学習システムの別のブロック図である。
【図４】本発明の一態様による例示的なノード−エッジ構成を示す図である。
【図５】本発明の一態様による葉ノード接続を示す図である。
【図６】本発明の一態様による決定木を有するベイズネットワークを学習するための方法を示す流れ図である。
【図７】本発明の一態様による決定木を有するベイズネットワークを学習するための方法を示す別の流れ図である。
【図８】本発明が機能することのできる例示的な動作環境を示す図である。
【図９】本発明が機能することのできる別の例示的な動作環境を示す図である。
【符号の説明】
【００５７】
１００  ベイズネットワーク
１０２、１０６、１１０  ノード
１０４、１０８  アーク
２００  ベイズネット学習システム
２０２  ベイズネットワークコンストラクタ
２０４  データセット
２０６  完全表を有するベイズネット
２０８  決定木を有するベイズネット
３００  ベイズネットワーク学習システム
３０２  データセット
３０４  完全データ表を備えるベイズネット
３０６  情報を抽出する手段
３０８  決定木を供えるベイズネット
３１０  学習するための学習手段
３１２  再訪および再査定する手段
４００  完全テーブルを備える単純な例示的ベイズネットワーク
８００  コンピューティング環境
８０２  コンピュータ
８０４  処理ユニット
８０６  システムメモリ
８０８  バス
８１０  ＲＯＭ
８１２  ＲＡＭ
８１４  ＢＩＯＳ
８１６  ハードディスクドライブ
８１８  磁気ディスクドライブ
８２０  リムーバブルディスク
８２２  光ディスクドライブ
８２４  ＣＤ−ＲＯＭディスク
８２６  ハードディスクドライブインターフェース
８２８  磁気ディスクドライブインターフェース
８３０  光ドライブインターフェース
８３２  オペレーティングシステム
８３４  アプリケーションプログラム
８３６  その他のプログラムモジュール
８３８  プログラムデータ
８４０  キーボード
８４２  マウス
８４４  シリアルポートインターフェース
８４６  モニタ
８４８  ビデオアダプタ
８６０  リモートコンピュータ
８６２  メモリストレージデバイス
８６４  ローカルエリアネットワーク
８６６  ワイドエリアネットワーク
８６８  ネットワークインターフェース
８７０  モデム
９００  コンピューティング環境
９０２  クライアント
９０４  サーバ
９０６  サーバデータストア
９０８  通信フレームワーク
９１０  クライアントデータストア
【図１】
2005276225.tif 000004
【図２】
2005276225.tif 000005
【図３】
2005276225.tif 000006
【図４】
2005276225.tif 000007
【図５】
2005276225.tif 000008
【図６】
2005276225.tif 000009
【図７】
2005276225.tif 000010
【図８】
2005276225.tif 000011
【図９】
2005276225.tif 000012