(57)【特許請求の範囲】
【請求項１】
第１ドメインの各オブジェクトと第２ドメインの各オブジェクトとのペアの関係についての観測値の各々からなる観測行列から、特徴を持った部分行列領域を抽出する部分行列領域抽出装置であって、
前記部分行列領域の数と、前記第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対して前記部分行列領域の数だけ存在する前記部分行列領域毎に割り当てられるか否かを表す部分行列領域割当推定値とを初期化する初期化部と、
前記第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対し、前記部分行列領域の数だけ存在する前記部分行列領域毎に、前記観測行列、前記部分行列領域割当推定値、及び各オブジェクトに対する前記部分行列領域の割り当てに関する部分行列領域ハイパーパラメータに基づいて、前記オブジェクトが、前記部分行列領域に所属すべきか否かを推定して、前記部分行列領域に所属すべきであると推定された場合には前記オブジェクトに対して前記部分行列領域を割り当てると共に、前記観測行列及び前記部分行列領域割当推定値に基づいて、前記オブジェクトを表現するために新たな前記部分行列領域を生成するべきか否かを推定し、新たな前記部分行列領域を生成するべきであると推定された場合には新たな前記部分行列領域を生成し、前記オブジェクトに、生成された新たな前記部分行列領域を割り当てて、前記部分行列領域の数を更新し、
割り当てられた前記第１ドメインのオブジェクト数又は前記第２ドメインのオブジェクト数が所定値以下となる前記部分行列領域を削除し、前記部分行列領域の数を更新する部分行列領域割当推定部と、
前記部分行列領域割当推定部による推定及び割り当てを予め定めた繰り返し終了条件を満たすまで繰り返す繰り返し判定部と、
を含む部分行列領域抽出装置。
【請求項２】
前記部分行列領域割当推定部は、前記第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対し、前記部分行列領域の数だけ存在する前記部分行列領域毎に、前記部分行列領域割当推定値に基づいて推定される、前記オブジェクトが前記部分行列領域に割り当てられる度合い、又は割り当てられない度合いを表す事前適合度と、前記観測行列、前記部分行列領域割当推定値、及び前記部分行列領域ハイパーパラメータに基づいて推定される、前記オブジェクトが前記部分行列領域に割り当てられる尤もらしさ、又は割り当てられない尤もらしさを表すデータ適合度とに基づいて、前記オブジェクトが前記部分行列領域に所属する可能性又は所属しない可能性を算出することにより、前記オブジェクトが、前記部分行列領域に所属すべきか否かを推定する請求項１に記載の部分行列領域抽出装置。
【請求項３】
前記部分行列領域割当推定部は、前記第１ドメインの各オブジェクトに対し、前記部分行列領域割当推定値に基づいて推定される、必要とされる部分行列領域の数に関する事前適合度と、新たに生成される部分行列領域に、前記第２ドメインのオブジェクトが割り当てられる度合いを表す事前適合度と、前記新たな部分行列領域内の観測値についての観測パラメータに関する事前適合度と、前記部分行列領域の数を増やしたことで前記観測行列をよく説明できるようになった度合いを表すデータ適合度とに基づいて、前記新たな部分行列領域を加えた前記部分行列領域の数である可能性を算出することにより、前記オブジェクトを表現するために新たな前記部分行列領域を生成するべきか否かを推定し、
前記第２ドメインの各オブジェクトに対し、前記部分行列領域割当推定値に基づいて推定される、必要とされる部分行列領域の数に関する事前適合度と、新たに生成される部分行列領域に、前記第１ドメインのオブジェクトが割り当てられる度合いを表す事前適合度と、前記新たな部分行列領域内の観測値についての観測パラメータに関する事前適合度と、前記部分行列領域の数を増やしたことで前記観測行列をよく説明できるようになった度合いを表すデータ適合度とに基づいて、前記新たな部分行列領域を加えた前記部分行列領域の数である可能性を算出することにより、前記オブジェクトを表現するために新たな前記部分行列領域を生成するべきか否かを推定する請求項２に記載の部分行列領域抽出装置。
【請求項４】
前記部分行列領域割当推定値に基づいて、前記部分行列領域ハイパーパラメータを推定する部分行列領域ハイパーパラメータ推定部を更に含み、
前記初期化部は、更に前記部分行列領域ハイパーパラメータを初期化し、
前記繰り返し判定部は、前記部分行列領域割当推定部による推定及び割り当て、並びに前記部分行列領域ハイパーパラメータ推定部による推定を予め定めた繰り返し終了条件を満たすまで繰り返す請求項１〜請求項３に記載の部分行列領域抽出装置。
【請求項５】
コンピュータを、請求項１〜請求項４のいずれか１項に記載の部分行列領域抽出装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部分行列領域抽出装置、方法、及びプログラムに係り、特に、特徴となる部分行列を抽出するための部分行列領域抽出装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
実務で扱われる多くのデータは２次元のテーブルで表現可能である。これらの２次元のテーブルデータは直ちに行列形式で表現可能である。そのため、行列データに対する統計的機械学習手法が数多く提案されている。ここでは、特に、行列データ全体の中から、一部の特異な特徴をもつ部分だけを抽出する、部分行列抽出という解析タスクを対象とする。
【０００３】
部分行列とは、与えられた行列データの行と列との部分集合の直積、つまり行列の中の小さな矩形領域（インデックスのパーミュテーションを含めれば）の事である。部分行列抽出手法は、データ全体をパターンに分類するのではなく、特異な観測値をもつ部分行列を少数抽出することが目的である。部分行列抽出は、潜在的に興味深いと思われる観測値領域のみを、しかも認知しやすい矩形として抽出してくれるため、データの中の特異的なパターンのみを抽出するというタスクにはより好都合であり、Ｐｌａｉｄ法（非特許文献１参照）をはじめとして、いくつもの手法が考案されてきた（非特許文献２、及び非特許文献３参照）。図７に従来の抽出法の例を示す。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Lazzeroni and Owen, “Plaid Models for Gene Expression Data”, Statistica Sinica, vol. 12, pp. 61-86, 2002.
【非特許文献２】Caldas and Kaski, “Bayesian Biclustering with the Plaid Model”, in Proceedings of the IEEE International Workshop on Machine Learning and Signal Processing (MLSP), 2008.
【非特許文献３】Shabalin et al., “Finding Large Average Submatrices in High Dimensional Data”, The Annals of Applied Statistics, Vol. 3, issu 3, pp. 995-1012, 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１、及び非特許文献２に代表される手法は次の欠点をもつ。それは、行列データ内に存在するであろう「特異な部分行列領域」の数を、解析に先だって決定しなければならない点である。与えられた行列データの性質が分からないために部分行列領域抽出法を適用して解析する、というのが本来の目的であるにも関わらず、解析に先だって部分行列領域の数を指定しなければならない、という矛盾する問題をもっている。また、非特許文献３では、部分行列領域の数自体は指定しなくても良いが、部分行列とみなすための閾値パラメータを事前に設定しなければならない点で同様の問題を抱えている。
【０００６】
また、部分行列領域の数は領域抽出タスクの精度に大きな影響を及ぼす。また、最適な部分行列領域の数を事後的に評価することも一般には困難であるため、この問題は取り扱われてこなかった。
【０００７】
本発明は、上記問題点を解決するために成されたものであり、最適な数の部分行列領域を抽出することができる部分行列領域抽出装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係る部分行列領域抽出装置は、第１ドメインの各オブジェクトと第２ドメインの各オブジェクトとのペアの関係についての観測値の各々からなる観測行列から、特徴を持った部分行列領域を抽出する部分行列領域抽出装置であって、前記部分行列領域の数と、前記第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対して前記部分行列領域の数だけ存在する前記部分行列領域毎に割り当てられるか否かを表す部分行列領域割当推定値とを初期化する初期化部と、前記第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対し、前記部分行列領域の数だけ存在する前記部分行列領域毎に、前記観測行列、前記部分行列領域割当推定値、及び各オブジェクトに対する前記部分行列領域の割り当てに関する部分行列領域ハイパーパラメータに基づいて、前記オブジェクトが、前記部分行列領域に所属すべきか否かを推定して、前記部分行列領域に所属すべきであると推定された場合には前記オブジェクトに対して前記部分行列領域を割り当てると共に、前記観測行列及び前記部分行列領域割当推定値に基づいて、前記オブジェクトを表現するために新たな前記部分行列領域を生成するべきか否かを推定し、新たな前記部分行列領域を生成するべきであると推定された場合には新たな前記部分行列領域を生成し、前記オブジェクトに、生成された新たな前記部分行列領域を割り当てて、前記部分行列領域の数を更新し、割り当てられた前記第１ドメインのオブジェクト数又は前記第２ドメインのオブジェクト数が所定値以下となる前記部分行列領域を削除し、前記部分行列領域の数を更新する部分行列領域割当推定部と、前記部分行列領域割当推定部による推定及び割り当てを予め定めた繰り返し終了条件を満たすまで繰り返す繰り返し判定部と、を含んで構成されている。
【０００９】
また、第１の発明に係る部分行列領域抽出装置において、前記部分行列領域割当推定部は、前記第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対し、前記部分行列領域の数だけ存在する前記部分行列領域毎に、前記部分行列領域割当推定値に基づいて推定される、前記オブジェクトが前記部分行列領域に割り当てられる度合い、又は割り当てられない度合いを表す事前適合度と、前記観測行列、前記部分行列領域割当推定値、及び前記部分行列領域ハイパーパラメータに基づいて推定される、前記オブジェクトが前記部分行列領域に割り当てられる尤もらしさ、又は割り当てられない尤もらしさを表すデータ適合度とに基づいて、前記オブジェクトが前記部分行列領域に所属する可能性又は所属しない可能性を算出することにより、前記オブジェクトが、前記部分行列領域に所属すべきか否かを推定してもよい。
【００１０】
また、第１の発明に係る部分行列領域抽出装置において、前記部分行列領域割当推定部は、前記第１ドメインの各オブジェクトに対し、前記部分行列領域割当推定値に基づいて推定される、必要とされる部分行列領域の数に関する事前適合度と、新たに生成される部分行列領域に、前記第２ドメインのオブジェクトが割り当てられる度合いを表す事前適合度と、前記新たな部分行列領域内の観測値についての観測パラメータに関する事前適合度と、前記部分行列領域の数を増やしたことで前記観測行列をよく説明できるようになった度合いを表すデータ適合度とに基づいて、前記新たな部分行列領域を加えた前記部分行列領域の数である可能性を算出することにより、前記オブジェクトを表現するために新たな前記部分行列領域を生成するべきか否かを推定し、前記第２ドメインの各オブジェクトに対し、前記部分行列領域割当推定値に基づいて推定される、必要とされる部分行列領域の数に関する事前適合度と、新たに生成される部分行列領域に、前記第１ドメインのオブジェクトが割り当てられる度合いを表す事前適合度と、前記新たな部分行列領域内の観測値についての観測パラメータに関する事前適合度と、前記部分行列領域の数を増やしたことで前記観測行列をよく説明できるようになった度合いを表すデータ適合度とに基づいて、前記新たな部分行列領域を加えた前記部分行列領域の数である可能性を算出することにより、前記オブジェクトを表現するために新たな前記部分行列領域を生成するべきか否かを推定してもよい。
【００１１】
また、第１の発明に係る部分行列領域抽出装置において、前記部分行列領域割当推定値に基づいて、前記部分行列領域ハイパーパラメータを推定する部分行列領域ハイパーパラメータ推定部を更に含み、前記初期化部は、更に前記部分行列領域ハイパーパラメータを初期化し、前記繰り返し判定部は、前記部分行列領域割当推定部による推定及び割り当て、並びに前記部分行列領域ハイパーパラメータ推定部による推定を予め定めた繰り返し終了条件を満たすまで繰り返してもよい。
【００１２】
第２の発明に係るプログラムは、コンピュータを、上記第１の発明に係る部分行列領域抽出装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１３】
本発明の部分行列領域抽出装置、方法、及びプログラムによれば、第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対し、部分行列領域毎に、観測行列、部分行列領域割当推定値、及び部分行列領域ハイパーパラメータに基づいて、オブジェクトが、部分行列領域に所属すべきか否かを推定して、部分行列領域に所属すべきであると推定された場合にはオブジェクトに対して部分行列領域を割り当てると共に、観測行列及び部分行列領域割当推定値に基づいて、オブジェクトを表現するために新たな部分行列領域を生成するべきか否かを推定し、新たな部分行列領域を生成するべきであると推定された場合には新たな部分行列領域を生成し、オブジェクトに、生成された新たな部分行列領域を割り当てて、部分行列領域の数を更新し、割り当てられた第１ドメインのオブジェクト数又は第２ドメインのオブジェクト数が所定値以下となる部分行列領域を削除し、推定及び割り当てを予め定めた繰り返し終了条件を満たすまで繰り返すことにより、最適な数の特徴となる部分行列領域を抽出することができる、という効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】最適な部分行列領域の数を自動的に最適化する例を説明した抽象図である。
【図２】本発明の実施の形態に係る部分行列領域抽出装置の構成を示すブロック図である。
【図３】本発明の実施の形態に係る部分行列領域抽出装置における部分行列領域抽出処理ルーチンを示すフローチャートである。
【図４】本発明の実施の形態に係る部分行列領域抽出装置における推定割当処理ルーチンを示すフローチャートである。
【図５】本発明の実施の形態に係る部分行列領域抽出装置における推定割当処理ルーチンを示すフローチャートである。
【図６】実際に抽出したものを可視化した例を示す図である。
【図７】従来の抽出法の例を示す抽象図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１６】
＜本発明の実施の形態に係る概要＞
【００１７】
まず、本発明の実施の形態における概要を説明する。本発明の実施の形態の部分行列領域抽出装置は、第１ドメインの各オブジェクトと第２ドメインの各オブジェクトとのペアの関係についての観測値の各々からなる観測行列から、特徴を持った部分行列領域を抽出する。本実施の形態の部分行列領域抽出装置は、抽出すべき部分行列領域数を自動的に最適化可能な部分行列領域自動抽出法を用いることにより、上記の課題を解決する。本実施の形態で提案する手法は、図１に示すように、与えられた行列データの性質を捉える上で最適な部分行列領域の数を自動的に最適化する。そのため、部分行列領域の数の事前設定にまつわる精度劣化や部分行列領域の数の選定基準などの問題を回避することが可能となる。
【００１８】
本実施の形態では、アルゴリズムは確率的生成モデルで完全に記述されるものとする。この利点を生かして、その他の事前設定パラメータ（観測パラメータ推定値、観測ハイパーパラメータ推定値など）に関してもデータに自動的にフィットさせる最適化も実現している。したがって、未知のデータに対してもパラメータの探索等の労力を省いて、ほぼ全自動的に高精度な部分行列領域抽出を実施できるようになる。また、本実施の形態で利用するアルゴリズムは様々な形式の行列データ、例えば連続数値量、離散数値量、シンボル量など任意の行列データに対して適用可能であり、適用するデータ形式によって各部の具体的な構成は変化しうる。特に、観測パラメータ推定値、及び観測ハイパーパラメータ推定値、並びにこれらの推定値を推定するための観測パラメータ推定部、及び観測ハイパーパラメータ推定部は各構成に応じて大きく実装が変化する。したがって、これらの部分の構成は本発明の必須要素ではないものとする。これら推定値及び各部の構成法や実際の計算アルゴリズム等については上記非特許文献１、２、及び非特許文献４等を参照することができる。
【００１９】
［非特許文献４］: ビショップ, ”パターン認識と機械学習”, シュプリンガージャパン、2007.
【００２０】
＜本発明の実施の形態に係る部分行列領域抽出装置の構成＞
【００２１】
次に、本発明の実施の形態に係る部分行列領域抽出装置の構成について説明する。図２に示すように、本発明の実施の形態に係る部分行列領域抽出装置１００は、ＣＰＵと、ＲＡＭと、後述する部分行列領域抽出処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この部分行列領域抽出装置１００は、機能的には図２に示すように入力部１０と、演算部２０と、出力部５０とを備えている。
【００２２】
入力部１０は、観測行列Ｘを受け付ける。観測行列Ｘは、通常Ｎ１×Ｎ２の行及び列要素からなる行列で、一般に実数値を仮定する。行方向を第１ドメインと呼び、ｉ＝１,…，Ｎ１と行方向にインデックスする。列方向を第２ドメインと呼び、ｊ＝１,…,Ｎ２と列方向にインデックスする。なお、入力データ記憶部２８に格納されるデータの構成はユーザの目的やタスクに依存する。そのため、最低限上記のデータを備えるものとするが、これに限定されるものではなく、目的やタスクに応じて多様なデータが格納できるものとする。
【００２３】
演算部２０は、初期化部２６と、入力データ記憶部２８と、変数推定部３０と、変数記憶部４２とを含んで構成されている。
【００２４】
初期化部２６は、部分行列領域の数と、第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対して部分行列領域の数だけ存在する部分行列領域毎に割り当てられるかを表す部分行列領域割当推定値Ｚと、部分行列領域ハイパーパラメータαと、観測ハイパーパラメータβとを初期化し、それぞれ部分行列領域数推定値の初期値Ｋ（０）、部分行列領域割当推定値の初期値Ｚ（０）、部分行列領域ハイパーパラメータの初期値α（０）、及び観測ハイパーパラメータの初期値β（０）として入力データ記憶部２８に格納する。部分行列領域数の初期値Ｋ（０）は、初期化の際に仮定する部分行列領域の数である。部分行列領域数Ｋは、後述する部分行列領域割当推定部３２の推定により最適化される。
【００２５】
ここで、部分行列領域割当推定値Ｚについて詳細に説明する。本実施の形態では、行列の行および列のインデックスがそれぞれオブジェクトを表現する。例えば解析したい観測行列Ｘについて、行方向において顧客ＩＤを表し、列方向において商品の購買個数データを表す場合を考える。このとき、各行（第１ドメイン）のインデックスｉは個々の顧客を、各列（第２ドメイン）のインデックスｊは個々の商品に相当する。各部分行列は顧客の部分集合と商品の部分集合を表し、例えば「特定の商品群」を好んで購入する「特定の顧客群」のように行オブジェクトと列オブジェクトの同時クラスタリングを実現する。部分行列はｋでインデックスされ、ｋの総数を部分行列領域の数の推定値Ｋで表現する。このクラスタリング結果を表すのが部分行列割当推定値Ｚである。部分行列割当推定値Ｚは、Ｎ１個の第１ドメインのオブジェクトに関する推定値Ｚ１と、Ｎ２個の第２ドメインのオブジェクトに関する推定値Ｚ２とからなる。
【００２６】
Ｚ１は、
【００２７】
Ｚ１＝｛Ｚ(１，１),…,Ｚ(１,Ｎ１)｝
【００２８】
と表され、Ｚ２は、
【００２９】
Ｚ２＝｛Ｚ(２，１),…,Ｚ(２,Ｎ２)｝
【００３０】
と表される。各推定値Ｚ（１,ｉ）、及びＺ（２,ｊ）は、Ｋ個の部分行列領域に対して、そのｋ番目の部分行列領域に含まれるか否かを表現するバイナリ変数、あるいは０から１の間の実数をもつ。すなわち、
【００３１】
Ｚ(１,ｉ)＝｛Ｚ(１,ｉ，１),Ｚ(１,ｉ，２),…,Ｚ(１,ｉ,ｋ),…,Ｚ(１,ｉ,Ｋ)}、
【００３２】
Ｚ(２,ｊ)＝｛Ｚ(２,ｊ，１),Ｚ(２,ｊ，２),…,Ｚ(２,ｊ,ｋ),…,Ｚ(２,ｊ,Ｋ)}、
【００３３】
であり、Ｚ(１,ｉ,ｋ)＝１ならば第１ドメインのｉ番目のオブジェクトは第ｋ番目の部分行列領域に所属する、Ｚ（１,ｉ,ｋ）＝０ならば所属しない、と表現する。実数値を利用する場合には、その中間として所属の度合いも表現する。Ｚ（２,ｊ,ｋ）についても同様である。なお、本実施の形態では、部分行列割当推定値Ｚに対して何らかの数学的なモデルを仮定することが必要となる。
【００３４】
次に、初期化部２６で初期化されるハイパーパラメータについて説明する。部分行列領域ハイパーパラメータの初期値α（０）は、部分行列領域を推定するために利用する数学モデルのパラメータの初期値である。本実施の形態で採用するモデルのパラメータ集合を部分行列領域ハイパーパラメータαとする。モデルは、観測行列Ｘが与えられた際に、ＺおよびＫを推定することを主目的とするものである。観測ハイパーパラメータの初期値β（０）は、部分行列領域の観測値の特徴を表現する数学モデルに関するパラメータの初期値である。観測ハイパーパラメータβの表現は目的やデータの性質によって変化する。
【００３５】
入力データ記憶部２８には、初期化部２６により初期化された部分行列領域の数の初期値Ｋ（０）と、部分行列領域ハイパーパラメータの初期値α（０）とが格納される。また、入力データ記憶部２８には、入力部１０より受け付けた観測行列Ｘ、及び終了条件定数が格納される。終了条件定数は、後述する繰り返し判定部４０の終了条件判定に用いる定数である。通常、繰り返し計算によって推定計算が実施されるため、終了条件定数には、最大繰り返し回数あるいは評価値の変動幅に対する閾値などを設定する。
【００３６】
変数記憶部４２には、後述する変数推定部３０で推定された部分行列領域の数Ｋ、部分行列割当推定値Ｚ、観測パラメータ推定値θ、及び観測ハイパーパラメータ推定値βが格納される。
【００３７】
変数推定部３０は、部分行列領域割当推定部３２と、部分行列領域ハイパーパラメータ推定部３４と、観測パラメータ推定部３６と、観測ハイパーパラメータ推定部３８と、繰り返し判定部４０とを含んで構成されている。
【００３８】
部分行列領域割当推定部３２は、以下に説明する第１〜第３の処理を行う。第１の処理では、既存の部分行列領域割当では既存Ｋ個の部分行列それぞれについて、注目しているオブジェクトを所属させるか否かを推定するのみであり、既存の手法といえる。一方、第２の処理では、「新しい部分行列領域を生成するか否か」すなわち部分行列の数を増加させる処理を行う。また第３の処理では、「使用されていない部分行列領域を消去する」すなわち部分行列の数を減少させる処理が組み込まれている。この第２及び第３の処理を適切に実装することによって、行列データに合わせて最適な部分行列領域の数Ｋを自動的に決定することが可能となる点が、本実施の形態における最大の特徴といえる。
【００３９】
部分行列領域割当推定部３２は、第１の処理において、第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対し、部分行列領域の数だけ存在する前記部分行列領域毎に、入力データ記憶部２８又は変数記憶部４２に記憶されている、部分行列領域割当推定値Ｚに基づいて推定される、当該オブジェクトが当該部分行列領域に割り当てられる度合いを表す事前適合度と、入力データ記憶部２８に記憶されている観測行列Ｘ、入力データ記憶部２８又は変数記憶部４２に記憶されている、部分行列領域割当推定値Ｚ、及び部分行列領域ハイパーパラメータαに基づいて推定される、当該オブジェクトが当該部分行列領域に割り当てられる尤もらしさを表すデータ適合度とに基づいて、当該オブジェクトが当該部分行列領域に所属する可能性を算出することにより、当該オブジェクトが、当該部分行列領域に所属すべきか否かを推定する。そして、当該部分行列領域に所属すべきであると推定された場合には当該オブジェクトに対して当該部分行列領域を割り当てるように更新した部分行列割当推定値Ｚを変数記憶部４２に記憶する。
【００４０】
部分行列領域割当推定部３２の第１の処理の詳細について以下に説明する。第１の処理では、第１ドメインおよび第２ドメインのすべてのオブジェクトについて部分行列領域の割当の再計算を行う。この再計算の際、オブジェクトの更新順は任意である。説明の便宜のため、現在、第１ドメインのオブジェクトｉを選んで推定し、割り当てによる部分行列領域割当推定値Ｚの更新を行うものとする。
【００４１】
第１の処理において、あるオブジェクトが部分行列領域ｋに所属しやすいか否かは一般に「他のオブジェクトの所属状況、つまり部分行列領域割当推定値Ｚから推定される当該オブジェクトが当該部分行列領域に割り当てられる度合い、又は割り当てられない度合い（所属度）」と「部分行列領域ｋに所属するあるいは所属しないと決めたときに、観測行列Ｘをどれだけよく説明できるか」の２つの要素により決定される。前者を事前適合度、後者をデータ適合度と呼ぶと、あるオブジェクトが部分行列領域ｋに所属する可能性は、例えば、以下の（１）式又は（２）式のように計算が可能である。また、同様に、所属しない可能性も計算可能である。
【００４２】
（部分行列領域ｋに所属する可能性）
＝（事前適合度）×（所属すると決めた場合のデータ適合度）  ・・・（１）
【００４３】
あるいは
【００４４】
（部分行列領域ｋに所属する可能性）
＝（事前適合度）＋（所属すると決めた場合のデータ適合度）  ・・・（２）
【００４５】
部分行列領域割当推定部３２の第１の処理では、上記の（１）式（又は（２）式）に基づいて、部分行列領域割当推定値Ｚにおけるオブジェクトｉの部分行列領域ｋへの割当Ｚ（１,ｉ,ｋ）を再計算して更新する。計算方法は、Ｚ（１,ｉ,ｋ）を０又は１の二値として、所属する可能性と所属しない可能性の大きい方へ割り当てる方法、（Ｚ（１,ｉ,ｋ）を０〜１の実数として、所属する可能性と所属しない可能性で按分する方法、Ｚ（１,ｉ,ｋ）を０又は１の二値として、按分結果に基づいて確率的に選択する方法などの方法が考えられる。なお、事前適合度およびデータ適合度の計算方法は任意である。第１の処理において統計的に最適であるとされる実装は、掛け算に基づく可能性計算式をベイズ推定に基づいて定式化する方法である。ベイズ推定に基づく定式化の場合の具体例については実施例において紹介する。なお、特に指針がない場合にはいずれかあるいは両方を定数としてもよい。ただし、数学的に適切な方法で計算していない場合には第２の処理における部分行列領域の数の更新と適合せず、計算が破たんする可能性があるためする計算方法は整合する必要がある。
【００４６】
部分行列領域割当推定部３２は、第２の処理において、第１ドメインの各オブジェクトに対し、部分行列領域割当推定値Ｚに基づいて推定される、必要とされる部分行列領域の数Ｋに関する事前適合度と、新たに生成される部分行列領域に、第２ドメインのオブジェクトが割り当てられる度合いを表す事前適合度と、新たな部分行列領域内の観測値についての観測パラメータθに関する事前適合度と、部分行列領域の数を増やしたことで観測行列Ｘをよく説明できるようになった度合いを表すデータ適合度とに基づいて、新たな部分行列領域を加えた部分行列領域の数Ｋ＋Ｌである可能性を算出することにより、オブジェクトを表現するために新たな部分行列領域を生成するべきか否かを推定する。また、第２ドメインについても第１ドメインと同様に、各オブジェクトに対し、部分行列領域割当推定値Ｚに基づいて推定される、必要とされる部分行列領域の数Ｋに関する事前適合度と、新たに生成される部分行列領域に、第１ドメインのオブジェクトが割り当てられる度合いを表す事前適合度と、新たな部分行列領域内の観測値についての観測パラメータθに関する事前適合度と、部分行列領域の数を増やしたことで観測行列Ｘをよく説明できるようになった度合いを表すデータ適合度とに基づいて、部分行列領域の数が、新たな部分行列領域を加えたＫ＋Ｌである可能性を算出することにより、オブジェクトを表現するために新たな部分行列領域を生成するべきか否かを推定する。
【００４７】
部分行列領域割当推定部３２の第２の処理では、以下に説明するように、第１の処理において、第１ドメイン又は第２ドメインのあるオブジェクトについてのＫ個の部分行列領域への所属割当の推定が終了した後に、当該オブジェクトについて、新しい部分行列領域が必要かどうかを計算する。これは、初期化などで適当に部分行列領域の数Ｋを与えた場合、部分行列領域の数Ｋが与えられた観測行列Ｘに潜在する部分行列領域の数としては不足している可能性があるからである。計算方法は第１の処理の部分行列領域にオブジェクトが所属する可能性を計算した場合とほぼ同様である。
【００４８】
具体的には、部分行列領域割当推定部３２の第２の処理において、以下に説明する三つの要素に基づいて、Ｌ個の新たな部分行列領域を生成するべきか否かを推定する。第２の処理では、考慮すべき一つ目の要素として、「第１の処理の全オブジェクトの部分行列領域の所属状況、すなわち部分行列領域割当推定値Ｚに基づいて推定される、必要とされる部分行列領域の数Ｋに関する事前適合度」を推定する。ここでは部分行列領域の数を０個増やすか、２個増やすかを評価する評価値を推定する。ここで、部分行列領域の数をＬ個増やすとした場合、今現在の処理において注目しているオブジェクトｉ又はオブジェクトｊは必ずＬ個の部分行列領域に所属するものとする。
【００４９】
次に、第２の処理では、二つ目の要素として、「新たに生成されるＬ個の部分行列領域に対し、他方のドメインのオブジェクトの割り当ててられる度合い」を計算する。例えば、第１ドメインのオブジェクトに対して新たに生成されるＬ個の部分行列領域に対しては、第２ドメインのオブジェクトがＬ個の部分行列領域に所属しなければならない（第２ドメインのオブジェクトに割り当てないと矩形にならない）。従って、今現在の処理において第１ドメインのオブジェクトｉに注目しているとすれば、第２ドメインのＮ２個のオブジェクトについては何らかの指標（例えばランダム）で新たな部分行列領域に所属すると仮定して度合いに関する事前適合度を計算する。
【００５０】
また、第２の処理では、三つ目の要素として、変数記憶部４２に記憶されている観測パラメータθに基づいて、新たに生成されるＬ個の部分行列領域に対する観測パラメータθを設定し、新たな部分行列領域内の観測値についての観測パラメータβに関する事前適合度を得る。
【００５１】
そして、第２の処理では、以上の三つの要素が定まったときに、「部分行列領域の数をＫ＋Ｌとしたことで観測行列Ｘをどれだけよく説明できるか」を計算する。
【００５２】
以上の要素を組み合わせて、以下（３）式に基づいて、部分行列領域の数を増やすか否かを推定する。
【００５３】
（部分行列領域の数がＫ＋Ｌである可能性）
＝（部分行列領域割当推定値Ｚに基づいて推定される、必要とされる部分行列領域の数Ｋに関する事前適合度）×（新たに生成されるＬ個の部分行列領域に、他方のドメインのオブジェクトが割り当てられる度合いを表す事前適合度）×（新たな部分行列領域内の観測値についての観測パラメータβに関する事前適合度）×（部分行列領域の数を増やしたことで観測行列Ｘをよく説明できるようになった度合いを表すデータ適合度）
・・・（３）
【００５４】
上記（３）式では乗算としているが、加減乗除の使い方等は任意である。また、各適合度の計算はユーザの設計した数学モデルに依存する。なお、Ｌの個数はランダムに決定する。また、後述する実施例では、確率的な意味で最適な実装例を紹介するが、実装方法は実施例における実装例に限定されるものではなく、多様な数学モデルの設計が可能である。
【００５５】
そして、第２の処理では、Ｌ個の部分行列領域を生成するべきであると推定された場合には、Ｌ個の部分行列領域を生成し、当該オブジェクトに、生成されたＬ個の部分行列領域を割り当てるように、変数記憶部４２に記憶されている部分行列割当推定値Ｚを更新する。また、部分行列領域の数ＫをＫ＝Ｋ＋Ｌとして変数記憶部４２の部分行列領域の数Ｋを更新する。
【００５６】
部分行列領域割当推定部３２は、第３の処理において、上記第１の処理及び第２の処理によって部分行列領域毎に割り当てられた第１ドメインのオブジェクト数又は第２ドメインのオブジェクト数が所定値以下となる部分行列領域を削除し、部分行列領域の数を更新する。
【００５７】
具体的には、部分行列領域割当推定部３２の第３の処理では、以下に説明するように部分行列領域割当推定値Ｚに不必要な部分行列領域がないかを確認し、更新する。ここで、各部分行列領域の大きさは、「第１ドメインで所属するオブジェクト数」×「第２ドメインで所属するオブジェクト数」で決定される。しかし、抽出したい「部分行列領域」は、第１ドメインと第２ドメインとの部分集合の直積で表現されるため、「どちらかのドメインで所属するオブジェクトが一定値以下である」と推定される部分行列領域は、不必要な部分行列領域として削除する。例えば、ｋ番目の部分行列領域に所属する第１ドメインの総オブジェクト数はＺ（１,ｉ,ｋ）を全てのｉについて和をとれば計算できる。この総オブジェクト数が一定値以下の部分行列領域を削除する。そして、一つの部分行列領域の削除に伴って、部分行列領域の数ＫをＫ＝Ｋ−１と減少させる。また、必要な場合には部分行列領域割当推定値Ｚおよび観測パラメータθ、観測ハイパーパラメータβなどの部分行列領域のインデックスｋを適切に指定しなおす。なお、第３の処理の削除手続きは、本実施の形態では第２の処理の後に実行するが、これに限定されるものではなく、例えば第１の処理又は第２の処理の各オブジェクトの推定が終わる度、あるいは全オブジェクトの推定が終わる度など、任意のタイミングで実行できる。
【００５８】
部分行列領域ハイパーパラメータ推定部３４は、変数記憶部４２に記憶されている部分行列領域割当推定値Ｚに基づいて、部分行列領域の数および部分行列領域の割り当てに関する数学モデルに必要な部分行列領域ハイパーパラメータαを推定し、変数記憶部４２に記憶する。
【００５９】
観測パラメータ推定部３６は、入力部１０において受け付けた観測行列Ｘと、変数記憶部４２に記憶されている部分行列領域割当推定値Ｚとに基づいて、部分行列領域の観測値の表現に用いる数学モデルの観測パラメータθを推定し、変数記憶部４２に記憶する。
【００６０】
観測ハイパーパラメータ推定部３８は、観測パラメータ推定部３６で推定された観測パラメータθに基づいて、観測パラメータθの数学モデルに必要な観測ハイパーパラメータβを推定し、変数記憶部４２に記憶する。
【００６１】
なお、部分行列領域ハイパーパラメータ推定部３４、観測パラメータ推定部３６、及び観測ハイパーパラメータ推定部３８による推定を行わずに初期値のままにしてもよい。
【００６２】
繰り返し判定部４０は、部分行列領域割当推定部３２による推定及び割り当て、並びに部分行列領域ハイパーパラメータ推定部３４、観測パラメータ推定部３６、及び観測ハイパーパラメータ推定部３８による推定を予め定めた繰り返し終了条件を満たすまで繰り返す。ここで繰り返し終了条件には、入力データ記憶部２８に記憶されている終了条件定数を用いればよい。
【００６３】
なお、変数推定部３０の各部の構成は上記に限定されるものではなく、ユーザが想定する観測モデルなどによって依存するため、一概に記述することはできない。後述する実施例では、具体的に設計したモデルに合わせた実装例を紹介する。
【００６４】
＜本発明の実施の形態に係る部分行列領域抽出装置の作用＞
【００６５】
次に、本発明の実施の形態に係る部分行列領域抽出装置１００の作用について説明する。入力部１０において観測行列Ｘを受け付けると、観測行列Ｘを入力データ記憶部２８に格納するとともに、部分行列領域抽出装置１００は、図３に示す部分行列領域抽出処理ルーチンを実行する。
【００６６】
まず、ステップＳ１００では、部分行列領域の数と、第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対して部分行列領域毎に割り当てられるかを表す部分行列領域割当推定値と、部分行列領域ハイパーパラメータと、観測ハイパーパラメータとを初期化し、入力データ記憶部２８に格納する。
【００６７】
次に、ステップＳ１０２では、上記部分行列領域割当推定部３２の第１〜第３の処理によって、部分行列割当推定値Ｚ及び部分行列領域の数Ｋを推定する。
【００６８】
ステップＳ１０４では、ステップＳ１０２で推定された部分行列割当推定値Ｚに基づいて、部分行列領域ハイパーパラメータαを推定する。
【００６９】
ステップＳ１０６では、入力部１０において受け付けた観測行列Ｘと、ステップＳ１０２で推定された部分行列割当推定値Ｚとに基づいて、観測パラメータθを推定する。
【００７０】
ステップＳ１０８では、ステップＳ１０６で推定された観測パラメータθに基づいて、観測ハイパーパラメータβを推定する。
【００７１】
ステップＳ１１０では、予め定めた繰り返し終了条件を満たすかを判定し、満たしていなければステップＳ１０２へ移行してステップＳ１０２〜ステップＳ１０８の処理を繰り返し、満たしていればステップＳ１０８へ移行する。
【００７２】
ステップＳ１１２では、ステップＳ１０２で推定された部分行列割当推定値Ｚ及び部分行列領域の数Ｋを出力部５０により出力し処理を終了する。
【００７３】
上記ステップＳ１０２の処理は、図４及び図５に示す推定割当処理ルーチンにより実現される。
【００７４】
ステップＳ２００では、第１ドメインのオブジェクトｉを、ｉ＝１と初期化する。
【００７５】
ステップＳ２０４では、部分行列領域ｋを選択する。
【００７６】
ステップＳ２０６では、第１ドメインのオブジェクトｉに対し、ステップＳ２０４で選択した部分行列領域について、上記（１）式に従って、当該オブジェクトｉが当該部分行列領域ｋに割り当てられる度合いを表す事前適合度と、当該オブジェクトｉが当該部分行列領域ｋに割り当てられる尤もらしさを表すデータ適合度とに基づいて、当該オブジェクトｉが当該部分行列領域ｋに所属する可能性を算出する。
【００７７】
ステップＳ２０８では、ステップＳ２０６の算出結果に基づいて、当該部分行列領域ｋに所属すべきである否かを判定し、判定結果に応じて更新した部分行列割当推定値Ｚを変数記憶部４２に記憶する。
【００７８】
ステップＳ２１０では、当該オブジェクトｉに対し、全ての部分行列領域について推定したかを判定し、推定していない部分行列領域が存在する場合には、ステップＳ２０４に戻って、当該部分行列領域ｋを選択し、ステップＳ２０６〜Ｓ２０８の処理を繰り返し、全て推定していればステップＳ２１２へ移行する。
【００７９】
ステップＳ２１２では、上記（３）式に従って、部分行列領域の数がＫ＋Ｌである可能性を算出する。このとき、Ｌの値をランダムに決定すればよい。
【００８０】
ステップＳ２１４では、ステップＳ２１２の算出結果に基づいて、Ｌ個の部分行列領域を生成するべきかを判定し、生成すべきでない場合にはステップＳ２１８へ移行し、生成すべきであればステップＳ２１６へ移行する。
【００８１】
ステップＳ２１６では、Ｌ個の部分行列領域を生成し、当該オブジェクトｉに、生成されたＬ個の部分行列領域の各々を割り当てて、変数記憶部４２に記憶されている部分行列割当推定値Ｚを更新する。また、変数記憶部４２に記憶されている部分行列領域の数Ｋを更新する。
【００８２】
ステップＳ２１８では、第１ドメインの全てのオブジェクトｉについて推定及び割り当てをしたかを判定し、していなければステップＳ２２０へ移行してｉ＝ｉ＋１として、ステップＳ２０４〜Ｓ２１６の処理を繰り返し、全て推定していればステップＳ２２２へ移行する。
【００８３】
ステップＳ２２２では、第２ドメインのオブジェクトｊを、ｊ＝１と初期化する。
【００８４】
ここで、ステップＳ２２４〜Ｓ２３６については、第２ドメインのオブジェクトｊについて、上記ステップＳ２０４〜Ｓ２１６で説明したオブジェクトｉについて行った処理と同様の処理を行えばよいため説明を省略する。
【００８５】
そして、ステップＳ２３８では、全てのオブジェクトｊについて推定及び割り当てをしたかを判定し、していなければステップＳ２４０へ移行してｊ＝ｊ＋１として、ステップＳ２２４〜Ｓ２３６の処理を繰り返し、全て推定していればステップＳ２４０へ移行する。
【００８６】
ステップＳ２４２では、部分行列割当推定値Ｚに基づいて、割り当てられた第１ドメインのオブジェクト数又は第２ドメインのオブジェクト数が所定値以下となる部分行列領域を削除し、変数記憶部４２に記憶されている部分行列領域の数を更新し、推定割当処理ルーチンを終了する。
【００８７】
＜実施例＞
【００８８】
本発明の実施の形態に係る手法の実験結果について説明する。ここでは、実数行列データが与えられた場合に、確率的に最適な実装が可能な数学モデルの設計と具体的な変数や実装する計算式を示す。
【００８９】
本実施例では、Ｐｌａｉｄモデル（上記非特許文献１、及び非特許文献２参照）に基づいた確率的なモデルによる例を説明する。Ｐｌａｉｄモデルとは、部分行列抽出の既存技術の一つである。Ｐｌａｉｄモデルは、連続な実数の観測値を、複数の部分行列領域の平均値パラメータの重ね合わせで表現し、抽出する。本実施例では、上記で説明した実施の形態の構成をこの手法に適用及び拡張することで、必要な部分行列領域の数を自動的に抽出し、各種パラメータも自動的に推定することが可能なＰｌａｉｄモデルを実現する実験を行った。
【００９０】
以下（４）〜（８）式に示す、Ｐｌａｉｄモデルの技術を適用する部分行列領域抽出モデル（拡張Plaid model）の確率的な数式モデルに従って、部分行列領域割当推定値Ｚ、観測パラメータ推定値θ、及び観測行列Ｘを表現する。
【００９１】
Ｚ（１,ｉ,ｋ）〜ＢｅＰＢｅｒＰ（α１）  ・・・（４）
Ｚ（２，ｊ，ｋ）〜ＢｅＰＢｅｒＰ（α２）  ・・・（５）
θｋ〜Ｎｏｒｍａｌ−Ｗｉｓｈａｒｔ（βｋ）  ・・・（６）
θ０〜Ｎｏｒｍａｌ−Ｗｉｓｈａｒｔ（β０）  ・・・（７）
Ｘ（ｉ，ｊ）〜Ｎｏｒｍａｌ（ｍ０＋Σ＿｛ｋ｝ｍｋ，τ）  ・・・（８）
【００９２】
また、上記の変数記憶部４２の各要素に対応する観測行列Ｘ、部分行列領域ハイパーパラメータα、部分行列領域割当推定値Ｚ、観測パラメータθ、観測ハイパーパラメータβを以下に示す。
【００９３】
Ｘ＝｛Ｘ（ｉ，ｊ）｝
α＝（α１，α２）
Ｚ＝（Ｚ１，Ｚ２）
Ｚ１＝｛Ｚ（１，ｉ，ｋ）｝
Ｚ２＝｛Ｚ（２，ｊ，ｋ）｝
θ＝（ｔ，θ０，θ１，θ２，．．．）
θｋ＝（ｍｋ，τｋ）
β＝（β０，βｋ）
【００９４】
上記（４）式〜（８）式の中の確率分布の詳細については上記非特許文献４、及び非特許文献５を参照できる。
［非特許文献５］：Griffiths and Ghahramani, “The Indian Buffet Process: An Introduction and Reivew”, Journal of Machine Learning Research, Vol. 12, pp. 1185-1224, 2011. 
上記（４）式〜（８）式の確率モデルに対して、事前適合度、及びデータ適合度の関数を設計することにより本発明の実施の形態における数学モデルの実装が完了する。設計の方法は任意であるが、確率的、統計的に最適な関数の設計方法はベイズ推定（上記非特許文献４参照）である。
【００９５】
部分行列領域割当推定部３２における推定処理は、ベイズ推定に従えば、事前適合度は他のパラメータ及び変数が与えられたときの「事前分布」、データ適合度は注目する変数の値を決めた場合の「尤度」として定義され、注目するパラメータの推定は「事後分布の計算」として実装できる。
【００９６】
上記実施の形態における部分行列領域割当推定部３２の第１の処理では、以下（９）式に示すに従って、オブジェクトｉが、当該部分行列領域ｋに所属すべきか否かを推定する。
【００９７】
ｐ（Ｚ（１，ｉ，ｋ）｜Ｚ１（−ｉｋ），Ｚ２，θ）
∝ｐ（Ｘ｜Ｚ（１，ｉ，ｋ），Ｚ１（−ｉｋ），Ｚ２，θ）×ｐ（Ｚ（１，ｉ，ｋ）｜Ｚ１（−ｉｋ））  ・・・（９）
【００９８】
ここで、Ｚ１（−ｉｋ）はＺ１の中からＺ（１，ｉ，ｋ）の値を取り除いたものである。また、ｐ（Ｘ｜Ｚ（１，ｉ，ｋ），Ｚ１（−ｉｋ），Ｚ２，θ）がデータ適合度であり、ｐ（Ｚ（１，ｉ，ｋ）｜Ｚ１（−ｉｋ））が事前適合度である。
【００９９】
上記実施の形態における部分行列領域割当推定部３２の第２の処理では、以下（１０）式に従って、オブジェクトｉを表現するために新たなＬ個の部分行列領域を生成するべきか否かを推定する。
【０１００】
ｐ（Ｌ，Ｚ２＊，θ＊）＝ｍｉｎ（１．０，ｐ（Ｘ｜Ｚ１，Ｚ２，Ｚ１＊，Ｚ２＊，Ｌ，θ，θ＊）／ｐ（Ｘ｜Ｚ１，Ｚ２，θ））  ・・・（１０）
【０１０１】
ここで、Ｚ１＊は、Ｌ個の新たな部分行列領域に対して割り当てられ、所属する第１ドメインのオブジェクトｉの集合であり、Ｚ２＊はＬ個の新たな部分行列領域に対して割り当てられ、所属する第２ドメインのオブジェクトｊの集合であり、θ＊はＬ個の新たな部分行列領域に対する観測パラメータである。
【０１０２】
次に、上記の部分行列領域ハイパーパラメータ推定部３４では、以下（１１）式及び（１２）式に従って、第１ドメイン及び第２ドメインに対する部分行列領域ハイパーパラメータを推定する。
【０１０３】
第１ドメインに対する部分行列領域ハイパーパラメータα１は、以下（１１）式に従って推定される。
【０１０４】
ｐ（α１｜Ｚ１）∝ｐ（α１｜Ｚ１）×ｐ（α１）  ・・・（１１）
【０１０５】
第２ドメインに対する部分行列領域ハイパーパラメータα２は、以下（１２）式に従って推定される。
【０１０６】
ｐ（α２｜Ｚ２）∝ｐ（α２｜Ｚ２）×ｐ（α２）  ・・・（１２）
【０１０７】
ここで事前分布にはガンマ分布を使用している。
【０１０８】
上記（９）式〜（１２）式はベイズ推定の１種であるマルコフ連鎖モンテカルロ法を用いた場合の数式となる。各式の具体的な計算方法については、非特許文献４、及び非特許文献５を参照すればよい。
【０１０９】
また、観測パラメータ推定部３６及び観測ハイパーパラメータ推定部３８については、上記（６）式、（７）式に従って、正規ウィシャート分布と正規分布の共役性を利用した事後分布の計算、パラメータの推定を行う（非特許文献４参照）。
【０１１０】
以上の数式モデルを構成各部に実装した上で、繰り返し判定部４０では、マルコフ連鎖モンテカルロ法の最大繰り返し回数を終了条件定数として利用し、推定の繰り返し回数が定数に達した時点で推定を終了する。
【０１１１】
表１に実験結果の例を示す。
【０１１２】
【表１】
0006343591.tif 000002
実験では、潜在する部分行列領域の数が３あるいは４で設計された人工データを複数準備して、これらの部分行列領域を精度よく抽出できるかどうかを検証した。精度はNormalized Mutual Information（ＮＭＩ）を用いた（非特許文献６参照）。
【０１１３】
表１中の数値は、計算されたＮＭＩである。値は大きいほど良い結果を表す。最大値は1.0であり、このとき完全に部分行列領域を抽出できたことを表す。比較対象は、事前に抽出すべき部分行列領域の数Ｋを固定して解析する既存手法(非特許文献６)と、この手法を上記実施例の構成で拡張した提案発明手法である。
【０１１４】
［非特許文献６］: Lancichinetti, Fortunato, and Kertesz, “Detecting the Overlapping and Hierarchical Community Structure of Complex Networks”, New Journal of Physics, Vol. 11(3), 2009. 
両手法とも、Ｋの初期値Ｋ０を、（１）真の部分行列領域の数、（２）Ｋ０＝１０、（３）Ｋ０＝２０と変更して、既存手法はＫ＝Ｋ０で固定、提案法はＫを自動的に推定させた。表１に示すように、全てのケースで提案法の方が良好な数値を得ている。また、特に人工データ２〜４では提案法の示すＮＭＩはＫの数によらず高い値を維持している。これは、提案手法の構成の効果によって、潜在する部分行列領域の数を自動的に推定しながら部分行列領域を抽出することで正しい部分行列領域の数が予めわからなくても精度よく抽出が可能であることを示している。
【０１１５】
図６は実際に抽出したものを可視化した例である。提案する手法ではきれいに部分行列領域を抽出できているが、既存手法ではうまくいかない場合の例である。
【０１１６】
以上説明したように、本発明の実施の形態に係る部分行列領域抽出装置によれば、第１ドメインの各オブジェクト及び第２ドメインの各オブジェクトに対し、部分行列領域毎に、観測行列Ｘ、部分行列領域割当推定値Ｚ、及び部分行列領域ハイパーパラメータαに基づいて、オブジェクトが、部分行列領域に所属すべきか否かを推定して、部分行列領域に所属すべきであると推定された場合にはオブジェクトに対して部分行列領域を割り当てると共に、観測行列Ｘ及び部分行列領域割当推定値Ｚに基づいて、オブジェクトを表現するために新たな部分行列領域を生成するべきか否かを推定し、新たな部分行列領域を生成するべきであると推定された場合には新たな部分行列領域を生成し、オブジェクトに、生成された新たな部分行列領域を割り当てて、部分行列領域の数Ｋを更新し、割り当てられた第１ドメインのオブジェクト数又は第２ドメインのオブジェクト数が所定値以下となる部分行列領域を削除し、推定及び割り当てを予め定めた繰り返し終了条件を満たすまで繰り返すことにより、最適な数の特徴となる部分行列領域を抽出することができる。
【０１１７】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１１８】
例えば、上述した実施の形態では、オブジェクトが部分行列領域に割り当てられる度合いを表す事前適合度と、データ適合度とに基づいて、オブジェクトが部分行列領域に所属する可能性を算出する場合を例に説明したが、これに限定されるものではなく、オブジェクトが部分行列領域に割り当てられない度合いを表す事前適合度と、データ適合度とに基づいて、オブジェクトが部分行列領域に所属しない可能性を算出するようにしてもよい。この場合には、オブジェクトが部分行列領域に所属しない可能性に応じて、部分行列領域割当推定値Ｚを更新すればよい。
【符号の説明】
【０１１９】
１０   入力部
２０   演算部
２６   初期化部
２８   入力データ記憶部
３０   変数推定部
３２   部分行列領域割当推定部
３４   部分行列領域ハイパーパラメータ推定部
３６   観測パラメータ推定部
３８   観測ハイパーパラメータ推定部
４０   判定部
４２   変数記憶部
５０   出力部
１００ 部分行列領域抽出装置
【図１】
0006343591.tif 000003
【図２】
0006343591.tif 000004
【図３】
0006343591.tif 000005
【図４】
0006343591.tif 000006
【図５】
0006343591.tif 000007
【図６】
0006343591.tif 000008
【図７】
0006343591.tif 000009