(57)【要約】【課題】識別に不要となるプロトタイプを効率的に削除することができ、メモリ容量の節約と識別速度の高速化を図ることができる情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置を提供すること。【解決手段】本発明に係る情報処理装置は、注目するプロトタイプが属するクラスを示すクラスラベルに基づいて、注目するプロトタイプのクラスから、注目するプロトタイプのクラス以外のクラスに属する全てのプロトタイプから最も近い最近傍プロトタイプを選択する最近傍プロトタイプ選択手段３２と、最近傍プロトタイプ選択手段３２により選択されなかったプロトタイプが注目するクラスに含まれる場合に、プロトタイプを削除するプロトタイプ削除手段３３とを備えるものである。【選択図】図４
2008217242.tif 000002
【特許請求の範囲】
【請求項１】
多次元ベクトルで記述されるプロトタイプが配置される少なくとも１層以上の構造を有し、
任意のクラスに属する多次元ベクトルで記述される入力パターンを識別するための入力パターンの標準的なパターンであるプロトタイプを取得する情報処理装置であって、
注目するプロトタイプが属するクラスを示すクラスラベルに基づいて、当該注目するプロトタイプのクラスから、当該注目するプロトタイプのクラス以外のクラスに属する全てのプロトタイプから最も近い最近傍プロトタイプを選択する最近傍プロトタイプ選択手段と、
前記最近傍プロトタイプ選択手段により選択されなかったプロトタイプが当該注目するクラスに含まれる場合に、当該プロトタイプを削除するプロトタイプ削除手段を備える
ことを特徴とする情報処理装置。
【請求項２】
注目するプロトタイプに対する所定の個数の最近傍プロトタイプを抽出する最近傍プロトタイプ抽出手段と、
前記最近傍プロトタイプ抽出手段により抽出された前記最近傍プロトタイプについて、当該最近傍プロトタイプのクラスラベルの過半数を占めるクラスラベルが、前記注目するプロトタイプのクラスラベルと異なる場合に、前記注目するプロトタイプを削除するノイズプロトタイプ削除手段とを更に備える
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記入力パターンをニューラルネットワークに入力し、当該入力パターンに基づいて、該ニューラルネットワークに配置される多次元ベクトルで記述されるノードを自動的に増加させる自己増殖型ニューラルネットワークである
ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記入力される入力パターンに最も近い重みベクトルを持つノードを第１勝者ノードとし、２番目に近い重みベクトルを持つノードを第２勝者ノードとし、当該第１勝者ノード及び当該第２勝者ノードの間に辺を接続したとき、
注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノード間の距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノード間の距離を類似度閾値として算出する類似度閾値算出手段と、
前記入力ベクトルと前記第１勝者ノード間の距離が当該第１勝者ノードの類似度閾値より大きいか否か、及び、前記入力ベクトルと前記第２勝者ノード間の距離が当該第２勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定手段と、
類似度閾値判定結果に基づいて、前記入力ベクトルをノードとして当該入力ベクトルと同じ位置に挿入するノード挿入手段とを更に備える
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
注目するノードについて、当該注目するノードに直接的に接続される辺の本数に基づいて、当該注目するノードを削除するノード削除手段を更に備える
ことを特徴とする請求項３又は４いずれか１項記載の情報処理装置。
【請求項６】
前記自己増殖型ニューラルネットワークは１層構造である
ことを特徴とする請求項３記載の情報処理装置。
【請求項７】
前記プロトタイプに対して、ｋ−平均アルゴリズムを実行するｋ−平均処理手段を更に備える
ことを特徴とする請求項１乃至６いずれか１項記載の情報処理装置。
【請求項８】
多次元ベクトルで記述されるプロトタイプが配置される少なくとも１層以上の構造を有し、
任意のクラスに属する多次元ベクトルで記述される入力パターンを識別するための入力パターンの標準的なパターンであるプロトタイプを取得する情報処理方法であって、
注目するプロトタイプが属するクラスを示すクラスラベルに基づいて、当該注目するプロトタイプのクラスから、当該注目するプロトタイプのクラス以外のクラスに属する全てのプロトタイプから最も近い最近傍プロトタイプを選択する最近傍プロトタイプ選択ステップと、
前記最近傍プロトタイプ選択手段により選択されなかったプロトタイプが当該注目するクラスに含まれる場合に、当該プロトタイプを削除するプロトタイプ削除ステップとを備える
ことを特徴とする情報処理方法。
【請求項９】
注目するプロトタイプに対する所定の個数の最近傍プロトタイプを抽出する最近傍プロトタイプ抽出ステップと、
前記最近傍プロトタイプ抽出ステップにより抽出された前記最近傍プロトタイプについて、当該最近傍プロトタイプのクラスラベルの過半数を占めるクラスラベルが、前記注目するプロトタイプのクラスラベルと異なる場合に、前記注目するプロトタイプを削除するノイズプロトタイプ削除ステップとを更に備える
ことを特徴とする請求項８記載の情報処理方法。
【請求項１０】
前記入力パターンをニューラルネットワークに入力し、当該入力パターンに基づいて、該ニューラルネットワークに配置される多次元ベクトルで記述されるノードを自動的に増加させる自己増殖型ニューラルネットワークである
ことを特徴とする請求項８又は９記載の情報処理方法。
【請求項１１】
前記入力される入力パターンに最も近い重みベクトルを持つノードを第１勝者ノードとし、２番目に近い重みベクトルを持つノードを第２勝者ノードとし、当該第１勝者ノード及び当該第２勝者ノードの間に辺を接続したとき、
注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノード間の距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノード間の距離を類似度閾値として算出する類似度閾値算出ステップと、
前記入力ベクトルと前記第１勝者ノード間の距離が当該第１勝者ノードの類似度閾値より大きいか否か、及び、前記入力ベクトルと前記第２勝者ノード間の距離が当該第２勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定ステップと、
類似度閾値判定結果に基づいて、前記入力ベクトルをノードとして当該入力ベクトルと同じ位置に挿入するノード挿入ステップとを更に備える
ことを特徴とする請求項１０記載の情報処理方法。
【請求項１２】
注目するノードについて、当該注目するノードに直接的に接続される辺の本数に基づいて、当該注目するノードを削除するノード削除ステップを更に備える
ことを特徴とする請求項１０又は１１いずれか１項記載の情報処理方法。
【請求項１３】
前記自己増殖型ニューラルネットワークは１層構造である
ことを特徴とする請求項１０記載の情報処理方法。
【請求項１４】
前記プロトタイプに対して、ｋ−平均アルゴリズムを実行するｋ−平均処理ステップを更に備える
ことを特徴とする請求項８乃至１３いずれか１項記載の情報処理方法。
【請求項１５】
請求項８乃至１４いずれか１項記載の情報処理をコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
請求項１乃至７いずれか１項記載の情報処理装置を搭載することを特徴とするデータ識別装置。
【請求項１７】
多次元ベクトルで記述されるプロトタイプが配置される少なくとも１層以上の構造を有し、
任意のクラスに属する多次元ベクトルで記述される入力パターンを識別するための入力パターンの標準的なパターンであるプロトタイプを取得するデータマイニング装置であって、
前記入力パターンが属するクラスを示すクラスラベル付きの前記入力パターンをニューラルネットワークに入力し、当該入力パターンに基づいて、多次元ベクトルで記述されるノードを該ニューラルネットワークに挿入する第１のノード挿入手段と、
前記第１のノード挿入手段によりニューラルネットワークに挿入されるノードを入力パターンの標準的なパターンであるプロトタイプとして出力するプロトタイプ出力手段とを備える
ことを特徴とするデータマイニング装置。
【請求項１８】
前記入力される入力パターンに最も近い重みベクトルを持つノードを第１勝者ノードとし、２番目に近い重みベクトルを持つノードを第２勝者ノードとし、当該第１勝者ノード及び当該第２勝者ノードの間に辺を接続したとき、
注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノードまでの距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノードまでの距離を類似度閾値として算出する類似度閾値算出手段と、
前記入力パターンと前記第１勝者ノード間の距離が当該第１勝者ノードの類似度閾値より大きいか否かを判定し、かつ、前記入力パターンと前記第２勝者ノード間の距離が当該第２勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定手段と、
類似度閾値判定結果に基づいて、前記入力パターンをノードとして当該入力ベクトルと同じ位置に挿入する第２のノード挿入手段と、
注目するノードについて、当該注目するノードに接続される辺の本数に基づいて、当該注目するノードを削除するノード削除手段とを更に備える
ことを特徴とする請求項１７記載のデータマイニング装置。
【請求項１９】
注目するノードについて、当該注目するノードに接続される辺の本数に基づいて、当該注目するノードを削除するノード削除手段を更に備える
ことを特徴とする請求項１７記載のデータマイニング装置。
【請求項２０】
前記ニューラルネットワークは１層構造である
ことを特徴とする請求項１７記載のデータマイニング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力パターンを識別するためのプロトタイプを取得する情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置に関する。
【背景技術】
【０００２】
入力パターンの標準的なパターンであるプロトタイプに基づく識別器として、非特許文献１に開示されるｋ−最近傍法（以下、ｋ−ＮＮという。）がよく知られている。ｋ−ＮＮは、機械学習、データマイニング、自然言語処理、情報検索など様々な分野で広く用いられている。
【０００３】
ｋ−ＮＮでは、入力パターンと距離の近い順にｋ個のプロトタイプを選択し、それらプロトタイプのクラスラベルから多数決により入力を識別する。このような識別器を最近傍識別器（以下、ＮＮＣ（ｋ）という。）。ｋ＝１とした場合、１−最近傍法（１−ＮＮ）となる。
ｋ−ＮＮは、（１）少量のデータから学習可能、（２）学習データを容易に追加可能、（３）最適化や複雑な識別関数のモデル化などを必要としない、などの利点を持つ。
【０００４】
一方、プロトタイプに基づく識別器の構成手法は従来から数多くの手法が提案されている。ＮＮＣが一般的に学習データ全てをプロトタイプとする全数記憶方式で識別を行うのに対し、学習データの一部をプロトタイプとして選択する、非特許文献２に開示されるＥｄｉｔｉｎｇ、及び非特許文献３に開示されるＣｏｎｄｅｎｓｉｎｇの手法がある。
【０００５】
また、非特許文献４に開示されるｄｉｒｅｃｔ  ｃｏｎｄｅｎｓｉｎｇは、学習データから識別境界の決定に関係するプロトタイプのみを選択する。この手法は、ＮＮＣの識別性能を低下させることなくプロトタイプ数を削減することができる。
【０００６】
他方、学習データの分布などの情報からプロトタイプを求める手法が提案されている。非特許文献５に開示されるＮｅａｒｅｓｔ  Ｍｅａｎ  Ｃｌａｓｓｉｆｉｅｒ（以下、ＮＭＣという。）は、各クラスの平均、即ち、各クラスに対して一つのプロトタイプを用いた識別を行う。
また、ＮＭＣ以外にも他に、非特許文献５に開示されるｋ−ｍｅａｎｓ  ｃｌａｓｓｉｆｉｅｒ（以下、ＫＭＣという。）、非特許文献６に開示されるＬｅａｒｎｉｎｇ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ（以下、ＬＶＱという。）、その他の手法として非特許文献７、非特許文献８に開示される手法などがある。これらの手法は、過学習を回避する戦略に基づいて、各クラスについて同一定数のプロトタイプを選択する。
【０００７】
また、非特許文献９に開示されるＮｅａｒｅｓｔ  Ｓｕｂｃｌａｓｓ  Ｃｌａｓｓｉｆｉｅｒ（以下、ＮＳＣという。）では、分散抑制パラメタを導入し、各クラスのプロトタイプ数の制限が試みられている。
【非特許文献１】T.M. Cover, P.E. Hart, "Nearest Neighbor Pattern Classification, " IEEE Trans. on Information Theory, vol. IT-13, no. 1, pp. 21--27, 1967.
【非特許文献２】G.W. Gates, "The Reduced Nearest Neighbor Rule," IEEE Trans. on Information Theory, vol.IT-18, no.3, pp.431--433, 1972.
【非特許文献３】B.V. Dasarathy, "Minimal Consistent Set (MCS) Identification for Optimal Nearest Neighbor Decision Systems Design, " IEEE Trans. Systems, Man and Cybernetics, vol. 24, no. 3, pp. 511--517, 1994.
【非特許文献４】和田 俊和, 加藤 丈和, "近接性グラフに基づく効率的Condensingの理論, "信学技報, PRMU, vol.103, no.96, pp.19--24, May, 2003.
【非特許文献５】T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, 2001.
【非特許文献６】T. Kohonen, "Improved Versions of Learning Vector Quantization, " Proc. Int'l Joint Conf. Neural Networks, vol. 1, pp. 545-550, 1990.
【非特許文献７】J.C. Bezdek, L.I. Kuncheva, "Nearest Prototype Classifier Design: An Experimental Study, " Int'l J. Intelligent Systems, vol. 16, pp. 1445-1473, 2001.
【非特許文献８】D.R. Wilson and T.R. Martinez, "Reduction Techniques for Instance-Based Learning Algorithms, " Machine Learning, vol. 38, pp. 257-286, 2000.
【非特許文献９】C.J. Veenman and M.J.T. Reinders, "The Nearest Subclass Classifier: A Compromise between the Nearest Mean and Nearest Neighbor Classifier, " IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 27, no. 9, pp. 1417-1429, 2005.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１に開示されるｋ−ＮＮでは、プロトタイプの全数記憶方式を採用するため、大規模データを用いた際の識別計算量が問題となる。
プロトタイプに基づく識別器の構成において、プロトタイプ数を削減することで、メモリ容量の節約と識別速度の高速化を図ることができるものの、学習データセットから識別に必要なプロトタイプ集合をいかにして求めるかが問題となる。
【０００９】
非特許文献２に開示されるＥｄｉｔｉｎｇ、及び非特許文献３に開示されるＣｏｎｄｅｎｓｉｎｇの手法は学習データの一部を選択するため、いずれもＮＮＣの識別性能を低下させる可能性がある。
【００１０】
非特許文献４に開示されるｄｉｒｅｃｔ  ｃｏｎｄｅｎｓｉｎｇの手法は、学習データが２０次元程度を超える高次元の場合は、選択に要する計算量の観点から利用することが難しい。
【００１１】
非特許文献５に開示されるＮＭＣでは一般的に学習データ、テストデータ共に多くの誤認識が生じる。
また、非特許文献５に開示されるＫＭＣ、非特許文献６に開示されるＬＶＱ、非特許文献７、非特許文献８に開示される手法などは、各クラスについて同一定数のプロトタイプを選択するが、各クラスのデータ分布や密度、およびサンプル数などが異なる場合、最適なプロトタイプ数が各クラスで異なる可能性が十分に考えられる。
【００１２】
非特許文献９に開示されるＮＳＣでは、全てのパターンの特徴は同程度のノイズを含み、教師ラベルのノイズはないものと仮定している。また、学習データのアンダーサンプリングの程度は特徴空間内で一様であると仮定しているが、実用的な学習タスクでは、これらの仮定は必ずしも成り立たない。
ここで、ノイズとは学習データの入力パターンのパターン情報及びクラスラベルに影響を及ぼすものとし、その内容・程度は把握できないものとする。
【００１３】
このように、プロトタイプに基づく従来の識別器構成手法では、識別に不要となるプロトタイプを効率的に削除することができず、メモリ容量の節約と識別速度の高速化を図ることができないという問題がある。
さらに、プロトタイプに基づく従来の識別器構成手法では、教師ラベルにノイズを含むノイズデータを除去することができないという問題がある。
さらにまた、プロトタイプに基づく従来の識別器構成手法では、学習中に学習すべきクラスが増加する追加学習を実施することができないという問題がある。
【００１４】
本発明は係る課題を解決するためになされたものであり、識別に不要となるプロトタイプを効率的に削除することができ、メモリ容量の節約と識別速度の高速化を図ることができる情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置を提供することを第１の目的とする。
さらに、ノイズデータを除去することができる情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置を提供することを第２の目的とする。
さらにまた、学習中に学習すべきクラスが増加する追加学習を実施することができる情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置を提供することを第３の目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る情報処理装置は、多次元ベクトルで記述されるプロトタイプが配置される少なくとも１層以上の構造を有し、任意のクラスに属する多次元ベクトルで記述される入力パターンを識別するための入力パターンの標準的なパターンであるプロトタイプを取得する情報処理装置であって、注目するプロトタイプが属するクラスを示すクラスラベルに基づいて、当該注目するプロトタイプのクラスから、当該注目するプロトタイプのクラス以外のクラスに属する全てのプロトタイプから最も近い最近傍プロトタイプを選択する最近傍プロトタイプ選択手段と、前記最近傍プロトタイプ選択手段により選択されなかったプロトタイプが当該注目するクラスに含まれる場合に、当該プロトタイプを削除するプロトタイプ削除手段とを備えるものである。
【００１６】
これにより、プロトタイプが属するクラスを示すクラスラベルに基づいて、識別に不要となるプロトタイプを削除することができる。
従って、プロトタイプを保持するためのメモリ使用量を大幅に削減することができると共に、プロトタイプを用いて識別を実施する際の識別速度を大幅に向上させることができる。
【００１７】
また、注目するプロトタイプに対する所定の個数の最近傍プロトタイプを抽出する最近傍プロトタイプ抽出手段と、前記最近傍プロトタイプ抽出手段により抽出された前記最近傍プロトタイプについて、当該最近傍プロトタイプのクラスラベルの過半数を占めるクラスラベルが、前記注目するプロトタイプのクラスラベルと異なる場合に、前記注目するプロトタイプを削除するノイズプロトタイプ削除手段とを更に備えるようにしてもよい。
【００１８】
これにより、プロトタイプについて、その周囲に位置するプロトタイプとは異なるラベルを持つプロトタイプをノイズと見なして削除することができる。
【００１９】
さらに、前記入力パターンをニューラルネットワークに入力し、当該入力パターンに基づいて、該ニューラルネットワークに配置される多次元ベクトルで記述されるノードを自動的に増加させる自己増殖型ニューラルネットワークであるようにしてもよい。
【００２０】
このように、ノードを自動的に増加させることで、入力パターン空間からランダムに入力パターンが与えられる定常的な環境に限られず、例えば一定期間毎に入力パターンの属するクラスが切替えられて、切替後のクラスからランダムに入力パターンが与えられる非定常的な環境に対応することができる。
【００２１】
さらにまた、入力される入力パターンに最も近い重みベクトルを持つノードを第１勝者ノードとし、２番目に近い重みベクトルを持つノードを第２勝者ノードとし、当該第１勝者ノード及び当該第２勝者ノードの間に辺を接続したとき、注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノード間の距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノード間の距離を類似度閾値として算出する類似度閾値算出手段と、前記入力ベクトルと前記第１勝者ノード間の距離が当該第１勝者ノードの類似度閾値より大きいか否か、及び、前記入力ベクトルと前記第２勝者ノード間の距離が当該第２勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定手段と、類似度閾値判定結果に基づいて、前記入力ベクトルをノードとして当該入力ベクトルと同じ位置に挿入するノード挿入手段とを更に備えるようにしてもよい。
【００２２】
このように、類似度閾値に基づいてノードの挿入を判断することで、ノード数を自律的に管理することができる。
これにより、入力パターン空間からランダムに入力パターンが与えられる定常的な環境に限られず、例えば一定期間毎に入力パターンの属するクラスが切替えられて、切替後のクラスからランダムに入力パターンが与えられる非定常的な環境に対応することができる共に、このような非定常的な環境において必要とされる、新しいクラスを追加的に学習する追加学習を実施することができる。
【００２３】
また、注目するノードについて、当該注目するノードに直接的に接続される辺の本数に基づいて、当該注目するノードを削除するノード削除手段を更に備えるようにしてもよい。
【００２４】
これにより、ノードに接続される辺の本数に基づいてノードをノイズノードと見なして削除することで、ノイズノードを効率的に削除することができると共に、識別精度をより向上させることができる。
【００２５】
さらに、前記自己増殖型ニューラルネットワークは１層構造であるようにしてもよい。
【００２６】
このように、１層構造とすることで、２層目の学習を開始するタイミングを指定せずに追加学習を実施することができる。
また、非特許文献：F. Shen and O. Hasegawa, "An Incremental Network for On-line Unsupervised Classification and Topology Learning, " Neural Networks, vol. 19, pp. 90-106, 2006.に開示された技術であるSelf-Organizing Incremental Neural Network（以下、ＳＯＩＮＮという。）と比べて、学習に際して事前に指定するパラメタの数を減少させることができ、より簡単に学習を実施することができる。
【００２７】
さらにまた、前記プロトタイプに対して、ｋ−平均アルゴリズムを実行するｋ−平均処理手段を更に備えるようにしてもよい。
【００２８】
これにより、サブクラスタの重心付近に位置するプロトタイプをサブクラスタの重心に移動させることができ、より出力結果を安定させることができる。
【００２９】
本発明に係る情報処理方法は、多次元ベクトルで記述されるプロトタイプが配置される少なくとも１層以上の構造を有し、任意のクラスに属する多次元ベクトルで記述される入力パターンを識別するための入力パターンの標準的なパターンであるプロトタイプを取得する情報処理方法であって、注目するプロトタイプが属するクラスを示すクラスラベルに基づいて、当該注目するプロトタイプのクラスから、当該注目するプロトタイプのクラス以外のクラスに属する全てのプロトタイプから最も近い最近傍プロトタイプを選択する最近傍プロトタイプ選択ステップと、前記最近傍プロトタイプ選択手段により選択されなかったプロトタイプが当該注目するクラスに含まれる場合に、当該プロトタイプを削除するプロトタイプ削除ステップとを備えるようにしてもよい。
【００３０】
本発明に係るプログラムは、上述のような情報処理をコンピュータに実行させるものである。
【００３１】
本発明に係るデータ識別装置は、前記情報処理装置を搭載するものである。
【００３２】
本発明に係るデータマイニング装置は、多次元ベクトルで記述されるプロトタイプが配置される少なくとも１層以上の構造を有し、任意のクラスに属する多次元ベクトルで記述される入力パターンを識別するための入力パターンの標準的なパターンであるプロトタイプを取得するデータマイニング装置であって、前記入力パターンが属するクラスを示すクラスラベル付きの前記入力パターンをニューラルネットワークに入力し、当該入力パターンに基づいて、多次元ベクトルで記述されるノードを該ニューラルネットワークに挿入する第１のノード挿入手段と、前記第１のノード挿入手段によりニューラルネットワークに挿入されるノードを入力パターンの標準的なパターンであるプロトタイプとして出力するプロトタイプ出力手段とを備えるものである。
【００３３】
このように、ノードを自動的に増加させることで、入力パターン空間からランダムに入力パターンが与えられる定常的な環境に限られず、例えば一定期間毎に入力パターンの属するクラスが切替えられて、切替後のクラスからランダムに入力パターンが与えられる非定常的な環境に対応することができる。
【００３４】
また、入力される入力パターンに最も近い重みベクトルを持つノードを第１勝者ノードとし、２番目に近い重みベクトルを持つノードを第２勝者ノードとし、当該第１勝者ノード及び当該第２勝者ノードの間に辺を接続したとき、注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノードまでの距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノードまでの距離を類似度閾値として算出する類似度閾値算出手段と、前記入力パターンと前記第１勝者ノード間の距離が当該第１勝者ノードの類似度閾値より大きいか否かを判定し、かつ、前記入力パターンと前記第２勝者ノード間の距離が当該第２勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定手段と、類似度閾値判定結果に基づいて、前記入力パターンをノードとして当該入力ベクトルと同じ位置に挿入する第２のノード挿入手段と、注目するノードについて、当該注目するノードに接続される辺の本数に基づいて、当該注目するノードを削除するノード削除手段とを更に備えるようにしてもよい。
【００３５】
このように、類似度閾値に基づいてノードの挿入を判断することで、ノード数を自律的に管理することができる。
これにより、入力パターン空間からランダムに入力パターンが与えられる定常的な環境に限られず、例えば一定期間毎に入力パターンの属するクラスが切替えられて、切替後のクラスからランダムに入力パターンが与えられる非定常的な環境に対応することができる共に、このような非定常的な環境において必要とされる、新しいクラスを追加的に学習する追加学習を実施することができる。
【００３６】
さらに、注目するノードについて、当該注目するノードに接続される辺の本数に基づいて、当該注目するノードを削除するノード削除手段を更に備えるようにしてもよい。
【００３７】
これにより、ノードに接続される辺の本数に基づいてノードをノイズノードと見なして削除することで、ノイズノードを効率的に削除することができると共に、識別精度をより向上させることができる。
【００３８】
さらにまた、前記ニューラルネットワークは１層構造であるようにしてもよい。
【００３９】
このように、１層構造とすることで、２層目の学習を開始するタイミングを指定せずに追加学習を実施することができる。
また、ＳＯＩＮＮと比べて、学習に際して事前に指定するパラメタの数を減少させることができ、より簡単に学習を実施することができる。
【発明の効果】
【００４０】
本発明によれば、識別に不要となるプロトタイプを効率的に削除することができ、メモリ容量の節約と識別速度の高速化を図ることができる情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置を提供することができる。
さらに、ノイズデータを除去することができる情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置を提供することができる。
さらにまた、学習中に学習すべきクラスが増加する追加学習を実施することができる情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置を提供することができる。
【発明を実施するための最良の形態】
【００４１】
発明の実施の形態１．
図１は、本実施の形態１に係る情報処理装置を実現するためのシステム構成の一例を示す図である。情報処理装置は、専用コンピュータ、パーソナルコンピュータ（ＰＣ）などのコンピュータにより実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図１に示すように、コンピュータ１０は、ＣＰＵ１１（Central Processing Unit）、ＲＯＭ１２（Read Only Memory）及びＲＡＭ１３（Random Access Memory）を有し、これらがバス１４を介して相互に接続されている。尚、コンピュータを動作させるためのＯＳソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然備えているものとする。
【００４２】
バス１４には又、入出力インターフェイス１５も接続されている。入出力インターフェイス１５には、例えば、キーボード、マウス、センサなどよりなる入力部１６、ＣＲＴ、ＬＣＤなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部１７、ハードディスクなどより構成される記憶部１８、モデム、ターミナルアダプタなどより構成される通信部１９などが接続されている。
【００４３】
ＣＰＵ１１は、ＲＯＭ１２に記憶されている各種プログラム、又は記憶部１８からＲＡＭ１３にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば最近傍プロトタイプ選択手段３４やプロトタイプ削除手段３５における処理を実行する。ＲＡＭ１３には又、ＣＰＵ１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００４４】
通信部１９は、例えば図示しないインターネットを介しての通信処理を行ったり、ＣＰＵ１１から提供されたデータを送信したり、通信相手から受信したデータをＣＰＵ１１、ＲＡＭ１３、記憶部１８に出力したりする。記憶部１８はＣＰＵ１１との間でやり取りし、情報の保存・消去を行う。通信部１９は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。
【００４５】
入出力インターフェイス１５は又、必要に応じてドライブ２０が接続され、例えば、磁気ディスク２０１、光ディスク２０２、フレキシブルディスク２０３、又は半導体メモリ２０４などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部１８にインストールされる。
【００４６】
続いて、本実施形態に係る情報処理装置１における各処理について、その主な処理を図２に示す機能ブロック図を用いて説明する。ハードウェア上は、各処理は実際にはソフトウェアと上記ＣＰＵ１１などのハードウェア資源とが協働して実現している。
【００４７】
情報処理装置１は、ｎ次元ベクトルで記述されるノードが配置される少なくとも１層以上の構造のニューラルネットワークを有し、入力情報取得手段２１、勝者ノード探索手段２２、類似度閾値算出手段２３、類似度閾値判定手段２４、ノード挿入手段２５、重みベクトル更新手段２６、辺接続判定手段２７、辺接続手段２８、辺削除手段２９、ノイズノード削除手段３０、ｋ−平均処理手段３１、最近傍プロトタイプ抽出手段３２、ノイズプロトタイプ削除手段３３、最近傍プロトタイプ選択手段３４、プロトタイプ削除手段３５、プロトタイプ出力手段３６を含む。
【００４８】
ここで、勝者ノード探索手段２２、類似度閾値算出手段２３、類似度閾値判定手段２４、ノード挿入手段２５、重みベクトル更新手段２６、辺接続判定手段２７、辺接続手段２８、辺削除手段２９、及びノイズノード削除手段３０は、後述するＳ３０２においてａｄｊｕｓｔｅｄ  ＳＯＩＮＮ処理を実施する。
ｋ−平均処理手段３１は後述するＳ３０３においてｋ−平均法実行処理を実施する。
最近傍プロトタイプ抽出手段３２及びノイズプロトタイプ削除手段３３は、後述するＳ３０４においてｎｏｉｓｅ−ｒｅｄｕｃｔｉｏｎ実行処理を実施する。
最近傍プロトタイプ選択手段３４及びプロトタイプ削除手段３５は、後述するＳ３０５においてｃｅｎｔｅｒ−ｃｌｅａｎｉｎｇ実行処理を実施する。
プロトタイプ出力手段３６は後述するＳ３０６においてプロトタイプ出力処理を実施する。
【００４９】
本実施形態においては、情報処理装置１を構成するニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであり、１層構造を有するものとして以下説明する。
尚、本実施形態においては、自己増殖型ニューラルネットワークであるＳＯＩＮＮを改良した技術であるａｄｊｕｓｔｅｄ  ＳＯＩＮＮを使用する。ａｄｊｕｓｔｅｄ  ＳＯＩＮＮの基礎であるＳＯＩＮＮは、ノード数を自律的に管理することにより非定常的な入力を学習することができ、分布に複雑な形状を持つクラスに対しても適切なクラス数及び位相構造を抽出できるなど多くの利点を持つ。ＳＯＩＮＮの応用例として、例えばパターン認識においては、ひらがな文字のクラスを学習させた後に、カタカナ文字のクラスなどを追加的に学習させることができる。
【００５０】
ＳＯＩＮＮに基づいたａｄｊｕｓｔｅｄ  ＳＯＩＮＮを使用することで、自己増殖型ニューラルネットワークを用いてノードを自動的に増加させることができるため、入力パターン空間からランダムに入力パターンが与えられる定常的な環境に限られず、例えば一定期間毎に入力パターンの属するクラスが切替えられて、切替後のクラスからランダムに入力パターンが与えられる非定常的な環境にも対応することができる。
さらにまた、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮの構造を１層構造とすることで、２層構造を有するＳＯＩＮＮでは必要とされる２層目の学習を開始するタイミングを指定せずに追加学習を実施することができる。
また、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮはＳＯＩＮＮと比べて、学習に際して事前に指定するパラメタの数を少なくすることができ、より簡単に学習を実施することができる。
【００５１】
以下、本実施形態における情報処理装置の理解を容易にするため、まずＳＯＩＮＮに基づくａｄｊｕｓｔｅｄ  ＳＯＩＮＮによる学習を説明する。
【００５２】
ａｄｊｕｓｔｅｄ  ＳＯＩＮＮは、入力情報取得手段２１、勝者ノード探索手段２２、類似度閾値算出手段２３、類似度閾値判定手段２４、ノード挿入手段２５、重みベクトル更新手段２６、辺接続判定手段２７、辺接続手段２８、辺削除手段２９、ノイズノード削除手段３０を含む。
【００５３】
入力情報取得手段２１は、情報処理装置１に入力として与えられる情報として、任意のクラスに属するｎ次元の入力パターンを取得する。そして、取得された入力パターンを一時記憶部（例えばＲＡＭ１３）に格納し、一時記憶部に格納されたニューラルネットワークに対して順次入力する。
【００５４】
勝者ノード探索手段２２は、一時記憶部に格納される入力パターンに最も近い重みベクトルを持つノードを第１勝者ノードとし、２番目に近い重みベクトルを持つノードを第２勝者ノードとして探索し、その結果を一時記憶部に格納する。
即ち、ｎ次元の入力パターンξに対して、一時記憶部に格納される以下の式を満足するノードを、それぞれ第１勝者ノードａ1及び第２勝者ノードａ2として探索し、その結果を一時記憶部に格納する。
【数１】
2008217242.tif 000003
【数２】
2008217242.tif 000004
ここで、ａは一時記憶部に格納されたノード集合Ａに含まれるノードであり、Ｗａは一時記憶部に格納されたノードａの重みベクトルを示す。
【００５５】
類似度閾値算出手段２３は、一時記憶部に格納されたノード及びノードの類似度閾値について、注目するノードについて、注目するノードと辺によって直接的に接続されるノード（以下、隣接ノードという。）が存在する場合には、隣接ノードのうち注目するノードからの距離が最大であるノードまでの距離を類似度閾値として算出し、その結果を一時記憶部に格納し、隣接ノードが存在しない場合には、注目するノードからの距離が最小であるノードまでの距離を類似度閾値として算出し、その結果を一時記憶部に格納する。
具体的には、例えば以下のようにして注目するノードの類似度閾値を算出し、その結果を一時記憶部に格納する。
Ｓ１０１：類似度閾値算出手段２３は、新しく挿入され一時記憶部に格納されたノードｉの類似度閾値Tiを＋∞（十分大きな値）に設定し、その結果を一時記憶部に格納する。
Ｓ１０２：一時記憶部に格納されたノードについて、ノードｉが入力ベクトルから最も近いノードまたは２番目に近いノードとなった場合に、ノードｉが隣接ノードを持つか否かを判定し、その結果を一時記憶部に格納する。
Ｓ１０３：一時記憶部に格納された判定の結果、隣接ノードを持つ場合には、一時記憶部に格納された類似度閾値及びノードについて、類似度閾値Tiを隣接ノードへの最大距離とし、その結果を一時記憶部に格納する。
即ち、ノードｉについて、一時記憶部に格納される以下の式に基づいて類似度閾値Tiを算出し、その結果を一時記憶部に格納する。
【数３】
2008217242.tif 000005
ここで、ｃは一時記憶部に格納されたノードｉの隣接ノード集合Ｎｉに含まれるノードであり、Ｗｃは一時記憶部に格納されたノードｃの重みベクトルを示す。
Ｓ１０４：判定の結果、隣接ノードを持たない場合には、ノードｉからノードｉを除いた他の各ノードへの距離を算出し、算出された距離のうち最小の距離を類似度閾値Tiとする。
即ち、ノードｉについて、一時記憶部に格納される以下の式に基づいて類似度閾値Tiを算出し、その結果を一時記憶部に格納する。
【数４】
2008217242.tif 000006
【００５６】
類似度閾値判定手段２４は、一時記憶部に格納された入力ベクトル、ノード及び、ノードの類似度閾値について、入力ベクトル及びと第１勝者ノード間の距離が第１勝者ノードの類似度閾値より大きいか否か、及び、入力ベクトルと第２勝者ノード間の距離が第２勝者ノードの類似度閾値より大きいか否かを判定し、その結果を一時記憶部に格納する。
即ち、一時記憶部に格納される以下の式に示すように、入力ベクトルξと第１勝者ノードａ1の間の距離が類似度閾値Ｔａ1よりも大きいか否かを判定しその結果を一時記憶部に格納すると共に、入力ベクトルξと第２勝者ノードａ2の間の距離が類似度閾値Ｔａ2よりも大きいか否かを判定しその結果を一時記憶部に格納する。
【数５】
2008217242.tif 000007
【００５７】
ノード挿入手段２５は、一時記憶部に格納された類似度閾値判定手段２４による判定結果に基づいて、一時記憶部に格納された入力パターンを新たなノードとして、入力パターンと同じ位置に挿入し、その結果を一時記憶部に格納する。
【００５８】
重みベクトル更新手段２６は、一時記憶部に格納されたノードの重みベクトルについて、第１勝者ノードの重みベクトル及び第１勝者ノードの隣接ノードの重みベクトルをそれぞれ入力ベクトルに更に近づけるように更新し、その結果を一時記憶部に格納する。
第１勝者ノードａ1の重みベクトルの更新量ΔＷａ1、及び第１勝者ノードａ1の隣接ノードｉの重みベクトルの更新量ΔＷａｉは、例えば一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
【数６】
2008217242.tif 000008
【数７】
2008217242.tif 000009
ここで、ε1（ｔ）及びε2（ｔ）はそれぞれ一時記憶部に格納される以下の式に基づいて算出する。
【数８】
2008217242.tif 000010
【数９】
2008217242.tif 000011
【００５９】
辺接続判定手段２７は、一時記憶部に格納されたノードについて、第１勝者ノード及び第２勝者ノード間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
【００６０】
辺接続手段２８は、一時記憶部に格納された辺接続判定手段２７の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。
辺削除手段２９は、一時記憶部に格納された辺接続判定手段２７の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間の辺を削除し、その結果を一時記憶部に格納する。
【００６１】
ノイズノード削除手段３０は、一時記憶部に格納されたノード及び隣接ノード数について、注目するノードについて、注目するノードの隣接ノードの個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納する。
【００６２】
図３は、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮによる学習処理を説明するためのフローチャートである。以下、図３を用いてａｄｊｕｓｔｅｄ  ＳＯＩＮＮの処理を説明する。
Ｓ２０１：入力情報取得手段２１は、ランダムに２つの入力パターンを取得し、ノード集合Ａをそれらに対応する２つのノードのみを含む集合として初期化し、その結果を一時記憶部に格納する。また、辺集合Ｃ⊂Ａ×Ａを空集合として初期化し、その結果を一時記憶部に格納する。
Ｓ２０２：入力情報取得手段２１は、新しい入力パターンξを入力し、その結果を一時記憶部に格納する。
Ｓ２０３：勝者ノード探索手段２２は、一時記憶部に格納された入力パターン及びノードについて、入力パターンξに最も近い重みベクトルを持つ第１勝者ノードａ1及び２番目に近い重みベクトルを持つ第２勝者ノードａ2を探索し、その結果を一時記憶部に格納する。
【００６３】
Ｓ２０４：類似度閾値判定手段２４は、一時記憶部に格納された入力パターン、ノード、ノードの類似度閾値について、入力パターンξと第１勝者ノードａ1間の距離が第１勝者ノードａ1の類似度閾値T1より大きいか否か、及び、入力パターンξと第２勝者ノードａ2間の距離が第２勝者ノードａ2の類似度閾値T2より大きいか否かを判定し、その結果を一時記憶部に格納する。
ここで、一時記憶部に格納された第１勝者ノードａ1の類似度閾値T1及び第２勝者ノードａ2の類似度閾値T2は、上述のＳ１０１乃至Ｓ１０４において示したように類似度閾値算出手段２３により算出され、その結果が一時記憶部に格納される。
Ｓ２０５：一時記憶部に格納されたＳ２０４における判定の結果、入力パターンξと第１勝者ノードａ1間の距離が第１勝者ノードａ1の類似度閾値T1より大きい、又は、入力パターンξと第２勝者ノードａ2間の距離が第２勝者ノードａ2の類似度閾値T2より大きい場合には、ノード挿入手段２５は、一時記憶部に格納された入力パターン及びノードについて、入力パターンξを新たなノードｉとして、入力パターンξと同じ位置に挿入し、その結果を一時記憶部に格納する。
【００６４】
Ｓ２０６：一方、一時記憶部に格納されたＳ２０４における判定の結果、入力パターンξと第１勝者ノードａ1間の距離が第１勝者ノードａ1の類似度閾値T1以下であり、かつ、入力パターンξと第２勝者ノードａ2間の距離が第２勝者ノードａ2の類似度閾値T2以下である場合には、辺接続判定手段２７は、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノードａ1及び第２勝者ノードａ2間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
【００６５】
Ｓ２０７：一時記憶部に格納されたＳ２０６における判定の結果、第１勝者ノードａ1及び第２勝者ノードａ2間に辺を生成して接続する場合には、辺接続手段２８は、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。
そして、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮは、一時記憶部に格納された辺及び辺の年齢について、新しく生成された辺、及び、既にノード間に辺が生成されていた場合にはその辺について、辺の年齢を０に設定しその結果を一時記憶部に格納し、第１勝者ノードａ1と直接的に接続される辺の年齢をインクリメントし（１増やす）、その結果を一時記憶部に格納する。
一方、一時記憶部に格納されたＳ２０６における判定の結果、第１勝者ノードａ1及び第２勝者ノードａ2間に辺を接続しない場合には、Ｓ２０８へと処理を進めるが、既にノード間に辺が生成されていた場合には、辺削除手段２９は、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノードａ1及び第２勝者ノードａ2間の辺を削除し、その結果を一時記憶部に格納する。
次いで、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮは、一時記憶部に格納された第１勝者ノードａ1が第１勝者ノードとなった累積回数Ｍａ1をインクリメントし（１増やす）、その結果を一時記憶部に格納する。
【００６６】
Ｓ２０８：重みベクトル更新手段２６は、一時記憶部に格納されたノード及びノードの重みベクトルについて、第１勝者ノードａ1の重みベクトル及び第１勝者ノードａ1の隣接ノードの重みベクトルをそれぞれ入力パターンξに更に近づけるように更新し、その結果を一時記憶部に格納する。
ここで、重みベクトルの更新量の算出には、一時記憶部に格納されるＭａ1をｔとして使用する。
Ｓ２０９：ａｄｊｕｓｔｅｄ  ＳＯＩＮＮは、一時記憶部に格納された辺について、予め設定され一時記憶部に格納された閾値ａｇｅｔを超えた年齢を持つ辺を削除し、その結果を一時記憶部に格納する。尚、ａｇｅｔはノイズなどの影響により誤って生成される辺を削除するために使用する。ａｇｅｔに小さな値を設定することにより、辺が削除されやすくなりノイズによる影響を防ぐことができるものの、値を極端に小さくすると、頻繁に辺が削除されるようになり学習結果が不安定になる。一方、極端に大きな値をａｇｅｔに設定すると、ノイズの影響で生成された辺を適切に取り除くことができない。これらを考慮して、パラメタａｇｅｔは実験により予め算出し一時記憶部に格納される。
Ｓ２１０：ａｄｊｕｓｔｅｄ  ＳＯＩＮＮは、一時記憶部に格納された与えられた入力パターンξの総数について、与えられた入力パターンξの総数が予め設定され一時記憶部に格納されたλの倍数であるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力パターンの総数がλの倍数でない場合にはＳ２０２へと戻り、次の入力パターンξを処理する。
一方、入力パターンξの総数がλの倍数となった場合には以下の処理を実行する。
尚、λはノイズと見なされるノードを削除する周期である。λに小さな値を設定することにより、頻繁にノイズ処理を実施することができるものの、値を極端に小さくすると、実際にはノイズではないノードを誤って削除してしまう。一方、極端に大きな値をλに設定すると、ノイズの影響で生成されたノードを適切に取り除くことができない。これらを考慮して、パラメタλは実験により予め算出し一時記憶部に格納される。
【００６７】
Ｓ２１１：ノイズノード削除手段３０は、一時記憶部に格納されたノードについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。
Ｓ２１２：ａｄｊｕｓｔｅｄ  ＳＯＩＮＮは、一時記憶部に格納された与えられた入力パターンξの総数について、与えられた入力パターンξの総数が予め設定されたＬＴの倍数であるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力パターンの総数がＬＴの倍数でない場合にはＳ２０２へと戻り、次の入力パターンξを処理する。
一方、入力パターンξの総数がＬＴの倍数となった場合には以下の処理を実行する。
【００６８】
Ｓ２１３：ａｄｊｕｓｔｅｄ  ＳＯＩＮＮは、一時記憶部に格納されたノードをプロトタイプとして出力する。以上の処理を終了した後、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮによる学習を停止する。
【００６９】
ｋ−平均処理手段３１は、一時記憶部に格納されたプロトタイプに対して、ｋ−平均アルゴリズムを実行し、その結果を一時記憶部に格納する。
さらに、ｋ−平均処理手段３１は、一時記憶部に格納されたプロトタイプについて、注目するプロトタイプに対して最近傍となるクラスタの重心を算出し、当該注目するプロトタイプをｍ個のクラスタに分類するプロトタイプ分類部と、注目するクラスタに含まれるプロトタイプのベクトルの平均値を算出し、当該算出したプロトタイプのベクトルの平均値を当該注目するクラスタの新たなクラスタ重心として算出するクラスタ重心算出部を有する。
【００７０】
ここで、ｋ−平均アルゴリズムについて説明する。
非特許文献５に開示される技術であるｋ−平均アルゴリズムは、教師なしデータ集合からクラスタとそのクラスタの重心を探索する手法である。
本実施形態における情報処理装置はａｄｊｕｓｔｅｄ  ＳＯＩＮＮの学習結果であるノードをプロトタイプとして用いて、プロトタイプの数をクラスタ数に設定し、プロトタイプの位置をクラスタの重心の初期値に設定する。
これは、ｋ−平均アルゴリズムは、クラスタの重心の初期値によって結果が大きく変化するため、事前に決定するクラスタ数ｍ及びクラスタの重心の初期値を、どのように設定するかが課題となることを考慮したためである。
【００７１】
具体的には、例えば以下のようにして一時記憶部に格納された学習データであるプロトタイプについて、そのクラスタの重心を探索し、その結果を一時記憶部に格納する。尚、クラスタの重心の初期値をｃｊ（０）（ｊ＝１，・・・，ｍ）とし、一時記憶部に格納する。
Ｓ３０１：プロトタイプ分類部は、一時記憶部に格納されたプロトタイプｘｉ（ｉ＝１，・・・，ｎ）を最近傍則を用いて分類し、その結果を一時記憶部に格納する。尚、分類結果は例えば一時記憶部に格納されるｎ×ｍ行列Ｓの要素ｓｉｊとして格納する。行列Ｓは、一時記憶部に格納されたプロトタイプ及びクラスタの重心に基づいて、プロトタイプｘｉ及びクラスタｊの重心ｃｊ間の距離が、プロトタイプｘｉ及びクラスタｐの重心ｃｐ間の距離のうちで最小となる場合（即ち、ｄ（ｘｉ，ｃｊ（ｋ））＝ｍｉｎｐ（ｘｉ，ｃｐ（ｋ））である場合）には要素ｉｊを１とし、その結果を一時記憶部に格納し、それ以外の場合には要素ｉｊを０とし、その結果を一時記憶部に格納する。
【００７２】
Ｓ３０２：クラスタ重心算出部は、一時記憶部に格納された行列Ｓに基づいて、クラスタに含まれるプロトタイプのベクトルの平均値を算出しその結果を一時記憶部に格納し、一時記憶部に格納されたプロトタイプのベクトルの平均値をクラスタの新たなクラスタ重心として算出し、その結果を一時記憶部に格納する。尚、クラスタの重心は例えば一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
【数１０】
2008217242.tif 000012
Ｓ３０３：ｃｊ（ｊ＝１，・・・，ｍ）の変化が収束するまでＳ３０１、Ｓ３０２を繰り返す。
【００７３】
これにより、ｋ−平均処理手段３１によれば、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮによって生成され、サブクラスタの重心付近に位置するプロトタイプをサブクラスタの重心に移動することができる。
本実施形態における情報処理装置では、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮの学習結果が入力パターンの入力順序に影響されるため、同一環境であっても入力順序によってプロトタイプの数やその位置が異なるものの、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮによって生成されたプロトタイプは入力のトポロジを表しているため、サブクラスタの重心付近に位置する。
従って、ｋ−平均処理手段３１を用いてａｄｊｕｓｔｅｄ  ＳＯＩＮＮの学習結果であるプロトタイプの位置を移動させることで、本実施形態における情報処理装置による出力結果の安定を図ることができる。
【００７４】
最近傍プロトタイプ抽出手段３２は、一時記憶部に格納されたプロトタイプについて、注目するプロトタイプについて、所定の個数の最近傍プロトタイプを抽出し、その結果を一時記憶部に格納する。
尚、最近傍プロトタイプとは、注目するプロトタイプの重みベクトルに最も近い重みベクトルを持つプロトタイプを示す。
【００７５】
ノイズプロトタイプ削除手段３３は、一時記憶部に格納されたプロトタイプ及びプロトタイプのクラスラベルについて、最近傍プロトタイプ抽出手段３２により抽出された最近傍プロトタイプについて、最近傍プロトタイプのクラスラベルの過半数を占めるクラスラベルが、注目するプロトタイプのクラスラベルと異なる場合に、注目するプロトタイプを削除し、その結果を一時記憶部に格納する。
【００７６】
最近傍プロトタイプ選択手段３４は、一時記憶部に格納されたプロトタイプ及びプロトタイプのクラスラベルについて、注目するプロトタイプが属するクラスを示すクラスラベルに基づいて、注目するプロトタイプのクラスから、一時記憶部に格納された注目するプロトタイプのクラス以外のクラスに属する全てのプロトタイプから最も近い最近傍プロトタイプを選択し、その結果を一時記憶部に格納する。
【００７７】
プロトタイプ削除手段３５は、一時記憶部に格納されたプロトタイプ及びプロトタイプのクラスラベルについて、最近傍プロトタイプ選択手段３４により選択されなかったプロトタイプが注目するクラスに含まれる場合に、プロトタイプを削除し、その結果を一時記憶部に格納する。
【００７８】
プロトタイプ出力手段３６は、一時記憶部に格納されたプロトタイプを出力する。
【００７９】
続いて、本実施形態に係る情報処理装置における全体処理フローについて、図４のフローチャートを用いて説明する。図４は、本実施形態に係る情報処理装置による処理の処理概要を示すフローチャートである。
Ｓ３０１：入力情報取得手段２１は、新しい入力パターンを入力し、その結果を一時記憶部に格納する。
尚、学習データセットに含まれる任意のｎクラスからランダムに入力パターンが与えられる定常的な環境においては、図５に示すように処理を実行する。
一方、学習データセットに含まれる任意のｎクラスについて、例えば一定期間毎に入力パターンの属するクラスが切替えられて、切替後のクラスからランダムに入力パターンが与えられる非定常的な環境においては、図６に示すように、各クラスに対して独立にａｄｊｕｓｔｅｄ  ＳＯＩＮＮを実行し、次いでｋ−平均処理手段３１は、各クラスに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮの処理結果であるプロトタイプに対して独立に処理を実行する。
【００８０】
Ｓ３０２：一時記憶部に格納された入力パターンに対して、上述したａｄｊｕｓｔｅｄ  ＳＯＩＮＮを実行し、その結果を一時記憶部にプロトタイプとして格納する。
従って、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮの出力結果として、各クラスのプロトタイプ数であるＮ１ｉ（ｊ＝１，・・・，ｍ）及びクラスのプロトタイプの位置ベクトルであるＳＯＩＮＮ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ１ｉ；ｉ＝１，・・・，ｎ）が一時記憶部に格納される。
【００８１】
Ｓ３０３：ｋ−平均処理手段３１は、一時記憶部に格納されたＳＯＩＮＮ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ１ｉ；ｉ＝１，・・・，ｎ）に対して、ｋ−平均アルゴリズムを実行し、その結果をｋ−ｍｅａｎｓ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ１ｉ；ｉ＝１，・・・，ｎ）として一時記憶部に格納する。
【００８２】
Ｓ３０４：一時記憶部に格納されたｋ−ｍｅａｎｓ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ１ｉ；ｉ＝１，・・・，ｎ）に含まれる全てのプロトタイプについて以下の処理を実行する。
まず、最近傍プロトタイプ抽出手段３２は、一時記憶部に格納されたｋ−ｍｅａｎｓ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ１ｉ；ｉ＝１，・・・，ｎ）に含まれる注目するプロトタイプに対して、ｋ個の最近傍プロトタイプを抽出し、その結果を一時記憶部に格納する。そして、ノイズプロトタイプ削除手段３３は、一時記憶部に格納されたプロトタイプ及びクラスラベルについて、最近傍プロトタイプ抽出手段３２により抽出された最近傍プロトタイプについて、最近傍プロトタイプのクラスラベルの過半数を占めるクラスラベルが、注目するプロトタイプのクラスラベルと異なる場合に、注目するプロトタイプを削除し、その結果をＮｏｉｓｅ−Ｒｅｄｕｃｔｉｏｎ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ２ｉ；ｉ＝１，・・・，ｎ）として一時記憶部に格納する。ここで、Ｎ２ｉはクラスｉの新たなプロトタイプ数（Ｎ２ｉ≦Ｎ１ｉ）である。
また、予め設定され一時記憶部に格納されるパラメタｋは、例えばｋ＝５としてもよいし、cross-validationなどの手法を用いて算出してもよい。
【００８３】
尚、Ｓ３０４におけるノイズ除去過程は、非特許文献：D.L. Wilson, "Asymptotic Properties of Nearest Neighbor Rules Using Edited Data, " IEEE Trans. Systems, Man and Cybernetics, vol. 2, no. 3, pp. 408-421, 1972.に開示される従来手法であるｋ−Ｅｄｉｔｅｄ  Ｎｅｉｇｈｂｏｒｓ  Ｃｌａｓｓｉｆｉｅｒ（以下、ＥＮＣという。）のアイデアに基づくものである。即ち、あるノードのラベルがｋ個の隣接ノードの多数決ラベルと異なる場合、そのノードは異常値とみなしプロトタイプ集合から削除するものである。
【００８４】
ここで、本実施形態における情報処理装置はａｄｊｕｓｔｅｄ  ＳＯＩＮＮの一層のみを採用しているため、ノイズによって生成された全てのノードを削除することができない場合が想定される。ノイズの多い学習データの場合には、Ｓ３０２におけるａｄｊｕｓｔｅｄ  ＳＯＩＮＮ実行処理及びＳ３０３におけるｋ−平均処理手段３１による処理の過程では、幾つかのノードがノイズによって生成される可能性がある。
従って、Ｓ３０４におけるノイズ除去過程により、プロトタイプについて、その周囲に位置するプロトタイプとは異なるラベルを持つプロトタイプをノイズと見なして削除することができ、ノイズの多い学習データへの適合を防止することができる。
尚、Ｓ３０４におけるノイズ除去過程は、学習データに含まれるノイズの影響の状況に応じて利用を選択してもよい。具体的には、ノイズが少量であり、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮの学習の際に既にノイズが除去されているものと予想される場合には利用しなくてもよい。
【００８５】
Ｓ３０５：一時記憶部に格納されたＮｏｉｓｅ−Ｒｅｄｕｃｔｉｏｎ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ２ｉ；ｉ＝１，・・・，ｎ）に含まれる全てのプロトタイプについて以下の処理を実行する。
まず、最近傍プロトタイプ選択手段３４は、一時記憶部に格納されたＮｏｉｓｅ−Ｒｅｄｕｃｔｉｏｎ＿Ｐｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ２ｉ；ｉ＝１，・・・，ｎ）に含まれる注目するプロトタイプが属するクラスを示すクラスラベルに基づいて、注目するプロトタイプのクラスから、注目するプロトタイプのクラス以外のクラスに属する全てのプロトタイプから最も近い最近傍プロトタイプを選択し、その結果を一時記憶部に格納する。
そして、プロトタイプ削除手段３５は、一時記憶部に格納されたプロトタイプについて、最近傍プロトタイプ選択手段３４により選択されなかったプロトタイプが注目するクラスに含まれる場合に、プロトタイプを削除し、その結果をＰｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ３ｉ；ｉ＝１，・・・，ｎ）として一時記憶部に格納する。ここで、Ｎ３ｉはクラスｉの新たなプロトタイプ数（Ｎ３ｉ≦Ｎ２ｉ）である。
【００８６】
ここで、本実施形態における情報処理装置は、Ｓ３０２におけるａｄｊｕｓｔｅｄ  ＳＯＩＮＮ実行処理及びＳ３０３におけるｋ−平均処理手段３１による処理の過程を経て、入力データのトポロジや分布構造を近似したプロトタイプ集合を得ることができるものの、識別過程を考えると、不要なプロトタイプが存在する可能性がある。即ち、識別の際に１−ＮＮ法を用いるため、識別境界付近のプロトタイプのみが必要となる。このため、メモリ容量の節約および識別速度の向上を図るためには、
不要なプロトタイプの削除が重要となる。
従って、Ｓ３０５におけるプロトタイプ削除過程により、プロトタイプが属するクラスを示すクラスラベルに基づいて、識別に不要となるプロトタイプを削除することができ、プロトタイプを保持するためのメモリ使用量を大幅に削減することができると共に、プロトタイプを用いて識別を実施する際の識別速度を大幅に向上させることができる。
尚、Ｓ３０５におけるプロトタイプ削除処理は、あるクラスのプロトタイプが他のクラスのどのプロトタイプからも最近傍でない場合、そのプロトタイプが識別に不要な部分にあるという考えに基づくものである。
【００８７】
Ｓ３０６：プロトタイプ出力手段３６は、一時記憶部に格納されたＰｒｏｔｏｔｙｐｅ（ｃｊ，ｉ）（ｊ＝１，・・・，Ｎ３ｉ；ｉ＝１，・・・，ｎ）を出力する。
【００８８】
続いて、以下に本実施の形態の具体例として、本実施形態における情報処理装置が出力するプロトタイプに基づく識別手法についての評価を説明する。
一般的に、プロトタイプに基づく識別手法の性能を評価するためには、識別率、メモリ使用量、及び識別速度が用いられる。
以下では、学習後のメモリ使用量削減と識別速度の高速化の度合として、プロトタイプ効率ｒｃをｒｃ＝プロトタイプ数／学習サンプル数として定義し、識別率及びプロトタイプ効率ｒｃを識別器の性能についての評価基準とする。
【００８９】
まず、独自に作成した２次元人工データセットを用いて、本実施形態における情報処理装置の性能を評価する。
その後、非特許文献：C. Merz, M. Murphy, "UCI Repository of Machine Learning Databases, Irvine, CA," University of California Department of Information, 1996.（http://www.ics.uci.edu/~mlearn/MLRepository.html）に開示されるＵＣＩ  ｒｅｐｏｓｉｔｏｒｙに含まれるデータセットを用いた実験を通して、本実施形態における情報処理装置の有効性を示す。
最後に、本実施形態における情報処理装置の性能を従来のプロトタイプに基づく他の識別器構成手法と比較する。
【００９０】
以下に説明する実験１乃至４においては、パラメタの各値をａｇｅｔ＝２０、λ＝２０、ｋ＝５に設定する。ａｇｅｔ及びλは生成されるプロトタイプ数、即ちプロトタイプ効率に影響するが、十分なプロトタイプ数が得られた場合は識別率には影響しない。尚、パラメタｋの影響力は弱く、他の値でも同程度の識別性能を得ることができる。
また、評価実験においては、学習及び識別を１０回試行し、識別率とプロトタイプ効率の平均値を算出して提案手法の性能を評価した。
【００９１】
図７は、実験１に使用する、入力パターンの分布をオーバラップの無い２クラスの正規分布を含む学習データを示す図である。
各クラスの学習データ数は２，０００、テストデータ数は２００サンプルに設定し、分布からランダムに入力パターンを選択する。即ち、合計の学習データ数及びテストデータ数はそれぞれ４，０００及び４００である。
尚、実験１において図７に示す学習データに対して、全数記憶方式の最近傍識別器を用いた場合の識別率は１００％である。
【００９２】
図８は、図７に示す学習データに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮ実行処理後の学習結果を示す図である。図８より、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮの学習結果が２クラスのトポロジを十分に表現していることが分かる。
図９は、図７に示す学習データに対する本実施形態における情報処理装置の出力結果を示す図である。図９より、本実施形態における情報処理装置の出力結果によって識別時に６個（各クラス３個）のプロトタイプのみが生成されることが分かる。
【００９３】
実験１において、本実施形態における情報処理装置の出力結果である６個のプロトタイプを用いてテストデータの識別を行った場合、１００％の識別率を得ることができる。
また、本実施形態における情報処理装置は、６／４０００＝０．１５％のプロトタイプ数（プロトタイプ効率ｒｃ＝０．１５％）により、全数記憶方式の最近傍識別器と比べて同等の性能を得ることができる。
【００９４】
図１０は、実験２に使用する、入力パターンの分布を実験１からさらに３クラス加えた学習データを示す図である。実験データは、各クラスを様々な分布形状（正規分布、リング及びサインカーブ）に設定する。
各クラスの学習データ数は２，０００、テストデータ数は２００サンプルに設定し、分布からランダムに入力パターンを選択する。即ち、合計の学習データ数及びテストデータ数はそれぞれ１０，０００及び１，０００である。
尚、実験２において図１０に示す学習データに対して、全数記憶方式の最近傍識別器を用いた場合の識別率は１００％である。
【００９５】
図１１は、図１０に示す学習データに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮ実行処理後の学習結果を示す図である。図１１より、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮの学習結果が入力データのクラスのトポロジを十分に表現していることが分かる。
尚、正規分布のクラスに関するプロトタイプ数が実験１より増えているが、これは別のクラスの分布が追加されたため、識別境界を決定するためにより多くのプロトタイプが必要となったものと考えられる。
図１１より、リングおよびサインカーブの分布のクラスに関しても同様に、識別境界の決定に必要なプロトタイプが自動的に生成される。
【００９６】
図１２は、図１０に示す学習データに対する本実施形態における情報処理装置の出力結果を示す図である。図１２より、本実施形態における情報処理装置が分布の大きさや形状に合わせて各クラスに異なる数のプロトタイプを生成していることが分かる。
そして、本実施形態における情報処理装置の出力結果によって識別時に６９個のプロトタイプが生成されることが分かる。
【００９７】
実験２において、本実施形態における情報処理装置の出力結果である６９個のプロトタイプを用いてテストデータの識別を行った場合、１００％の識別率を得ることができる。
また、本実施形態における情報処理装置は、６９／１００００＝０．６９％のプロトタイプ数（プロトタイプ効率ｒｃ＝０．６９％）により、全数記憶方式の最近傍識別器と比べて、同等の性能を得ることができる。
【００９８】
図１３は、実験３に使用する、入力パターンの分布を実験２からさらに正規分布の２クラスにオーバラップを含むように設定した学習データを示す図である。
各クラスの学習データ数は２，０００、テストデータ数は２００サンプルに設定し、分布からランダムに入力パターンを選択する。即ち、合計の学習データ数及びテストデータ数はそれぞれ１０，０００及び１，０００である。
尚、実験３において図１３に示す学習データに対して、全数記憶方式の最近傍識別器を用いた場合の識別率は９７．３％である。
【００９９】
図１４は、図１３に示す学習データに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮ実行処理後の学習結果を示す図である。図１４より、正規分布の部分において、プロトタイプの分布にオーバラップが生じていることが分かる。
【０１００】
図１５は、図１３に示す学習データに対する本実施形態における情報処理装置の出力結果を示す図である。図１５より、本実施形態における情報処理装置がノイズ除去過程の効果によりオーバラップ部分の不要なプロトタイプを除去することが分かる。
そして、本実施形態における情報処理装置の出力結果によって識別時に８６個のプロトタイプが生成されることが分かる。
【０１０１】
実験３において、本実施形態における情報処理装置の出力結果である８６個のプロトタイプを用いてテストデータの識別を行った場合、９８．０％の識別率を得ることができる。
また、本実施形態における情報処理装置は、８６／１００００＝０．８６％のプロトタイプ数（プロトタイプ効率ｒｃ＝０．８６％）により、全数記憶方式の最近傍識別器と比べて上回る性能を得ることができる。
【０１０２】
図１６は、実験４に使用する、入力パターンの分布を実験３からさらにノイズデータを追加した学習データを示す図である。
ノイズデータは、入力パターンの特徴空間に一様分布し、各クラスの分布に対し１０％の確率で生起するものと設定する。従って、ノイズデータにもランダムにクラスラベルが付加されている。図１６より、同一クラスタ内のサンプルであってもクラスラベルが異なる状況が多数存在することがわかる。
各クラスの学習データ数は２，０００、テストデータ数は２００サンプルに設定し、分布からランダムに入力パターンを選択する。即ち、合計の学習データ数及びテストデータ数はそれぞれ１０，０００及び１，０００である。
ただしテストデータについては、図１３に示す実験３の分布から各クラス２００サンプルをランダムに選択する。このようにデータを選択することで、学習データに含まれるノイズが識別率に与える影響を調べ、本実施形態における情報処理装置のノイズ除去性能を評価することができる。
尚、実験４において図１６に示す学習データに対して、全数記憶方式の最近傍識別器を用いた場合の識別率は９４．１％である。
【０１０３】
図１７は、図１６に示す学習データに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮ実行処理後の学習結果を示す図である。図１７より、ａｄｊｕｓｔｅｄ  ＳＯＩＮＮ実行処理においてもノイズ除去のプロセスは含まれているものの、ノイズの影響のあるプロトタイプを完全に削除することができないことが分かる。
【０１０４】
図１８は、図１６に示す学習データに対する本実施形態における情報処理装置の出力結果を示す図である。図１８より、本実施形態における情報処理装置がノイズ除去過程の効果から不要なプロトタイプを削除できることが分かる。
そして、本実施形態における情報処理装置の出力結果によって識別時に８７個のプロトタイプが生成されることが分かる。
【０１０５】
実験４において、本実施形態における情報処理装置の出力結果である８７個のプロトタイプを用いてテストデータの識別を行った場合、９７．８％の識別率を得ることができる。
また、本実施形態における情報処理装置は、８７／１００００＝０．８７％のプロトタイプ数（プロトタイプ効率ｒｃ＝０．８７％）により、全数記憶方式の最近傍識別器と比べて、上回る性能を得ることができる。
また、１０％のノイズを含む実験４における識別率が、ノイズを含まない実験３における識別率と同程度であることから、本実施形態における情報処理装置がノイズに対して頑健に学習可能であると結論付けることができる。
【０１０６】
次に、ＵＣＩ  ｒｅｐｏｓｉｔｏｒｙに含まれるデータセットを用いた実験を通して、本実施形態における情報処理装置の有効性を示す。
本実験では、ＵＣＩ  ｒｅｐｏｓｉｔｏｒｙのデータセットの一つである、Optical Recognition of Handwritten Digits database (以下、Ｏｐｔｄｉｇｉｔｓという。)を使用する。
このデータセットは、「０」から「９」の手書き文字を４２人（学習データ３０人、テストデータ１３人）から収集したものである。各サンプルの次元数は６４である。
図１９は、データセットに含まれる各クラスの学習データ及びテストデータのサンプル数を示す表である。学習データの合計サンプル数は３８２３、テストデータの合計サンプル数は１７９７である。
尚、データセットに対して全数記憶方式の最近傍識別器を用いた場合の識別率は９８％である。
【０１０７】
上述したように、実データを用いた場合、ノイズ量は少量であるものと仮定し、ノイズの影響を受けたノードはａｄｊｕｓｔｅｄ  ＳＯＩＮＮによって削除可能であると考える。従って、Ｏｐｔｄｉｇｉｔｓに対する実験においては、本実施形態における情報処理装置からノイズ除去過程を除いて使用する。
【０１０８】
本実施形態における情報処理装置における実験に関して、パラメタ（ａｇｅｔ，λ）を３通りの異なるパラメタセット（１）（５０，５０）、（２）（２５，２５）、（３）（１０，１０）に設定して、その学習結果の違いを検証する。各パラメタセットについて１０回の学習を行い、各クラスのプロトタイプ数の平均値及び分散値を算出する。
【０１０９】
図２０は、各クラスのプロトタイプ数の平均値及び分散値を示す表である。図２０より、各クラスで別個に異なるプロトタイプ数により学習が実施されており、（ａｇｅｔ，λ）の値が大きな場合にプロトタイプ数が増加することがわかる。
【０１１０】
図２１は、本実施形態における情報処理装置が出力するプロトタイプを用いてテストデータを識別した結果を示す表である。図２１より、本実施形態における情報処理装置は１０倍以上の識別速度及び１０％以下のメモリ使用量（プロトタイプ効率ｒｃ＝９．９％）によって９７．７％の識別率を示している（図２１第２列参照）。
また、さらにメモリ使用量の削減と識別速度の向上を必要とする場合には、識別率は若干低下するものの（図２１第２乃至４列参照）、パラメタセット（ａｇｅｔ，λ）を変化させることによりプロトタイプ数及び識別率を調節することができる。
【０１１１】
一方、他手法を用いた場合のＯｐｔｄｉｇｉｔｓの識別率について、非特許文献：A. Passerini, M. Pontil, and P. Frasconi, "From Margins to Probabilities in Multiclass Learning Problems," Proceedings of the 15th European Conference on Artificial Intelligence, 2002.に開示される技術では、複数の異なるカーネル関数を用いたマルチクラスＳＶＭの識別率を算出している。それによると、Ｏｎｅ−ｖｓ−Ａｌｌ  ＳＶＭ手法では最高識別率が９７．４％である。即ち、図２１で示す結果から、本実施形態における情報処理装置の識別率はＳＶＭを用いた場合と同程度かそれ以上を示すことがわかる。
また、非特許文献：柴田  智行, 加藤  丈和, 和田  俊和, "K-D Decision Treeとその応用―最近傍識別器の高速化と省メモリ化―, "電子情報通信学会論文誌, vol. J88-D2, no. 8, pp.1367-1377, 2005.に開示される技術では、最近傍識別器の高速化手法Ｋ−Ｄ  Ｄｉｃｉｓｉｏｎ  Ｔｒｅｅ（以下、ＫＤＤＴという。）について、全数記憶方式の最近傍識別器と比較して同等の識別性能と約１．１９倍の高速識別を示している。しかし、ＫＤＤＴはプロトタイプ選択手法に非特許文献４に開示される技術であるｄｉｒｅｃｔ  ｃｏｎｄｅｎｓｉｎｇを用いていることから、２０次元を超える高次元の計算は実用的でない。そのため、ＫＤＤＴは実験において主成分分析を行ってデータセットの次元数を１５次元に削減している。これに比べて本実施形態における情報処理装置は、全数記憶方式の最近傍識別器の識別性能からは若干低いものの、６４次元のデータセットに対して１０倍以上の高速化を実現できる。
【０１１２】
続いて、本実施形態における情報処理装置の性能を従来のプロトタイプに基づく他の識別器構成手法と比較する。
非特許文献９に開示されるＮｅａｒｅｓｔ  Ｓｕｂｃｌａｓｓ  Ｃｌａｓｓｉｆｉｅｒ（以下、ＮＳＣ（σ）という。）は、非特許文献５に開示されるｋ−Ｍｅａｎｓ  Ｃｌａｓｓｉｆｉｅｒ（以下、ＫＭＣ（Ｍ）という。）及び非特許文献６に開示されるＬｅａｒｎｉｎｇ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ（以下、ＬＶＱ（Ｍ）という。）などの従来の他の識別器構成手法と比べて、識別率と識別速度のバランスにおいて優れているものとされる。
そこで、本実施形態における情報処理装置と比較する従来の手法として、ＮＳＣ、ＫＭＣ及びＬＶＱを比較対象とし、比較手法の結果は非特許文献９に開示される実験の結果を使用する。
【０１１３】
尚、非特許文献９に開示される実験においては、９種類のデータセットについてＮＳＣと他の手法を比較している。しかし、そのうち２種類のデータセットについては以下の理由、（１）著者によって独自に作成された人工データセットであること、（２）一般的に６０次元のベクトルを用いるＳｏｎａｒデータセットが３０次元で用いられていること、のために本実施形態における情報処理装置との比較実験では採用しない。従って、本実施形態における情報処理装置との比較実験では、残り７種類のデータセットを用いて本実施形態における情報処理装置をＮＳＣやその他の手法と比較する。
【０１１４】
図２２は、本実施形態における情報処理装置の性能を従来のプロトタイプに基づく他の識別器構成手法と比較するために使用するデータセットを示す表である。尚、これらのデータセットの詳細については関連する非特許文献：C. Merz, M. Murphy, "UCI Repository of Machine Learning Databases, Irvine, CA," University of California Department of Information, 1996.[http://www.ics.uci.edu/~mlearn/MLRepository.html]を参照されたい。
また、上述のＯｐｔｄｉｇｉｔｓを用いた実験と同様の理由により、本実施形態における情報処理装置からノイズ除去過程を除いて使用する。ノイズ除去過程を除いた本実施形態における情報処理装置では、学習データから直接決定することができない２つのパラメタが存在するため１０−ｆｏｌｄ  ｃｒｏｓｓ−ｖａｌｉｄａｔｉｏｎを実施して、それらのパラメタの値を決定する。
【０１１５】
図２３は、図２２に示すデータセットに対する本実施形態における情報処理装置及び他の識別器構成手法による結果の値を示す表である。尚、図２３において、本実施形態における情報処理装置をＡＳＣとして示す。
【０１１６】
図２３（ａ）は各データセットに対する識別率を示す表である。Iris、Breast cancer、Glass及びWineデータセットに対しては、ＡＳＣが全手法中において最高の識別率を達成している。
また、IonosphereとPima Indiansデータセットに対しては最高識別率に近い値を示している。図２３（ａ）の最終行に全てのデータセットに対する識別率の平均値を示し、全手法の識別性能を比較する。その結果、ＡＳＣは比較した他のプロトタイプに基づく識別器構成手法を全て上回る識別率を実現することができる。
【０１１７】
図２３（ｂ）は、プロトタイプ効率ｒｃを示す表である。全てのデータセットにおいて、ＡＳＣは最高値もしくはそれに近い値を示し、全データセットの平均では最高値を達成している。即ち、ＡＳＣは比較した他の全ての従来手法より、メモリ容量と識別速度の観点で優れた性能を持つものである。
【０１１８】
さらに図２３に示す各手法の結果を検証すると、ＮＮＣ及びＮＳＣなどの従来手法は高い識別性能を示すものの、プロトタイプ効率の値が高いため、識別に時間が掛かることが予想される。
また、ＫＭＣ及びＬＶＱは高速な識別が可能であるものの、識別性能が低い。
即ち、ＡＳＣは、これらの手法に比べて、高い識別性能を最高の識別速度で達成するものである。
そして、全データセットの平均値について、最新の手法であるＮＳＣ及びＡＳＣとを比較すると、ＡＳＣが識別率８２．３％をプロトタイプ効率ｒｃ＝４．６％で示したのに対して、ＮＳＣは識別率８０．４％を示すため、プロトタイプ効率ｒｃ＝３４．２％を必要とする。即ち、ＡＳＣはＮＳＣより有効な手法である。
さらにまた、非特許文献９に開示されるＮＳＣは、パラメタの調節に多くの時間を費やす必要がある。また、他のいくつかの手法についても同様の事が言える。
それに対して、ＡＳＣのパラメタ調節時間はＫＭＣ(ｋ)より少し長いものの、ＮＳＣに比べて非常に短い。また、ＡＳＣの学習時間はＮＳＣよりも短い。
【０１１９】
以上の通り説明した本発明に係る情報処理装置によって、次のような効果を奏することができる。
まず、識別に不要となるプロトタイプを削除することができる。従って、プロトタイプを保持するためのメモリ使用量を大幅に削減することができると共に、プロトタイプを用いて識別を実施する際の識別速度を大幅に向上させることができる。
さらに、ノイズの影響を受けたプロトタイプを効率的に削除することができる。
さらに、非定常的な環境において、追加的な入力に対応することができる。
さらにまた、ＳＯＩＮＮに比べて、より少ないパラメタで動作するため、処理をより容易に実行することができる。
これにより、例えば、本発明に係る情報処理装置をロボットに搭載することで、ロボットは、周囲から取得する様々な情報を入力データとして、従来は計算量について困難を伴うデータについても、ノイズデータを排除しながら、高速に安定して識別することができる。
【０１２０】
その他の発明の実施の形態．
本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは当然である。この場合、記録媒体から読み出されたプログラムコード自体が上述の実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１２１】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基き、コンピュータ上で稼動しているオペレーティングシステム（ＯＳ）などが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も当然含まれる。
【０１２２】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基き、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も当然含まれる。
【０１２３】
本発明を上記記録媒体に適用する場合、その記録媒体には、上述した図５に示すフローチャートに対応するプログラムコードが格納されることになる。
【０１２４】
以上、本発明をその実施の形態により説明したが、本発明はその趣旨の範囲において種々の変形が可能である。例えばＡｄｊｕｓｔｅｄ  ＳＯＩＮＮに代えて、ＳＯＩＮＮに基づくＥｎｈａｎｃｅｄ−ＳＯＩＮＮ（以下Ｅ−ＳＯＩＮＮという。）を使用しても良い。
尚、Ｅ−ＳＯＩＮＮは、ＳＯＩＮＮに比べて、さらに、ノード密度算出手段４７、分布重なり領域検出手段４８、辺接続判定手段４９、辺接続手段５０、辺削除手段５１、ノイズノード削除手段５２を含むものである。
ノード密度算出手段４７、分布重なり領域検出手段４８、辺接続判定手段４９、辺接続手段５０、及び辺削除手段５１によれば、分布に高密度の重なりのあるクラスを分離することができる。
さらに、ノード密度算出手段４７及びノイズノード削除手段５２によれば、ノイズノードを効率的に削除することができる。
【０１２５】
このように、Ｅ−ＳＯＩＮＮはＳＯＩＮＮに比べて、入力パターンの分布に高密度の重なりのあるクラスを分離することができる。そして、分布の重なり領域の検出処理においては、平滑化の手法を導入したことより、ＳＯＩＮＮに比べてより安定的に動作することができる。
さらに、１層構造であっても効率的にノイズノードを削除することができる。
さらにまた、ＳＯＩＮＮに比べて、より少ないパラメタで動作するため、処理をより容易に実行することができる。
【０１２６】
以下にＥ−ＳＯＩＮＮを簡単に説明する。図２４は、Ｅ−ＳＯＩＮＮによる学習処理の処理概要を示すフローチャートである。尚、上述したａｄｊｕｓｔｅｄ  ＳＯＩＮＮと同様の処理については説明を省略する。
【０１２７】
まず、図２４に示すＳ６０１乃至Ｓ６０５については、図３に示すａｄｊｕｓｔｅｄ  ＳＯＩＮＮと同様の処理を実施する。従って、以下では図２４に示すＳ６０６からの処理について説明する。
【０１２８】
Ｓ６０６：後述する辺接続判定手段４９は、一時記憶部に格納されたノード、ノード密度、ノード間の辺について、第１勝者ノードａ1及び第２勝者ノードａ2のノード密度に基づいて、第１勝者ノードａ1及び第２勝者ノードａ2間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
【０１２９】
Ｓ６０７：一時記憶部に格納されたＳ６０６における判定の結果、第１勝者ノードａ1及び第２勝者ノードａ2間に辺を生成して接続する場合には、後述する辺接続手段５０は、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。
そして、Ｅ−ＳＯＩＮＮは、一時記憶部に格納された辺及び辺の年齢について、新しく生成された辺、及び、既にノード間に辺が生成されていた場合にはその辺について、辺の年齢を０に設定しその結果を一時記憶部に格納し、第１勝者ノードａ1と直接的に接続される辺の年齢をインクリメントし（１増やす）、その結果を一時記憶部に格納する。
一方、一時記憶部に格納されたＳ６０６における判定の結果、第１勝者ノードａ1及び第２勝者ノードａ2間に辺を接続しない場合には、Ｓ６０８へと処理を進めるが、既にノード間に辺が生成されていた場合には、後述する辺削除手段５１は、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノードａ1及び第２勝者ノードａ2間の辺を削除し、その結果を一時記憶部に格納する。
次いで、一時記憶部に格納されたノード及びノード密度のポイント値について、第１勝者ノードａ1について、後述するノード密度算出手段４７は、一時記憶部に格納された第１勝者ノードａ1のノード密度のポイント値を算出しその結果を一時記憶部に格納し、算出され一時記憶部に格納されたノード密度のポイント値を以前までに算出され一時記憶部に格納されたポイント値に加算することで、ノード密度ポイントとして累積し、その結果を一時記憶部に格納する。
次いで、Ｅ−ＳＯＩＮＮは、一時記憶部に格納された第１勝者ノードａ1が第１勝者ノードとなった累積回数Ｍａ1をインクリメントし（１増やす）、その結果を一時記憶部に格納する。
【０１３０】
Ｓ６０８：ａｄｊｕｓｔｅｄ  ＳＯＩＮＮと同様の重みベクトル更新手段２６は、一時記憶部に格納されたノード及びノードの重みベクトルについて、第１勝者ノードａ1の重みベクトル及び第１勝者ノードａ1の隣接ノードの重みベクトルをそれぞれ入力ベクトルξに更に近づけるように更新し、その結果を一時記憶部に格納する。
尚、Ｅ−ＳＯＩＮＮにおいては、追加学習に対応するため、入力ベクトルの入力回数ｔに代えて、一時記憶部に格納される第１勝者ノードａ1が第１勝者ノードとなった累積回数Ｍａ1を用いる。
Ｓ６０９：Ｅ−ＳＯＩＮＮは、一時記憶部に格納された辺について、予め設定され一時記憶部に格納された閾値ａｇｅｔを超えた年齢を持つ辺を削除し、その結果を一時記憶部に格納する。
【０１３１】
Ｓ６１０：Ｅ−ＳＯＩＮＮは、一時記憶部に格納された与えられた入力ベクトルξの総数について、与えられた入力ベクトルξの総数が予め設定され一時記憶部に格納されたλの倍数であるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力ベクトルの総数がλの倍数でない場合にはＳ６０２へと戻り、次の入力ベクトルξを処理する。
一方、入力ベクトルξの総数がλの倍数となった場合には以下の処理を実行する。
【０１３２】
Ｓ６１１：後述する分布重なり領域検出手段４８は、一時記憶部に格納されたサブクラスタ及び分布の重なり領域について、上述のＳ３０１乃至Ｓ３０５において示したようにしてサブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
Ｓ６１２：後述するノード密度算出手段４７は、一時記憶部に格納されて累積されたノード密度ポイントを単位入力数あたりの割合として算出しその結果を一時記憶部に格納し、単位入力数あたりのノードのノード密度を算出し、その結果を一時記憶部に格納する。
Ｓ６１３：後述するノイズノード削除手段５２は、一時記憶部に格納されたノードについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。尚、Ｓ６１３においてノイズノード削除手段５２が使用するパラメタｃ1及びｃ2はノードをノイズと見なすか否かの判定に使用する。通常、隣接ノード数が２であるノードはノイズではないことが多いため、ｃ1は０に近い値を使用する。また、隣接ノード数が１であるノードはノイズであることが多いため、ｃ2は１に近い値を使用するものとし、これらのパラメタは予め設定され一時記憶部に格納される。
Ｓ６１４：Ｅ−ＳＯＩＮＮは、一時記憶部に格納された与えられた入力ベクトルξの総数について、与えられた入力ベクトルξの総数が予め設定され一時記憶部に格納されたＬＴの倍数であるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力ベクトルの総数がＬＴの倍数でない場合にはＳ６０２へと戻り、次の入力ベクトルξを処理する。
一方、入力ベクトルξの総数がＬＴの倍数となった場合には、一時記憶部に格納されたノードをプロトタイプとして出力する。以上の処理を終了した後、学習を停止する。
【０１３３】
ノード密度算出手段４７は、一時記憶部に格納されたノード及びノード密度について、注目するノードについて、その隣接ノード間の平均距離に基づいて、注目するノードのノード密度を算出し、その結果を一時記憶部に格納する。
さらに、ノード密度算出手段４７は、単位ノード密度算出部を有し、単位ノード密度算出部は、追加学習に対応するため、一時記憶部に格納された第１勝者ノード及びノード密度について、第１勝者ノードとその隣接ノード間の平均距離に基づいて、第１勝者ノードのノード密度を単位入力数あたりの割合として算出し、その結果を一時記憶部に格納する。
さらにまた、ノード密度算出手段４７は、一時記憶部に格納されたノード及びノード密度ポイントについて、第１勝者ノード及びその隣接ノード間の平均距離に基づいて、第１勝者ノードのノード密度のポイント値を算出するノード密度ポイント算出部と、入力ベクトルの入力数が所定の単位入力数となるまでノード密度ポイントを一時記憶部に格納して累積し、入力ベクトルの入力数が所定の単位入力数になった場合に、一時記憶部に格納して累積されたノード密度ポイントを単位入力数あたりの割合として算出し、単位入力数あたりのノードのノード密度を算出し、その結果を一時記憶部に格納する単位ノード密度ポイント算出部を有する。
【０１３４】
具体的には、ノード密度ポイント算出部は、例えば一時記憶部に格納される以下の式に基づいてノードｉに与えられるノード密度のポイント値ｐｉを算出し、その結果を一時記憶部に格納する。尚、ノードｉに与えられるポイント値ｐｉは、ノードｉが第１勝者ノードとなった場合には一時記憶部に格納される以下の式に基づいて算出されるポイント値が与えられるが、ノードｉが第１勝者ノードでない場合にはノードｉにはポイントは与えられないものとする。
【数１１】
2008217242.tif 000013
ここで、ｅｉはノードｉからその隣接ノードまでの平均距離を示し、一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
【数１２】
2008217242.tif 000014
尚、ｍは一時記憶部に格納されたノードｉの隣接ノードの個数を示し、Ｗｉは一時記憶部に格納されたノードｉの重みベクトルを示す。
【０１３５】
ここで、隣接ノードへの平均距離が大きくなる場合には、ノードを含むその領域にはノードが少ないものと考えられ、逆に平均距離が小さくなる場合には、その領域にはノードが多いものと考えられる。
従って、ノードの多い領域で第１勝者ノードとなった場合には高いポイントが与えられ、ノードの少ない領域で第１勝者ノードとなった場合には低いポイントが与えられるようにノードの密度のポイント値の算出方法を上述のように構成する。
これにより、ノードを含むある程度の範囲の領域におけるノードの密集具合を推定することができるため、ノードの分布が高密度の領域に位置するノードであっても、ノードが第１勝者回数となった回数をノードの密度とするＳＯＩＮＮに比べて、入力ベクトルの入力分布密度により近似した密度となるノード密度ポイントを算出することができる。
【０１３６】
単位ノード密度ポイント算出部は、例えば一時記憶部に格納される以下の式に基づいてノードｉの単位入力数あたりのノード密度ｄｅｎｓｉｔｙｉを算出し、その結果を一時記憶部に格納する。
【数１３】
2008217242.tif 000015
ここで、連続して与えられる入力ベクトルの入力回数を予め設定され一時記憶部に格納される一定の入力回数λごとの区間に分け、各区間においてノードｉに与えられたポイントについてその合計を累積ポイントｓｉと定める。尚、入力ベクトルの総入力回数を予め設定され一時記憶部に格納されるＬＴとする場合に、ＬＴ/λを区間の総数ｎとしその結果を一時記憶部に格納し、ｎのうち、ノードに与えられたポイントの合計が０以上であった区間の数をＮとして算出し、その結果を一時記憶部に格納する（Ｎとｎは必ずしも同じとならない点に注意する）。
累積ポイントｓｉは、例えば一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
【数１４】
2008217242.tif 000016
ここで、ｐｉ（ｊ，ｋ）はｊ番目の区間におけるｋ番目の入力によってノードｉに与えられたポイントを示し、上述のノード密度ポイント算出部により算出され、その結果を一時記憶部に格納する。
このように、単位ノード密度ポイント算出部は、一時記憶部に格納されたノードｉの密度ｄｅｎｓｉｔｙｉを累積ポイントｓｉの平均として算出し、その結果を一時記憶部に格納する。
【０１３７】
尚、Ｅ−ＳＯＩＮＮにおいては追加学習に対応するため、ｎに代えてＮを用いる。これは、追加学習において、以前の学習で生成されたノードにはポイントが与えられないことが多く、ｎを用いて密度を算出すると、以前学習したノードの密度が次第に低くなってしまうという問題を回避するためである。即ち、ｎに代えてＮを用いてノード密度を算出することで、追加学習を長時間行った場合であっても、追加されるデータが以前学習したノードの近くに入力されない限りは、そのノードの密度を変化させずに保持することができる。
これにより、追加学習を長時間実施する場合であっても、ノードのノード密度が相対的に小さくなってしまうことを防ぐことができ、ＳＯＩＮＮを含む従来の手法に比べて、入力ベクトルの入力分布密度により近似したノード密度を変化させずに保持して算出することができる。
【０１３８】
分布重なり領域検出手段４８は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、辺によって接続されるノードの集合であるクラスタを、ノード密度算出手段４７によって算出されるノード密度に基づいてクラスタの部分集合であるサブクラスタに分割し、その結果を一時記憶部に格納し、サブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
【０１３９】
さらに、分布重なり領域検出手段４８は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、ノード密度算出手段４７により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索するノード探索部と、探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与する第１のラベル付与部と、第１のラベル付与部によりラベルが付与されなかったノードのうち、そのノードと辺によって接続されるノードについて、第１のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与する第２のラベル付与部と、それぞれ異なるラベルが付与されたノード間に辺によって直接的に接続がある場合に、その辺によって接続されるノードの集合であるクラスタをクラスタの部分集合であるサブクラスタに分割するクラスタ分割部と、注目するノード及びその隣接ノードがそれぞれ異なるサブクラスタに属する場合に、その注目するノード及びその隣接ノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出する分布重なり領域検出部を有する。
【０１４０】
具体的には、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、例えば以下のようにしてサブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
Ｓ７０１：ノード探索部は、一時記憶部に格納されたノード及びノードの密度について、ノード密度算出手段４７により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索し、その結果を一時記憶部に格納する。
Ｓ７０２：第１のラベル付与部は、一時記憶部に格納されたノード、及びノードのラベルについて、Ｓ７０１において探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与し、その結果を一時記憶部に格納する。
Ｓ７０３：第２のラベル付与部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、Ｓ７０２において第１のラベル付与部によりラベルが付与されなかったノードについて、第１のラベル付与部にラベルが付与されたノードと辺によって接続されるノードについて、第１のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与し、その結果を一時記憶部に格納する。即ち、密度が局所的に最大の隣接ノードと同じラベルを付与する。
Ｓ７０４：クラスタ分割部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、一時記憶部に格納された辺によって接続されるノードの集合であるクラスタを、同じラベルが付与されたノードからなるクラスタの部分集合であるサブクラスタに分割し、その結果を一時記憶部に格納する。
Ｓ７０５：分布重なり領域検出部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、注目するノードとその隣接ノードが異なるサブクラスタにそれぞれ属する場合に、その注目するノード及びその隣接ノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出し、その結果を一時記憶部に格納する。
【０１４１】
辺接続判定手段４９は、一時記憶部に格納されたノード、ノード密度、及び分布重なり領域について、第１勝者ノード及び第２勝者ノードが分布重なり領域に位置するノードである場合に、第１勝者ノード及び第２勝者ノードのノード密度に基づいて第１勝者ノード及び第２勝者ノード間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
【０１４２】
さらに辺接続判定手段４９は、一時記憶部に格納されたノード、ノード密度、ノードのサブクラスタについて、ノードが属しているサブクラスタを判定する所属サブクラスタ判定部と、ノードが属するサブクラスタの頂点の密度及びノードの密度に基づいて、第１勝者ノード及び第２勝者ノード間に辺を接続するか否かを判定する辺接続判定部を有する。
【０１４３】
辺接続手段５０は、一時記憶部に格納された辺接続判定手段４９の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。
辺削除手段５１は、一時記憶部に格納された辺接続判定手段４９の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間の辺を削除し、その結果を一時記憶部に格納する。
【０１４４】
具体的には、一時記憶部に格納されたノード、ノード密度、ノードのサブクラスタ、及びノード間の辺について、例えば以下のようにして辺接続判定手段４９は辺を接続するか否かを判定し、辺接続手段５０及び辺削除手段５１は辺の生成及び削除処理を実施し、その結果を一時記憶部に格納する。
Ｓ８０１：所属サブクラスタ判定部は、一時記憶部に格納されたノード、ノードのサブクラスタについて、第１勝者ノード及び第２勝者ノードが属するサブクラスタをそれぞれ判定し、その結果を一時記憶部に格納する。
Ｓ８０２：一時記憶部に格納されたＳ８０１における判定の結果、第１勝者ノード及び第２勝者ノードがどのサブクラスタにも属していない場合、又は、第１勝者ノード及び第２勝者ノードが同じサブクラスタに属している場合には、辺接続手段５０は、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間に辺を生成することによりノード間を接続し、その結果を一時記憶部に格納する。
Ｓ８０３：一時記憶部に格納されたＳ８０１における判定の結果、第１勝者ノード及び第２勝者ノードが互いに異なるサブクラスタに属す場合には、辺接続判定部は、一時記憶部に格納されたノード、ノード密度、及びノード間の辺について、ノードが属するサブクラスタの頂点の密度及びノードの密度に基づいて、第１勝者ノード及び第２勝者ノード間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
Ｓ８０４：一時記憶部に格納されたＳ８０３における辺接続判定部による判定の結果、辺を接続する必要がないと判定した場合には、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間を辺によって接続せず、既にノード間が辺によって接続されていた場合には、辺削除手段５１は、一時記憶部に格納されたノード及びノード間の辺について、一時記憶部に格納された第１勝者ノード及び第２勝者ノード間の辺を削除し、その結果を一時記憶部に格納する。
Ｓ８０５：一時記憶部に格納されたＳ８０３における辺接続判定部による判定の結果、辺を接続する必要があると判定した場合には、辺接続手段５０は、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間に辺を生成しノード間を接続する。
【０１４５】
ここで、辺接続判定部による判定処理について詳細に説明する。
まず、辺接続判定部は、一時記憶部に格納されたノード及びノード密度について、第１勝者ノードのノード密度ｄｅｎｓｉｔｙｗｉｎ及び第２勝者ノード密度ｄｅｎｓｉｔｙｓｅｃ−ｗｉｎのうち、最小のノード密度ｍを例えば一時記憶部に格納される以下の式に基いて算出し、その結果を一時記憶部に格納する。
【数１５】
2008217242.tif 000017
次に、一時記憶部に格納されたノード、ノードのノード密度、及びノードのサブクラスについて、第１勝者ノード及び第２勝者ノードがそれぞれ属するサブクラスタＡ及びサブクラスタＢについて、サブクラスタＡの頂点の密度Ａｍａｘ及びサブクラスタＢの頂点の密度Ｂｍａｘを算出し、その結果を一時記憶部に格納する。
尚、サブクラスタに含まれるノードのうち、ノード密度が最大であるノード密度をサブクラスタの頂点の密度とする。
そして、一時記憶部に格納されたノードが属するサブクラスタの頂点の密度Ａｍａｘ及びＢｍａｘ、及びノードの密度ｍについて、ｍがαＡＡｍａｘより小さく、かつ、ｍがαＢＢｍａｘより小さいか否かを判定し、その結果を一時記憶部に格納する。即ち、一時記憶部に格納される以下の不等式を満足するか否かを判定し、その結果を一時記憶部に格納する。
【数１６】
2008217242.tif 000018
判定の結果、ｍがαＡＡｍａｘより小さく、かつ、ｍがαＢＢｍａｘより小さい場合には、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間には辺は不要であると判定し、その結果を一時記憶部に格納する。
一方、判定の結果、ｍがαＡＡｍａｘ以上、または、ｍがαＢＢｍａｘ以上である場合には、一時記憶部に格納されたノード及びノード間の辺について、第１勝者ノード及び第２勝者ノード間に辺は必要であると判定し、その結果を一時記憶部に格納する。
【０１４６】
このように、第１勝者ノード及び第２勝者ノードの最小ノード密度ｍを、第１勝者ノード及び第２勝者ノードをそれぞれ含むサブクラスタの平均的なノード密度と比較することで、第１勝者ノード及び第２勝者ノードを含む領域におけるノード密度の凹凸の大きさを判定することができる。即ち、サブクラスタＡ及びサブクラスタＢの間に存在する分布の谷間のノード密度ｍが、閾値αＡＡｍａｘ又はαＢＢｍａｘより大きな場合には、ノード密度の形状は小さな凹凸であると判定することができる。
【０１４７】
ここで、αＡ及びαＢは一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。尚、αＢについてもαＡと同様にして算出することができるためここでは説明を省略する。
ｉ）      Ａｍａｘ/ｍｅａｎＡ−１≦１の場合には、αＡ＝０．０とする。
ｉｉ）    １＜Ａｍａｘ/ｍｅａｎＡ−１≦２の場合には、αＡ＝０．５とする。
ｉｉｉ）  ２＜Ａｍａｘ/ｍｅａｎＡ−１の場合には、αＡ＝１．０とする。
Ａｍａｘ/ｍｅａｎＡの値が１以下となるi）の場合には、ＡｍａｘとｍｅａｎＡの値は同程度であり、密度の凹凸はノイズの影響によるものと判断する。そして、αの値を０．０とすることで、サブクラスタが統合されるようにする。
また、Ａｍａｘ/ｍｅａｎＡの値が２を超えるi i i）の場合には、ＡｍａｘはｍｅａｎＡに比べて十分大きく、明らかな密度の凹凸が存在するものと判断する。そして、αの値を１．０とすることで、サブクラスタが分離されるようにする。
そして、Ａｍａｘ/ｍｅａｎＡの値が上述した場合以外となる i i）の場合には、αの値を０．５とすることで、密度の凹凸の大きさに応じてサブクラスタが統合又は分離されるようにする。
尚、ｍｅａｎＡはサブクラスタＡに属すノードｉのノード密度ｄｅｎｓｉｔｙｉの平均値を示し、ＮＡをサブクラスタＡに属するノードの数として、一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
【数１７】
2008217242.tif 000019
【０１４８】
このように、サブクラスタへの分離を行う際に、サブクラスタに含まれるノード密度の凹凸の程度を判定し、ある基準を満たした２つのサブクラスタを１つに統合することで、分布の重なり領域の検出におけるサブクラスタの分けすぎによる不安定化を防止することができる。
例えば、図２５に示す２つのサブクラスタＡ及びＢについて、サブクラスタＡの頂点の密度がＡｍａｘであり、サブクラスタＢの頂点の密度がＢｍａｘであるものとする。
図２５に示すように、ノイズや学習サンプルが少ないことが原因で、密度の分布に多くの細かい凹凸が形成されることがある。
このような場合に、第１勝者ノード及び第２勝者ノードがサブクラスタＡ及びＢの間にある分布の重なり領域に位置する場合に、ノード間の接続を行う際にある基準を満たした２つのサブクラスタを１つに統合することで、図２５に示すように密度の分布に多くの細かい凹凸が含まれる場合であっても、図２６に示すように密度の分布を平滑化することができる。
【０１４９】
ノイズノード削除手段５２は、一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、注目するノードについて、ノード密度算出手段２７により算出されるノード密度及び注目するノードの隣接ノードの個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納する。
【０１５０】
さらにノイズノード削除手段５２は、一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、注目するノードのノード密度を所定の閾値と比較するノード密度比較部と、注目するノードの隣接ノードの個数を算出する隣接ノード数算出部と、注目するノードをノイズノードとみなして削除するノイズノード削除部を有する。
具体的には、例えば以下のようにして一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、ノード密度及び注目するノードの隣接ノードの個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納する。
【０１５１】
ノイズノード削除手段５２は、一時記憶部に格納されたノード、ノード間の辺、隣接ノードの個数について、注目するノードｉについて、隣接ノード数算出部によりその隣接ノードの個数を算出し、その結果を一時記憶部に格納する。そして、一時記憶部に格納された隣接ノードの個数に応じて、以下の処理を実施する。
ｉ）      一時記憶部に格納された隣接ノード数が２の場合、ノード密度比較部はノードｉのノード密度ｄｅｎｓｉｔｙｉを例えば一時記憶部に格納される以下の式に基づいて算出する閾値と比較し、その結果を一時記憶部に格納する。
【数１８】
2008217242.tif 000020
一時記憶部に格納された比較結果について、ノード密度ｄｅｎｓｉｔｙｉが閾値より小さい場合には、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
ｉｉ）    一時記憶部に格納された隣接ノード数が１の場合、ノード密度比較部はノードｉのノード密度ｄｅｎｓｉｔｙｉを例えば一時記憶部に格納される以下の式に基づいて算出する閾値と比較し、その結果を一時記憶部に格納する。
【数１９】
2008217242.tif 000021
一時記憶部に格納された比較の結果について、ノード密度ｄｅｎｓｉｔｙｉが閾値より小さい場合には、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
ｉｉｉ）  一時記憶部に格納された隣接ノード数について、隣接ノードを持たない場合、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
ここで、予め設定され一時記憶部に格納される所定のパラメタｃ1及びｃ2を調整することで、ノイズノード削除手段５２によるノイズノードの削除の振る舞いを調整することができる。
【図面の簡単な説明】
【０１５２】
【図１】本発明を実施するための構成例を示す図である。
【図２】本発明を実施するための機能ブロックを示す図である。
【図３】本発明に係るａｄｊｕｓｔｅｄ  ＳＯＩＮＮによる学習処理の処理概要を示すフローチャートである。
【図４】本実施形態に係る情報処理装置による処理概要を示すフローチャートである。
【図５】定常的な環境における本実施形態に係る情報処理装置による処理概要を示すフローチャートである。
【図６】非定常的な環境における本実施形態に係る情報処理装置による処理概要を示すフローチャートである。
【図７】比較実験に用いた入力パターンの人工データセットを示す図である。
【図８】人工データセットに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮの出力結果を示す図である。
【図９】人工データセットに対する本発明に係る実施例の出力結果を示す図である。
【図１０】比較実験に用いた入力パターンの人工データセットを示す図である。
【図１１】人工データセットに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮの出力結果を示す図である。
【図１２】人工データセットに対する本発明に係る実施例の出力結果を示す図である。
【図１３】比較実験に用いた入力パターンの人工データセットを示す図である。
【図１４】人工データセットに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮの出力結果を示す図である。
【図１５】人工データセットに対する本発明に係る実施例の出力結果を示す図である。
【図１６】比較実験に用いた入力パターンの人工データセットを示す図である。
【図１７】人工データセットに対するａｄｊｕｓｔｅｄ  ＳＯＩＮＮの出力結果を示す図である。
【図１８】人工データセットに対する本発明に係る実施例の出力結果を示す図である。
【図１９】Optdigitsデータセットに含まれる各クラスの学習データ及びテストデータのサンプル数を示す表である。
【図２０】本実施形態に係る情報処理装置による各クラスのプロトタイプ数の平均値及び分散値を示す表である。
【図２１】本実施形態に係る情報処理装置によるテストデータを識別した結果を示す表である。
【図２２】比較実験に用いたデータセットを示す表である。
【図２３】比較実験結果の値を示す表である。
【図２４】本発明に係るＥ−ＳＯＩＮＮによる学習処理の処理概要を示すフローチャートである。
【図２５】細かい凹凸を含んだクラス間の分布重なり領域の例を示す図である。
【図２６】クラス間の分布重なり領域の例を示す図である。
【符号の説明】
【０１５３】
１    情報処理装置
１０    コンピュータ
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    バス
１５    入出力インターフェイス
１６    入力部
１７    出力部
１８    記憶部
１９    通信部
２０    ドライブ
２０１    磁気ディスク
２０２    光ディスク
２０３    フレキシブルディスク
２０４    半導体メモリ
２１    入力情報取得手段
２２    勝者ノード探索手段
２３    類似度閾値算出手段
２４    類似度閾値判定手段
２５    ノード挿入手段
２６    重みベクトル更新手段
２７    辺接続判定手段
２８    辺接続手段
２９    辺削除手段
３０    ノイズノード削除手段
３１    ｋ−平均処理手段
３２    最近傍プロトタイプ抽出手段
３３    ノイズプロトタイプ削除手段
３４    最近傍プロトタイプ選択手段
３５    プロトタイプ削除手段
３６    プロトタイプ出力手段
【図１】
2008217242.tif 000022
【図２】
2008217242.tif 000023
【図３】
2008217242.tif 000024
【図４】
2008217242.tif 000025
【図５】
2008217242.tif 000026
【図６】
2008217242.tif 000027
【図１９】
2008217242.tif 000028
【図２０】
2008217242.tif 000029
【図２１】
2008217242.tif 000030
【図２２】
2008217242.tif 000031
【図２３】
2008217242.tif 000032
【図２４】
2008217242.tif 000033
【図２５】
2008217242.tif 000034
【図２６】
2008217242.tif 000035
【図７】
2008217242.tif 000036
【図８】
2008217242.tif 000037
【図９】
2008217242.tif 000038
【図１０】
2008217242.tif 000039
【図１１】
2008217242.tif 000040
【図１２】
2008217242.tif 000041
【図１３】
2008217242.tif 000042
【図１４】
2008217242.tif 000043
【図１５】
2008217242.tif 000044
【図１６】
2008217242.tif 000045
【図１７】
2008217242.tif 000046
【図１８】
2008217242.tif 000047