(57)【要約】【課題】LDA(潜在的ディリクレ配分法)等の計算負荷が大きいクラスタリングを行って、特定の評価指標を与えてクラスタリング結果を評価する際に、最適なクラスタリング結果を与えるクラスタ数の発見を高速に行う。【解決手段】クラスタリング部1は指定されたクラスタ数にてクラスタリングを行い、その結果の、評価指標についての分類の適切さをAIC(赤池情報量基準)値として基準量算出部2が算出する。AIC値はクラスタ数の関数として減少の後に増加に転ずる、または単調増加するという性質を利用して、指示判定部3はクラスタ数を断続的に指定し、一連の得られたAIC値を参照して前者又は後者のいずれの性質かを判断し、前者の場合は当該転ずる箇所を、後者の場合は最小クラスタ数を見出し、最適結果を与えるものであるとして判定する。【選択図】図１
2015153381.tif 000002
【特許請求の範囲】
【請求項１】
対象データをクラスタリングするに際して、そのクラスタリング結果のうち、当該対象データの各サンプルにつき予め与えられた評価指標に関して最適結果と判定されるクラスタ数におけるものを求めるクラスタリング装置であって、
クラスタ数を設定する指示判定部と、
対象データを前記設定されたクラスタ数へ分類してクラスタリング結果を求めるクラスタリング部と、
前記クラスタリング結果における、前記評価指標に関しての分類の適切さを、情報量基準として算出する基準量算出部と、を備え、
クラスタリングにおいて、クラスタ数を変化させたときの情報量基準が、クラスタ数に応じて一定期間のみ増加傾向を示した後に概ね一定値に到達する最大対数尤度の項に負号を付したものと、クラスタ数に応じて単調増加するペナルティ項と、を加算したものであることに基づき、
前記指示判定部は、クラスタ数を断続的に設定して、当該断続的に設定されたクラスタ数のクラスタリング結果において逐次的に得られる情報量基準を参照して、前記クラスタ数に応じて変化する情報量基準の最小値に該当する箇所を見出すことにより、当該箇所におけるクラスタリング結果を最適結果として判定することを特徴とするクラスタリング装置。
【請求項２】
前記指示判定部は、クラスタ数を第一値及び第一値より大きい第二値に設定し、当該両値で挟まれる区間を初期区間として、区間の両端及び中点における情報量基準を逐次的に参照しながら、情報量基準の最小値を与える片側の区間を選別していくことにより、前記クラスタ数に応じて変化する情報量基準が減少傾向から増加傾向へと転ずる箇所を最小値に該当する箇所として見出すことによって、前記最適結果へと到達することを特徴とする請求項１に記載のクラスタリング装置。
【請求項３】
前記指示判定部は、前記区間を選別していく際に、区間の両端及び中点のそれぞれにおいて、周辺所定範囲の情報量基準を参照して、最小の情報量基準を与える点を、区間の両端及び中点のそれぞれに代わる点として採用することを特徴とする請求項２に記載のクラスタリング装置。
【請求項４】
前記指示判定部は、前記区間を選別していく際に、区間の両端のそれぞれにおいて、周辺所定範囲の情報量基準を参照してフィッティング直線を求め、当該両端のフィッティング直線が交わる点を、区間の中点に代わる点として採用することを特徴とする請求項２または３に記載のクラスタリング装置。
【請求項５】
前記指示判定部は、前記第一値の周辺所定範囲の情報量基準を参照して、当該一連の情報量基準が増加傾向にある場合は、前記クラスタ数に応じて変化する情報量基準は常に単調増加の傾向を示すものと判断して、当該所定範囲のうち、最小の情報量基準を与えるクラスタ数を、前記最適結果を与えるものとして判定することを特徴とする請求項２ないし４のいずれかに記載のクラスタリング装置。
【請求項６】
前記指示判定部は、前記第二値の周辺所定範囲の情報量基準を参照して、当該一連の情報量基準が減少傾向にある場合は、当該第二値をより大きな値へと修正することを特徴とする請求項２ないし５のいずれかに記載のクラスタリング装置。
【請求項７】
前記指示判定部は、
前記クラスタリング部に対して、前記最適結果を得る際に用いる第二クラスタリング手法よりも計算負荷の低い第一クラスタリング手法を指定したうえで、一連のクラスタ数についての情報量基準を参照して、第一クラスタリング手法における最適結果を与えるクラスタ数を初期クラスタ数として求めた後に、
前記クラスタリング部に対して、前記第二クラスタリング手法を指定したうえで、前記初期クラスタ数から逐次的にクラスタ数を増加または減少させた際の情報量基準を参照して、最小値に該当する箇所を見出すことにより、当該最小値に該当する箇所におけるクラスタリング結果を最適結果として判定することを特徴とする請求項１に記載のクラスタリング装置。
【請求項８】
前記第二クラスタリング手法が、潜在的ディリクレ配分法であり、
前記第一クラスタリング手法が、前記潜在的ディリクレ配分法における精度パラメータを低精度の側に設定したもの、または、単一のトピックを仮定したクラスタリング手法であることを特徴とする請求項７に記載のクラスタリング装置。
【請求項９】
前記第一クラスタリング手法が、前記潜在的ディリクレ配分法における精度パラメータを低精度の側に設定したものであって、次元数及び／又は総単語数を下げることにより、当該低精度の側に設定されていることを特徴とする請求項８に記載のクラスタリング装置。
【請求項１０】
前記第一クラスタリング手法が、単一のトピックを仮定したクラスタリング手法であって、当該単一のトピックを仮定したクラスタリング手法が、k-means法またはユニグラム混合であることを特徴とする請求項８に記載のクラスタリング装置。
【請求項１１】
前記対象データが医療関係のデータであることを特徴とする請求項１ないし１０のいずれかに記載のクラスタリング装置。
【請求項１２】
前記各サンプルにつき予め与えられた評価指標が2値属性に関するものであることを特徴とする請求項１ないし１１のいずれかに記載のクラスタリング装置。
【請求項１３】
前記基準量算出部は、赤池情報量基準として、前記情報量基準を算出することを特徴とする請求項１ないし１２のいずれかに記載のクラスタリング装置。
【請求項１４】
対象データをクラスタリングするに際して、そのクラスタリング結果のうち、当該対象データの各サンプルにつき予め与えられた評価指標に関して最適結果と判定されるクラスタ数におけるものを求めるクラスタリング方法であって、
クラスタ数を設定する指示判定ステップと、
対象データを前記設定されたクラスタ数へ分類してクラスタリング結果を求めるクラスタリングステップと、
前記クラスタリング結果における、前記評価指標に関しての分類の適切さを、情報量基準として算出する基準量算出ステップと、を備え、
クラスタリングにおいて、クラスタ数を変化させたときの情報量基準が、クラスタ数に応じて一定期間のみ増加傾向を示した後に概ね一定値に到達する最大対数尤度の項に負号を付したものと、クラスタ数に応じて単調増加するペナルティ項と、を加算したものであることに基づき、
前記指示判定ステップでは、前記クラスタ数を断続的に設定して、当該断続的に設定されたクラスタ数のクラスタリング結果において逐次的に得られる情報量基準を参照して、前記クラスタ数に応じて変化する情報量基準の最小値に該当する箇所を見出すことにより、当該箇所におけるクラスタリング結果を最適結果として判定することを特徴とするクラスタリング方法。
【請求項１５】
コンピュータを請求項１ないし１３のいずれかに記載のクラスタリング装置として機能させることを特徴とするクラスタリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、潜在トピック分析におけるLDA(潜在的ディリクレ配分法)等の高精度な分類器によってクラスタリングを実施した結果において、対象データの各サンプルにおける評価指標を与えている場合に、当該評価指標に関して最適なクラスタリング結果となるようなクラスタ数を効率的に決定することで、計算負荷を抑制しながら最適なクラスタリング結果を得ることが可能な、クラスタリング装置、方法及びプログラムに関する。
【背景技術】
【０００２】
医療データに基づいて、対象者をクラスタリングしたい場合がある。
【０００３】
例えば、特許文献１や特許文献２に代表されるように、健康管理システム等が大きな広がりを見せている。このような健康管理システムでは、利用者に対して健康上のアドバイス等を行う場合が多いが、特許文献３に示すように、利用者を実際の健康データを元に分類した上でアドバイスを行った方が、より行動変容につながりやすい。このような観点から、上記のようなクラスタリングの要求が生ずることとなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2013-085626号公報
【特許文献２】特開2010-264088号公報
【特許文献３】特開2010-170534号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、上記アドバイス等を適切に行えるようにするために、上記のような医療データに基づいての対象者のクラスタリングにおいては、精度の高い分類がなされることが要求される。そして、当該要求は、医療データに基づいた対象者のクラスタリングにおいては顕著であるものの、その他のデータを対象としたクラスタリングにおいても、一般的に存在するものである。
【０００６】
しかし一般的に、上記要求を満たすべく、精度の高い分類器を利用しようとすると、その学習に時間がかかる場合が多い。例えば、潜在トピック分析におけるLDA（latent dirichlet allocation:潜在的ディリクレ配分法）は高精度な分類器として知られているが、当該LDAを用いると、クラスタリングそのものに時間がかかってしまうことが多い。特に特徴次元の数や、１文書当たりの単語数が増加すると、速度が大幅に低下する。
【０００７】
そこで、医療データ等に対してLDA等の計算負荷が大きいが高精度であるクラスタリングを行うことにより、アドバイス等のための有益な知見等を抽出可能とするに際して、効率的な処理を可能とするために、次のようなことが望まれる。（なお、対象は医療データであるものとして説明する。）
【０００８】
すなわち、まず、評価対象についての前提として、医療データにおける各患者について、特定の評価指標を、予め与えておく。例えば、各患者がメタボであるか否かを、当該医療データより総合的に判断して、あるいは、当該医療データとは別途に検査等することによって、予め与えておく。
【０００９】
そして、結果として次のものを得ることを考える。すなわち、医療データにおける各患者をクラスタリングした際に、結果として得られた各クラスタが、当該メタボか否か等の特定の評価指標に関して、最も適切に分けられているようなものを結果として得ることを考える。すなわち、このようなクラスタリング結果を解析すれば、患者のメタボか否かの要因等を適切に分析することが可能となる、そのような意味での適切なクラスタリング結果を得ることを考える。
【００１０】
上記のような適切なクラスタリング結果を得るには、クラスタリング自体がLDA等の高精度な手法によってなされている必要がある。ここで、LDA等によりクラスタリングを行う際にはクラスタ数を予め指定せねばならず、適切なクラスタ数を設定しなければ上記のような適切なクラスタリング結果も得られない。
【００１１】
しかしながら、従来技術においては、上記適切なクラスタリング結果を得るための適切なクラスタ数を効率的に予測する手法は存在しなかった。
【００１２】
従って、従来技術においては、クラスタリング結果が上記のような特定指標に関して適切に得られたものであるかを、何らかのクラスタ数nを与えて実際にクラスタリングを行い、当該クラスタ数nにおけるクラスタリング結果R(n)を実際に確認し、最適と判定されるものを各クラスタ数nにつき逐一探索するしかなかった。このように逐一探索することは、探索される各クラスタ数nにつきその都度、LDA等の計算負荷の高いクラスタリングを実際に行う必要があり、非常に効率が悪かった。
【００１３】
本発明は、上記従来技術の課題に鑑み、LDA等の計算負荷が大きいが高精度であるクラスタリングを行うに際して、クラスタリング対象の各データに予め与えられた特定の評価指標に関して最適と判定できるクラスタ数を効率的に求めることで、計算負荷を低減することのできるクラスタリング装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明は、対象データをクラスタリングするに際して、そのクラスタリング結果のうち、当該対象データの各サンプルにつき予め与えられた評価指標に関して最適結果と判定されるクラスタ数におけるものを求めるクラスタリング装置であって、クラスタ数を設定する指示判定部と、対象データを前記設定されたクラスタ数へ分類してクラスタリング結果を求めるクラスタリング部と、前記クラスタリング結果における、前記評価指標に関しての分類の適切さを、情報量基準として算出する基準量算出部と、を備え、クラスタリングにおいて、クラスタ数を変化させたときの情報量基準が、クラスタ数に応じて一定期間のみ増加傾向を示した後に概ね一定値に到達する最大対数尤度の項に負号を付したものと、クラスタ数に応じて単調増加するペナルティ項と、を加算したものであることに基づき、前記指示判定部は、クラスタ数を断続的に設定して、当該断続的に設定されたクラスタ数のクラスタリング結果において逐次的に得られる情報量基準を参照して、前記クラスタ数に応じて変化する情報量基準の最小値に該当する箇所を見出すことにより、当該箇所におけるクラスタリング結果を最適結果として判定することを特徴とする。
【００１５】
また、本発明は、対象データをクラスタリングするに際して、そのクラスタリング結果のうち、当該対象データの各サンプルにつき予め与えられた評価指標に関して最適結果と判定されるクラスタ数におけるものを求めるクラスタリング方法であって、クラスタ数を設定する指示判定ステップと、対象データを前記設定されたクラスタ数へ分類してクラスタリング結果を求めるクラスタリングステップと、前記クラスタリング結果における、前記評価指標に関しての分類の適切さを、情報量基準として算出する基準量算出ステップと、を備え、クラスタリングにおいて、クラスタ数を変化させたときの情報量基準が、クラスタ数に応じて一定期間のみ増加傾向を示した後に概ね一定値に到達する最大対数尤度の項に負号を付したものと、クラスタ数に応じて単調増加するペナルティ項と、を加算したものであることに基づき、前記指示判定ステップでは、前記クラスタ数を断続的に設定して、当該断続的に設定されたクラスタ数のクラスタリング結果において逐次的に得られる情報量基準を参照して、前記クラスタ数に応じて変化する情報量基準の最小値に該当する箇所を見出すことにより、当該箇所におけるクラスタリング結果を最適結果として判定することを特徴とする。
【００１６】
さらに、本発明は、コンピュータを上記クラスタリング装置として機能させるクラスタリングプログラムであることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、情報量基準が最小となることで最適と判定されるクラスタリング結果を、クラスタ数を変化させたときの情報量基準が、クラスタ数に応じて一定期間のみ増加傾向を示した後に概ね一定値に到達する最大対数尤度の項に負号を付したものと、クラスタ数に応じて単調増加するペナルティ項と、を加算したものであることを利用して、一部分のみのクラスタ数nに関して断続的にクラスタリング及び情報量基準算出を実施し、逐次的に得られた結果から最小値に該当する箇所を見出すことで、最適結果を判定する。従って、多数のクラスタ数ｎに関して逐一クラスタリングを行うことを回避でき、効率的に最適結果を得ることができる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態に係るクラスタリング装置の機能ブロック図である。
【図２】基準量算出部が基準量としてAIC値を算出するために作成するクロス集計表を説明するための図である。
【図３】前処理として離散化を行う機能部を追加した実施形態におけるクラスタリング装置の機能ブロック図である。
【図４】一実施形態に係るクラスタリング装置の動作のフローチャートである。
【図５】評価指標に関して最適なクラスタリング結果の例を概念的に示す図である。
【図６】実際に全てのクラスタ数についてクラスタリングを行い、AIC値を求めてプロットしたグラフの例である。
【図７】指示判定部における第一実施形態を説明するための図である。
【図８】指示判定部における第二実施形態を説明するための図である。
【図９】図２のクロス集計表に対応する従属モデルの確率の表である。
【図１０】図２のクロス集計表に対応する独立モデルの確率の表である。
【発明を実施するための形態】
【００１９】
図１は、一実施形態に係るクラスタリング装置の機能ブロック図である。クラスタリング装置10は、クラスタリング部1、基準量算出部2及び指示判定部3を備える。当該各部の概要は以下の通りである。
【００２０】
クラスタリング部1は、指示判定部3から通知されるクラスタリングを行うべき旨の指示と、当該クラスタリングを行う際の条件と、に従い、対象データのクラスタリングを行って、当該クラスタリング結果を基準量算出部2に渡す。
【００２１】
なお、指示判定部3からの指示に従ってのクラスタリング部1によるクラスタリングは、後述する第一実施形態では、最終的な最適なクラスタリング結果を得るためのLDA等の高精度な手法を常に用いるが、後述する第二実施形態では、最適結果を探索している途中の前半側においては精度を下げた手法を用い、最終的な最適結果を得るための後半側において、LDA等の高精度な手法を用いる。
【００２２】
クラスタリング部1において当該用いる当該高精度なクラスタリング手法には、潜在トピック分析における種々のものが利用でき、例えば、LDA(潜在的ディリクレ配分法)の他、PLSA(確率的潜在的意味解析(Probabilistic Latent Semantic Analysis)あるいはPLSI(確率的潜在的意味インデキシング))や、LSA(潜在的意味解析(Probabilistic Semantic Analysis)あるいはLSI(潜在的意味インデキシング))などを利用することができるが、以下、「LDA等」として説明する。
【００２３】
なお、LDA等の潜在トピック分析においては、各サンプルのトピック比率が得られるが、クラスタリング部1におけるクラスタリング結果として採用する場合には、各サンプルは、その最大のトピック比率に対応するクラスタに属するものとして、クラスタリング結果を得る。例えば、対象データのあるサンプルについて、LDAの結果が、「トピックaにつき70%と、トピックbにつき20%と、トピックcにつき10%」であった場合、当該サンプルは、トピックaに対応するクラスタに属するものとして、クラスタリング結果を得る。（これに対してk-means等においては、各トピックに比率を持って属するということはなく、各サンプルがいずれか1つのクラスタに属しているという、通常の意味でのクラスタリング結果を得ることができる。）
【００２４】
基準量算出部2は、クラスタリング部1から受け取ったクラスタリング結果と、予め与えられる情報としての、当該クラスタリングされた対象データの各サンプルにおける特定の評価指標と、を用いて、当該クラスタリング結果が当該特定の評価指標に関して適切な結果であるかを数値化した基準量を算出し、当該算出した基準量を指示判定部3に渡す。
【００２５】
基準量算出部2では、一実施形態では、クラスタリング結果における評価指標の「該当」「未該当」の度数の分布を参照して、赤池情報量基準(AIC)を算出する。当該AIC値が基準値として指示判定部3に渡される。ここで、AIC値の算出のためには、統計分野で周知のクロス集計表を作成する必要があるので、基準量算出部2では当該クロス集計表を作成してから、AIC値としての基準量を算出する。図２は、当該クロス集計表の作成を説明するための図である。
【００２６】
図２にて(1)は、クラスタリング部1から受け取ったクラスタリング結果における、各クラスタの度数を表として示している。すなわち、対象データのサンプル総数はNであり、クラスタリングの結果、m個のクラスタi(i=1, 2, …, m)に分けられ、それぞれのクラスタiの度数がki(i=1, 2, …, m)となっている。（従って、「k1+k2+…+km=N」である。）
【００２７】
そして、(2)に示すのが、対象データの各サンプルについて予め与えられる評価指標が該当するかしないかの区別を、クラスタリングされた各クラスタに属するサンプルにおいて調べ、統計分野における周知のクロス集計表としたものである。すなわち、(2)は、各クラスタiにおける評価指標に関して「該当」であるサンプルの度数n1iと「未該当」であるサンプルの度数n2iと、をi=1, 2, …,mに渡って与えることで、2×mのクロス集計表となっている。
【００２８】
なお、(2)の表では、各クラスタiの度数がkiであり、属するサンプルは評価指標に関して「該当」又は「未該当」のいずれかであるので、周辺度数として「ki=n1i+n2i」の関係がある。また、「h」は対象データ全体のうちの「該当」のサンプル数であり、周辺度数として、「h＝n11+n12+…+n1m」の関係がある。さらに、対象データ全体のうちの「未該当」のサンプル数は「N-h」であり、周辺度数として、「N-h＝n21+n22+…+n2m」の関係がある。
【００２９】
基準量算出部2では、以上の図２の(2)のような、クラスタリング結果の各クラスタにおいて評価指標の「該当」及び「未該当」の度数を与えたクロス集計表を作成して当該クロス集計表を参照することにより、AIC値として基準量を算出する。当該AIC値の算出の詳細については後述する。
【００３０】
ここで、対象データと、その各サンプルについて予め与えられる評価指標と、について、その具体例を説明する。対象データは、クラスタリング部1において潜在トピック分析におけるLDA等の高精度なクラスタリングの対象となる離散化されたデータであり、従って、対象データの各サンプルは単語集合としての文書である。
【００３１】
ここで、医療分野のデータを対象データとして採用する場合は、例えば、各サンプルを各患者の健康状態を表した単語集合として用意するようにしてよく、後述する本出願人の技術により、各患者の健康診断等のデータ（各検査項目についての連続的な数値データからなり、そのままではLDA等を適用できない）から各患者の健康状態を表す文書を生成することができる。
【００３２】
図３は、上記のように対象データが予め離散化されて文書化されていない場合に、前処理として離散化を行う機能部を追加した実施形態におけるクラスタリング装置10の機能ブロック図である。図２にてクラスタリング装置10は、図１の構成に対して前処理を実施する離散化・文書化部5を追加で備え、その他は図１と同一である。離散化・文書化部5は、離散化されていないデータとして各患者の健康診断のデータ等を受け取り、クラスタリング部1での処理を可能とさせるべく、離散化処理を施して各患者の健康状態を表す文書を生成し、当該文書をクラスタリング部1に渡す。
【００３３】
なお、離散化・文書化部5には、本出願人による特願2013-159323号（数値データ解析装置及びプログラム）、特願2013-163207号（数値データ解析装置及びプログラム）又は特願2013-217817号（数値データ文書化装置及びプログラム）等を利用することができる。
【００３４】
以上のように、各患者の健康状態を表す文書を全患者に渡って集めたものとしての対象データにおいて、各患者の評価指標は例えば、「医療費の高低」、「メタボの有無」、「体重の増減」等の、健康に関する２値属性である。当該２値属性としての評価指標が「該当」又は「未該当」であるかに関しては、対象データとは別途に各患者につき予め調査等されることによって得られており、基準量算出部2にて入力情報として利用される。対象データの種類が医療データ以外である場合にも、対応する所定内容によって各サンプルの評価指標を予め与えておくことができる。
【００３５】
以上、基準量算出部2ではクラスタリング結果と、予め与えられている各サンプルの評価指標と、を用いて、図２で説明したようなクロス集計表を作成し、当該クロス集計表を用いてクラスタリング結果が評価指標に関して適切に分類されているかをAIC値として求め、指示判定部3に当該AIC値を渡す。AIC値の計算手法を含む基準量算出部2の詳細については以下にて適宜、追加して説明する。
【００３６】
指示判定部3では、基準量算出部2の求めたクラスタリング結果の評価値としてのAIC値に基づき、クラスタリング部1でなされたクラスタリングが最適なものであったかを判定する。ここで、AIC値が最小値であると判定される場合に、クラスタリングの結果が最適であったものとして判定する。最適ではないと判定した場合は、指示判定部3はクラスタリング部1に対してさらに継続してクラスタリングを実施すべき旨の指示と、その際のクラスタリング条件とを通知し、最適と判定される結果が得られるまで、クラスタリング装置10の処理が継続される。
【００３７】
図４は、一実施形態に係る当該クラスタリング装置10の動作のフローチャートである。以下、当該フローチャートを参照して、図１（又は図３）の各部の動作の流れを形式的に説明した後、実質的な各部の処理内容の説明を行うこととする。
【００３８】
ステップS1では、当該図４のフローの繰り返し回数のカウント変数であるiを初期値の「１」に設定して（すなわち、「i=1」として）から、ステップS2へと進む。
【００３９】
ステップS2では、指示判定部3が、当該i回目にクラスタリング部1に実施させるべきクラスタリングの条件C[i]を決定してクラスタリング部1へと通知してから、ステップS3へと進む。
【００４０】
ステップS2における当該クラスタリング条件C[i]は、クラスタリングによって分割させるクラスタ数mの設定を含み、次の情報を参照して決定される。すなわち、後述するような当該i回目よりも過去の時点までに得られている一連のクラスタリングの結果R[k]及びその結果を評価するAIC値としての基準量E[k](k=1, 2, …, i-1)を参照することによって、決定される。
【００４１】
なお、当該過去の結果が得られていないi=1の初回の時点において、あるいは、当該過去の結果が充分には得られていないi=1以降の所定回数までの時点においては、予め設定されている初期条件としてクラスタリング条件C[i]を決定する。
【００４２】
ステップS3では、直前のステップS2にて設定されたクラスタリング条件C[i]に従って、クラスタリング部1が対象データのクラスタリングを実施してクラスタリング結果R[i]を得て、ステップS4へと進む。ステップS4では、基準量算出部2が、当該得られたクラスタリング結果R[i]に対して、各サンプルに予め与えられた評価指標を参照して図２で説明したクロス集計表を作成したうえで、当該結果R[i]におけるAIC値として基準量E[i]を算出して、ステップS5へ進む。
【００４３】
ステップS5では、指示判定部3が、当該最新のクラスタリング結果R[i]を含め、当該時点までに求まっている一連のクラスタリング結果R[k](k=1, 2, …, i)の中に最適な結果が得られていると判定できるか否かを、得られている一連の基準量E[k] (k=1, 2, …, i)を参照することで、最小値とみなせる基準量E[kmin]があるか否かによって判定し、ステップS6へ進む。当該判定の詳細は後述する。
【００４４】
ステップS6では、ステップS5にて最適結果が得られたと判定されたか否かによって場合分けが行われ、最適結果が得られた判定であった場合にはステップS7へと進み、最適結果がまだ得られていない判定であった場合にはステップS8へ進む。
【００４５】
なお、前述のステップS2において、i=1の初回あるいはi=1以降の所定回数は条件C[i]を所定の初期条件として設定するのと同様に、当該ステップS5, S6の判定においても、当該所定の初期条件C[i]の元でのみしかクラスタリング結果R[i]及びその基準量E[i]が得られていない間は、最小の基準量が得られているか判断するのに十分な情報が蓄積されていないので、具体的な判定処理は省略したうえで、ステップS8へと進むこととなる。
【００４６】
ステップS7では、直近のステップS5,S6において最適結果と判定された結果を、クラスタリング装置10による最終的な出力として得たうえで、フローを終了する。ステップS8では、当該フローの回数のカウンタ変数iを1だけ増分して（すなわち、「i=i+1」として）、ステップS2に戻る。
【００４７】
以上、図４の各ステップを説明した。以下、当該ステップS2,S5,S6等にて指示判定部3が行うクラスタリング条件設定及び判定処理に関して、その具体的内容を説明する。
【００４８】
ここで、本発明においては、次が目標となっている。すなわち、対象データの各サンプルにつき、評価指標を与えた際に、当該評価指標に関して最もよく対象データをクラスタリングしているようなクラスタリング結果が、様々な値に変動させることのできるクラスタ個数mのどの値によって得られるかを、当該個数mに何らかの値を与えて実際にクラスタリング結果を求める回数をできるだけ少なくして、最適クラスタ個数としてのmを特定することが目標である。そして、最適なクラスタリング結果は、そのAIC値を最小にするものとして判定することができる。
【００４９】
図５は、評価指標に関して最適なクラスタリング結果の例を概念的に示す図である。図５では、対象データは医療関連のデータとし、評価指標を「メタボの有無」とした場合に、(2)の中段部の表に示すように、クラスタ数m=339個におけるクラスタリング結果が、各クラスタにおけるメタボの有無のばらつきを最も大きくするものとして、最適結果となっている。当該最適結果は(3)の下段部の表に示すように、クラスタ1〜134に関してはメタボ含有率の高いクラスタであり、クラスタ135〜339に関してはメタボ含有率の低いクラスタであり、結果全体としてメタボの有無のばらつきが大きいことから、最適結果となっている。なお、上段部の(1)には、最適結果を構成しているクラスタの概念的な例（黒色の点が「メタボ」のサンプルを表し、白色の点が「非メタボ」のサンプルを表している）と、AIC値によって最適判定を行う旨と、が示されている。
【００５０】
図６は、ある対象データ及びある評価指標において、クラスタ数mに関して、m=1,2,…と全ての値に関して、いわば「総当たり方式」で実際にクラスタリングを行い、そのAIC値を求めてプロットしたグラフの例である。図６では横軸がクラスタ数mであり、縦軸が当該クラスタ数mにおいてクラスタリングした結果におけるAIC値である。
【００５１】
図６のグラフより見て取れるように、典型的には、AIC値はクラスタ数mを最小値m=1から増加させていくと、概ねの傾向として、最初のうちは減少傾向を示し、最小値（図６ではm=41の辺り）に到達した後、以降は増加傾向を示すという振る舞いをする。従って、AIC値最小としての最適結果は、減少から増加に転ずる箇所において与えられる。当該AIC値の振る舞いの仕組みについては後述するが、本発明においては、このような振る舞いをすることを利用して、全てのクラスタ数mについてクラスタリングを逐一実施することなく、適切ないわば「間引き」を実施したクラスタ数mについてのみクラスタリングを実施して、計算負荷を低減させながら最適結果を得る。
【００５２】
以下、当該「間引き」、すなわち、クラスタ数の断続的な設定の実施を実現する、指示判定部3によるクラスタリング条件設定及び指示の各実施形態を説明する。
【００５３】
以下では、AIC値は図６のグラフにおけるような、減少傾向から増加傾向に切り替わり、当該切り替わる箇所において最小値を取るような振る舞いをするものとして、当該最小値に対応する最適結果を得る手法を説明する。なお、図６以外の振る舞いとなる場合もあるが、これについても、その仕組み及び最適結果を得る手法を後述する。
【００５４】
図７は、指示判定部3における第一実施形態を説明するための図であり、図６のグラフを模式化したものが示されている。
【００５５】
第一実施形態では、図４のフローにおける初期条件として、i=1,2の回において、図７に示す最小側のクラスタ数m=m1(min)及び最大側のクラスタ数m=m1(max)をクラスタリング条件として、クラスタリングを行うようにさせ、そのAIC値としてAIC[m1(min)]及びAIC[m1(max)]を算出させる。
【００５６】
そして、図４のフローにおけるi=3以降の回においては、当該m1(min)及びm1(max)を、最小のAIC値を与えるmを探索するための区間[m1(min), m1(max)]（＝図示するように区間D1とする）の「両端」として、当該区間D1の「中点」におけるAIC値を逐次的に求めると共に、探索対象としての区間も半分の長さへと更新していくことにより、最小のAIC値に該当するmの判定を行う。
【００５７】
すなわち、図４のフローにおけるi=3,4の回においては、区間D1をその中点m2(=m1(min)/2+m1(max)/2)で区切って得られる区間D21,D22のそれぞれの中点m21,m22をクラスタ数mとしてクラスタリングを実施してそれぞれのAIC値（AIC[m21]及びAIC[m22]）を求め、小さい側のAIC値（AIC[m21]<AIC[m22]）を与え、且つ当該AIC値（AIC[m21]）が元の区間D1の両端及び中点におけるAIC値のいずれ（AIC[m1(min)], AIC[m2], AIC[m1(max)]）よりも小さくなっている区間D21を探索対象として残す。
【００５８】
そして、図４のフローにおけるi=5,6の回においては、区間D21について、区間D1に対して上記実施したのと同様の処理を行い、以降は同様の逐次的な処理がなされる。すなわち、区間D21をその中点m21で区切って得られる区間D31,D32のそれぞれの中点m31,m32をクラスタ数mとしてクラスタリングを実施してAIC値（AIC[m31], AIC[m32]）を求める。当該求まったAIC値は、いずれも元の区間D21の両端及び中点のうち、中点m21のAIC値（AIC[m21]）よりも大きいので、探索処理は終了し、当該中点m21が最適なクラスタ数であるとの最終結果が得られる。
【００５９】
なお、上記区間の更新による最適結果の探索は、図７のような具体例ではなく、一般的な形として説明すると、カウンタ変数k=1より開始される、以下のような[手順1]〜[手順3]を最適結果が得られるまで繰り返すフローとして実現される。以下の説明における区間D_1は、上記図７にて説明した区間D1である。
【００６０】
[手順1]区間D_kの両端及び中点におけるAIC値をそれぞれ求め、[手順2]へ進む。
[手順2]区間D_kを中点で区切って区間D_k_a及び区間D_k_bとし、それぞれの中点におけるAIC値を求め、[手順3]へ進む。
【００６１】
[手順3]上記[手順2]で2つの区間のそれぞれの中点におけるAIC値のうち、小さい値が、（１）直近の手順[D1]の区間D_kの両端及び中点におけるAIC値の全てより小さい場合は、次の探索対象としての区間D_k+1に当該小さいAIC値を与えた区間（区間D_k_a及び区間D_k_bのいずれか）を設定し、さらに、カウンタ変数を「k=k+1」と更新した後、[手順1]に戻ってフローを継続する。
【００６２】
[手順3]（２）そうではない場合、すなわち、上記[手順2]で2つの区間のそれぞれの中点におけるAIC値のうち、小さい値が直近の手順[D1]の区間D_kの両端及び中点におけるAIC値のいずれか以上である場合は、手順[D1]の区間D_kの両端及び中点におけるAIC値のうち最小値を与えるものを、最適結果を与えるクラスタ数mと判定し、フローを終了する。
【００６３】
なお、最適結果の判定は、上記[手順3]の（２）に加えて、あるいは、代えて、[手順1]において得られている区間D_kの幅が所定値以下になった場合も、当該区間D_kの両端及び中点におけるAIC値のうち最小となるのが最適結果であると判定するようにしてもよい。
【００６４】
以上説明した第一実施形態における補足事項（１）〜（４）を、以下に説明する。
【００６５】
（１）最初の区間D1を定めるための、最小側のクラスタ数m=m1(min)は所定値、例えば、１又は2とすればよい。
【００６６】
なお、上記所定値として設定した最小側のクラスタ数m=m1(min)が既に、最小のAICを与えるクラスタ数に十分近い場合もあり、このような場合は、当該十分近い旨を予め判定して、第一実施形態のような逐次処理を省略することが好ましい。このためには、次のようにすればよい。
【００６７】
すなわち、所定値として設定した最小側のクラスタ数m=m1(min)の周辺の所定範囲のmの値において、対応するクラスタリング結果におけるAIC値を求め、当該一連のAIC値がmに対して増加傾向にある場合は、当該周辺の所定範囲のうち、最小のAIC値を与えているものが、最適結果であるものと判定すればよい。
【００６８】
なお、当該最小側のクラスタ数m=m1(min)の周辺において一連のAIC値が増加傾向にある場合は、AIC値のグラフは、図６で説明したような振る舞い（第一パターン）とは異なり、常に増加傾向の振る舞い（第二パターン）を示すこととなる。その理由については、第一パターンの振る舞いの理由の説明と併せて後述するが、上記のように最小側クラスタ数の周辺所定範囲のAIC値の傾向を調べることにより、AIC値のグラフが第一パターンか第二パターンかを最初の時点で見極めて、第二パターンであった場合には上記説明したような第一パターンを前提とした最適結果を得ることなく、ただちに、最小のクラスタ数が最適結果であるという結果を得ることができる。
【００６９】
（２）最初の区間D1を定めるための、最大側のクラスタ数m=m1(max)は所定値、例えば、クラスタリング部1にて実施するクラスタリングの次元数以上の所定値とすればよい。
【００７０】
なお、上記所定値として設定した最大側のクラスタ数m=m1(max)が、その値が小さく、図６のグラフにおける増加傾向の箇所ではなく、減少傾向の箇所であった場合には、これを初期値として第一実施形態を開始しても、適切な結果を得ることができない。従って、このような場合は、より大きな所定値へと、最大側のクラスタ数m=m1(max)を修正して設定してから、第一実施形態を開始するようにすることが好ましい。
【００７１】
この場合、最初に設定した最大側のクラスタ数m=m1(max)が減少傾向の箇所であることを判定するためには、次のようにすればよい。すなわち、当該m=m1(max)の周辺の所定範囲のmの値において、対応するクラスタリング結果におけるAIC値を求め、当該一連のAIC値がmに対して減少傾向にあるかを調べればよい。
【００７２】
（３）各区間の両端点及び中点の各点については、1つに定まったものであるとして説明したが、図５の例に示したようにノイズ的な変動がある場合への対応として、当該説明した各点につき、その周辺の所定数の範囲を加えてクラスタリング及びAIC値算出を実施し、最小のAIC値を与えるものを採用するようにしてもよい。
【００７３】
（４）上記（３）におけるのと同様の所定数の範囲を加えての算出を行うことで、区間の両端においてそれぞれ、当該所定範囲における一連の(m, AIC[m])をフィッティングする直線を求めることにより、探索対象の区間を逐次的に更新するに際して、各区間の中点を利用するのに代えて、当該両端のそれぞれにてフィッティングした直線の交点を利用するようにしてもよい。なお、当該（４）は、上記（３）にてノイズ対応として最小値のAIC値を与えるものを採用することとは独立に実施可能である。
【００７４】
図８は、指示判定部3における第二実施形態を説明するための図であり、第一実施形態を説明するために用いた図７と同様に、図６のグラフを模式化したものが示されている。第二実施形態では、以下説明するように「小さい側から計算する手法」または「大きい側から計算する手法」が可能であり、当該前者及び後者の手法がそれぞれ、図８の(2)及び(3)に示されている。なお、第二実施形態は、第一実施形態の補足事項（１）で説明したように、AIC値のグラフが図６で説明したような振る舞い（第一パターン）であり、常に単調増加の振る舞い（第二パターン）ではないことを確認した後に実施する。
【００７５】
図８では、(1)に示すように、クラスタ数mを小さい方から逐一m=1〜17としてAIC値を計算した結果の点がA1〜A17として示され、m=9における点A9でAIC値が最小となった場合が例として示されている。そして、第二実施形態では、このように全てのクラスタ数につき逐一計算するのではなく、最適なクラスタ数mから見て、「小さい側から可能な限り少ない回数で計算する」または「大きい側から可能な限り少ない回数で計算する」ことによって、最適クラスタ数mを特定する。あるいは、当該「小さい側から計算する」こと及び「大きい側から計算する」ことの双方を組み合わせてもよい。
【００７６】
「小さい側から計算する」場合は、クラスタ数mの小さい方から逐次AIC値を計算して、それ以上mを増加させるとAIC値が増加に転ずる箇所を見つけることで、最適なクラスタ数mを求める。そしてこの際、逐一計算するためのmの最初の値m(init[小])を可能な限り、最適なmよりは小さいことが明らかな範囲で、大きな値として設定することにより、効率的な探索を実現させる。
【００７７】
当該小さい側で可能な限り大きな最初の値m(init[小])は、次のように求める。すなわち、クラスタリング部1にて行うLDA等のクラスタリングにおいて精度パラメータを低精度の側に切り替えて設定したうえで、第一実施形態を適用して、当該低精度に設定されたLDA等における最適なクラスタリング結果を与えるクラスタ数を、m(init[小])とする。そして、クラスタ数m(init[小])を開始点として、クラスタリング部1にて行うクラスタリングを、本来の結果を得るための計算負荷が大きい高精度の側の精度パラメータを用いたものに切り替えて、mの値を逐次的に増加させながら、すなわちmの値を1ずつ大きくしながら、グラフの底部であり最小値と判定できるAIC値を与えるmが得られるまで、計算を継続する。
【００７８】
ここで、LDA等における精度パラメータを低精度の側に設定するには、例えば、LDA等によるクラスタリングにおける次元数を小さくすること、及び／又は、LDA等における各サンプルに割り当てられた総単語数を小さくすること、によって設定することができる。また、１つの文書に含まれる単語数を減らすことで、低精度の側に設定してもよい。なお、次元数を小さくする場合は、可能な限り現情報を維持する形で次元数を小さくするために、PCA(主成分分析)にて変換したうえで、情報量の多い第一主成分の側の次元を残すようにすることが好ましい。なお、次元数や単語数を増やして本来の精度に戻した場合は、当該増やした分に応じて、減らした場合の最適クラスタ数m(init[小])よりも確実に多くのクラスタでの分類精度が必要となることから、当該「小さい側から計算する手法」が可能となる。
【００７９】
図８では、(1)の高精度なパラメータによるLDAの例に対して、(2)が開始クラスタ数m(init[小])を設定するための低精度な側にパラメータ設定したLDAの結果のグラフの例を示しており、点B4でAIC値が最小値となっている。従って、(1)の高精度な手法では、当該点B4のクラスタ数m=4を開始点として、点A4以降を逐次的に評価すればよい。これによって、高精度な（従って計算負荷の大きい）手法において点A1〜A3を探索することが省略可能となる。
【００８０】
一方、「大きい側から計算する」場合は、上記「小さい側から計算する」場合と同様のことを、クラスタ数mに関して逆方向から実施する。すなわち、クラスタ数mの大きい側から逐次mの値を減らしながら、減少傾向にあるAIC値を計算して、それ以上mを減少させるとAIC値が逆に増加に転ずる箇所を見つけることで、最適なクラスタ数mを求める。そしてこの際、逐一計算するためのmの最初の値m(init[大])を、最適なmよりは大きいことが明らかな範囲で、可能な限り小さな値として設定することにより、効率的な探索を実現させる。
【００８１】
当該大きい側で可能な限り小さな最初の値m(init[大])は、次のように求める。すなわち、最終的な最適クラスタ数を求める際のクラスタリングがLDA等である場合に、これよりも計算負荷が小さく精度が低いことが知られている別種類の手法、例えば、unigram mixture(ユニグラム混合)、k-means法その他の単一トピックを仮定したクラスタリング手法を用いて第一実施形態を適用した際の、最適なクラスタ数として求めることができる。その理由は以下の通りである。
【００８２】
すなわち、k-means法等の単一トピックモデルのクラスタリング手法は、1つの文書（入力）が1つのトピックより生成されることを仮定しており、LDA等の高度なトピックモデルのように複数トピックの混合で文書が生成されることを仮定していない。従って、k-means法等における最適なクラスタ数は、LDA等における最適なクラスタ数よりも大きい値となる傾向がある。
【００８３】
図８では、(1)の高精度なLDAの例に対して、(3)が、開始クラスタ数m(init[大])を設定するためのk-means法（単一のトピックを仮定したクラスタリング手法の一例としてのk-means法）による結果のグラフの例を示しており、m=13である点C13でAIC値が最小となっている。従って、(1)の高精度なLDAによるクラスタリングは、当該m=13となる点A13を開始点として、点A13よりクラスタ数mの小さい側を逐次的に評価することで、最小AIC値を与え最適結果となる点A9への到達を判定することができる。これによって、点A13よりクラスタ数mが大きい点A14以降を、高精度な（従って計算負荷の大きい）LDAにより評価することを省略することができる。
【００８４】
次に、以上のような第一、第二実施形態を指示判定部3が実施する根拠となっている、図６のようなAIC値の振る舞いと、当該振る舞いをするAIC値を実際に基準量算出部2が算出する手法と、を説明する。以下にてまず、算出の手法を説明してから、その振る舞いを説明する。
【００８５】
基準量算出部2では、クラスタリング部1によって対象データがm個のクラスタに分けられた結果と、各サンプルにつき予め与えられる評価指標と、により図２の(2)で説明したようなクロス集計表を作成して、当該クロス集計表より、当該クラスタリング結果におけるAIC値を求める。
【００８６】
当該AIC値は、次のいずれかの手法の値として求める。第一手法では、当該クロス集計表に対して従属モデルを適用することにより、以下の[式1]のような従属モデルのAIC値AIC(DM)[ここでDMはDependent Modelの略である]として求める。第二手法では、さらに、当該クロス集計表に対して独立モデルを適用して、以下の[式2]のような独立モデルのAIC値AIC(IM)[ここでIMはIndependent Modelの略である]を求めたうえで、[式3]のように、従属モデルのAIC値から独立モデルのAIC値を引いた差の値として、求める。
【００８７】
【数１】
2015153381.tif 000003
【００８８】
なお、[式1]等においてMLL(DM)は、従属モデルにおける最大対数尤度であって、[式1-1]のような値として求めることができる。また、[式2]等において、MLL(IM)は、独立モデルにおける最大対数尤度であって、[式2-2]のような値として求めることができる。なお、上記の各式における文字は、図２のクロス集計表において説明した通りであり、以降説明する各式においても同様である。各モデルにおける最大対数尤度MLL(DM)及びMLL(IM)が上記のように算出されることについては、後述する。
【００８９】
そして、[式1]に示す第一手法で求めたAIC値と、[式3]に示す第二手法で求めたAIC値とは、次の理由から共に、各項が一定の大小関係を示す場合に、第一パターンとして、図６で説明したような振る舞いを示すこととなる。また、当該大小関係を示さない場合は、第二パターンとして、単調増加の振る舞いを示すこととなる。
【００９０】
第一手法の[式1]においては、その最大対数尤度MLL(DM)が、第一フェーズとして、クラスタリング数mをm=1等の小さい値から増加させている間においては、モデルの適合具合が単調に増加することから増加傾向を示すが、第二フェーズとして、mがある程度大きくなった以降では、モデルがこれ以上適合しなくなり、その値がいわば「飽和」してほぼ一定値を取るようになる。すなわち、データから得られるモデルの確からしさには限界があり、当該限界に到達することとなる。一方、第二フェーズにおいても、クラスタリング数mによるペナルティ項である2*(2m-1)の項の効果は「飽和」することなく継続する。
【００９１】
従って、最大対数尤度MLL(DM)（にマイナス2を乗じたもの）と、上記ペナルティ項2*(2m-1)と、の両者の効果を併せることで、第一フェーズにおいて最大対数尤度MLL(DM)の変化量がペナルティ項としての2*(2m-1)の変化量よりも大きい場合に、第一パターンとして、第一手法によるAIC値のクラスタリング数mに対する振る舞いは、図６に示したようなものとなる。すなわち、mが小さい値である間の第一フェーズにおいては減少し、mがある程度以上大きくなった以降の第二フェーズにおいては増加することで、当該第一フェーズと第二フェーズが切り替わる箇所において最小値を取るという振る舞いとなる。
【００９２】
一方、第一フェーズにおいても、最大対数尤度MLL(DM)の変化量がペナルティ項としての2*(2m-1)の変化量よりも小さい場合には、第二パターンとして、AIC値のクラスタリング数mに対する振る舞いは単調増加となる。この場合、前述の第一実施形態における補足事項（１）で説明したように、事前に第二パターンであることを見分けて、ただちに最適結果（「最小のクラスタ数が最も良い」という結果）を得ることができる。
【００９３】
当該振る舞いを示すことは、第二手法の[式3]においても全く同様である。すなわち、２つの最大対数尤度MLL(DM)及びMLL(IM)のうち支配的になるのはMLL(DM)であるため、それらの差を取ったもの「MLL(DM)-MLL(IM)）は、「MLL(DM)」とほぼ同様に振る舞う。一方、クラスタ数mによるペナルティ項である(2m-4)の振る舞いは第一手法と同様である。従って、第二手法によるAIC値も、第一パターンとして図６に示したような振る舞い、あるいは、第二パターンとして単調増加する振る舞いとなる。いずれの振る舞いとなるかは、第一手法において説明したのと同様に、最大対数尤度の項と、ペナルティ項と、の変化量の大小関係に依存する。
【００９４】
以下、従属モデルにおける最大対数尤度MLL(DM)と、独立モデルにおける最大対数尤度MLL(IM)と、がそれぞれ、上記の[式1-2]及び[式2-2]のように算出されることと、当該算出されたそれぞれの最大対数尤度を用いて、従属モデルにおけるAIC値が[式1]のように算出され、また、独立モデルにおけるAIC値が[式2]のように算出されることを説明する。
【００９５】
図９は、[式1]及び[式1-2]として示した従属モデルにおける算出を説明するための、図２の(2)のクロス集計表に対応する従属モデルにおける確率の表である。当該表に示されている確率により、以下のように算出がなされる。
【００９６】
まず、従属モデルの確率変数は以下の通りである。
【００９７】
【数２】
2015153381.tif 000004
【００９８】
一方、図９に示された2m個の全てが自由に動かせるわけではなく、以下の制約がある。
【００９９】
【数３】
2015153381.tif 000005
【０１００】
従って、従属モデルの自由度は2m-1であり、AICの定義（AIC＝-2×MLL+2×自由度）より、[式1]の2*(2m-1)の項が得られる。さらに、上記確率変数より対数尤度LLを計算すると、以下のようになる。
【０１０１】
【数４】
2015153381.tif 000006
【０１０２】
上記対数尤度LLを最大にするときの条件は以下である。
【０１０３】
【数５】
2015153381.tif 000007
【０１０４】
上記最大とする条件より、以下が得られる。
【０１０５】
【数６】
2015153381.tif 000008
【０１０６】
上記と同様にして、さらに
【０１０７】
【数７】
2015153381.tif 000009
【０１０８】
等が得られる。そこで、
【０１０９】
【数８】
2015153381.tif 000010
【０１１０】
とすると、
【０１１１】
【数９】
2015153381.tif 000011
【０１１２】
等となるので、それぞれを足すと、
【０１１３】
【数１０】
2015153381.tif 000012
【０１１４】
となるから、以下の場合が最尤推定となる。
【０１１５】
【数１１】
2015153381.tif 000013
【０１１６】
従って、上記の値をLLに代入することで、その最大値として前述の[式1-2]が得られる。
【０１１７】
図１０は、[式2]及び[式2-2]として示した独立モデルにおける算出を説明するための、図２の(2)のクロス集計表に対応する従属モデルにおける確率の表である。当該表に示されている確率により、以下のように算出がなされる。
【０１１８】
まず、図２の周辺度数kmと、対応する図１０の周辺確率qmと、において、以下のような制約がある。
【０１１９】
【数１２】
2015153381.tif 000014
【０１２０】
従って、自由に動かせるのはq1〜qm-1とpとであるから、パラメータの自由度は(m-1)+1=mであって、AIC算出の定義より、[式2]の2×mの項が得られる。また、独立モデルの確率変数は以下の通りとなる。
【０１２１】
【数１３】
2015153381.tif 000015
【０１２２】
従って、その対数尤度LLは以下の通りとなる。
【０１２３】
【数１４】
2015153381.tif 000016
【０１２４】
対数尤度の最大値を与える条件を求めるべく、これをp、q1・・・で偏微分してゼロに等しいとすることにより、以下等の一連の計算ができる。
【０１２５】
【数１５】
2015153381.tif 000017
【０１２６】
従って、
【０１２７】
【数１６】
2015153381.tif 000018
【０１２８】
となり、また、
【０１２９】
【数１７】
2015153381.tif 000019
【０１３０】
とすると、
【０１３１】
【数１８】
2015153381.tif 000020
【０１３２】
等となるので、それぞれ足して、
【０１３３】
【数１９】
2015153381.tif 000021
【０１３４】
となり、
【０１３５】
【数２０】
2015153381.tif 000022
【０１３６】
となるから、最大尤度は
【０１３７】
【数２１】
2015153381.tif 000023
【０１３８】
等において得られることとなる。従って、上記の値をLLに代入することで、最大値としての[式2-2]が得られる。
【０１３９】
以上、本発明によれば、LDA等の計算負荷が大きいクラスタリングを行って、特定の評価指標を与えてクラスタリング結果を評価する際に、最適なクラスタリング結果を与えるクラスタ数の発見を高速に行うことができる。以下、本発明における補足的事項を説明する。
【０１４０】
（補足１）図８にて説明した第二実施形態により開始点m(init[小])及び／又はm(init[大])のみを求めて、当該求まった開始点m(init[小])及び／又はm(init[大])をそれぞれ、図７にて説明した第一実施形態における最初の区間D1の最小側及び／又は最大側のクラスタ数m1(min)及び／又はm1(max)の値として採用してもよい。
【０１４１】
（補足２）図７にて説明した第一実施形態の変形版として、次のようにしてもよい。すなわち、第一実施形態では、区間を逐次的に２つに分割して、各々の中点におけるクラスタリング結果のAIC値を求め、既に求まっている一連のAIC値との比較で、２つに分割された区間のうちいずれを探索対象として残すかを決めた。
【０１４２】
上記に代えて、探索対象として残す区間を、次のように決定してもよい。すなわち、区間の両端と、区間の中点と、のそれぞれの周辺所定範囲において、一連のAIC値を求め、増加傾向であるか減少傾向であるかを判定するようにする。そして、探索対象として残す区間を、左側（mの値が小さい側）の端点がAIC値が減少傾向を示すものであり、右側(mの値が大きい側)の端点がAIC値が増加傾向を示すもの、として決定するようにしてよい。当該決定する際に、増加傾向及び減少傾向を表すフィッティング直線の傾きをAIC値のグラフ（なめらかであるものとみなしたグラフ）の微分係数とみて、当該微分係数がゼロとなるような区間を、数値計算の分野において周知のニュートン法を適用して、増加傾向及び減少傾向の両端側から逐次的に予測することで、単純に中点で区切るよりも早く決定するようにしてもよい。
【０１４３】
（補足３）本発明では、対象データの各サンプルにつき予め与えられる評価指標が、２値的な属性であるものとして説明したが、評価指標が３値以上の一般のn値属性であっても同様に、本発明を適用可能である。この場合、２値属性における手法と同様にして、当該n値属性におけるクロス集計表を作成し、また、確率の表から自由度及びMLLの算出を行って、AICを求めるようにすればよい。
【０１４４】
（補足４）本発明では、一実施形態として、基準量算出部2においてAICを算出するものとして説明してきたが、より一般には、AICに限らず、図６のグラフ等を参照して説明したのと同様の性質、すなわち、モデルの当てはまり具合に応じて上限を有して増加する第一項（最大対数尤度）に負号を付したものと、クラスタ数に応じたペナルティ項である第二項と、の加算として得られる任意の情報量基準を算出するようにしてもよい。例えば、MDL(最小記述長；minimum description length)や、BIC(ベイズ情報量基準；Bayesian information criterion)などを算出するようにしてもよい。
【０１４５】
（補足５）本発明は、クラスタリング装置10の動作方法としても提供可能であり、また、コンピュータをクラスタリング装置10として機能させるプログラムとしても提供可能である。
【符号の説明】
【０１４６】
10…クラスタリング装置、1…クラスタリング部、2…基準量算出部、3…指示判定部
【図１】
2015153381.tif 000024
【図２】
2015153381.tif 000025
【図３】
2015153381.tif 000026
【図４】
2015153381.tif 000027
【図５】
2015153381.tif 000028
【図６】
2015153381.tif 000029
【図７】
2015153381.tif 000030
【図８】
2015153381.tif 000031
【図９】
2015153381.tif 000032
【図１０】
2015153381.tif 000033