(57)【要約】本発明は複数の高次元データを適切に分類できるデータ処理装置、データ処理方法、データ処理プログラム、及び非一時的記録媒体を提供することを目的とする。第１の態様に係るデータ処理装置では、格子点空間に特別な形状は仮定せず参照データ（各格子点に配分されたデータ）間の類似度を格子点間距離と見なしている。このため一の格子点が他の全ての格子点と（参照データ間の類似度に応じた格子点間距離で）結合しており、「形状的に遠距離の格子点」は存在しないので、全ての格子点に入力データの情報を反映することができ、格子点空間の離れた場所にほぼ同じ参照データの格子点が現れることがない。このように、第１の態様に係るデータ処理装置によれば、複数の高次元データを適切に分類することができる。
2019244596.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを入力するデータ入力部と、
複数の格子点を含む格子点空間であって、一の格子点が他の全ての格子点と結合している格子点空間の全ての格子点に対し、前記複数のデータに基づいて参照ベクトルの初期値を設定する初期値設定部と、
前記参照ベクトルの前記初期値に基づいて、指定された距離関数を用いて一の格子点と他の格子点との格子点間距離を算出する距離算出部と、
前記複数のデータの成分で構成される入力ベクトルと前記格子点に対する前記参照ベクトルとの距離を前記距離関数に基づいて算出し、前記入力ベクトルについて前記距離が最も短い格子点である最近格子点を前記算出の結果に基づいて探索する探索部と、
前記探索の結果に基づいて、前記複数のデータのそれぞれを前記最近格子点に対するデータとして配分するデータ配分部と、
前記最近格子点及び前記最近格子点の周囲の格子点に前記複数のデータの情報を反映する反映関数を用いて、前記参照ベクトルに対する修正ベクトルを算出する修正ベクトル算出部と、
前記格子点の前記参照ベクトルに前記修正ベクトルを加えることにより前記参照ベクトルを修正し、前記格子点に配分された前記複数のデータと前記参照ベクトルとを用いて前記格子点間距離を更新する距離更新部と、
指定された終了条件を満たすまで、前記複数のデータの全てについて、かつ前記複数の格子点の全てについて、前記探索部と、前記データ配分部と、前記修正ベクトル算出部と、前記距離更新部と、における処理を繰り返させる繰り返し制御部と、
前記繰り返しにより更新された前記格子点間距離を示す情報を出力する情報出力部と、
を備えるデータ処理装置。
【請求項２】
前記距離算出部では前記一の格子点の前記参照ベクトルと前記他の格子点の前記参照ベクトルとを用いて前記格子点間距離を算出し、
前記探索部では前記入力ベクトルと前記参照ベクトルとを用いて前記距離を算出する請求項１に記載のデータ処理装置。
【請求項３】
前記初期値設定部では、前記データの統計学的な特徴に基づいて参照ベクトルの初期値を設定する請求項１または２に記載のデータ処理装置。
【請求項４】
前記距離関数は前記データどうしの距離を求める関数である請求項１から３のいずれか１項に記載のデータ処理装置。
【請求項５】
前記修正ベクトル算出部は、前記格子点間距離が遠くなるほど値が小さくなる関数を前記反映関数として前記修正ベクトルを算出する請求項１から４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記初期値設定部では、前記複数のデータの数より少ない数の格子点で構成される前記格子点空間の前記格子点に対して前記参照ベクトルの前記初期値を設定する請求項１から５のいずれか１項に記載のデータ処理装置。
【請求項７】
前記情報出力部では、前記格子点間距離を示す前記情報に基づいて、前記格子点の分布及び前記格子点に配分された前記複数のデータを２次元空間または３次元空間で表した格子点分布図を作成して出力する請求項１から６のいずれか１項に記載のデータ処理装置。
【請求項８】
前記情報出力部では、前記２次元空間または前記３次元空間において前記格子点の初期配置を設定し、前記格子点の配置を調整して指定された評価関数を最小化し、前記調整された前記配置に基づいて前記格子点分布図を作成して出力する請求項７に記載のデータ処理装置。
【請求項９】
前記データ入力部では化合物の局所安定構造と前記局所安定構造のエネルギーとを関連付けて入力し、
前記繰り返し制御部では、前記更新された前記格子点間距離に基づいて前記化合物の前記局所安定構造を抽出する抽出処理と、前記格子点どうしの前記結合を前記格子点間距離に応じて切断する切断処理とを、指定された数の前記局所安定構造が抽出されるまで繰り返す請求項１から６のいずれか１項に記載のデータ処理装置。
【請求項１０】
前記繰り返し制御部では、前記抽出処理として、
一の格子点に対し、前記一の格子点に配分された前記局所安定構造の前記エネルギーのうち最小のエネルギーを前記一の格子点の代表エネルギーとして、前記一の格子点と、前記一の格子点に結合している他の全ての格子点との間で前記代表エネルギーを比較し、前記比較の結果に基づき最小の前記代表エネルギーに対応する前記局所安定構造を抽出する処理を行う請求項９に記載のデータ処理装置。
【請求項１１】
前記情報出力部では、前記格子点空間を前記格子点の配置及び前記格子点間距離に応じて２次元空間または３次元空間に射影したエネルギー分布図であって、前記格子点と前記格子点の前記代表エネルギーとの対応を示すエネルギー分布図を表示装置に表示させる請求項１０に記載のデータ処理装置。
【請求項１２】
前記情報出力部では、前記格子点に配分された前記局所安定構造の数に応じた大きさ、かつ前記格子点の前記代表エネルギーに応じた色の記号を用いて前記エネルギー分布図を表示させる請求項１１に記載のデータ処理装置。
【請求項１３】
データを入力するデータ入力部と、前記入力したデータを処理するデータ処理部と、前記処理したデータについての情報を出力する情報出力部と、を有するデータ処理装置のデータ処理方法であって、
前記データ入力部により複数のデータを入力するデータ入力工程と、
前記データ処理部により、
複数の格子点を含む格子点空間であって、一の格子点が他の全ての格子点と結合している格子点空間の全ての格子点に対し、前記複数のデータに基づいて参照ベクトルの初期値を設定する初期値設定工程と、
前記参照ベクトルの前記初期値に基づいて、指定された距離関数を用いて一の格子点と他の格子点との格子点間距離を算出する距離算出工程と、
前記複数のデータの成分で構成される入力ベクトルと前記格子点に対する前記参照ベクトルとの距離を前記距離関数に基づいて算出し、前記入力ベクトルについて前記距離が最も短い格子点である最近格子点を前記算出の結果に基づいて探索する探索工程と、
前記探索の結果に基づいて、前記複数のデータを前記最近格子点に対するデータとして配分するデータ配分工程と、
前記最近格子点及び前記最近格子点の周囲の格子点に前記複数のデータの情報を反映する反映関数を用いて、前記参照ベクトルに対する修正ベクトルを算出する修正ベクトル算出工程と、
前記格子点の前記参照ベクトルに前記修正ベクトルを加えることにより前記参照ベクトルを修正し、前記格子点に配分された前記データと前記参照ベクトルとを用いて前記格子点間距離を更新する距離更新工程と、
指定された終了条件を満たすまで、前記複数のデータの全てについて、かつ前記複数の格子点の全てについて、前記探索工程と、前記データ配分工程と、前記修正ベクトル算出工程と、前記距離更新工程と、における処理を繰り返させる繰り返し制御工程と、を行い、
前記情報出力部により、前記繰り返しにより更新された前記格子点間距離を示す情報を出力する情報出力工程を行うデータ処理方法。
【請求項１４】
複数のデータを入力するデータ入力工程と、
複数の格子点を含む格子点空間であって、一の格子点が他の全ての格子点と結合している格子点空間の全ての格子点に対し、前記データに基づいて参照ベクトルの初期値を設定する初期値設定工程と、
前記参照ベクトルの前記初期値に基づいて、指定された距離関数を用いて一の格子点と他の格子点との格子点間距離を算出する距離算出工程と、
前記データの前記複数の成分で構成される入力ベクトルと前記格子点に対する前記参照ベクトルとの距離を前記距離関数に基づいて算出し、前記入力ベクトルについて前記距離が最も短い格子点である最近格子点を前記算出の結果に基づいて探索する探索工程と、
前記探索の結果に基づいて、前記データを前記最近格子点に対するデータとして配分するデータ配分工程と、
前記最近格子点及び前記最近格子点の周囲の格子点に前記データの情報を反映する反映関数を用いて、前記参照ベクトルに対する修正ベクトルを算出する修正ベクトル算出工程と、
前記格子点の前記参照ベクトルに前記修正ベクトルを加えることにより前記参照ベクトルを修正し、前記格子点に配分された前記データと前記参照ベクトルとを用いて前記格子点間距離を更新する距離更新工程と、
指定された終了条件を満たすまで、前記複数のデータの全てについて、かつ前記複数の格子点の全てについて、前記探索工程と、前記データ配分工程と、前記修正ベクトル算出工程と、前記距離更新工程と、における処理を繰り返させる繰り返し制御工程と、
前記繰り返しにより更新された前記格子点間距離を示す情報を出力する情報出力工程と、
をコンピュータに実行させるデータ処理プログラム。
【請求項１５】
請求項１４に記載のデータ処理プログラムのコンピュータ読み取り可能なコードが記録された非一時的記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置、データ処理方法、データ処理プログラム、及び非一時的記録媒体に関し、特に入力データを分類する技術に関する。
【背景技術】
【０００２】
入力データを類似の性質を持つデータに分類する手法として、「自己組織化マップ（ＳＯＭ：Self-Organizing Map）」を用いる技術が知られている。自己組織化マップ（以下、“ＳＯＭ”と記載する場合がある）はＴ．コホネン氏によって考案された機械学習の一手法により生成されるマップであり、入力データに最も近い参照データを持つ格子点を探し、その格子点の周囲に入力データの情報を染み込ませる（反映する）操作を繰り返すことで自己組織的に生成されるマップである。また、ＳＯＭはデータの類似関係を維持しつつ、多数の入力データを高次元空間から低次元空間に写像したマップである。このようなＳＯＭを利用したデータ分類技術として、分子の立体構造を示す構造地図を作成することが知られている（例えば、特許文献１を参照）。なお、データの次元は分子の場合例えば二面角の数で表すことができ、複雑な立体構造の分子ほど高次元のデータになる。【０００３】
上述したＳＯＭの作成においては、マップにおけるデータの配置は学習により変化してゆく。このような変化の様子は、例えば非特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７７２３４号公報
【非特許文献】
【０００５】
【非特許文献１】“勝手に整理整頓 ─ 自動分類アルゴリズム”、[online]、池谷裕二、［２０１８年５月７日検索］、インターネット（http://gaya.jp/spiking_neuron/som.htm）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１及び非特許文献１に記載されているＳＯＭを用いる場合、マップ上の離れた場所にほぼ同じ参照データの格子点が現れることがある。例えば非特許文献１におけるシミュレーション（各格子点（セル）におけるデータを（赤(Ｒ：Red)，緑(Ｇ：Green)，青(Ｂ：Blue)）の成分で表される３次元の色ベクトルで表現している）の結果でも、「黄色」のセルがマップ上の離れた場所に現れてしまっている。すなわち、「ＳＯＭでは、本来は類似の性質を持つデータであるにも関わらず、特徴が大きく異なるデータとして分類されてしまう場合がある」ということである。【０００７】
このように、従来の技術は複数の高次元データを適切に分類できるものではなかった。【０００８】
本発明はこのような事情に鑑みてなされたもので、複数の高次元データを適切に分類できるデータ処理装置、データ処理方法、データ処理プログラム、及び非一時的記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した目的を達成するため、本発明の第１の態様に係るデータ処理装置は、複数のデータを入力するデータ入力部と、複数の格子点を含む格子点空間であって、一の格子点が他の全ての格子点と結合している格子点空間の全ての格子点に対し、複数のデータに基づいて参照ベクトルの初期値を設定する初期値設定部と、参照ベクトルの初期値に基づいて、指定された距離関数を用いて一の格子点と他の格子点との格子点間距離を算出する距離算出部と、複数のデータの成分で構成される入力ベクトルと格子点に対する参照ベクトルとの距離を距離関数に基づいて算出し、入力ベクトルについて距離が最も短い格子点である最近格子点を算出の結果に基づいて探索する探索部と、探索の結果に基づいて、複数のデータのそれぞれを最近格子点に対するデータとして配分するデータ配分部と、最近格子点及び最近格子点の周囲の格子点に複数のデータの情報を反映する反映関数を用いて、参照ベクトルに対する修正ベクトルを算出する修正ベクトル算出部と、格子点の参照ベクトルに修正ベクトルを加えることにより参照ベクトルを修正し、格子点に配分された複数のデータと参照ベクトルとを用いて格子点間距離を更新する距離更新部と、指定された終了条件を満たすまで、複数のデータの全てについて、かつ複数の格子点の全てについて、探索部と、データ配分部と、修正ベクトル算出部と、距離更新部と、における処理を繰り返させる繰り返し制御部と、繰り返しにより更新された格子点間距離を示す情報を出力する情報出力部と、を備える。【００１０】
本願発明者らは上述した従来技術（ＳＯＭ）の問題点について鋭意検討を重ね、「類似したデータがマップの離れた場所に出現するのは、格子点空間に特定の形状（非特許文献１では１０×１０の正方格子）を設定しており、遠距離の格子点には入力データの情報が反映されないことに起因する」との知見を得た。このような知見に基づき、第１の態様に係るデータ処理装置では、格子点空間に特別な形状は仮定せず参照データ（各格子点に配分されたデータ）間の類似度を格子点間距離と見なしている。具体的には、ＳＯＭにおいては図１２の（ａ）部分に示すように格子点８０１と格子点８０２，８０３，８０４の距離はそれぞれ１，２^(1/2)、２であるのに対し、本発明においては、図１２の（ｂ）部分に示すように格子点Ａ１，Ａ２，Ａ３，Ａ４間の距離は類似度を表す関数「Ｄ（ｉ，ｊ）」（ｉ，ｊは格子点を示す指標）によりＤ（Ａ１，Ａ２）、Ｄ（Ａ１，Ａ４）のように表される（Ｄ（ｉ，ｊ）は、例えば参照データ間のＥｕｃｌｉｄ距離を示す関数である）。なお、図１２の（ｂ）部分では格子点空間を便宜上正方格子で描いているが、Ｄ（Ａ１，Ａ２）＜Ｄ（Ａ１，Ａ４）とは限らないので、格子点距離の関係を厳密に描くのは困難である。【００１１】
このように、本発明では一の格子点が他の全ての格子点と（参照データ間の類似度に応じた格子点間距離で）結合しており「形状的に遠距離の格子点」は存在しないので、全ての格子点に入力データの情報を反映することができ、格子点空間の離れた場所にほぼ同じ参照データの格子点が現れることがない。これにより、第１の態様に係るデータ処理装置では複数の高次元データを適切に分類することができる。なお、格子点間の結合は格子点間距離の更新を繰り返す間維持されていればよく、更新が終了し情報（例えば、２次元あるいは３次元のマップ）を出力する段階では切断してもよい。【００１２】
なお第１の態様及び以下の各態様において、「参照ベクトル」は格子点に属するデータの特徴を表すベクトルである。参照ベクトルと距離の近いデータが、その参照ベクトルを有する格子点に格納されることになるが、これは参照ベクトルに特徴が似ているデータがその格子点に集まってくることを意味する。参照ベクトルの初期値はランダムに設定することも可能であるが、ランダムに設定した場合、入力データが同一であっても処理の度に格子点間距離の更新結果が異なる可能性があるので、参照ベクトルの初期値はあらかじめ決められた基準により設定することが好ましい。また、入力するデータの空間分布を反映した初期値であることがさらに好ましい。【００１３】
また、第１の態様及び以下の各態様において、任意の２点（ｘ，ｙ）あるいは２つのデータの集団（Ｘ，Ｙ）に対し以下の４つの条件を満たす任意の関数ｄ（ｘ，ｙ）を「距離関数」として用いることができる（関数ｄ（Ｘ，Ｙ）についても条件は同様である）。【００１４】
条件（１）：ｄ（ｘ，ｙ）は負でない実数
条件（２）：ｄ（ｘ，ｙ）＝０であればｘ＝ｙ
条件（３）：ｄ（ｘ，ｙ）＝ｄ（ｙ，ｘ）
条件（４）：ｄ（ｘ，ｚ）＋ｄ（ｚ，ｙ）≧ｄ（ｘ，ｙ）【００１５】
第２の態様に係るデータ処理装置は第１の態様において、距離算出部では一の格子点の参照ベクトルと他の格子点の参照ベクトルとを用いて格子点間距離を算出し、探索部では入力ベクトルと参照ベクトルとを用いて距離を算出する。第２の態様は、格子点間距離、及び入力ベクトルと参照ベクトルとの距離の算出手法の一態様を規定するものである。【００１６】
第３の態様に係るデータ処理装置は第１または第２の態様において、初期値設定部では、データの統計学的な特徴に基づいて参照ベクトルの初期値を設定する。第３の態様は初期値設定手法の一態様を規定するもので、「統計学的な特徴」として例えば平均、分散、相関等を用いることができるが、これらの例には限定されない。具体的な手法としては主成分分析、回帰分析、カーネル主成分分析等を用いることができ、主成分分析を用いる場合、初期値設定部は入力したデータの平均ベクトル、分散共分散行列の最大固有値、及び最大固有値に対応する固有ベクトルに基づいて参照ベクトルの初期値を設定することができる。また、最大固有値（第１主成分）に加えて第２，第３主成分をさらに考慮して参照ベクトルの初期値を設定してもよい。【００１７】
第４の態様に係るデータ処理装置は第１から第３の態様のうちいずれか１つにおいて、距離関数はデータどうしの距離を求める関数である。「データどうしの距離」とは任意の２点（ｘ，ｙ）についての距離に加え、２つのデータの集団（Ｘ，Ｙ）についての距離をも含む。具体的には例えばＷａｒｄ距離、Ｅｕｃｌｉｄ距離、Ｍａｈａｌａｎｏｂｉｓ距離、その他クラスター分析で用いられる関数を距離関数とすることができる。これらの関数は第１の態様について上述した条件を満たす距離関数の具体例であるが、本発明のデータ処理装置における距離関数はこれらに限定されるものではない。【００１８】
第５の態様に係るデータ処理装置は第１から第４の態様のうちいずれか１つにおいて、修正ベクトル算出部は、格子点間距離が遠くなるほど値が小さくなる関数を反映関数として修正ベクトルを算出する。第５の態様では、格子点間距離が遠くなるほど情報の反映度合いが低くなる関数を反映関数として修正ベクトルを算出する。具体的には、例えば格子点間距離をｄとし、データを反映する範囲をσとした場合にｅｘｐ（−ｄ／σ）で表される関数を反映関数として修正ベクトルを算出することができるが、このような態様に限定されるものではない。なおこの場合、σは入力データの影響が及ぶ範囲を規定する定数である。【００１９】
第６の態様に係るデータ処理装置は第１から第５の態様のうちいずれか１つにおいて、初期値設定部では、複数のデータの数より少ない数の格子点で構成される格子点空間の格子点に対して参照ベクトルの初期値を設定する。第６の態様では、データをクラスタリングするためにこのような条件を設定している。【００２０】
第７の態様に係るデータ処理装置は第１から第６の態様のうちいずれか１つにおいて、情報出力部では、格子点間距離を示す情報に基づいて、格子点の分布及び格子点に配分された複数のデータを２次元空間または３次元空間で表した格子点分布図を作成して出力する。第７の態様では、格子点の分布を２次元空間または３次元空間（低次元空間）で表した格子点分布図を作成して出力するので、入力データが高次元の場合であっても、ユーザはデータの分布を容易に把握することができる。【００２１】
第８の態様に係るデータ処理装置は第７の態様において、情報出力部では、２次元空間または３次元空間において格子点の初期配置を設定し、格子点の配置を調整して指定された評価関数を最小化し、調整された配置に基づいて格子点分布図を作成して出力する。第８の態様は低次元化された格子点分布図を作成する手法の一態様を規定するもので、例えば多次元尺度法を用いることができるが、これに限定されるものではない。また、評価関数の最小化には例えば最急降下法を採用できるが、これに限定されるものではない。【００２２】
第９の態様に係るデータ処理装置は第１から第６の態様のうちいずれか１つにおいて、データ入力部では化合物の局所安定構造と局所安定構造のエネルギーとを関連付けて入力し、繰り返し制御部では、更新された格子点間距離に基づいて化合物の局所安定構造を抽出する抽出処理と、格子点どうしの結合を格子点間距離に応じて切断する切断処理とを、指定された数の局所安定構造が抽出されるまで繰り返す。第９の態様は化合物の局所安定構造を抽出する場合の処理の一態様を規定するものである。【００２３】
一般的に化合物は環境（温度、ｐＨ等）に依存して異なる構造を取り得るが、例えば薬剤の候補となる化合物を探索する場合等、安定的な構造（エネルギーが低い構造）を取得したい場合がある。しかしながら化合物は周囲の環境等により必ずしも最安定構造（エネルギーが最も低い構造）を取るわけではないので、局所安定構造を多数取得し、その中から尤もらしい構造を抽出することが効果的である。本発明に係るデータ処理装置では、第１の態様について上述したように格子点空間の離れた場所にほぼ同じ参照データの格子点が現れることがなく、化合物の場合は「本当は１つの局所安定構造なのに、複数の格子点に分裂して現れる」ことがないため、局所安定構造を正確に抽出することができる。【００２４】
なお、第９の態様において「局所安定構造」とは一の格子点に対応するエネルギーと、その格子点と直接結合している他の格子点のエネルギーとの間で、最も低いエネルギーに対応する構造である。抽出処理及び切断処理の開始時は一の格子点が他の全ての格子点が結合しているので局所安定構造は最安定構造の１つのみであるが、抽出処理及び切断処理を繰り返すと局所安定構造が増えていく。このため、所望の数の局所安定構造を抽出するまで抽出処理及び切断処理を繰り返す。なお抽出処理及び切断処理は、格子点空間を示すマップ（ユーザが視覚的に把握可能なマップ）を作成せずデータ処理装置の処理として行うことができる。【００２５】
なお、第９の態様において、化合物の立体構造に由来するエネルギー（あるいは自由エネルギー）であれば任意の「エネルギー」を用いることができる。例えば量子科学計算の場合には全電子エネルギーを用いることができる。【００２６】
第１０の態様に係るデータ処理装置は第９の態様において、繰り返し制御部では、抽出処理として、一の格子点に対し、一の格子点に配分された局所安定構造のエネルギーのうち最小のエネルギーを一の格子点の代表エネルギーとして、一の格子点と、一の格子点に結合している他の全ての格子点との間で代表エネルギーを比較し、比較の結果に基づき最小の代表エネルギーに対応する局所安定構造を抽出する処理を行う。第１０の態様は抽出処理の具体的内容を規定するものである。【００２７】
第１１の態様に係るデータ処理装置は第１０の態様において、情報出力部では、格子点空間を格子点の配置及び格子点間距離に応じて２次元空間または３次元空間に射影したエネルギー分布図であって、格子点と格子点の代表エネルギーとの対応を示すエネルギー分布図を表示装置に表示させる。第１１の態様では格子点空間を２次元または３次元（入力データの次元よりも低次元の空間）に射影したエネルギー分布図を表示装置に表示させるので、ユーザはエネルギー分布の様子（局所安定構造になる位置）を視覚的に容易に把握することができる。【００２８】
第１２の態様に係るデータ処理装置は第１１の態様において、情報出力部では、格子点に配分された局所安定構造の数に応じた大きさ、かつ格子点の代表エネルギーに応じた色の記号を用いてエネルギー分布図を表示させる。第１２の態様はエネルギー分布図の具体的な表示態様を規定するもので、ユーザはエネルギー分布の様子を視覚的にいっそう容易に把握することができる。【００２９】
上述した目的を達成するため、本発明の第１３の態様に係るデータ処理方法はデータを入力するデータ入力部と、入力したデータを処理するデータ処理部と、処理したデータについての情報を出力する情報出力部と、を有するデータ処理装置のデータ処理方法であって、データ入力部により複数のデータを入力するデータ入力工程と、データ処理部により、複数の格子点を含む格子点空間であって、一の格子点が他の全ての格子点と結合している格子点空間の全ての格子点に対し、複数のデータに基づいて参照ベクトルの初期値を設定する初期値設定工程と、参照ベクトルの初期値に基づいて、指定された距離関数を用いて一の格子点と他の格子点との格子点間距離を算出する距離算出工程と、複数のデータの成分で構成される入力ベクトルと格子点に対する参照ベクトルとの距離を距離関数に基づいて算出し、入力ベクトルについて距離が最も短い格子点である最近格子点を算出の結果に基づいて探索する探索工程と、探索の結果に基づいて、複数のデータを最近格子点に対するデータとして配分するデータ配分工程と、最近格子点及び最近格子点の周囲の格子点に複数のデータの情報を反映する反映関数を用いて、参照ベクトルに対する修正ベクトルを算出する修正ベクトル算出工程と、格子点の参照ベクトルに修正ベクトルを加えることにより参照ベクトルを修正し、格子点に配分されたデータと参照ベクトルとを用いて格子点間距離を更新する距離更新工程と、指定された終了条件を満たすまで、複数のデータの全てについて、かつ複数の格子点の全てについて、探索工程と、データ配分工程と、修正ベクトル算出工程と、距離更新工程と、における処理を繰り返させる繰り返し制御工程と、を行い、情報出力部により、繰り返しにより更新された格子点間距離を示す情報を出力する情報出力工程を行う。【００３０】
第１３の態様によれば、第１の態様と同様に複数の高次元データを適切に分類することができる。なお、第１３の態様に対し第２〜第１２の態様と同様の構成をさらに含めてもよい。【００３１】
上述した目的を達成するため、本発明の第１４の態様に係るデータ処理プログラムは複数のデータを入力するデータ入力工程と、複数の格子点を含む格子点空間であって、一の格子点が他の全ての格子点と結合している格子点空間の全ての格子点に対し、データに基づいて参照ベクトルの初期値を設定する初期値設定工程と、参照ベクトルの初期値に基づいて、指定された距離関数を用いて一の格子点と他の格子点との格子点間距離を算出する距離算出工程と、データの複数の成分で構成される入力ベクトルと格子点に対する参照ベクトルとの距離を距離関数に基づいて算出し、入力ベクトルについて距離が最も短い格子点である最近格子点を算出の結果に基づいて探索する探索工程と、探索の結果に基づいて、データを最近格子点に対するデータとして配分するデータ配分工程と、最近格子点及び最近格子点の周囲の格子点にデータの情報を反映する反映関数を用いて、参照ベクトルに対する修正ベクトルを算出する修正ベクトル算出工程と、格子点の参照ベクトルに修正ベクトルを加えることにより参照ベクトルを修正し、格子点に配分されたデータと参照ベクトルとを用いて格子点間距離を更新する距離更新工程と、指定された終了条件を満たすまで、複数のデータの全てについて、かつ複数の格子点の全てについて、探索工程と、データ配分工程と、修正ベクトル算出工程と、距離更新工程と、における処理を繰り返させる繰り返し制御工程と、繰り返しにより更新された格子点間距離を示す情報を出力する情報出力工程と、をコンピュータに実行させる。【００３２】
第１４の態様によれば、第１及び第１３の態様と同様に複数の高次元データを適切に分類することができる。また、第１４の態様に対し第２〜第１２の態様と同様の構成をさらに含めてもよい。なお、第１４の態様における「コンピュータ」は、ＣＰＵ（Central Processing Unit）等の各種プロセッサを１つ以上用いて実現することができる。【００３３】
上述した目的を達成するため、本発明の第１５の態様に係る非一時的記録媒体は、第１４の態様に係るデータ処理プログラムのコンピュータ読み取り可能なコードが記録された非一時的記録媒体である。第１５の態様に係る非一時的記録媒体において、第１４の態様に加えて第２〜第１２の態様に係る構成をさらに備えたプログラムについてのコードが記録されていてもよい。
【発明の効果】
【００３４】
以上説明したように、本発明のデータ処理装置、データ処理方法、データ処理プログラム、及び非一時的記録媒体によれば、複数の高次元データを適切に分類することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は、第１の実施形態に係るデータ処理装置の構成を示すブロック図である。
【図２】図２は、処理部の構成を示すブロック図である。
【図３】図３は、記憶部に記憶される情報を示す図である。
【図４】図４は、データ処理方法の手順を示すフローチャートである。
【図５】図５は、ｉｒｉｓデータを示す表である。
【図６】図６は、ｉｒｉｓデータの分布を示す図である。
【図７】図７は、格子点へのデータの配分の様子を示す図である。
【図８】図８は、格子点分布図の作成手順を示すフローチャートである。
【図９】図９は、分布図の作成の様子を示す図である。
【図１０】図１０は、ｉｒｉｓデータに対する分布図である。
【図１１】図１１は、従来技術及び本発明によるｉｒｉｓデータの分類結果を示す図である。
【図１２】図１２は、従来技術及び本発明における格子点間距離を示す図である。
【図１３】図１３は、処理の繰り返しに伴い分類が進展していく様子を示す図である。
【図１４】図１４は、化合物のエネルギー曲面を示す概念図である。
【図１５】図１５は、局所安定構造の抽出手順を示すフローチャートである。
【図１６】図１６は、局所安定構造の抽出を説明するための図である。
【図１７】図１７は、局所安定構造の抽出を説明するための他の図である。
【図１８】図１８は、Ｃ１２の立体構造を本発明の手法で分類した結果を示す図である。
【図１９】図１９は、アラニンジペプチドの構造及びその立体構造の分布を示す図である。
【図２０】図２０は、アラニンジペプチドの自由エネルギー曲面を示す図である。
【図２１】図２１は、従来技術による分類結果を示す図である。
【図２２】図２２は、本発明の手法による分類結果を示す図である。
【図２３】図２３は、分子安定構造の探索装置の処理部の構成を示す図である。
【図２４】図２４は、分子安定構造の探索装置の記憶部に記憶される情報を示す図である。
【図２５】図２５は、分子安定構造の探索方法の手順を示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、添付図面を参照しつつ、本発明のデータ処理装置、データ処理方法、データ処理プログラム、及び非一時的記録媒体の実施形態について詳細に説明する。なお、以下の説明において本発明に係るデータ処理方法を「ＳＣＴＭ法（ＳＣＴＭ：Self-Constructing Topological Map）」と記載する場合がある。
【００３７】
＜第１の実施形態＞
図１は第１の実施形態に係るデータ処理装置１０（データ処理装置）の構成を示すブロック図である。図１に示すように、データ処理装置１０は処理部１００、記憶部２００、表示部３００、及び操作部４００を備え、互いに接続されて必要な情報が送受信される。これらの構成要素については各種の設置形態を採用することができ、各構成要素が１箇所（１筐体内、１室内等）に設置されていてもよいし、離れた場所に設置されネットワークを介して接続されていてもよい。また、データ処理装置１０はインターネット等のネットワーク１０００を介して外部サーバ５００及び外部データベース５１０に接続され、入力データ等の必要な情報を取得することができる。
【００３８】
＜処理部の構成＞
図２は処理部１００の構成を示す図である。処理部１００はデータ入力部１０２（データ入力部）、初期値設定部１０４（初期値設定部）、距離算出部１０６（距離算出部）、探索部１０８（探索部）、データ配分部１１０（データ配分部）、修正ベクトル算出部１１２（修正ベクトル算出部）、距離更新部１１４（距離更新部）、繰り返し制御部１１６（繰り返し制御部）、情報出力部１１８（情報出力部）、ＣＰＵ１２０（ＣＰＵ：Central Processing Unit）、ＲＯＭ１２２（ＲＯＭ：Read Only Memory）、及びＲＡＭ１２４（ＲＡＭ：Random Access Memory）を備える。データ入力部１０２はデータ入力部を構成し、初期値設定部１０４、距離算出部１０６、探索部１０８、データ配分部１１０、修正ベクトル算出部１１２、距離更新部１１４、及び繰り返し制御部１１６はデータ処理部を構成し、情報出力部１１８は情報出力部を構成する。これら処理部１００の各部を用いたデータ処理の手順については、詳細を後述する。なお、各部での処理はＣＰＵ１２０の制御の下で行われる。
【００３９】
上述した処理部１００の各部の機能は、各種のプロセッサ（processor）を用いて実現できる。各種のプロセッサには、例えばソフトウェア（プログラム）を実行して各種の機能を実現する汎用的なプロセッサであるＣＰＵが含まれる。また、上述した各種のプロセッサには、画像処理に特化したプロセッサであるＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（Field Programmable Gate Array）などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ）も含まれる。さらに、ＡＳＩＣ（Application Specific Integrated Circuit）などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路なども上述した各種のプロセッサに含まれる。
【００４０】
各部の機能は１つのプロセッサにより実現されてもよいし、同種または異種の複数のプロセッサ（例えば、複数のＦＰＧＡ、あるいはＣＰＵとＦＰＧＡの組み合わせ、またはＣＰＵとＧＰＵの組み合わせ）で実現されてもよい。また、複数の機能を１つのプロセッサで実現してもよい。複数の機能を１つのプロセッサで構成する例としては、第１に、クライアント、サーバなどのコンピュータに代表されるように、１つ以上のＣＰＵとソフトウェアの組合せで１つのプロセッサを構成し、このプロセッサが複数の機能として実現する形態がある。第２に、システムオンチップ（System On Chip：ＳｏＣ）などに代表されるように、システム全体の機能を１つのＩＣ（Integrated Circuit）チップで実現するプロセッサを使用する形態がある。このように、各種の機能は、ハードウェア的な構造として、上述した各種のプロセッサを１つ以上用いて構成される。さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路（circuitry）である。
【００４１】
上述したプロセッサあるいは電気回路がソフトウェア（プログラム）を実行する際は、実行するソフトウェアのプロセッサ読み取り可能なコード（コンピュータ読み取り可能なコード）をＲＯＭ１２２（図２を参照）等の非一時的記録媒体に記憶しておき、プロセッサがそのソフトウェアを参照する。非一時的記録媒体に記憶しておくソフトウェアは、本発明に係るデータ処理方法を実行するためのプログラム（データ処理プログラム）を含む。ＲＯＭ１２２ではなく各種光磁気記録装置、半導体メモリ等の非一時的記録媒体にコードを記録してもよい。ソフトウェアを用いた処理の際には例えばＲＡＭ１２４が一時的記憶領域として用いられ、また例えば不図示のＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）に記憶されたデータを参照することもできる。
【００４２】
＜記憶部の構成＞
記憶部２００はＤＶＤ（Digital Versatile Disk）、ハードディスク（Hard Disk）、各種半導体メモリ等の非一時的記録媒体及びその制御部により構成され、例えば図３に示す情報（入力データ２０２、参照ベクトル情報２０４、距離関数情報２０６、反映関数情報２０８、格子点間距離情報２１０、格子点分布図２１２、エネルギー分布図２１４）を記憶することができる。
【００４３】
＜表示部及び操作部の構成＞
表示部３００はモニタ３１０（表示装置）を備えており、入力した画像、記憶部２００に記憶された情報、処理部１００による処理の結果等を表示することができる。操作部４００は入力デバイス及び／またはポインティングデバイスとしてのキーボード４１０及びマウス４２０を含んでおり、ユーザはこれらのデバイス及びモニタ３１０の画面を介して、本発明に係るデータ処理方法の実行に必要な操作を行うことができる。ユーザが実行できる操作には、例えば参照ベクトルの初期値設定方法、距離関数、反映関数の指定を含めることができる。
【００４４】
＜データ処理方法の手順＞
図４は本発明に係るデータ処理方法の手順を示すフローチャートである。このフローチャートを、具体的な例を用いて説明する。
【００４５】
＜例１：ｉｒｉｓデータの分類＞
ｉｒｉｓデータとは３種類のアヤメ（Setosa、Versicolor、Virginica）のがく（Sepal）と花弁（Petal）に関する公知のデータであり（例えばhttps://archive.ics.uci.edu/ml/machine-learning-databases/iris/から入手できる）、各種類のアヤメについて５０ずつ、全部で１５０のデータを含む。図５はｉｒｉｓデータの一部を示す表である。ｉｒｉｓデータをプロットすると、例えば図６のようになる（出典はhttps://commons.wikimedia.org/wiki/File:Iris_dataset_scatterplot.svg）。各データは、がくと花弁の長さと幅、計４つの次元を有するベクトル（高次元データ）と考えることができる。なお、ｉｒｉｓデータのプロットにおいて、上述した出典ではSetosaを青、Versicolorを緑、Virginicaを赤でプロットしているが、図面のカラー表示は困難であるため、図６ではSetosaを黒、Versicolorを濃いグレー、Virginicaを白の円でプロットしている。
【００４６】
＜データの入力＞
データ入力部１０２は上述したｉｒｉｓデータを入力する（ステップＳ１００：データ入力工程）。ｉｒｉｓデータは記憶部２００に入力データ２０２として記憶されているものを入力してもよいし、図示せぬ記録媒体から読み込んでもよい。また、ネットワーク１０００を介して外部サーバ５００及び外部データベース５１０から取得してもよい。
【００４７】
＜参照ベクトルの初期値設定＞
初期値設定部１０４は、複数の格子点を含む格子点空間であって、一の格子点が他の全ての格子点と結合している格子点空間の全ての格子点に対し、複数のデータに基づいて参照ベクトルの初期値を設定する（ステップＳ１１０：初期値設定工程）。参照ベクトルは格子点に属するデータの特徴を表すベクトルである。例１では、格子点数を４とする。データを分類（クラスタリング）する観点からは、（格子点数＜データ数）であることが好ましい。なお、格子点数が４の場合の格子点空間の様子は図１２の（ｂ）部分（概念図）に示す通りである。
【００４８】
初期値設定部１０４は、例えば入力データの主成分分析の結果に基づいて参照ベクトルの初期値を設定することができる。ｉｒｉｓデータの場合、平均ベクトル＜ｘ＞と分散共分散行列の最大固有値（第１主成分）λ、固有ベクトルＸはそれぞれ以下の式（１）〜（３）のようになる。なお、主成分分析は入力データの統計学的な特徴に基づく初期値設定手法の一例であり、平均ベクトル、第１主成分、固有ベクトル等は入力データの統計学的な特徴の一例である。
【００４９】
【数１】
2019244596.tif 000003
【００５０】
【数２】
2019244596.tif 000004
【００５１】
【数３】
2019244596.tif 000005
【００５２】
これらの式を用いて、格子点１〜４に対する参照ベクトルを以下の式（４）のように設定する。式（４）においてＮ＝４であり、ｉは１から４の整数である。
【００５３】
【数４】
2019244596.tif 000006
【００５４】
格子点１〜４に対する参照ベクトルは、具体的にはそれぞれ以下の式（５）〜（８）のように表すことができる。
【００５５】
【数５】
2019244596.tif 000007
【００５６】
【数６】
2019244596.tif 000008
【００５７】
【数７】
2019244596.tif 000009
【００５８】
【数８】
2019244596.tif 000010
【００５９】
上述した例では第１主成分のみを考慮しているが、第２，第３主成分を考慮して初期値を設定してもよい。また、初期値の設定に主成分析以分外の手法（例えば回帰分析、カーネル主成分分析等、データの統計学的な特徴に基づく手法）を用いてもよい。初期値の設定に用いる方法及び設定条件をユーザの操作に応じて決定してもよい。なお、初期値の設定手法は入力データの空間分布を反映したものであることが好ましい。
【００６０】
＜格子点間距離の算出＞
距離算出部１０６は、ステップＳ１１０で設定した参照ベクトルの初期値に基づいて、指定された距離関数を用いて一の格子点と他の格子点との格子点間距離を算出する（ステップＳ１２０：距離算出工程）。距離関数はデータどうしの距離（任意の２点（ｘ，ｙ）の距離に加え、２つのデータの集団（Ｘ，Ｙ）についての距離をも含む）を求める関数であり、例１では距離関数ＤとしてＷａｒｄ距離を求める関数を考えるが、他にもＥｕｃｌｉｄ距離、Ｍａｈａｌａｎｏｂｉｓ距離を求める関数、その他クラスター分析で用いられる関数を用いてもよい。いずれの距離関数を用いるかをユーザの操作に応じて決定してもよい。
【００６１】
格子点ｉと格子点ｊが与えられた場合、各格子点に属するデータの数をＮｉ及びＮｊ、格子点に属するデータの質量中心をｃｉ及びｃｊとすると、Ｗａｒｄ距離は以下の式（９）で与えられる。式（９）は、格子点ｉ，ｊに属するデータの集団どうしの距離を求めることを意味する。
【００６２】
【数９】
2019244596.tif 000011
【００６３】
また定義より、ベクトルをデータ数が１の格子点と見なせば、ベクトルａとベクトルｂのＷａｒｄ距離は以下の式（１０）で与えられる。
【００６４】
【数１０】
2019244596.tif 000012
【００６５】
ステップＳ１２０の時点では各格子点にはまだ参照ベクトルｒ１〜ｒ４しかデータが配分されていないので、距離算出部１０６はＷａｒｄ距離を以下の式（１１）により計算することができる。なお、式（１１）は格子点１と格子点２の距離を示すが、その他の格子点についての距離も同様に計算することができる。
【００６６】
【数１１】
2019244596.tif 000013
【００６７】
＜最近格子点の探索＞
探索部１０８は、入力データについて、上述した距離（入力データの成分で構成される入力ベクトルと参照ベクトルとの距離）の算出結果に基づいて、距離が最も短い格子点である最近格子点を探索する（ステップＳ１３０：探索工程）。例えばｉｒｉｓの１番目のデータの入力ベクトル（ｘ１＝（5.1, 3.5, 1.4, 0.2））であれば、各格子点の参照ベクトルとのＷａｒｄ距離は以下の式（１２）〜（１５）のように計算できる。
【００６８】
【数１２】
2019244596.tif 000014
【００６９】
【数１３】
2019244596.tif 000015
【００７０】
【数１４】
2019244596.tif 000016
【００７１】
【数１５】
2019244596.tif 000017
【００７２】
式（１２）〜（１５）より、入力ベクトルｘ１と最も近い参照ベクトルを持つのは格子点４である。即ち、入力ベクトルｘ１について距離が最も短い格子点である最近格子点は、格子点４である。２番目〜１５０番目のデータ（入力ベクトル）についても同様に格子点１〜４との距離を算出し、最近格子点を探索する。
【００７３】
＜データの配分＞
データ配分部１１０は、ステップＳ１３０での探索の結果に基づいて、入力ベクトルｘ１（１番目の入力データ）を、最近格子点である格子点４に対するデータとして配分する（ステップＳ１４０：データ配分工程）。２番目〜１５０番目のデータについても、最近格子点に対するデータとして配分する。その結果、入力データは図７の表のように分類される。
【００７４】
＜修正ベクトルの算出及び格子点間距離の更新＞
修正ベクトル算出部１１２は、最近格子点及び最近格子点の周囲の格子点に入力データ（複数のデータ）の情報を反映する反映関数を用いて、参照ベクトルに対する修正ベクトルを算出する（ステップＳ１５０：距離更新工程）。具体的には、修正ベクトル算出部１１２は以下の式（１６）により修正ベクトルを算出する。
【００７５】
【数１６】
2019244596.tif 000018
【００７６】
式（１６）においてＮＤは全データ数（＝１５０）、Ｃｊは格子点ｊに格納された入力データの集合（例えば図７では、格子点３に対して５８番目、６０番目、…９９番目のデータの集合）である。なお、式（１６）においてｉとｊは格子点を示す指標であり、ｋは入力データを示す指標である。
【００７７】
式（１６）において、ｆは最近格子点及び最近格子点の周囲の格子点に入力データ（複数のデータ）の情報を反映する反映関数であり、例１では以下の式（１７）により定義される指数関数とするが、この関数に限定されるものではない。
【００７８】
【数１７】
2019244596.tif 000019
【００７９】
式（１７）の反映関数は、ｄ（格子点間距離）が遠くなるほど値が小さくなる関数である。なお、上述したＷａｒｄ距離はＥｕｃｌｉｄ距離の２乗の次元を持つため、式（１７）の定義はＥｕｃｌｉｄ距離に対するＧａｕｓｓ関数とみなせる。σは入力データの影響が及ぶ範囲を規定する定数であり、適当な係数ｒσを用いて以下の式（１８）のように与えることができる。したがって係数ｒσも任意の定数である。以下、例１ではｒσ＝０．１として説明するが、この値に限定されるものではない。
【００８０】
【数１８】
2019244596.tif 000020
【００８１】
なお、反映関数は式（１７）に示す指数関数に代えて、（１／ｄ）のように距離に反比例して値が減少する関数を用いることもできる。（１／ｄ）のような関数の場合、式（１７）に示す指数関数よりも格子点間距離の増加による値の減少の度合いが少なく、入力データの影響を遠方まで強く及ぼすことができる。
【００８２】
＜格子点間距離の更新＞
距離更新部１１４は、格子点の参照ベクトルに修正ベクトルを加えることにより、参照ベクトルを修正する（ステップＳ１５０：距離更新工程）。例えば、格子点１の参照ベクトルｒ１は以下の式（１９）のように修正される。
【００８３】
【数１９】
2019244596.tif 000021
【００８４】
距離更新部１１４は、同様にして格子点２〜４の参照ベクトルｒ２〜ｒ４を修正する（ステップＳ１５０：距離更新工程）。
【００８５】
距離更新部１１４は、格子点１〜４に配分された入力データ（複数のデータ）と参照ベクトルｒ１〜ｒ４とを用いて格子点間距離を更新する（ステップＳ１５０：距離更新工程）。例えば、格子点１と２の距離（Ｄ（１，２））について説明すると、図７に示すように入力データは格子点１に４６つ、格子点２に４５つ配分されているので、Ｎ１＝４７、Ｎ２＝４６であり（入力データ数＋参照ベクトル数（１つ））、式（９）について上述したように、以下の式（２０）のように格子点間距離が更新される。
【００８６】
【数２０】
2019244596.tif 000022
【００８７】
距離更新部１１４は、他の格子点間距離も同様に更新する（ステップＳ１５０：距離更新工程）。
【００８８】
＜繰り返し制御＞
繰り返し制御部１１６は、指定された終了条件を満たすまで（ステップＳ１６０でＹＥＳになるまで）、入力データ（複数のデータ）の全てについて、かつ複数の格子点の全てについて、探索部１０８と、データ配分部１１０と、修正ベクトル算出部１１２と、距離更新部１１４と、による処理（探索工程、データ配分工程、修正ベクトル算出工程、距離算出工程）を繰り返させる（ステップＳ１６０：繰り返し制御工程）。どのデータがどの格子点に配分されるかは、これらの処理を繰り返すにつれて変化していく（図１３を参照）。なお、終了条件としては繰り返し回数、処理時間、繰り返し前後での格子点間距離の変化量（例えば、変化量がしきい値以下になる）等を用いることができ、ユーザの操作に応じて終了条件を決定してもよい。
【００８９】
なお、反映関数が格子点間距離の増加に伴って値が速やかに減少する関数である場合（例えば式（１７）の指数関数である場合）、格子点間距離が十分に大きくなった格子点間については結合をいったん切断し、入力データの影響を反映させる処理をスキップしてもよい。ただし、格子点間距離が近づいてきたらまた結合させる必要があるので、格子点間距離自体は毎回全ての組み合わせについて計算する必要がある。このような結合の切断、再結合により計算コストを削減することができる。
【００９０】
＜格子点間距離の情報の出力＞
情報出力部１１８は、上述した繰り返しにより更新された格子点間距離を示す情報を出力する（ステップＳ１７０：情報出力工程）。出力は文字、数字、図形、記号、及び色彩等の組合せにより行うことができ、また記憶部２００への記憶（例えば、格子点分布図２１２として記憶する；図３参照）、モニタ３１０への表示等を行うことができる。なお、例１では格子点分布図を作成及び表示する場合について説明するが、分布図（マップ）の作成及び表示については、不要な場合（例えば、後述する例２において局所安定構造を得ることだけが目的の場合）は省略してもよい。
【００９１】
＜格子点分布図の作成及び表示＞
ステップＳ１７０において格子点間距離を示す情報として格子点分布図を作成する場合について説明する。格子点分布図は、上述した格子点間距離を示す情報に基づいて、格子点の分布（配置及び距離）及び格子点に配分された入力データを以下の手法により２次元空間または３次元空間で表した図である。例１では、多次元尺度法により２次元の分布図を作成する場合について説明する。
【００９２】
図８は格子点分布図の作成処理（ステップＳ１７０における具体的処理の一例）を示すフローチャートである。情報出力部１１８は、２次元空間において格子点の初期配置を設定する（ステップＳ１７２：初期配置設定工程）。具体的には、上述した４つの格子点を、図９のように格子点間距離の平均値＜Ｄ＞の間隔で円形に並べる。そして、情報出力部１１８は格子点間に以下の式（２１）に示すような二乗誤差の評価関数を設定する。
【００９３】
【数２１】
2019244596.tif 000023
【００９４】
式（２１）においてｄ（ｉ，ｊ）は格子点分布図上でのＥｕｃｌｉｄ距離であり、Ｄ（ｉ，ｊ）は上述したＷａｒｄ距離である。
【００９５】
情報出力部１１８は、格子点の配置（初期配置）を調整して指定された評価関数を最小化する（ステップＳ１７４：最小化工程）。評価関数としては例えば以下の式（２２）で示される関数を用いることができる。
【００９６】
【数２２】
2019244596.tif 000024
【００９７】
また、評価関数を最小化する手法としては例えば最急降下法を用いることができるが、これに限定されるものではない。他にも最小化問題の解決手法として種々の手法を用いることができる。
【００９８】
情報出力部１１８は、調整された配置に基づいて格子点分布図を作成し（ステップＳ１７６：格子点分布図作成工程）、作成した格子点分布図を出力する（ステップＳ１７８：格子点分布図出力工程）。ステップＳ１７６での格子点分布図の作成では、各格子点を、格子点に配分された入力データの数に応じた大きさの記号（ここでは円とする）で表すことができる。また、格子点には任意の色を着色でき、例えばｉｒｉｓデータの分布図（上述した図６の出典を参照オリジナル）ではオリジナルは青：Setosa、緑：Versicolor、赤：Virginicaなので、それに対応して着色することができる。具体的には、格子点１〜４をそれぞれ赤、緑、黄、青で着色することができる。
【００９９】
このようにして作成した格子点分布図を図１０に示す。ただし図面のカラー表示が困難なため、図１０では赤、緑、黄、青を黒、濃いグレー、薄いグレー（ドットによる網掛け）、白でそれぞれ表示している。情報出力部１１８は、この格子点分布図をモニタ３１０（表示装置）に表示させることができる。図１０において、１から４の数字は格子点番号を示し、括弧内の数字は各格子点に格納された入力データの数（左から順に青（Setosa）、緑（Versicolor）、赤（Virginica））である。例えば格子点４にはSetosaのデータが５０個配分されており、格子点２にはVersicolorのデータが２４個とVirginicaのデータが１７個配分されている。これは、VersicolorのデータとVirginicaのデータが混ざっていることを意味する。実際、元のｉｒｉｓデータの空間分布（図６参照）においても、そのような結果となっている。このように、本発明に係るデータ処理装置１０、データ処理方法、データ処理プログラム、及び非一時的記録媒体により、実際の空間分布を適切に反映したクラス分類結果が得られた。
【０１００】
＜ＳＯＭとの比較＞
本発明による分類結果を従来技術（ＳＯＭ）と比較した結果について説明する。入力データは上述したｉｒｉｓデータであるが、格子点の数を１６とし、従来技術（ＳＯＭ）及び本発明（ＳＣＴＭ法）により分類した結果を図１１に示す。図１１の（ａ）部分はＳＯＭによる分類結果であり、Setosa（オリジナルのプロットでは青であるが、黒のひし形で表示）やVirginica（オリジナルのプロットでは赤であるが、白の三角で表示）のデータが離れた格子点に分割されてしまっている。一方、図１１の（ｂ）部分はＳＣＴＭ法による分類結果であり、実際の空間分布を適切反映したクラス分類が得られた。
【０１０１】
＜クラス分類の進展の様子＞
上述したように、本発明に係るデータ処理方法では、指定された終了条件を満たすまで探索、データ配分、修正ベクトル算出、距離更新の処理（図４のステップＳ１３０〜ステップＳ１５０）を繰り返す。図１１の（ｂ）部分に示すＳＣＴＭ法の結果について、ステップＳ１３０〜Ｓ１５０の処理を行った回数と、その時点での分類結果との関係を図１３に示す。図１３では、処理を繰り返すにつれて、クラス分類が進展していく様子が分かる。なお、繰り返し回数５７１回の時点で分類が収束したので、処理を終了している。すなわち、この例では終了条件を「クラス分類の収束」としているが、他の条件を終了条件としてもよい。
【０１０２】
以上説明したように、第１の実施形態に係るデータ処理装置１０、データ処理方法、データ処理プログラム、及び非一時的記録媒体によれば、複数の高次元データを適切に分類することができる。
【０１０３】
＜例２：化合物の局所安定構造の抽出＞
一般的に化合物（分子）は環境（温度、ｐＨ等）に依存して異なる構造を取り得るが、例えば薬剤の候補となる化合物を探索する場合等、安定的な構造（エネルギーが低い構造）を取得したい場合がある。しかしながら化合物は周囲の環境等により必ずしも最安定構造（エネルギーが最も低い構造）を取るわけではないので、局所安定構造を多数取得し、その中から尤もらしい構造を抽出することが効果的である。局所安定構造の取得は例えば後述する手法により達成できるので、「取得した局所安定構造の中から、どのようにして尤もらしい構造を抽出するか」が問題となる。
【０１０４】
図１４は化合物の立体構造とエネルギーとの関係を示す概念図である（実際には立体構造は多次元データであり、図１４では便宜上この多次元データを横軸としている）。実際のエネルギー曲面は図１４に示すように複雑に変化しているが、局所安定構造の包絡線の斜面上に存在する立体構造は、熱揺らぎで包絡線（実際には包絡面）上の局所安定構造に落ちていく（変化していく）はずである。したがって、包絡線上の局所安定構造（図１４において矢印で示した個所）を「尤もらしい構造」として抽出すればよいと考えられる。以下、本発明に係るデータ処理装置、データ処理方法、データ処理プログラム、及び非一時的記録媒体により包絡線上の局所安定構造を抽出する手法について説明する。なお、包絡線上の局所安定構造の抽出は上述したデータ処理装置１０により行うことができる。また、抽出処理の手順は、入力データの次元数や格子点数等の条件を覗けば図４のフローチャートについて上述したのと同様に行うことができる。以下では、局所安定構造の抽出に特有な処理を中心に説明する。
【０１０５】
＜データの入力から格子点間距離の更新まで＞
データ入力部１０２は、化合物の局所安定構造と局所安定構造のエネルギーとを関連付けて入力する（ステップＳ１００：データ入力工程）。化合物の局所安定構造及びそのエネルギーは、例えば後述する手法（「化合物の局所安定構造の探索」の項を参照）により求めることができる。入力するデータの次元は化合物（分子）の二面角等の内部座標の数の次元であり、複雑な構造の化合物ほど次元が高くなる。なお、化合物のエネルギーとしては、化合物の立体構造に由来するエネルギー（あるいは自由エネルギー）であれば任意のエネルギーを用いることができる。入力するデータ（局所安定構造）の数は任意であるが、例えば１０００から１００００程度のデータを入力することができる。Ｎ個の局所安定構造を入力した場合、格子点の数はＮ個よりも少なくすることが好ましく、例えばＮ＝１０００の場合格子点の数を１００個とすることができるが、このような値に限定されるものではない。
【０１０６】
ステップＳ１１０〜Ｓ１５０の処理はデータの次元及びデータ数の違いを除けば上述した例１と同様に行うことができるので、詳細な説明を省略する。
【０１０７】
＜局所安定構造の抽出＞
格子点空間（ステップＳ１５０までの処理で格子点間距離が更新された状態）における局所安定構造を、（１）ある格子点に配分された構造のうちで最もエネルギーが低く、かつ（２）その格子点と繋がっている他の全ての格子点に属する構造よりもエネルギーが低い構造と定義する。例えば図１６に示す格子点空間の場合、格子点７０１，７０５に配分された構造が局所安定構造である。図１６では丸印が格子点を示し、格子点間の線は格子点どうしが結合していることを示す。丸の中の数字はその格子点に配分された局所安定構造のエネルギーのうち最小のエネルギー（以下、その格子点の「代表エネルギー」という）を示す。ＳＣＴＭ法において、局所安定構造の抽出を開始する時点では、図１７の（ａ）部分に示すように、格子点空間において一の格子点が他の全ての格子点と結合している。この状態では、局所安定構造は格子点７０５に配分された最安定構造の１つのみである。
【０１０８】
図１５は局所安定構造の抽出処理を示すフローチャートである。繰り返し制御部１１６は、一の格子点と、一の格子点に結合している他の全ての格子点との間で代表エネルギーを比較し（ステップＳ１６２：抽出処理工程）、比較の結果に基づき最小の代表エネルギーに対応する局所安定構造を抽出する（ステップＳ１６４：抽出処理工程）。図１７の（ａ）部分に示す状態では、格子点７０５に配分された構造のみが抽出される。また、繰り返し制御部１１６は格子点どうしの結合を格子点間距離に応じて切断する（ステップＳ１６６：切断処理工程）。具体的には、格子点間距離の長いもの（格子点間の関係が希薄な状態）から順に切断する。図１７の（ｂ）部分は、図１７の（ａ）部分に示す状態から格子点７０１と格子点７０６、格子点７０１と格子点７０８等の結合を切断した状態を示す。なお、図１７は格子点の結合関係を概念的に示したものであり格子点間距離を正確に示したものではないが、説明の便宜上これら格子点間の距離が長いものとする。
【０１０９】
図１７の（ｂ）部分に示す状態で代表エネルギーの比較結果に基づいて局所安定構造を抽出すると（ステップＳ１６２、Ｓ１６４）、この状態においても、局所安定構造は格子点７０５に配分された構造のみである。このような処理を繰り返し、図１７の（ｃ）部分に示す状態で代表エネルギーの比較結果に基づいて局所安定構造を抽出すると（ステップＳ１６２、Ｓ１６４）、この状態では格子点７０１、７０５に配分された構造（２つ）が抽出される。繰り返し制御部１１６は、指定された数の局所安定構造が得られるまで（ステップＳ１６８でＹＥＳになるまで）ステップＳ１６２〜Ｓ１６６の処理を繰り返す。指定された数の局所安定構造が得られたら、図４のステップＳ１７０へ進んでエネルギー分布図（本発明における「格子点間距離を示す情報」の一態様）を出力する。なお、ステップＳ１６２〜Ｓ１６８の処理はデータ処理装置１０の内部処理として実施することができ、局所安定構造を抽出するためにマップ、分布図等を画像として作成する必要はない。マップ、分布図等の画像は必要な場合（例えば、操作部４００を介したユーザの指示があった場合）に作成、表示することができる。
【０１１０】
＜エネルギー分布図の作成及び表示＞
情報出力部１１８は、格子点空間を、格子点の配置及び格子点間距離に応じて２次元空間または３次元空間に射影したエネルギー分布図であって、格子点と格子点の代表エネルギーとの対応を示すエネルギー分布図を作成し、モニタ３１０に表示させる（ステップＳ１７０：情報出力工程）。情報出力部１１８は、格子点に配分された局所安定構造の数に応じた大きさ、かつ格子点の代表エネルギーに応じた色の記号を用いてエネルギー分布図を作成し、表示させることができる。例えば、格子点に配分された局所安定構造の数が多いほど格子点を示す記号を大きくし、代表エネルギーが高い格子点を赤色、低い格子点は青色として表示させることができる。また、エネルギー分布図上での格子点どうしの距離はステップＳ１５０までの処理で更新された格子点間距離とし、結合している格子点は線で結んでもよい。格子点の配置は、上述した例１の場合と同様に、例えば多次元尺度法を用いて決定することができる。
【０１１１】
＜エネルギー分布図の例＞
Ｃ１２（ドデカン）の立体構造１０００個を二面角に基づきＳＣＴＭ法により分類して作成したエネルギー分布図（格子点空間を２次元空間に射影した場合）の例を図１８に示す。最安定構造（全ての二面角が１８０度）が分布図のほぼ中央に配置されている。なお、エネルギー分布図は格子点空間を３次元空間に射影して作成してもよい。
【０１１２】
＜分子構造の分類の実施例：アラニンジペプチドについて＞
アラニンジペプチド（２つのアラニンが結合してできているペプチド）についての分類の実施例について説明する。図１９の（ａ）部分はアラニンジペプチドの構造を示す図である（出典はhttps://www.cp2k.org/exercises:2014_ethz_mmm:alanine_dipeptide）。また、図１９の（ｂ）部分は、分子動力学（ＭＤ：Molecular Dynamics）計算で得た立体構造を二面角φ、ψに着目してプロットした分布である。
【０１１３】
＜従来技術及び本発明の手法による立体構造の分類＞
図２０の（ａ）部分は、アラニンジペプチドの自由エネルギー曲面を示す公知の図である（出典はJ.Phys.ChemB108,19487(2004)）。アラニンジペプチドの自由エネルギー曲面については広く検討されており、上述した分子動力学による立体構造の分布（図１９の（ｂ）部分）と比較すると、分子動力学により得られた立体構造はβ／Ｃ５、Ｃ７ｅｑ、及びＣ７ａｘという３つの局所安定点近傍の構造であることが分かる（図２０の（ｂ）部分を参照）。以下、これらの立体構造がどのように分類されるかについて、従来技術（ＳＯＭ）及び本発明の手法（ＳＣＴＭ法）により確認した結果を説明する。
【０１１４】
＜ＳＯＭによる分類結果＞
図２１の（ａ）部分に示す立体構造をＳＯＭにより分類した結果を図２１の（ｂ）部分に示す。格子点の数は１６個（＝４×４）である。ＳＯＭではβ／Ｃ５の構造がＣ７ｅｑの結果と混ざってしまい、３つの構造群を正しく分類できなかった。
【０１１５】
＜ＳＣＴＭ法による分類結果＞
図２２の（ａ）部分に示す立体構造（図２１の（ａ）部分に示すものと同じ）をＳＣＴＭ法により分類した結果を図２２の（ｂ）部分に示す。ＳＣＴＭ法では３つの構造群（複数の高次元データ）を、位置関係も含めて正しく分類することができており、立体構造の分類に対してもＳＯＭより有効である（複数の高次元データを適切に分類することができる）ことが分かる。
【０１１６】
＜化合物の局所安定構造の探索＞
＜分子安定構造の探索装置＞
上述した例２では化合物の局所安定構造（及びそのエネルギー）を複数入力するが、入力する安定構造を探索する手法の一態様について説明する。具体的には、安定構造は例えば化合物の構造式を取得する構造式取得部と、３次元構造を１つ以上発生させる３次元構造発生部と、３次元構造の内部座標を変更し、エネルギーの低い構造である局所安定構造を得る局所安定構造取得部と、局所安定構造の内部座標と、内部座標における局所安定構造のエネルギーと、を求めるエネルギー取得部と、化合物を構成するそれぞれの原子の内部座標ごとに算出されるエネルギー分布関数であって、局所安定構造の内部座標に対し、局所安定構造のエネルギーの分布を示すエネルギー分布関数を算出するエネルギー分布関数算出部と、エネルギー分布関数から、低エネルギーの内部座標の確率が大きくなる確率分布関数を算出する確率分布関数算出部と、局所安定構造を出力する出力部と、を有し、３次元構造発生部は、取得した化合物の構造式、または、確率分布関数に基づいて３次元構造を発生させる分子安定構造の探索装置を用いて探索することができる。
【０１１７】
＜探索装置の構成＞
上述した分子安定構造の探索装置は図１に示すデータ処理装置１０と同様の構成により実現できるが、探索装置において処理部１００は、データ処理装置１０の一部の構成（図２において点線で囲んだ部分；データ入力部１０２から情報出力部１１８まで）に代えて、またはこれに加えて図２３の点線で囲んだ部分の構成（構造式取得部１３０から表示制御部１４６まで）を備える。構造式取得部１３０は、不図示のＤＶＤドライブ、半導体メモリ用端子等の記録媒体インターフェース及び／またはネットワークを介して化合物の構造式等の情報を取得する。３次元構造発生部１３２は、構造式取得部１３０で取得した化合物の構造式から、構造式の内部座標をランダムに設定し、３次元構造を１つ以上発生させる。また、後述する確率分布関数に基づいて、内部座標を決定し、３次元構造を１つ以上発生させる。局所安定構造取得部１３４は、３次元構造発生部１３２で発生させた３次元構造の内部座標を変更していき、その構造の局所的な構造変形を行い、エネルギーの低い構造である局所安定構造を取得する。具体的には、エネルギーが低くなるように、構造を変形させていき、構造を変形させてもエネルギーが低くならない構造が局所安定構造である。また、局所安定構造取得部１３４は、最安定構造取得部１３６を備え、得られた局所安定構造の中から最もエネルギーの低い最安定構造を取得する。なお、分子安定構造の探索装置及び探索方法において「エネルギー」とは、３次元構造に由来するエネルギーであり、後述する内部座標の１つを変更することに起因するエネルギーを示すものではない。
【０１１８】
エネルギー取得部１３８は、局所安定構造取得部１３４で取得した局所安定構造のエネルギーを取得する。エネルギー分布関数算出部１４０は、局所安定構造の内部座標のそれぞれに対して、局所安定構造のエネルギー（構造エネルギー）の分布を示すエネルギー分布関数を算出する。エネルギー分布関数は、化合物を構成するそれぞれの内部座標ごとに算出される。確率分布関数算出部１４２は、エネルギー分布関数から、低エネルギーとなる内部座標の確率が大きくなる確率分布関数を算出する。
【０１１９】
出力部１４４は、局所安定構造取得部１３４で取得した局所安定構造を出力する。また、最安定構造取得部１３６で得られた最安定構造を出力する。表示制御部１４６は、取得した情報及び処理結果のモニタ３１０への表示を制御する。処理部１００のこれらの機能を用いた分子安定構造の探索方法の処理については、詳細を後述する。分子安定構造の探索に関する処理部１００の各部の機能は、図２について上述したのと同様に、各種のプロセッサ（processor）を用いて実現することができる。なお、これらの機能による処理はＣＰＵ１２０の制御下で行われる。
【０１２０】
記憶部２００には、図３に示す情報に代えて、またはこれに加えて、図２４に示す情報が記憶される。構造情報２５０は化合物の構造式を含む。局所安定構造情報２５２は、構造情報２５０から発生させた３次元構造の内部座標を変更することで得られる局所安定構造の３次元構造情報（内部座標情報）及びそのエネルギー値の情報を含む。また、確率分布関数から発生させた３次元構造の内部座標を変更することで得られる局所安定構造の３次元構造情報（内部座標情報）及びそのエネルギー値の情報を含む。最安定構造情報２５４は、局所安定構造の中で最もエネルギーの低い構造である最安定構造の３次元構造情報（内部座標情報）及びそのエネルギー値の情報を含む。エネルギー分布関数情報２５６は、局所安定構造の１つ内部座標に対して、内部座標に対する局所安定構造のエネルギー（構造エネルギー）の分布を示すエネルギー分布関数を含む。確率分布関数情報２５８は、１つの内部座標に対して、低エネルギーの内部座標の確率が大きくなる確率分布関数を含む。エネルギー分布関数情報２５６及び確率分布関数情報２５８は、化合物を構成する原子の内部座標のそれぞれについて算出エネルギー分布関数及び確率分布関数が含まれる。また、確率分布関数によって発生させた３次元構造から局所安定構造を取得し、得られる局所安定構造の内部座標及びエネルギーをエネルギー分布関数及び確率分布関数に反映させることで、精度の高いエネルギー分布関数及び確率分布関数が得られる。エネルギー分布関数情報２５６及び確率分布関数情報２５８は、これらの局所安定構造の内部座標及びエネルギーが反映されたエネルギー分布関数及び確率分布関数も含む。
【０１２１】
＜表示部及び操作部の構成＞
ユーザは、図１に示すキーボード４１０及びマウス４２０により、モニタ３１０の画面を介して分子安定構造の探索方法の実行に必要な操作を行うことができる。ユーザが実行できる操作には、例えば化合物の構造式の入力、確率分布関数算出時のしきい値の指定、確率分布関数を用いて三次元構造を発生させる際のしきい値の指定等が含まれる。
【０１２２】
＜分子安定構造の探索方法＞
上述した構成の装置において、分子安定構造の探索は化合物の構造式を取得する構造式取得工程と、構造式の内部座標をランダムに設定した３次元構造を１つ以上発生させる第１の３次元構造発生工程と、３次元構造の内部座標を変更し、エネルギーの低い構造である局所安定構造を得る局所安定構造取得工程と、局所安定構造の内部座標と、内部座標における局所安定構造のエネルギーと、を求めるエネルギー取得工程と、化合物を構成する１つまたは複数の内部座標ごとに算出される１次元または多次元のエネルギー分布関数であって、局所安定構造の内部座標に対し、局所安定構造のエネルギーの分布を示すエネルギー分布関数を算出するエネルギー分布関数算出工程と、エネルギー分布関数から、低エネルギーの内部座標の確率が大きくなる確率分布関数を算出する確率分布関数算出工程と、確率分布関数に基づいて、１つ以上の内部座標を同時に変更し、決定した内部座標を用いて３次元構造を１つ以上発生させる第２の３次元構造発生工程と、第２の３次元構造発生工程で発生させた３次元構造を用いて、局所安定構造取得工程、エネルギー取得工程、エネルギー分布関数算出工程、確率分布関数算出工程、及び、第２の３次元構造発生工程、を繰り返す繰り返し工程と、局所安定構造取得工程で得られた複数の局所安定構造、及び、複数の局所安定構造から、エネルギーが最も低い構造の少なくともいずれかを出力する出力工程と、を有する分子安定構造の探索方法により行うことができる。
【０１２３】
上述した探索方法では、まず、構造式から３次元構造を発生させ、内部座標を変更することで局所安定構造を取得し、得られた局所安定構造から、エネルギー分布関数、及び、低エネルギーの内部座標の確率が大きくなる確率分布関数を算出する。そして、この確率分布関数に基づいて３次元構造を発生させ、局所安定構造を取得し、この局所安定構造の内部座標、及び、エネルギーの値を、確率分布関数に反映させていくことで、低エネルギーの構造が得られる内部座標の確率を高くすることができる。したがって、エネルギーの低い局所安定構造を容易に取得することができる。また、繰り返し工程の回数を増やすことで、エネルギーのより低い局所安定構造を得ることができる。したがって、得られた複数の局所安定構造の中から、エネルギーが最も低い構造（最安定構造）の取得を短時間に行うことができる。また、上述した探索方法は、局所的な構造変形による配座探索ではなく、確率分布関数に基づいて、１つ以上の内部座標を同時に変化させながら構造探索を行っているため、多様な局所安定構造を短時間で得ることができる。
【０１２４】
＜探索方法の手順＞
図２５は、化合物の分子安定構造の探索方法を示すフローチャートである。分子安定構造の探索方法は、まず、化合物の構造式を取得する構造式取得工程（ステップＳ１０）と、構造式の内部座標をランダムに設定した３次元構造を１つ以上発生させる第１の３次元構造発生工程（ステップＳ１２）と、発生させた３次元構造から局所安定構造を得る局所安定構造取得工程（ステップＳ１４）と、局所安定構造のエネルギー（構造エネルギー）の値と、局所安定構造のそれぞれの原子の内部座標と、を求めるエネルギー取得工程（ステップＳ１６）と、目的の構造または目的の数の局所安定構造または最安定構造が得られたか否かを判断する工程（ステップＳ１８）と、を有する。
【０１２５】
ステップＳ１８で、目的の構造または目的の数の局所安定構造または最安定構造が得られていないと判断した場合、それぞれの内部座標において、局所安定構造の内部座標に対し、局所安定構造のエネルギーの分布を示すエネルギー分布関数を算出するエネルギー分布関数算出工程（ステップＳ２０）と、エネルギー分布関数から低エネルギーの内部座標の確率が大きくなる確率分布関数を算出する確率分布関数算出工程（ステップＳ２２）と、確率分布関数に基づいて、３次元構造を１つ以上発生させる第２の３次元構造発生工程（ステップＳ２４）と、を有する。エネルギー分布関数は、化合物を構成する１つの内部座標ごとに１次元のエネルギー分布関数を算出してもよく、２つの内部座標を用いて２次元のエネルギー分布関数、または、複数の内部座標を用いて多次元のエネルギー分布関数を算出してもよい。また、確率分布関数算出工程においては、計算を加速するための関数を加算することが好ましい。計算を加速する関数としてはホワイトノイズを挙げることができるが、これに限定されない。
【０１２６】
ステップＳ２４で３次元構造を発生させた後、ステップＳ１４に戻り、この３次元構造から局所安定構造を取得し、局所安定構造の内部座標及びエネルギーの値を取得する。そして、この局所安定構造の内部座標及びエネルギーの値を、今までのエネルギー分布関数及び確率分布関数に反映させる。ステップＳ１４からステップＳ２４を繰り返すことで、ステップＳ２２で得られる確率分布関数を、低いエネルギーが得られる内部座標の確率が大きい確率分布関数とすることができる。そして、この確率分布関数を用いることで、よりエネルギーの低い局所安定構造を得られる確率を高めることができる。
【０１２７】
ステップＳ１８で、目的の構造または目的の数の局所安定構造または最安定構造が得られたと判断した場合は、得られた複数の局所安定構造、及び、局所安定構造の中からエネルギーの最も低い最安定構造を１つ出力する出力工程（ステップＳ２６）と、を有する。ステップＳ１４からステップＳ２４の工程を繰り返すことで、複数の局所安定構造を得ることができる。また、局所安定構造の中から最もエネルギーの低い構造を選ぶことで、得られた構造の中での最安定構造を得ることができる。特定の化合物を除き、得られた最安定構造が真に最安定であるかどうかを客観的に判断することは不可能だが、ステップＳ１４からステップＳ２４の工程を繰り返す回数が多ければ多いほど、得られた最安定構造が真に最安定である確率は高くなる。また、確率分布関数の収束の状況などからも、得られた最安定構造が真に最安定であるかどうかをある程度推定することが可能である。得られた構造の中での最安定構造を得ることで分子安定構造を決定することができる。また、複数の局所安定構造を出力することで、最安定構造がその化合物の実際の立体構造として採用されない際に、次の立体構造の候補を局所安定構造の中から選択することができる。また、複数の局所安定構造を出力することができる。
【０１２８】
以上で本発明の実施形態に関して説明してきたが、本発明は上述した態様に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能である。例えば、例１，例２で説明したｉｒｉｓデータや化合物の立体構造以外の一般のデータについても分類を行うことができる。
【符号の説明】
【０１２９】
１      格子点
２      格子点
３      格子点
４      格子点
１０    データ処理装置
１００  処理部
１０２  データ入力部
１０４  初期値設定部
１０６  距離算出部
１０８  探索部
１１０  データ配分部
１１２  修正ベクトル算出部
１１４  距離更新部
１１６  繰り返し制御部
１１８  情報出力部
１２０  ＣＰＵ
１２２  ＲＯＭ
１２４  ＲＡＭ
１３０  構造式取得部
１３２  ３次元構造発生部
１３４  局所安定構造取得部
１３６  最安定構造取得部
１３８  エネルギー取得部
１４０  エネルギー分布関数算出部
１４２  確率分布関数算出部
１４４  出力部
１４６  表示制御部
２００  記憶部
２０２  入力データ
２０４  参照ベクトル情報
２０６  距離関数情報
２０８  反映関数情報
２１０  格子点間距離情報
２１２  格子点分布図
２１４  エネルギー分布図
２５０  構造情報
２５２  局所安定構造情報
２５４  最安定構造情報
２５６  エネルギー分布関数情報
２５８  確率分布関数情報
３００  表示部
３１０  モニタ
４００  操作部
４１０  キーボード
４２０  マウス
５００  外部サーバ
５１０  外部データベース
７０１  格子点
７０５  格子点
７０６  格子点
７０８  格子点
８０１  格子点
８０２  格子点
８０３  格子点
８０４  格子点
１０００  ネットワーク
Ａ１    格子点
Ａ２    格子点
Ａ３    格子点
Ａ４    格子点
Ｄ      距離関数
Ｓ１０〜Ｓ２６  分子安定構造の探索方法の各ステップ
Ｓ１００〜Ｓ１７８  データ処理方法の各ステップ
φ      二面角
ψ      二面角
【図１】
2019244596.tif 000025
【図２】
2019244596.tif 000026
【図３】
2019244596.tif 000027
【図４】
2019244596.tif 000028
【図５】
2019244596.tif 000029
【図６】
2019244596.tif 000030
【図７】
2019244596.tif 000031
【図８】
2019244596.tif 000032
【図９】
2019244596.tif 000033
【図１０】
2019244596.tif 000034
【図１１】
2019244596.tif 000035
【図１２】
2019244596.tif 000036
【図１３】
2019244596.tif 000037
【図１４】
2019244596.tif 000038
【図１５】
2019244596.tif 000039
【図１６】
2019244596.tif 000040
【図１７】
2019244596.tif 000041
【図１８】
2019244596.tif 000042
【図１９】
2019244596.tif 000043
【図２０】
2019244596.tif 000044
【図２１】
2019244596.tif 000045
【図２２】
2019244596.tif 000046
【図２３】
2019244596.tif 000047
【図２４】
2019244596.tif 000048
【図２５】
2019244596.tif 000049
【手続補正書】
【提出日】令和2年12月8日(2020.12.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
上述した例では第１主成分のみを考慮しているが、第２，第３主成分を考慮して初期値を設定してもよい。また、初期値の設定に主成分分析以外の手法（例えば回帰分析、カーネル主成分分析等、データの統計学的な特徴に基づく手法）を用いてもよい。初期値の設定に用いる方法及び設定条件をユーザの操作に応じて決定してもよい。なお、初期値の設定手法は入力データの空間分布を反映したものであることが好ましい。
【国際調査報告】
2019244596.tif 000050
2019244596.tif 000051