(58)【調査した分野】(Int.Cl.,DB名)
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2011-76068号公報
【非特許文献】
【0006】
【非特許文献1】Pauca, V. P., et al. "Nonnegative matrix factorization for spectral data analysis.“ Linear algebra and its applications 416(1): 29-47. (2006).
【非特許文献2】Hoyer, P. O. Non-negative sparse coding. Neural Networks for Signal Processing, 2002. Proceedings of the 2002 12th IEEE Workshop on, IEEE. (2002).
【非特許文献3】Hoyer, P. O. "Non-negative matrix factorization with sparseness constraints.“ Journal of machine learning research 5(Nov): 1457-1469. (2004).
【非特許文献4】Kim, H. and H. Park “Sparse non-negative matrix factorizations via alternating non-negativity-constrained least squares for microarray data analysis.“ Bioinformatics 23(12): 1495-1502. (2007).
【非特許文献5】Ding, C., et al. Orthogonal nonnegative matrix t-factorizations for clustering. Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, ACM.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の従来手法によるスペクトル分解では1つのピークが複数の分解結果として分解されてしまう。この結果は正則化項の性能が十分でないことを示唆している。
【0008】
本発明は、上記の課題を解決するためになされたもので、一次独立性が高いと期待されるスペクトルデータの分解において真の基底スペクトルに近い分解結果を返すことができるスペクトルデータ解析装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のスペクトルデータ解析装置は、解析対象の信号について求められる観測スペクトルデータのセットを非負値行列分解することにより、複数の基底スペクトルデータと、各基底スペクトルの大きさを表すアクティベーションデータとを求めるスペクトルデータ解析装置であって、観測スペクトルデータのセットと、前記複数の基底スペクトルデータ及び前記アクティベーションデータから計算される推定スペクトルデータのセットとの乖離度、並びに前記複数の基底スペクトルデータ又は前記アクティベーションデータの一次独立性を評価する正則化項を含む目的関数の値の極小値を探索することにより、前記複数の基底スペクトルデータと、前記アクティベーションデータとを求める。
【0010】
本発明のプログラムは、解析対象の信号について求められる観測スペクトルデータのセットを非負値行列分解することにより、複数の基底スペクトルデータと、各基底スペクトルの大きさを表すアクティベーションデータとを求めるためのプログラムであって、コンピュータに、観測スペクトルデータのセットと、前記複数の基底スペクトルデータ及び前記アクティベーションデータから計算される推定スペクトルデータのセットとの乖離度、並びに前記複数の基底スペクトルデータ又は前記アクティベーションデータの一次独立性を評価する正則化項を含む目的関数の値の極小値を探索することにより、前記複数の基底スペクトルデータと、前記アクティベーションデータとを求める処理を実行させるためのプログラムである。
【0011】
本発明のスペクトルデータ解析装置によれば、観測スペクトルデータのセットと、前記複数の基底スペクトルデータ及び前記アクティベーションデータから計算される推定スペクトルデータのセットとの乖離度、並びに前記複数の基底スペクトルデータ又は前記アクティベーションデータの一次独立性を評価する正則化項を含む目的関数の値の極小値を探索することにより、前記複数の基底スペクトルデータと、前記アクティベーションデータとを求める。
【0012】
このように、観測スペクトルデータのセットと、複数の基底スペクトルデータ及びアクティベーションデータから計算される推定スペクトルデータのセットとの乖離度、並びに前記複数の基底スペクトルデータ又は前記アクティベーションデータの一次独立性を評価する正則化項を含む目的関数の値の極小値を探索することにより、前記複数の基底スペクトルデータと、前記アクティベーションデータとを求めるため、一次独立性が高いと期待されるスペクトルデータの分解において真の基底スペクトルに近い分解結果を返すことができる。
【0013】
本発明において、前記目的関数をfとし、前記乖離度をdとし、前記正則化項をgとして、前記目的関数fは、以下の式で表わされ、前記正則化項は、det(AA
T)及びdet((AA
T)
-1)の少なくとも一方を含むことができる。
【0014】
【数1】
【0015】
ただし、観測スペクトルデータのセットを表す行列をYとし、複数の基底スペクトルデータを表す行列をSとし、前記アクティベーションデータを表す行列をCとする。
【0016】
また、前記正則化項は、
のとき
となり、かつ、Aが無限大となるのを防ぐように予め定められる。
【0017】
また、本発明において、前記正則化項は、以下の式で表わされる。
【0018】
【数2】
【0019】
ただし、k
1、k
2をハイパーパラメータとする。
【0020】
また、本発明において、乖離度は、以下の式で表わされ、目的関数の値の極小値を探索する際に、以下の式に従って、前記アクティベーションデータを表す行列の各要素C
nl及び複数の基底スペクトルデータを表す行列の各要素S
lmを更新することを繰り返す。
【0021】
【数3】
【0022】
ただし、|| ||
Fは、Frobenius normである。
【0023】
本発明において、前記観測スペクトルデータのセットを表す行列Yを、以下の式に従って規格化し、前記ハイパーパラメータとして、以下の式に示す値を用いることができる。
【0024】
【数4】
【0025】
上記の観測スペクトルデータは、X線回折スペクトル、中性子線回折スペクトル、質量分析スペクトル、又は振動分光スペクトルである。
【発明の効果】
【0026】
以上説明したように、本発明のスペクトルデータ解析装置及びプログラムによれば、一次独立性が高いと期待されるスペクトルデータの分解において真の基底スペクトルに近い分解結果を返すことができる、という効果が得られる。
【発明を実施するための形態】
【0028】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0029】
図1に示すように、本発明の実施の形態に係るスペクトルデータ解析装置10は、CPU12、ROM14、RAM16、HDD18、通信インタフェース21、及びこれらを相互に接続するためのバス22を備えている。
【0030】
CPU12は、各種プログラムを実行する。ROM14には、各種プログラムやパラメータ等が記憶されている。RAM16は、CPU12による各種プログラムの実行時におけるワークエリア等として用いられる。記録媒体としてのHDD18には、後述するスペクトルデータ解析処理ルーチンを実行するためのプログラムを含む各種プログラムや各種データが記憶されている。
【0031】
本実施の形態におけるスペクトルデータ解析装置10を、スペクトルデータ解析処理ルーチンを実行するためのプログラムに沿って、機能ブロックで表すと、
図2に示すようになる。スペクトルデータ解析装置10は、入力部20、演算部30、及び出力部50を備えている。
【0032】
入力部20は、解析対象の信号について求められた、各周波数の成分を表す観測スペクトルデータのセットを受け付ける。例えば、解析対象の信号としては、X線回折信号、中性子線回折信号、質量分析信号、又は振動分光信号であり、観測スペクトルデータのセットは、サンプル毎に得られた多数の観測スペクトルデータである。
【0033】
演算部30は、非負行列因子分解部34を備えている。
【0034】
非負行列因子分解部34は、解析対象の信号について求められた観測スペクトルデータのセットを表す行列Yを非負値行列分解することにより、複数の基底スペクトルデータを表す行列Sと、各サンプルの各基底スペクトルの大きさを表すアクティベーションデータを表す行列Cとを求める。
【0035】
具体的には、観測スペクトルデータのセットを表す行列Yと、複数の基底スペクトルデータを表す行列S及びアクティベーションデータを表す行列Cから計算される推定スペクトルデータのセットとの乖離度d(Y,CS)、並びに複数の基底スペクトルデータを表す行列S又はアクティベーションデータを表わす行列Cの一次独立性を評価する正則化項g(C,S)を含む目的関数f(Y,CS)の値の極小値を探索することにより、複数の基底スペクトルデータを表す行列Sと、各基底スペクトルの大きさを表すアクティベーションデータを表す行列Cとを求める。
【0037】
ここで、正則化項g(C,S)は、以下に示す式の少なくとも一方を含む。
【0040】
また、正則化項は、
のとき
となり、かつ、Aが無限大となるのを防ぐように予め定められる。
【0041】
例えば、正則化項は、以下の式で表わされる。
【0043】
ただし、k
1、k
2をハイパーパラメータとする。
【0044】
乖離度d(Y,CS)は、以下の式で表わされ、目的関数の値の極小値を探索する際に、以下の式に従って行列Cの各要素C
nl、行列Sの各要素S
lmを更新することを繰り返す。
【0046】
ただし、|| ||
Fは、Frobenius normである。また、要素C
nlは、サンプルn及びl番目の基底スペクトルに対応する要素であり、要素S
lmは、l番目の基底スペクトル及び周波数mに対応する要素である。
【0047】
また、観測スペクトルデータのセットを表す行列Yを、以下の式に従って規格化し、ハイパーパラメータとして、以下の式に示す値を用いてもよい。
【0049】
次に、本実施の形態に係るスペクトルデータ解析装置10の作用について説明する。まず、解析対象の信号について求められた観測スペクトルデータのセットを表す行列Yが入力されると、
図3に示すスペクトルデータ解析処理ルーチンが実行される。
【0050】
ステップS102で、複数の基底スペクトルデータを表す行列Sと、各サンプルの各基底スペクトルの大きさを表すアクティベーションデータを表す行列Cとを初期化する。
【0051】
ステップS104では、解析対象の信号について求められた観測スペクトルデータのセットを表す行列Y、複数の基底スペクトルデータを表す行列S、及び各サンプルの各基底スペクトルの大きさを表すアクティベーションデータを表す行列Cに基づいて、行列Cの各要素C
nl及び行列Sの各要素S
lmを、それぞれの更新式に従って更新する。
【0052】
次に、ステップS106では、収束条件を満たすか否かを判定する。収束条件を満たした場合には、ステップS108へ移行し、収束条件を満たしていない場合には、ステップS104へ移行し、ステップS104の処理を繰り返す。
【0053】
なお、収束条件としては、例えば、繰り返し回数が、上限回数に到達したことを用いることができる。あるいは、収束条件として、目的関数の値と前回の目的関数の値との差分が、予め定められた閾値以下であることを用いることができる。
【0054】
ステップS108では、上記ステップS106で最終的に更新された、複数の基底スペクトルデータを表す行列S、及び各サンプルの各基底スペクトルの大きさを表すアクティベーションデータを表す行列Cを、出力部50により出力し、スペクトルデータ解析処理ルーチンを終了する。
【0055】
ここで、本発明の効果を説明するために行った実験の例について説明する。
【0056】
(実験例1)
正則化項として以下の5種を用いてスペクトル分解の検証を行った。
【0058】
それぞれ上から順に、一次独立性を利用した正則化項(本発明の実施の形態)、正則化なし、L2-norm を用いた正則化項、L1-norm を用いた正則化項、直交性を用いた正則化項となる。
【0059】
入力データのスペクトルセットYは、乱数により作成した5種の仮想スペクトルS
true(
図4(a)に一例を示す)を、一様乱数を用いて重ね合わせて作成した(
図4(b))。入力データのセットは100パターン作成し、これらの結果の統計処理を行うことで、上記正則化項の評価を行った。
【0060】
各正則化項のハイパーパラメータは、10
0〜10
-8の範囲でグリッドサーチを行い、真の基底スペクトルS
ltrue と分解により得られた基底スペクトルS
l′との間のなす角(spectral angle distance, SAD)
【0062】
の平均値が最も高くなる条件を適用した。
【0063】
各正則化項を利用した場合の分解結果の一例は
図5の通り。g
indep (S)を用いた場合は真の基底スペクトルと分解結果がほぼ一致するのに対し、他の正則化項を用いた場合は、単一のピークが完全に一つの分解結果に分解されず、複数の分解スペクトル中に分かれて分解されてしまう。すわなち、g
indep (S)を用いた場合は、各ピークがほぼ完全に抽出されるのに対し、他の正則化項を用いた場合は余分なピークが残る。
【0064】
実際、作成した100パターンのデータセットに対し、SAD値の分布(
図6)をみると、g
indep (S)を用いた場合はcosθ>0.98 となる割合が79 %であるのに対し、他の正則化項の場合は 30〜60%であり、g
indep(S)を用いた場合の基底スペクトルの再現性は突出している。
【0065】
ただし、cosθが1に近いほど分解結果のスペクトルが真の基底スペクトルに近いことを意味する。g
indep (S)を用いた場合のSADは80%程がcosθ>0.98となっており、基底スペクトルの再現性が突出して高い。
【0066】
同様の傾向は、以下の範囲で見られた。
【0068】
ここで、実験例1においてハイパーハイパーパラメータの値を変えたときのcosθ
indepの変化を
図7に示す。本結果より、ハイパーパラメータが
【数13】
となる範囲で高精度の分解が達成されていることが分かる。なお、
図7では、変化させてないほうのハイパーパラメータは、グリッドサーチで得られた最適値に固定した。
【0069】
(実験例2)
ハイスループットX線測定で得られたXRDスペクトル(
図8)に対して本発明の実施の形態によるスペクトル分解を行い、データベースと照合した結果を
図9に示す。
図9では、曲線が分解結果のスペクトル、棒グラフがデータベースの登録値を示している。
図9の結果は測定結果のみから得られた分解結果であるが、これを既存のデータベースと比較することにより、系中に含まれる 3 種の結晶相(
図9(b)〜(d))を高い精度で検出することに成功している。
図9(a) についてはデータベースとの合致はそれほどよくないが、組成等のメタ情報を加味すれば、同定を行うことは可能である。
【0070】
以上説明したように、本実施の形態のスペクトルデータ解析装置によれば、観測スペクトルデータのセットと、複数の基底スペクトルデータ及びアクティベーションデータから計算される推定スペクトルデータのセットとの乖離度、並びに複数の基底スペクトルデータ又はアクティベーションデータの一次独立性を評価する正則化項を含む目的関数の値の極小値を探索することにより、複数の基底スペクトルデータと、アクティベーションデータとを求めるため、一次独立性が高いと期待されるスペクトルデータの分解において真の基底スペクトルに近い分解結果を返すことができる。
【0071】
また、正則化項で用いられている行列式は行列の一次独立性を評価する指標として知られている。したがってこれを正則化項に用いることで、非負行列因子分解の極小値探索過程で一次独立性の制御が可能となる。これにより、混晶系のXRD スペクトル等、単相スペクトルの一次独立性が高いことが予想される系のスペクトルデータに対して、信頼度の高い分解結果を得ることが可能となる。 とくに、ハイスループット測定と組み合わせることにより高速かつ自動的なスペクトル分析が可能となる。
【0072】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0073】
例えば、上述のスペクトルデータ解析装置は、解析対象の信号について求められた観測スペクトルデータのセットを入力として受け付ける場合を例に説明したが、これに限定されるものではない。解析対象の信号を入力として受け付けて、観測スペクトルデータのセットを求めるようにしてもよい。
【0074】
また、上述のスペクトルデータ解析装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0075】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。