(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023108881
(43)【公開日】2023-08-07
(54)【発明の名称】関連因子抽出装置、関連因子抽出方法およびプログラム
(51)【国際特許分類】
G06F 17/16 20060101AFI20230731BHJP
【FI】
G06F17/16 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022010176
(22)【出願日】2022-01-26
(71)【出願人】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】100113549
【弁理士】
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【弁理士】
【氏名又は名称】加藤 真司
(72)【発明者】
【氏名】小澤 圭右
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB31
(57)【要約】 (修正有)
【課題】欠損を伴う多次元テンソルデータから、次元間で相関をもつ少数の因子を抽出する関連因子抽出装置、方法及びプログラムを提供する。
【解決手段】関連因子抽出装置1は、欠損要素を指定する欠損要素指定部21と、3次元テンソルデータに正規直交行列をかけて2次元テンソルデータとし、2次元テンソルデータを特異値分解することにより、3次元テンソルデータの因子分解を行う因子分解計算部22と、正規直交行列について因子分解の係数の和を小さくする新たな正規直交行列を計算する削減方向計算部23と、多次元テンソルデータを暫定的に復元する暫定的復元部24と、復元された多次元テンソルデータと観測値データとを整合させる整合性確認部25とを備え、復元データを用いて、因子分解計算部、削減方向計算部、暫定的復元部及び整合性確認部による一連の計算を、所定の終了条件を満たすまで繰り返し行い、3次元テンソルデータの関連因子を求める。
【選択図】
図1
【特許請求の範囲】
【請求項1】
欠損のある多次元テンソルの観測データから関連因子を抽出する関連因子抽出装置であって、
多次元テンソルデータの欠損要素を指定する欠損要素指定部と、
多次元テンソルデータの(次元数-2)個の次元に対して正規直交行列をかけて2次元テンソルデータとし、前記2次元テンソルデータを特異値分解することにより、前記多次元テンソルデータの因子分解を行う因子分解計算部と、
前記正規直交行列について因子分解の係数の和を小さくする勾配方向を計算し、その勾配方向において新たな正規直交行列を計算する削減方向計算部と、
前記因子分解計算部および前記削減方向計算部にて計算した正規直交行列および特異値分解の結果を用いて、多次元テンソルデータを復元する暫定的復元部と、
前記暫定的復元部にて復元された多次元テンソルデータと観測値データとを整合させる処理を行う整合性確認部と、
を備え、
前記整合性確認部にて整合させる処理が行われた復元データを用いて、前記因子分解計算部、前記削減方向計算部、前記暫定的復元部、前記整合性確認部による一連の計算を、所定の終了条件を満たすまで繰り返し行い、前記所定の終了条件を満たしたときに前記因子分解計算部による因子分解の結果を多次元テンソルデータの関連因子として求める関連因子抽出装置。
【請求項2】
前記削減方向計算部は、前記勾配方向を示すベクトルを現在の正規直交行列に加算し、加算された行列を正規直交行列が存在する空間に写像することにより、新たな正規直交行列を求める請求項1に記載の関連因子抽出装置。
【請求項3】
前記削減方向計算部は、因子分解の係数の和が所定の閾値以下になる勾配方向をバックトラッキング法を用いて求める請求項2に記載の関連因子抽出装置。
【請求項4】
前記整合性確認部は、前記観測値データが存在するテンソル要素について、復元された多次元テンソルデータの値を前記観測値データで置き換える請求項1から3のいずれか1項に記載の関連因子抽出装置。
【請求項5】
前記整合性確認部は、前記観測値データが存在するテンソル要素について、復元された多次元テンソルデータの値と前記観測値との誤差が閾値以上の場合に、前記観測値で置き換える請求項1から3のいずれか1項に記載の関連因子抽出装置。
【請求項6】
前記整合性確認部は、前記観測値データが存在するテンソル要素について、復元された多次元テンソルデータの値と前記観測値データとの誤差が閾値以上の場合に、前記観測値と前記多次元テンソルデータの値とに基づいて決める値で置き換える請求項1から3のいずれか1項に記載の関連因子抽出装置。
【請求項7】
欠損のある多次元テンソルの観測データから関連因子を抽出する関連因子抽出方法であって、
多次元テンソルデータの欠損要素を指定する第1のステップと、
多次元テンソルデータの(次元数-2)個の次元に対して正規直交行列をかけて2次元テンソルデータとし、前記2次元テンソルデータを特異値分解することにより、前記多次元テンソルデータの因子分解を行う第2のステップと、
前記正規直交行列について因子分解の係数の和を小さくする勾配方向を計算し、その勾配方向において新たな正規直交行列を計算する第3のステップと、
前記第2のステップおよび前記第3のステップにて計算した正規直交行列および特異値分解の結果を用いて、多次元テンソルデータを復元する第4のステップと、
前記第4のステップにて復元された多次元テンソルデータと観測値データとを整合させる処理を行う第5のステップと、
を備え、
前記第5のステップにて観測値データと整合させる処理が行われた復元データを用いて、前記第2のステップ、前記第3のステップ、前記第4のステップ、前記第5のステップを、所定の終了条件を満たすまで繰り返し、前記所定の終了条件を満たしたときに前記第2のステップで求めた因子分解の結果を多次元テンソルデータの関連因子として求める関連因子抽出方法。
【請求項8】
欠損のある多次元テンソルの観測データから関連因子を抽出するためのプログラムであって、コンピュータに、
多次元テンソルデータの欠損要素を指定する第1のステップと、
多次元テンソルデータの(次元数-2)個の次元に対して正規直交行列をかけて2次元テンソルデータとし、前記2次元テンソルデータを特異値分解することにより、前記多次元テンソルデータの因子分解を行う第2のステップと、
前記正規直交行列について因子分解の係数の和を小さくする勾配方向を計算し、その勾配方向において新たな正規直交行列を計算する第3のステップと、
前記第2のステップおよび前記第3のステップにて計算した正規直交行列および特異値分解の結果を用いて、多次元テンソルデータを復元する第4のステップと、
前記第4のステップにて復元された多次元テンソルデータと観測値データとを整合させる処理を行う第5のステップと、
を実行させ、
前記第5のステップにて観測値データと整合させる処理が行われた復元データを用いて、前記第2のステップ、前記第3のステップ、前記第4のステップ、前記第5のステップを、所定の終了条件を満たすまで繰り返し、前記所定の終了条件を満たしたときに前記第2のステップで求めた因子分解の結果を多次元テンソルデータの関連因子として求めるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、欠損を伴う多次元データから次元間で相関をもつ因子を抽出する装置に関する。
【背景技術】
【0002】
実世界情報や分析機器を用いた測定データは多次元データ構造をもつことがある。多次元データのことを「テンソル」と呼ぶ。例えば、時系列信号は空間次元と時間次元をもち、分光画像は空間次元と波長次元をもつ。蛍光分析では入射光波長と蛍光波長を種々成分の混合率で測定すれば3次元テンソルで表される。そのほか、商品を特徴づける種々のラベルと購買層にも相関がある場合があり、これもテンソルとして表される。
【0003】
多次元テンソルの構造は次元が増えるごとに複雑になり、そこから本質的な情報を抽出することが難しくなる。情報の本質はときに次元間で相関をもつ因子として表れる。ここで、蛍光分析における媒体中の蛍光成分混合率の定量化を例として説明する。この例では、複数の蛍光成分をある比率で混ぜた混合物を用意する。成分は変えず混合率を変えたいくつかの混合物を用意する。例えば、蛍光成分A,B,Cの混合率を10通りに変えて混合した混合物があるとする。
【0004】
この混合物を蛍光分析するとき、入射光と蛍光の波長を記録していくことで3次元テンソルデータが得られる。一つの次元は混合物を指定する番号であり、これは1から10までの自然数値をとる。残る二つの次元はそれぞれ入射光と蛍光の波長であり、測定に用いた波長を実数値でとる。例えば入射光と蛍光について、それぞれ100通りの値を記録したとする。3次元テンソルのインデックス(1,11,13)は1番目の混合物に対し11番目の入射光波長(400nmとする)における強度、その時に観測された蛍光波長のうち13番目として記録された波長(600nmとする)の強度を表す。ここで最初のインデックスは10通りの値をとるが、全ての混合物には共通のA,B,Cの蛍光成分しか存在しないので、10×100×100の大きさの3次元テンソルデータの最初の一次元はより少数の因子で表されると期待される。また残る2次元についても、入射光と蛍光の波長は互いに物理化学的な因果関係にあり、各蛍光成分に特有の相関が存在するため、100×100よりも少数の因子で表現できると期待される。
【0005】
したがって、蛍光分析のテンソルデータをこれら相関する因子の足し合わせで表現すると、足し合わせの重み比が蛍光成分の混合率となる。これを一般化すると、多次元データ構造においては次元間で相関をもつ少数の因子が情報の本質であり、その因子を抽出してデータ構造を表現することが重要だと考えられる。このようにテンソルデータ構造を表現できれば、情報の本質を抽出できると考えられる。なお、多次元相関データ抽出装置を開示した文献として、特許文献1があるが、データの欠損については考慮していない。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
実データにはしばしば欠損があり、この場合、欠損を伴う多次元データから因子を抽出することが必要になる。例えば、上述した蛍光分析では、入射光と蛍光の波長を観測する際に100×100通りの観測には時間がかかるため、混合物ごとに、異なる一部の波長だけを観測したとする。このとき、観測していない波長の入射光に対する蛍光強度は欠損値となる。このとき、欠損値を何らかの手段で補完しながら、かつ補完されたデータが、次元間に相関をもつ少数の因子の足し合わせで表されることが必要である。
【0008】
そこで本発明は、上記背景に鑑み、欠損を伴う多次元テンソルデータから、次元間で相関をもつ少数の因子を抽出する技術を提供することを目的とする。この課題は、欠損があるデータの元の構造が未知であり、目的とする因子への分解方法が不定である点に難しさがある。
【課題を解決するための手段】
【0009】
本発明の関連因子抽出装置は、欠損のある多次元テンソルの観測データから関連因子を抽出する装置であって、多次元テンソルデータの欠損要素を指定する欠損要素指定部と、多次元テンソルデータの(次元数-2)個の次元に対して正規直交行列をかけて2次元テンソルデータとし、前記2次元テンソルデータを特異値分解することにより、前記多次元テンソルデータの因子分解を行う因子分解計算部と、前記正規直交行列について因子分解の係数の和を小さくする勾配方向を計算し、その勾配方向において新たな正規直交行列を計算する削減方向計算部と、前記因子分解計算部および前記削減方向計算部にて計算した正規直交行列および特異値分解の結果を用いて、多次元テンソルデータを復元する暫定的復元部と、前記暫定的復元部にて復元された多次元テンソルデータと観測値データとを整合させる処理を行う整合性確認部とを備え、前記整合性確認部にて整合させる処理が行われた復元データを用いて、前記因子分解計算部、前記削減方向計算部、前記暫定的復元部、前記整合性確認部による一連の計算を、所定の終了条件を満たすまで繰り返し行い、前記所定の終了条件を満たしたときに前記因子分解計算部による因子分解の結果を多次元テンソルデータの関連因子として求める。
【0010】
多次元テンソルデータの因子分解は一意には行えないが、本発明の構成によれば、正規直交行列を用いて多次元テンソルデータを分解する。因子分解の係数の和を小さくするように正規直交行列を更新すると共に、観測値データとの整合性をとることにより、欠損データを補完しつつ因子分解を行い、多次元データの関連因子を求めることができる。
【0011】
本発明の関連因子抽出装置において、前記削減方向計算部は、前記勾配方向を示すベクトルを現在の正規直交行列に加算し、加算された行列を正規直交行列が存在する空間に写像することにより、新たな正規直交行列を求めてもよい。
【0012】
このように正規直交行列が存在する空間に写像することにより、因子分解の係数の和を小さくした正規直交行列を求めることができる。なお、写像する方法としては、指数写像やレトラクションを用いることができる。
【0013】
本発明の関連因子抽出装置において、前記削減方向計算部は、因子分解の係数の和が所定の閾値以下になる勾配方向をバックトラッキング法を用いて求めてもよい。
【0014】
本発明の関連因子抽出装置において、前記整合性確認部は、前記観測値データが存在するテンソル要素について、復元された多次元テンソルデータの値を前記観測値データで置き換えてもよい。
【0015】
本発明の関連因子抽出装置において、前記整合性確認部は、前記観測値データが存在するテンソル要素について、復元された多次元テンソルデータの値と前記観測値との誤差が閾値以上の場合に、前記観測値で置き換えてもよい。
【0016】
本発明の関連因子抽出装置において、前記整合性確認部は、前記観測値データが存在するテンソル要素について、復元された多次元テンソルデータの値と前記観測値データとの誤差が閾値以上の場合に、前記観測値と前記多次元テンソルデータの値とに基づいて決める値で置き換えてもよい。
【0017】
本発明の関連因子抽出方法は、欠損のある多次元テンソルの観測データから関連因子を抽出する方法であって、多次元テンソルデータの欠損要素を指定する第1のステップと、多次元テンソルデータの(次元数-2)個の次元に対して正規直交行列をかけて2次元テンソルデータとし、前記2次元テンソルデータを特異値分解することにより、前記多次元テンソルデータの因子分解を行う第2のステップと、前記正規直交行列について因子分解の係数の和を小さくする勾配方向を計算し、その勾配方向において新たな正規直交行列を計算する第3のステップと、前記第2のステップおよび前記第3のステップにて計算した正規直交行列および特異値分解の結果を用いて、多次元テンソルデータを復元する第4のステップと、前記第4のステップにて復元された多次元テンソルデータと観測値データとを整合させる処理を行う第5のステップとを備え、前記第5のステップにて観測値データと整合させる処理が行われた復元データを用いて、前記第2のステップ、前記第3のステップ、前記第4のステップ、前記第5のステップを、所定の終了条件を満たすまで繰り返し、前記所定の終了条件を満たしたときに前記第2のステップで求めた因子分解の結果を多次元テンソルデータの関連因子として求める。
【0018】
本発明のプログラムは、欠損のある多次元テンソルの観測データから関連因子を抽出するためのプログラムであって、コンピュータに、多次元テンソルデータの欠損要素を指定する第1のステップと、多次元テンソルデータの(次元数-2)個の次元に対して正規直交行列をかけて2次元テンソルデータとし、前記2次元テンソルデータを特異値分解することにより、前記多次元テンソルデータの因子分解を行う第2のステップと、前記正規直交行列について因子分解の係数の和を小さくする勾配方向を計算し、その勾配方向において新たな正規直交行列を計算する第3のステップと、前記第2のステップおよび前記第3のステップにて計算した正規直交行列および特異値分解の結果を用いて、多次元テンソルデータを復元する第4のステップと、前記第4のステップにて復元された多次元テンソルデータと観測値データとを整合させる処理を行う第5のステップとを実行させ、前記第5のステップにて観測値データと整合させる処理が行われた復元データを用いて、前記第2のステップ、前記第3のステップ、前記第4のステップ、前記第5のステップを、所定の終了条件を満たすまで繰り返し、前記所定の終了条件を満たしたときに前記第2のステップで求めた因子分解の結果を多次元テンソルデータの関連因子として求める。
【発明の効果】
【0019】
本発明によれば、欠損を伴う多次元テンソルデータから、次元間で相関をもつ少数の因子を抽出することができる。
【図面の簡単な説明】
【0020】
【
図1】実施の形態の関連因子抽出装置の構成を示す図である。
【
図2】因子分解計算部にて行う計算を概念的に説明するための図である。
【
図3】正規直交行列の更新計算方法のイメージを示す図である。
【
図4】実施の形態の関連因子抽出装置の動作を示す図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態に係る関連因子抽出装置1について図面を参照しながら説明する。以下の実施の形態では、3次元の蛍光分析データから関連因子を抽出する装置を例として説明するが、後述するとおり、多次元のテンソル構造に拡張することが可能である。
【0022】
図1は、実施の形態の関連因子抽出装置1の構成を示す図である。関連因子抽出装置1は、分析対象の3次元テンソルデータを取得するデータ取得部10と、入力された3次元テンソルデータから関連因子を抽出する演算部11と、演算結果を記憶する記憶部12と、演算結果を出力する出力部13とを有している。演算部11は、欠損要素指定部21と、因子分解計算部22と、削減方向計算部23と、暫定的復元部24と、整合性確認部25とを備えている。以下、各構成について説明する。
【0023】
欠損要素指定部21は、入力されたテンソルデータの欠損要素を指定する機能を有する。以下の説明では、テンソルデータXの要素を自然数インデックスで表現する。例えば3次元テンソルの要素を(i1,i2,i3)と書くと、X(i1,i2,i3)はその要素に格納されている値を表す。各次元のサイズをMjとする。例えばj(j=1,2,3)番目の次元ではij=1,・・・,Mjの添え字をとることができる。欠損要素指定部21は、テンソルの観測されたデータのインデックス集合をΩ={(i1,i2,i3)|ij∈N,j=1,2,3}とし、その補集合のインデックスにおいてはテンソルの値を0とする。すなわち、欠損要素指定部21は、観測データのない欠損要素の値を0にする処理を行う。
【0024】
因子分解計算部22は、3次元テンソルを因子分解する機能を有する。テンソルの因子分解方法は、行列の種々の因子分解と異なり、一般に一意ではない。本装置では、次の参考文献に記載の正規直交テンソル分解方法に従い、テンソルを因子分解する。
【0025】
(参考文献)
A. Franc,「Etude alge’brique des multitableaux : apports de l'alge`bre tensorielle」 These de Doctorat, 1992.
T.G.Kolda,「Orthogonaltensordecompositions,」SIAM Journal on Matrix Analysis and Applications, vol. 23, no. 1, 2003.
【0026】
因子数をKとしたとき、テンソルXの正規直交テンソル分解は次の形で与えられる。
【数1】
【0027】
ここで、x3
(k)は大きさM3のベクトルであり、蛍光成分の混合率の情報を表す。一つのkに対し、xj
(s,k)(ij)は大きさMjのベクトル(ただしj=1,2)であり、括弧内はそのインデックスである。s,kは、この因子分解によるテンソルのランクを上限に和をとる。2つのベクトルの内積は正規直交性xj
(k)・xj
(l)=δklを満たし、ここでδklはk=lであれば1であり、k≠1であれば0をとる。
【0028】
残る2つの次元のベクトルは、それぞれ入射光と蛍光の観測波長の情報を表す。式(1)において、
【数2】
【0029】
がひとつの因子である。一般的に3次元以上のテンソルではこのような因子分解を一意に計算することはできない。そこで、因子分解計算部22は3次元テンソルを2次元テンソルに変換した上で2次元テンソルの特異値分解を行う。具体的には、因子分解計算部22にテンソルXと同時に3番目の次元の大きさの正規直交行列R3を入力し、因子分解計算部22は、以下の演算を行う。
【0030】
正規直交行列R3の転置行列(これは逆行列でもある)をテンソルXの3番目の次元に対して作用させ(x3の左からR3をかけ)、X~(Xチルダ:記号はXの上に「~」だが明細書の都合で「X~」と記載する)を得る。X~の3番目の次元のインデックスを固定した2次元テンソル、すなわち1番目と2番目の次元が張る行列を特異値分解する。このときσkは正の値をとり、一意に計算できる。
【0031】
ここで、正規直交行列R3で変換する意味は、未知の混合率をもつ混合物を可能な限り簡単な表現に変換することである。例えば混合されている蛍光成分A,B,Cそのものやそれらの代表的な混合状態に対する入射光と蛍光の因果関係を表す因子の足し合わせに変換することである。このようにして、因子分解計算部22により与えられたテンソルXと一つの正規直交行列R3から一意に正規直交テンソル分解の結果が出力される。ここで、テンソルXの欠損値が因子分解と同時に暫定的に補完される。
【0032】
図2(a)及び
図2(b)は、因子分解計算部22にて行う計算を概念的に説明するための図である。
図2(a)は3次元のテンソルデータXの例として蛍光分析データを示す模式図である。混合物の番号、入射光波長、蛍光波長の各インデックスで示される座標に、対応する強度データを有することを示している。
【0033】
図2(b)は、テンソルデータの混合物の軸に対して正規直交行列R
3の転置行列を掛けて変換を行うことを模式的に示している。これにより、混合物を表現する潜在的な低次元ベクトル空間基底に射影される。この空間基底は2次元なので特異値分解を行うことができ、特異値分解することで、ある正規直交行列R
3を作用させたときのテンソル分解ができる。
【0034】
削減方向計算部23は、テンソルをより少ない因子数で表現するため、因子数を低減する正規直交行列R
3を計算する。具体的には、削減方向計算部23は、σ
kのkにわたる和
【数3】
を小さくするよう、削減方向計算部23に入力された正規直交行列R
3を更新する。ここでM
12は1番目と2番目の次元で特異値分解した際の非ゼロ特異値の個数である。この計算では3番目の正規直交行列R
3の更新を行う。因子数の削減方向はS
σの正規直交行列R
3に関する直交行列上の勾配方向として得られる。これは以下のようにして計算される。
【0035】
まず、削減方向計算部23は、ユークリッド空間に拡張した行列空間上でのR
3の各成分に関するS
σの微分を計算する。この微分値をベクトルAとする。
【数4】
【0036】
この勾配Aにしたがって行列を変化させ直交行列空間上に射影する。射影の計算には指数写像やレトラクションを用いることができる。レトラクションは次の参考文献に記載されている。
【0037】
(参考文献)
P. A. Absil, R. Mahony, and R. Sepulchre,「Optimization algorithms on matrix manifolds」Princeton University Press, 2008.
【0038】
図3は、正規直交行列R
3の更新計算方法のイメージを示す図である。
今の値
【数5】
に対してベクトルAを加算し、
【数6】
を得ると、正規直交行列が存在する空間Mから逸脱してしまうので、レトラクションという方法Pを使って、空間Mの点に移動する。これにより、S
σを小さくしつつ空間Mから逸脱しない正規直交行列
【数7】
を求めることができる。
【0039】
勾配上での変化の大きさを少しずつ変えながらSσの値が十分小さくなるところで更新の仕方を決定する。これはバックトラッキング法などで実施できる。バックトラッキング法は、変数の値の組み合わせを試行錯誤して解を探す方法である。
【0040】
削減方向計算部23により更新された正規直交行列を用いた正規直交テンソル分解の非ゼロ係数を持つ因子数、または十分大きな係数をもつ因子数は、削減方向計算部23による更新前よりも小さくなっていると期待される。正規直交テンソル分解の係数σs,kは正値であり、その和をとったSσの値を小さくすることは近似的に因子数を削減することに相当する。
【0041】
暫定的復元部24は、因子分解計算部22および削減方向計算部23を経て出力されたテンソル構造に基づき、テンソルの全要素を暫定的に復元する機能を有する。テンソル構造は、因子分解に依存した単純さを有する。
【0042】
整合性確認部25は、暫定的復元部24にて復元されたテンソル要素と観測値との整合性を確認し、不一致を修正する機能を有する。暫定的復元部24にて復元されたテンソル要素が観測値と整合するとは限らないので、整合性確認部25は、テンソルの要素のうち観測されたインデックス集合であるΩについては、観測値と整合性確認部25が出力するテンソルの要素値が整合するように更新する。すなわち、Ωのインデックスについては、因子分解計算部22が出力するテンソルの値を観測値との親和性が高くなるように更新するのである。本実施の形態では、整合性確認部25は、Ωのインデックスでのテンソルの現在更新時の要素値を観測値に置き換える。これは、観測値に雑音がなく観測値データが真値であるとする方法である。
【0043】
記憶部12は、欠損が補完されたデータと、それを少数で表現する正規直交テンソル分解結果を記憶する機能を有する。演算部11は、因子分解計算部22、削減方向計算部23および暫定的復元部24における入出力(正規直交行列Rやテンソル)の差が十分に小さくなったところで、補完データと正規直交テンソル分解結果とを記憶部12に記憶する。ここでは、因子分解計算部22、削減方向計算部23および暫定的復元部24における入出力の差を終了条件に用いているが、これは、例えば、正規直交行列Rの入出力の差が小さくなったとしても、因子分解計算部22や暫定的復元部24については依然として入出力に差がある場合やその逆の場合が考えられるため、これらの差分を終了条件としている。しかし、終了条件として、因子分解計算部22、削減方向計算部23および暫定的復元部24の入出力の差を用いることは必須ではなく、いずれか1つまたは2つの入出力の差を用いてもよい。
【0044】
以上、本実施の形態の関連因子装置の構成について説明したが、上記した関連因子抽出装置1のハードウェアの例は、CPU、RAM、ROM、ハードディスク、ディスプレイ、キーボード、マウス、通信インターフェース等を備えたコンピュータである。上記した各機能を実現するモジュールを有するプログラムをRAMまたはROMに格納しておき、CPUによって当該プログラムを実行することによって、上記した関連因子抽出装置1が実現される。このようなプログラムも本発明の範囲に含まれる。
【0045】
図4は、実施の形態にかかる関連因子抽出装置1の動作を示すフローチャートである。関連因子抽出装置1は、分析対象となる3次元テンソルデータを取得する(S10)。本実施の形態では、3次元の蛍光分析データを取得する。関連因子抽出装置1は、欠損要素取得部にて、欠損しているテンソル要素に0を入力する。欠損しているテンソル要素とは、典型的には、未観測のテンソル要素である。
【0046】
次に、関連因子抽出装置1は、テンソルデータの因子分解計算を行う(S12)。3次元テンソルデータの因子分解は一意ではないので、上述したように正規直交行列R3を作用させて、3次元テンソルを2次元テンソルに変換した上で、2次元テンソルを特異値分解することで因子分解を行う。
【0047】
続いて、関連因子抽出装置1は、因子数の削減方向を計算する(S13)。すなわち、因子分解の係数の和が小さくなるように正規直交行列R3を更新する。関連因子抽出装置1は、因子分解計算および削減方向計算を経て出力されたテンソル構造に基づき、テンソルの全要素を暫定的に復元する(S14)。
【0048】
関連因子抽出装置1は、暫定的に復元されたテンソル要素と観測値との整合性を確認する(S15)。具体的には、関連因子抽出装置1は、観測値があるテンソル要素については、暫定的に復元したテンソル要素の値を観測値に置き換える。
【0049】
関連因子抽出装置1は、処理を終了するか否かを判定する(S16)。関連因子抽出装置1は、因子分解計算部22、削減方向計算部23および暫定的復元部24における入出力の差が所定の閾値よりも小さくなったか否かを判定し、閾値より小さくなったところで処理を終了し(S16でYES)、暫定的な復元結果(すなわち補完データ)と因子分解結果を記憶部12に記憶する。
【0050】
処理を終了しない場合には(S16でNO)、関連因子抽出装置1は因子分解計算を行う処理に戻る(S12)。関連因子抽出装置1は、暫定的に復元したテンソルデータを用いて、因子分解計算(S12)から観測値の整合確認(S15)までの処理を繰り返す。
【0051】
本実施の形態の関連因子抽出装置1は、欠損のあるテンソルデータを補完しつつ、少数でデータ表現する因子分解を行うことができる。これにより、部分的な観測だけからでも多次元テンソルのデータ構造をとらえることができる。
【0052】
以上、本発明の関連因子抽出装置について実施の形態を挙げて詳細に説明したが、本発明の関連因子抽出装置は上記した実施の形態に限定されるものではない。
【0053】
上記した実施の形態では、整合性確認部25は、観測値があるテンソル要素については、暫定的に復元した値よりも観測値を優先する方法によってデータを修正する例を説明したが、観測値に対する雑音を考慮してもよい。具体的には、観測値のまわりに幅を持たせてその範囲内で観測要素に入る値を更新する方法である。この方法では、因子分解計算部22および削減方向計算部23によって抽出されたデータの潜在的な単純構造の優先度が高く、観測値の誤差範囲はその単純構造が記述できる範囲であれば許容されるという考え方によるものである。
【0054】
一例として、整合性確認部25は、Ωのインデックスでのテンソルの現在更新時の要素値と観測値の誤差(例えばroot square error)と閾値(これは雑音の大きさの仮定によるが、全観測値の最大値の数%などとする)とを比較する。整合性確認部25は、誤差が閾値以下であればそのまま保持し、誤差が閾値を越えれば観測値を採用する、あるいは、観測値に許容誤差分だけ足した値または引いた値のうち現在更新値に近い方を採用する等してデータを修正してもよい。
【0055】
上記した実施の形態では、3次元テンソルデータである蛍光分析データから関連因子を抽出する例を挙げたが、本発明の関連因子抽出装置は、4次元以上のN次元テンソルデータにも適用することができる。N次元テンソルデータの処理を行う場合には、上記にて説明した方法を帰納的に行うことで実施可能である。すなわち、蛍光分析テンソルデータに対する処理で該当する箇所を以下のように拡張すればよい。以下に、要点を説明する。
【0056】
因子分解計算部22では、まずN番目の正規直交行列をとり、この転置行列をテンソルのN番目の次元に対して作用させる。次に(N-1)番目の次元に対しても同様の操作を行う。一般にj番目の正規直交行列をとり、この転置行列をテンソルのj番目の次元に対して作用させる。j=3となるまで繰り返し、j=2のところでテンソルの1番目と2番目の次元が張る行列を特異値分解する。入力されたテンソルと以上の(N-2)個の正規直交行列から一意に因子分解結果が出力される。
【0057】
(N-2)個の正規直交行列の更新について、j>2のインデックスを一つ取り、これをj’とし、j’以外のインデックスを全て固定し、j’番目の正規直交行列の更新を行う。以上をj=Nから開始し、j>2の間はjのインデックスを下りながら更新する。そして因子分解計算部により更新された現在の(N-2)個の正規直交行列による因子分解を得ることができる。
【0058】
本発明においては、欠損のあるテンソルデータを補完しつつ、少数でデータ表現する因子分解を与えることができる。部分的な観測だけからでもデータ構造をとらえることができると期待される。
【符号の説明】
【0059】
1 関連因子抽出装置
10 データ取得部
11 演算部
12 記憶部
13 出力部
21 欠損要素指定部
22 因子分解計算部
23 削減方向計算部
24 暫定的復元部
25 整合性確認部