図1に、本実施の形態の情報処理装置1の機能ブロック図を示す。例えばパーソナルコンピュータ或いはサーバ等である情報処理装置1は、DNN(Deep Neural Network)処理部10と、削減処理部12と、時系列データ格納部14と、処理結果格納部16とを含む。
DNN処理部10は、時系列データ格納部14に格納されている時系列データを用いて、削減処理部12によって行われた設定に従って機械学習及び時系列データの分類を実行し、処理結果を処理結果格納部16に格納する。削減処理部12は、処理結果格納部16に格納されている処理結果及びDNN処理部10において管理されているデータを用いて処理を行い、処理結果に基づきDNN処理部10に対して設定を行う。
図2に、DNN処理部10の機能ブロック図を示す。DNN処理部10は、第1生成部103と、疑似アトラクタデータ格納部105と、第2生成部107と、バーコードデータ格納部109と、第3生成部111と、ベッチシリーズ格納部113と、機械学習部115と、削除部119とを含む。
第1生成部103は、時系列データ格納部14に格納された時系列データから疑似アトラクタを生成し、生成した疑似アトラクタを疑似アトラクタデータ格納部105に格納する。なお、削減処理部12によって設定が行われた場合には、第1生成部103は設定に従って時系列データからデータを抽出する。
第2生成部107は、疑似アトラクタデータ格納部105に格納された疑似アトラクタから、バーコードデータをパーシステントホモロジー群の元(すなわち穴)の次元毎に生成し、生成したバーコードデータをバーコードデータ格納部109に格納する。なお、削減処理部12によって設定が行われた場合には、第2生成部107は設定に従ってパーシステントホモロジーの計算を実行する。
削除部119は、バーコードデータ格納部109に格納されたデータのうちノイズに関係するデータを削除する。
第3生成部111は、バーコードデータ格納部109に格納されたバーコードデータからベッチ数の時系列データ(以下、ベッチシリーズと呼ぶ)を生成し、生成したベッチシリーズをベッチシリーズ格納部113に格納する。
機械学習部115は、ベッチシリーズ格納部113に格納されたベッチシリーズを入力とする機械学習を実行し、機械学習の結果(例えばエッジの重み)を処理結果格納部16に格納する。また、機械学習部115は、時系列データがどのクラスに分類されるか判定する処理を実行する。
図3に、時系列データ格納部14に格納される時系列データの一例を示す。図3は心拍数の変化を示す時系列データであり、縦軸が心拍数(beats per minute)を表し、横軸は時間を表す。
なお、ここでは時系列データとして心拍数の時系列データを例示したが、このような時系列データに限られるわけではない。例えば、心拍数以外の生体データ(脳波、脈拍或いは体温などの時系列データ)、ウェアラブルセンサのデータ(ジャイロセンサ、加速度センサ或いは地磁気センサなどの時系列データ)、金融データ(金利、物価、国際収支或いは株価などの時系列データ)、自然環境のデータ(気温、湿度或いは二酸化炭素濃度などの時系列データ)、又は社会データ(労働統計或いは人口統計などのデータ)等であってもよい。但し、本実施の形態の対象である時系列データは、少なくとも以下のルールに従って変化するデータであるとする。
例えば、不規則な時系列データ又は手書き文字の軌跡などの人為的な動きに関するデータは、本実施の形態の対象外であるとする。
次に、情報処理装置1が実行する処理について説明する。はじめに、図4乃至図9を用いて、ベッチシリーズを生成する処理について説明する。
まず、DNN処理部10の第1生成部103は、時系列データ格納部14に格納されている未処理の時系列データを読み出す。時系列データ格納部14に未処理の時系列データが複数セット格納されている場合には、未処理の1セットの時系列データが読み出される。そして、第1生成部103は、ターケンスの埋め込み定理に従って、読み出した時系列データから疑似アトラクタを生成し(図4:ステップS101)、生成した疑似アトラクタを疑似アトラクタデータ格納部105に格納する。なお、厳密には、ステップS101において生成される有限個の点集合は「アトラクタ」ではないため、本明細書ではステップS101において生成される点集合を「疑似アトラクタ」と呼ぶ場合がある。
図5を用いて、疑似アトラクタの生成について説明する。例えば図5に示すような、関数f(t)(tは時間を表す)で表される時系列データを考える。そして、実際の値としてf(1),f(2),f(3),...,f(T)が与えられているとする。本実施の形態における疑似アトラクタは、時系列データから遅延時間τ(τ≧1)毎に取り出されたN点の値を成分とする、N次元空間上の点の集合である。ここで、Nは埋め込み次元を表し、一般的にはN=3又は4である。例えばN=3且つτ=1である場合、(T−2)個の点を含む以下の疑似アトラクタが生成される。
ここでは、τ=1であるため1つおきに要素が取り出されているが、例えばτ=2である場合には点(f(1),f(3),f(5))、点(f(2),f(4),f(6))、・・・を含む疑似アトラクタが生成される。
疑似アトラクタの生成過程において、バタフライ効果等による見た目の違いの影響が取り除かれ、疑似アトラクタに元の時系列データの変化のルールが反映される。そして、疑似アトラクタ間の類似関係は、ルール間の類似関係と等価である。従って、或る疑似アトラクタと別の疑似アトラクタとが似ていることは、元の時系列データの変化のルールが似ていることを意味する。変化のルールが同じであるが現象(見た目)が異なる時系列データからは、互いに類似した疑似アトラクタが生成される。変化のルールが異なるが現象が似ている時系列データからは、異なる疑似アトラクタが生成される。
また、時系列データを直接機械学習の入力とする場合、開始位置を適切にそろえなければならないが、疑似アトラクタを使用すればそのような制約を受けることがない。
図4の説明に戻り、第2生成部107は、ステップS101において生成された疑似アトラクタを疑似アトラクタデータ格納部105から読み出す。そして、第2生成部107は、パーシステントホモロジー(Persistent Homology)の計算処理によって、疑似アトラクタからバーコードデータを穴の次元(以下、穴次元と呼ぶ)毎に生成する(ステップS103)。第2生成部107は、生成したバーコードデータをバーコードデータ格納部109に格納する。
「ホモロジー」とは、対象の特徴をm(m≧0)次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジー群の元のことであり、0次元の穴は連結成分であり、1次元の穴は穴(トンネル)であり、2次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。
「パーシステントホモロジー」とは、対象(ここでは、点の集合(Point Cloud))におけるm次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジーによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時刻(発生時の球の半径で表される)と消滅した時刻(消滅時の球の半径で表される)とが特定される。
穴の発生半径と消滅半径とを使用することで、図6に示すようなバーコード図を生成することができる。図6において、横軸は半径を表し、各線分は1つの穴に対応する。線分の左端に対応する半径は穴の発生半径であり、線分の右端に対応する半径は穴の消滅半径である。線分はパーシステント区間と呼ばれる。このようなバーコード図から、例えば半径が0.18である時には2つの穴が存在するということがわかる。
図7に、バーコード図を生成するためのデータ(以下、バーコードデータと呼ぶ)の一例を示す。図7の例では、穴次元を表す数値と、穴の発生半径と、穴の消滅半径とが含まれる。ステップS103において、バーコードデータは穴次元毎に生成される。
以上のような処理を実行すれば、或る疑似アトラクタから生成されるバーコードデータと他の疑似アトラクタから生成されるバーコードデータとの類似関係は、疑似アトラクタ間の類似関係と等価である。よって、疑似アトラクタとバーコードデータとの関係は1対1の関係である。
すなわち、疑似アトラクタが同じであれば、生成されるバーコードデータは同じである。つまり、時系列データの変化のルールが同じであれば生成されるバーコードデータは同じである。逆に、バーコードデータが同じであれば、疑似アトラクタも同じである。また、疑似アトラクタが類似している場合にはバーコードデータも類似するため、機械学習に必要な条件が満たされる。疑似アトラクタが異なる場合には、バーコードデータも異なる。
なお、パーシステントホモロジーの詳細については、例えば「平岡裕章、『タンパク質構造とトポロジー パーシステントホモロジー群入門』、共立出版」を参照されたい。
図4の説明に戻り、削除部119は、長さが所定長未満であるパーシステント区間のデータをバーコードデータ格納部109から削除する(ステップS105)。なお、パーシステント区間の長さは、消滅半径−発生半径によって算出される。所定長は、例えば、0次元の穴が発生してから消滅するまでの時間をK等分した時間(以下、ブロックと呼ぶ)の長さである。但し、1ブロックの長さに限られるわけではなく、複数ブロックの長さを所定長としてもよい。
発生から消滅までの時間が短い元は、時系列に付加されるノイズによって発生するものがほとんどである。長さが所定長未満であるパーシステント区間のデータを削除すれば、ノイズの影響を緩和することができるので、分類性能を向上させることができるようになる。但し、削除の対象は次元が1以上であるパーシステント区間のデータであるとする。
ノイズが発生した場合においては、僅かな時間だけ1次元以上の穴が発生することがある。ステップS105の処理を実行すれば、両ケースにおいて生成されるデータはほぼ同じになるので、ノイズの影響を取り除くことができるようになる。
なお、長さが所定長未満であるパーシステント区間のデータが削除されるので、削除後のバーコードデータ間の類似関係は、元のバーコードデータ間の類似関係と厳密には等価ではない。削除が行われない場合には、類似関係は等価である。
図4の説明に戻り、第3生成部111は、バーコードデータ格納部109に格納されたバーコードデータを読み出す。そして、第3生成部111は、読み出されたバーコードデータを統合し、統合されたバーコードデータからベッチシリーズを生成する(ステップS107)。第3生成部111は、生成されたベッチシリーズをベッチシリーズ格納部113に格納する。
上で述べたように、バーコードデータは穴次元毎に生成されるので、第3生成部111は、複数の穴次元のバーコードデータを統合することで1塊のバーコードデータを生成する。ベッチシリーズは、パーシステントホモロジーにおける球の半径(すなわち時間)とベッチ数との関係を示すデータである。図8を用いて、バーコードデータと生成されるベッチシリーズとの関係について説明する。上段のグラフはバーコードデータから生成されるグラフであり、横軸が半径を表す。下段のグラフはベッチシリーズから生成されるグラフであり、縦軸はベッチ数を表し、横軸は時間を表す。上で述べたように、ベッチ数は穴の数を表しており、例えば上段のグラフにおいて破線に対応する半径の時には存在している穴の数が10であるので、下段のグラフにおいては破線に対応するベッチ数も10である。ベッチ数は、ブロック毎に計数される。なお、下段のグラフは疑似的な時系列データのグラフであるので、横軸の値自体が意味を持つわけではない。
基本的には、同じバーコードデータからは同じ時系列データが得られる。すなわち、元の疑似アトラクタが同じであれば同じ時系列データが得られる。但し、異なるバーコードから同じ時系列データが得られるケースが極めて稀に発生する。
例えば図9に示すようなバーコードデータを考える。このバーコードデータは1以上の次元の穴に関するデータであるとする。図9(a)のケースにおいては、パーシステント区間p1が時刻t1で開始し且つ時刻t2で終了し、パーシステント区間p2が時刻t2で開始し且つ時刻t3で終了する。一方、図9(b)のケースにおいては、パーシステント区間p4が時刻t1で開始し且つ時刻t3で終了する。両ケースにおけるパーシステント区間p3は全く同じであるとする。
このような場合、両ケースにおけるバーコードデータからは全く同じベッチシリーズが得られるので、ベッチシリーズによっては両ケースを区別することができない。しかし、このような現象が発生する可能性は極めて低い。また、両ケースの疑似アトラクタは元々似ており、機械学習による分類に与える影響が極めて小さいので、上記のような現象が発生しても問題は無い。
従って、或るバーコードデータから生成されるベッチシリーズと、別のバーコードデータから生成されるベッチシリーズとの類似関係は、上で述べた稀なケースが発生しなければ、バーコードデータ間の類似関係と等価である。以上から、データ間の距離の定義は変わるものの、バーコードデータから生成されるベッチシリーズ間の類似関係は、元の時系列データ間の類似関係とほぼ等価である。
なお、疑似アトラクタが表す点集合の画像は疎な画像データであるため、識別が難しく、機械学習によって分類することは困難である。また、上記のようなバーコードデータにおいては、バーコードの本数が一定ではないため、機械学習の入力として扱うことが難しい。しかし、上で述べたようなベッチシリーズであれば、元の時系列データと比べると振動が緩和されており、機械学習の入力として適している。
図4の説明に戻り、機械学習部115は、未処理の時系列データが有るか判定する(ステップS109)。未処理の時系列データが有る場合(ステップS109:Yesルート)、ステップS101の処理に戻る。未処理の時系列データが無い場合(ステップS109:Noルート)、処理は終了する。
以上のように、パーシステントホモロジーの計算を実行すれば、疑似アトラクタが表す、元の時系列データの変化のルールを、バーコードデータに反映することができる。これにより、元の時系列データの変化のルールに応じた分類を機械学習によって行うことができるようになる。
パーシステントホモロジーの計算は、位相幾何学の手法であり、点の集合で表される静的な対象(例えば、タンパク質、分子の結晶、センサネットワークなど)の構造の解析等に利用されてきた。これに対し本実施の形態においては、時間の経過に伴って連続的に変化するデータの変化のルールを表す点集合(すなわち疑似アトラクタ)を計算の対象としている。本実施の形態の場合、点集合の構造自体を解析することは目的ではないので、一般的なパーシステントホモロジーの計算とは対象及び目的が全く異なる。
また、パーシステントホモロジーの計算によって生成されたバーコードデータは、バーコードの本数が一定ではないため、そのままでは機械学習の入力とすることが難しい。そこで本実施の形態においては、時系列データに由来するバーコードデータをベッチシリーズに変換することで、機械学習の入力とすることを可能にすると共に、振動を緩和して分類の精度を向上させている。
また、上で述べたように、本実施の形態によれば時系列データに含まれるノイズの影響を取り除くことができる。
次に、図10乃至図20を用いて、情報処理装置1が実行する機械学習、機械学習の設定及び時系列データの分類について説明する。なお、本実施の形態においてはDNNとして1次元CNN(Convolutional Neural Network)が利用される。
まず、機械学習部115は、各ベッチシリーズをベッチシリーズ格納部113から読み出す(図10:ステップS1)。
機械学習部115は、ステップS1の処理によって読み出された各ベッチシリーズに対して、1次元CNNを用いた学習処理を実行し(ステップS5)、学習処理の結果(例えば、重み行列など)を処理結果格納部16に格納する。処理は端子Aを介して図11のステップS7に移行する。
図11の説明に移行し、削減処理部12は、ラベルを識別するための変数iをi=1と設定し且つユニットを識別するための変数kをk=1と設定する(図11:ステップS7)。
削減処理部12は、処理結果格納部16から学習結果(ここでは、最終特徴層の値から出力層の値を求めるにあたって使用される重み行列(以下では、重み行列の要素を活性度と呼ぶ))を読み出す(ステップS9)。
例えば、本実施の形態の1次元CNNにおいて図12に示すように入力のベッチシリーズが処理されるとする。全結合層の1つ前の層が最終特徴層である。図12の例の場合には最終特徴層におけるユニットの数は3であり、各ユニットは入力のベッチシリーズの全区間に対応している。より具体的には、図13に示すように、入力のベッチシリーズの半径0から3までの部分が最終特徴層の各ユニットの1番目のノードに対応し、入力のベッチシリーズの半径3から6までの部分が最終特徴層の各ユニットの2番目のノードに対応し、・・・、入力のベッチシリーズの半径(R−3)からRまでの部分が最終特徴層の各ユニットの最終ノードに対応するというように、各ユニットが入力のベッチシリーズ全体に対応する。各ノードは1つの活性度に対応している。なお、ノードとは最終特徴層の要素のことであり、最終特徴層の要素と重み(すなわち活性度)とが乗じられることで全結合層の値が算出される。
図11の説明に戻り、削減処理部12は、k番目のユニットについて、各ノードの活性度のうち最大活性度を特定する(ステップS11)。
削減処理部12は、ステップS11において特定された最大活性度の所定割合以下の活性度を有する左端ノード及び右端ノードを、k番目のユニットから特定する(ステップS13)。
図14及び図15を用いて、左端ノード及び右端ノードの特定について説明する。図14には0次元の穴についてのバーコードデータに対応するベッチシリーズ(以下、0次のベッチシリーズと呼ぶ)の活性度が示されており、縦軸が活性度を表し、横軸が時間(及び半径)を表す。0次のベッチシリーズは、図8に示したように、単調減少するという特徴を有し、0次のベッチシリーズの活性度は、図14に示すように、時間の経過に伴い大きくなり、ピークに達した後は徐々に減少する。時間の経過が進んでいない(すなわち半径が小さい)段階において活性度が小さい場合、その段階において結合により消滅した点は、時系列データの判定に影響を与えていない。本実施の形態においては、活性度が最大活性度の所定割合以下であるノードのうち、最大活性度のノードの左側にあり且つ最大活性度のノードに最も近いノード(図14におけるノードn1)が左端ノードとして特定される。図15に左端ノードの特定の具体例を示す。図15においては、時刻1から600までのベッチシリーズに対応するノードの活性度が示されているが、0次のベッチシリーズに対応するノードは左から5つのノードである。ユニット1については、最大活性度が0.12であり、左端ノードは左から3つ目のノードである。ユニット2については、最大活性度が0.12であり、左端ノードは左から2つ目のノードである。
また、活性度が最大活性度の所定割合以下であるノードのうち、最大活性度のノードの右側にあり且つ最大活性度のノードに最も近いノード(図14におけるノードn2)が右端ノードとして特定される。
図11の説明に戻り、削減処理部12は、ステップS13において特定された左端ノードに対応する半径を特定する(ステップS15)。図13を用いて説明したように、ユニットの各ノードは半径の範囲に対応しているので、ステップS15においては、その範囲における左端の値、中央の値、又は右端の値等が特定される。
削減処理部12は、ステップS15において特定された半径に対するベッチ数を、ベッチシリーズ格納部113に格納されている各ベッチシリーズの0次のベッチシリーズの部分から特定する(ステップS17)。
図16に、0次のベッチシリーズの一例を示す。図16において、縦軸はベッチ数を表し、横軸は時間を表す。但し、0次のベッチシリーズの横軸は半径をも表す。ステップS17においては、図16に示すように、特定した半径に対するベッチ数nが、0次のベッチシリーズから特定される。
削減処理部12は、ステップS17において特定したベッチ数の統計量(ここでは、平均値又は最大値)を算出する(ステップS19)。
削減処理部12は、ステップS13において特定された右端ノードに対応する半径を特定する(ステップS21)。図13を用いて説明したように、ユニットの各ノードは半径の範囲に対応しているので、ステップS21においては、その範囲における左端の値、中央の値、又は右端の値等が特定される。
削減処理部12は、k<(最終特徴層のユニット数)が成立するか判定する(ステップS23)。k<(最終特徴層のユニット数)が成立する場合(ステップS23:Yesルート)、削減処理部12はkを1インクリメントし(ステップS25)、処理はステップS11に戻る。
一方、k<(最終特徴層のユニット数)が成立しない場合(ステップS23:Noルート)、削減処理部12は、以下の処理を実行する。具体的には、削減処理部12は、ステップS19において左端ノードについてユニット毎に算出された統計量の統計量(ここでは、最大値又は平均値)及びステップS21において右端ノードについてユニット毎に特定された半径の統計量(ここでは、最大値又は平均値)を算出する(ステップS27)。
削減処理部12は、i<(ラベル数)が成立するか判定する(ステップS29)。i<(ラベル数)が成立しない場合(ステップS29:Noルート)、処理は端子Bを介して図17のステップS33に移行する。
一方、i<(ラベル数)が成立する場合(ステップS29:Yesルート)、削減処理部12はiを1インクリメントし(ステップS31)、処理はステップS9に戻る。
図17の説明に移行し、削減処理部12は、ステップS27において左端ノードについてラベル毎に算出された統計量の統計量(ここでは、最大値又は平均値)及びステップS27において右端ノードについてラベル毎に算出された統計量の統計量(ここでは、最大値又は平均値)を算出する(図17:ステップS33)。
削減処理部12は、DNN処理部10における第1生成部103が管理する時系列長を、ステップS33において左端ノードについて算出された統計量に基づき設定する(ステップS35)。例えば、ステップS33において左端ノードについて算出された統計量がNである場合、疑似アトラクタの次元をdとすると、N+d−1が時系列長(すなわちサンプル数)として算出される。ステップS35においては、例えば図18に示すように前方抽出が行われるが、後方抽出或いは中央からの抽出であってもよい。
削減処理部12は、DNN処理部10における第2生成部107が管理する、パーシステントホモロジーの最大半径に、ステップS33において右端ノードについて算出された統計量を設定する(ステップS37)。
そして、DNN処理部10は設定に従って機械学習を再度実行する。具体的には、第1生成部103は、時系列データ格納部14に格納されている各時系列のデータから、ステップS35において設定された時系列長分のデータを抽出する(ステップS39)。
第2生成部107は、ステップS39において抽出されたデータからバーコードデータを生成する。そして、第3生成部111は、各時系列のデータについて生成されたバーコードデータをベッチシリーズに変換し(ステップS41)、ベッチシリーズ格納部113に格納する。ステップS41においては、ステップS37において設定された最大半径までパーシステントホモロジーの計算が行われる。
機械学習部115は、ステップS41の処理によって生成された各ベッチシリーズに対して、1次元CNNを用いた学習処理を実行し(ステップS43)、学習処理の結果(例えば、重み行列など)を処理結果格納部16に格納する。ステップS43の処理によって、ステップS5の学習処理の結果は置換される。そして処理は終了する。
図19を用いて、時系列データの分類について説明する。
情報処理装置1は、例えばウエアラブルセンサにより取得された時系列データを受信し、時系列データ格納部14に格納する。これに応じ、第1生成部103は、時系列データ格納部14に格納された時系列データから、ステップS35において設定された時系列長分のデータを抽出する(図19:ステップS51)。
第2生成部107は、ステップS51において抽出されたデータからバーコードデータを生成する。そして、第3生成部111は、バーコードデータをベッチシリーズに変換し(ステップS53)、ベッチシリーズ格納部113に格納する。ステップS53においては、ステップS37において設定された最大半径までパーシステントホモロジーの計算が行われる。
機械学習部115は、ステップS53の処理によって生成されたベッチシリーズに対して、ステップS43における機械学習後の1次元CNNを用いた判定処理を実行し(ステップS55)、判定結果を処理結果格納部16に格納する。そして処理は終了する。
以上のように、本実施の形態の方法によれば、取り扱う時系列データのデータ長が短くなり、また、パーシステントホモロジーの計算において最大半径が設定されるので、計算量が減少し、判定にかかる時間を短縮できるようになる。
図20を用いて本実施の形態の方法の効果を説明する。図20には、疑似アトラクタに含まれる点の数、100の時系列についてベッチシリーズを生成するのにかかる時間および学習精度の比較結果が示されている。1行目は本実施の形態の方法を利用しない場合の結果を示す。2行目は本実施の形態の方法を利用した場合の結果を示す。3行目は本実施の形態の方法を利用した場合よりもさらにデータ長を短くした場合の結果を示す。4行目は、ランドマーク法(疑似アトラクタに含まれる点についての密度分布に基づき、代表的な点以外を削除する方法)の結果を示す。
本実施の形態の方法を利用すると、疑似アトラクタに含まれる点の数が減るので、ベッチシリーズの生成にかかる時間を約26%短縮することができるようになる。一方で、本実施の形態の方法よりもデータ長を短くすると学習精度が大きく低下するが、本実施の形態の方法を利用した場合には学習精度はほとんど低下しない。また、ランドマーク法を利用した場合には、本実施の形態の方法を利用した場合ほど時間が短縮されないにもかかわらず、本実施の形態の方法よりも学習精度が低下する。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べた情報処理装置1は、コンピュータ装置であって、図21に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスクドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブルディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティングシステム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーションプログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーションプログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブルディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る削減条件特定方法は、(A)時系列データからアトラクタ(例えば、実施の形態における疑似アトラクタ)を生成し、生成したアトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータ(例えば、実施の形態におけるベッチシリーズ)に対して、多層ニューラルネットワークを用いた機械学習を実行し、(B)機械学習後の多層ニューラルネットワークにおける全結合層の値の算出に使用される係数(例えば、実施の形態における活性度)より、ベッチ数の範囲を特定し、(C)特定されたベッチ数の範囲に基づき、時系列データの削減についての条件を特定する処理を含む。
多層ニューラルネットワークによる判定の精度への影響を抑えつつ、判定に要する計算の量を削減できるようになる。
また、ベッチ数の範囲を特定する処理において、(b1)全結合層の値の算出に使用される係数のうち所定の条件を満たす係数を特定し、特定した係数に対応するベッチ数の範囲を特定してもよい。
また、時系列データの削減についての条件は、時系列データのサンプル数についての条件を含んでもよい。
時系列データの適切なサイズが決まるので、多層ニューラルネットワークによる判定の精度への影響を抑えつつ、判定に要する計算の量を削減できるようになる。
また、本削減条件特定方法は、(D)特定されたベッチ数の範囲に基づき、位相的データ解析におけるパーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する処理をさらに含んでもよい。
時間がかかるパーシステントホモロジーの計算の一部を省略できるようになるので、判定に要する計算の量をさらに削減できるようになる。
また、所定の条件は、全結合層の値の算出に使用される係数のうち最大の係数に所定割合を乗じた値以上であるという条件を含んでもよい。そして、時系列データの削減についての条件を特定する処理において、(c1)特定されたベッチ数の範囲の下限を用いて、時系列データのサンプル数についての条件を生成してもよい。
パーシステントホモロジーの計算において半径が比較的小さい序盤については、アトラクタに含まれる点のうち近接する点についてベッチ数が減るものの判定に与える影響は比較的小さく、活性度が低くなる傾向がある。上で述べたようにすれば、判定の精度に影響を与えないようなサンプル数を決定できるようになる。
また、パーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する処理において、(d1)特定されたベッチ数の範囲の上限に対応する半径を、位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定し、特定した半径の情報を含む条件を生成してもよい。
半径がある程度以上大きくなると、ベッチ数の変化がほとんど無くなり、判定の結果には影響を及ぼさなくなる。そこで、上で述べたようにすれば、判定精度への影響を抑えつつ計算量を削減できるようになる。
また、ベッチ数の範囲を特定する処理において、(b2)所定の条件を満たす係数に対応する半径の範囲を特定し、特定した半径の範囲に対応するベッチ数の範囲を、位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定してもよい。
また、本削減条件特定方法は、(E)時系列データの削減についての条件及びパーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、多層ニューラルネットワークを用いた第2の機械学習を実行する処理をさらに含んでもよい。
また、本削減条件特定方法は、(F)時系列データの削減についての条件及びパーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、多層ニューラルネットワークを用いた判定を実行する処理をさらに含んでもよい。
本実施の形態の第2の態様に係る削減条件特定装置は、(G)時系列データからアトラクタを生成し、生成したアトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行する機械学習部(例えばDNN処理部10)と、(H)機械学習後の多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、特定したベッチ数の範囲に基づき、時系列データの削減についての条件を特定する特定部(例えば削減処理部12)とを有する。
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータに、
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、
特定された前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する、
処理を実行させる削減条件特定プログラム。
(付記2)
前記ベッチ数の範囲を特定する処理において、
前記全結合層の値の算出に使用される係数のうち所定の条件を満たす係数を特定し、特定した前記係数に対応する前記ベッチ数の範囲を特定する、
付記1記載の削減条件特定プログラム。
(付記3)
前記時系列データの削減についての条件は、前記時系列データのサンプル数についての条件を含む、
付記1又は2記載の削減条件特定プログラム。
(付記4)
前記コンピュータに、
特定された前記ベッチ数の範囲に基づき、前記位相的データ解析におけるパーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する、
処理をさらに実行させる付記1乃至3のいずれか1つ記載の削減条件特定プログラム。
(付記5)
前記所定の条件は、前記全結合層の値の算出に使用される係数のうち最大の係数に所定割合を乗じた値以上であるという条件を含み、
前記時系列データの削減についての条件を特定する処理において、
特定された前記ベッチ数の範囲の下限を用いて、前記時系列データのサンプル数についての条件を生成する、
付記3記載の削減条件特定プログラム。
(付記6)
前記パーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する処理において、
特定された前記ベッチ数の範囲の上限に対応する半径を、前記位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定し、特定した前記半径の情報を含む条件を生成する、
付記4記載の削減条件特定プログラム。
(付記7)
前記ベッチ数の範囲を特定する処理において、
前記所定の条件を満たす係数に対応する半径の範囲を特定し、特定した前記半径の範囲に対応するベッチ数の範囲を、前記位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定する、
付記2記載の削減条件特定プログラム。
(付記8)
前記コンピュータに、
前記時系列データの削減についての条件及び前記パーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、前記多層ニューラルネットワークを用いた第2の機械学習を実行する、
処理をさらに実行させる付記4記載の削減条件特定プログラム。
(付記9)
前記コンピュータに、
前記時系列データの削減についての条件及び前記パーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、前記多層ニューラルネットワークを用いた判定を実行する、
処理をさらに実行させる付記8記載の削減条件特定プログラム。
(付記10)
コンピュータが、
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、
特定された前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する、
処理を実行する削減条件特定プログラム。
(付記11)
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行する機械学習部と、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数よりベッチ数の範囲を特定し、特定した前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する特定部と、
を有する削減条件特定装置。