JP5130523B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP5130523B2
JP5130523B2 JP2007051709A JP2007051709A JP5130523B2 JP 5130523 B2 JP5130523 B2 JP 5130523B2 JP 2007051709 A JP2007051709 A JP 2007051709A JP 2007051709 A JP2007051709 A JP 2007051709A JP 5130523 B2 JP5130523 B2 JP 5130523B2
Authority
JP
Japan
Prior art keywords
node
winner
density
nodes
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007051709A
Other languages
English (en)
Other versions
JP2008217246A (ja
Inventor
修 長谷川
富饒 申
和貴 小倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Institute of Technology NUC
Original Assignee
Tokyo Institute of Technology NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Institute of Technology NUC filed Critical Tokyo Institute of Technology NUC
Priority to JP2007051709A priority Critical patent/JP5130523B2/ja
Publication of JP2008217246A publication Critical patent/JP2008217246A/ja
Application granted granted Critical
Publication of JP5130523B2 publication Critical patent/JP5130523B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を学習する情報処理装置、情報処理方法、及びプログラムに関する。
入力データを任意個のクラスタに分類するクラスタリングとして、競合型ニューラルネットワークを利用する手法が良く知られている。競合型ニューラルネットワークは機械学習分野における教師なし分類の代表的な手法である。
競合型ニューラルネットワークでは、入力層に学習データである入力ベクトルが与えられた場合に、競合層に配置される各ニューロンが持つ参照ベクトルと入力ベクトルとの距離を計算し、入力ベクトルに最も近い参照ベクトルを持つニューロン及びその近傍に位置する近傍ニューロンの参照ベクトルを入力ベクトルに近づくように更新することで学習が行われる。
逐次的に入力ベクトルを与えて学習を繰り返すことで、競合層には入力ベクトルの位相構造を反映した特徴マップが形成され、入力ベクトルの教師なしクラスタリングが行われる。
ここで、特徴マップとはニューロン群とそれらを結ぶ辺から構成されるネットワークを示す。
競合型ニューラルネットワークの代表的な手法であるコホネンの自己組織化マップは、ニューロンの数を事前に決定して特徴マップを形成するため、分類能力に限界がある。このため、学習中に学習すべきクラスが増加する追加学習への対応が難しい(非特許文献1参照)。
また、入力ベクトルが与えられる度に各ニューロンの参照ベクトルが更新されるため、過去に与えられた入力ベクトルに対応したニューロンの持つ参照ベクトルが徐々に破壊されてしまう。
一方、非特許文献2に開示された技術は、学習中に必要に応じてニューロンを増殖させることでこれらの問題に対応している。
以下、非特許文献2に開示された技術であるSelf-Organizing Incremental Neural Network(以下、SOINNという。)による学習を簡単に説明する。
SOINNは2層ネットワーク構造を有し、1層目及び2層目において同様の学習処理を実施する。SOINNは、1層目の出力である学習結果を2層目への入力ベクトルとして利用する。
図16は、従来技術であるSOINNによる学習処理を説明するためのフローチャートである。以下、図16を用いてSOINNの処理を説明する。
S101:SOINNに対して入力ベクトルを与える。
S102:与えられた入力ベクトルに最も近いノード(以下、第1勝者ノードという。)及び2番目に近いノード(以下、第2勝者ノードという。)を探索する。
S103:第1勝者ノード及び第2勝者ノードの類似度閾値に基づいて、入力ベクトルがこれら勝者ノードの少なくともいずれか一方と同一のクラスタに属すか否かを判定する。
ここで、ノードの類似度閾値はボロノイ領域の考えに基づいて算出する。学習過程において、ノードの位置は入力ベクトルの分布を近似するため次第に変化し、それに伴いボロノイ領域も変化する。即ち、類似度閾値もノードの位置変化に応じて適応的に変化してゆく。
S104:S103における判定の結果、入力ベクトルが勝者ノードと異なるクラスタに属す場合は、入力ベクトルと同じ位置にノードを挿入し、S101へと進み次の入力ベクトルを処理する。
尚、このときの挿入をクラス間挿入と呼ぶ。
S105:一方、入力ベクトルが勝者ノードと同一のクラスタに属す場合は、第1勝者ノード及び第2勝者ノード間に辺を生成し、ノード間を辺によって直接的に接続する。
S106:第1勝者ノード及び第1勝者ノードと辺によって直接的に接続しているノードの重みベクトルをそれぞれ更新する。
S107:S105において生成された辺は年齢を有しており、予め設定された閾値を超えた年齢を持つ辺を削除する。
入力ベクトルを逐次的に与えてゆくオンライン学習においては、ノードの位置が常に徐々に変化してゆくため、初期の学習で構成した隣接関係が以後の学習によって成立しない可能性がある。このため、一定期間を経ても更新されないような辺について、辺の年齢が高くなるように構成することにより、学習に不要な辺を削除する。
S108:入力ベクトルの入力総数が、予め設定されたλの倍数であるか否かを判定する。
判定の結果、入力ベクトルの入力総数がλの倍数でない場合には、S101へと戻り次の入力ベクトルを処理する。
一方、入力ベクトルの総数がλの倍数となった場合には以下の処理を実行する。
S109:局所累積誤差が最大であるノードを探索し、そのノード付近に新たなノードを挿入する。ノードの持つ平均誤差を示す誤差半径に基づいて、ノード挿入が成功であったか否かを判定する。
尚、このときの挿入をクラス内挿入と呼ぶ。
ここで、ノード及び入力ベクトル間の距離差をノードの持つ誤差として、入力ベクトルの入力に応じてノードの誤差を累積することにより局所累積誤差を算出する。誤差半径はノードの持つ誤差及びノードが第1勝者となった回数に基づいて算出する。
S110:クラス内挿入によるノード挿入が成功であると判定した場合には、クラス内挿入により挿入されたノード及び局所累積誤差が最大のノードを辺によって直接的に接続する。
一方、クラス内挿入によるノード挿入が失敗であると判定した場合には、クラス内挿入により挿入したノードを削除してS111へと進む。
S111:隣接ノード数及びノードが第1勝者となった回数に基づいて、ノイズノードを削除する。
ここで、隣接ノードとは、ノードと辺によって直接的に接続されるノードを示し、隣接ノードの個数が1以下であるノードを削除対象とする。また、第1勝者となった回数の累積回数を予め設定されたパラメタcを使用して算出される閾値と比較し、第1勝者累積回数が閾値を下回るノードを削除対象とする。
S112:入力ベクトルの入力総数が予め設定されたLTの倍数であるか否かを判定する。
判定の結果、入力ベクトルの入力総数がLTの倍数でない場合には、S101へと戻り次の入力ベクトルを処理する。
一方、入力ベクトルの総数がLTの倍数となった場合には、以下の処理を実行する。
S113:1層目の学習を終了するか否かを判定する。
判定の結果、2層目の学習へと進む場合には、S101へと進み1層目の学習結果であるノードを2層目への入力ベクトルとして入力する。
ただし、追加学習を行う場合は、2層目に残っている以前の学習結果を消去した上で2層目の学習を開始する。
2層目への入力回数が予め設定された回数LTの倍数となり2層目の学習を終了する場合には、ノードを異なるクラスに分類し、クラス数及び各クラスの代表的なプロトタイプベクトルを出力し停止する。
ここで、プロトタイプベクトルはノードの重みベクトルに相当する。
このように、非特許文献2に開示された技術であるSOINNは、ノード数を自律的に管理することにより非定常的な入力を学習することができ、分布に複雑な形状を持つクラスに対しても適切なクラス数及び位相構造を抽出できるなど多くの利点を持つ。SOINNの応用例として、例えばパターン認識においては、ひらがな文字のクラスを学習させた後に、カタカナ文字のクラスなどを追加的に学習させることができる。
T. Kohonen, "Self-organized formation of topologically correct feature maps," Biol. Cybern, vol.43, No.1 pp.59-69, Jan 1982 F.Shen and O.Hasegawa, "An incremental network for on-line unsupervised classification and topology learning," Neural Networks, Vol.19, No.1, pp.90-106, 2006
しかしながら、SOINNは、入力ベクトルの属する複数のクラスが近接して、クラス間に高密度の入力ベクトル分布の重なりが存在する学習データを学習させた場合、異なるクラスが連結して1つのクラスタを形成する。
SOINNは2層ネットワーク構造を用いて学習を実施することで、この問題の解決を試みているものの、分布の重なりが高密度な場合には適切にクラスを分離できないという問題がある。
具体例として、図1に示すように、2つのクラス、クラス1及びクラス2間に入力ベクトル分布の重なり部分Aが存在する場合を想定する。SOINNは、このような分布の重なりが低密度である場合には2つのクラスを適切に分離することができるものの、重なりが高密度の場合には分離できずに、複数のクラスが連結して1つのクラスタを形成する。即ち、2つのクラス、クラス1及びクラス2が誤って接続されて1つのクラスタを形成するのである。
一般に、学習データの入力ベクトルについて、クラスの中心領域においては多数の入力ベクトルが存在し、クラスの境界領域に近づくに従って減少してゆく。このため、学習データの入力ベクトル分布の密度が所定の閾値を下回った領域をクラスの境界とすることにより、クラスを分離することができる。
しかし、異なるクラス間に高密度の入力ベクトル分布の重なりが存在する場合には、クラスの境界領域であっても相当程度の学習データが存在するため、入力ベクトルの分布の密度が所定の閾値を上回り、クラスを容易に分離することができない。
また、単純に閾値を大きな値に設定することで解決を試みても、本来クラスの境界ではない領域を境界領域として判定する可能性があり、学習結果が安定しないという問題を招く。
一方、ノードに密度を持たせることにより、学習データに含まれる入力ベクトルの分布の密度を推定することができる。ノードの密度を局所的に与えられる入力ベクトルの数によって定義する。即ち、注目するノード付近に多くの入力ベクトルが与えられる場合には、そのノード付近の学習データにおける入力ベクトルの分布の密度は高いものと考えられ、注目するノード付近に入力ベクトルがほとんど与えられない場合には、そのノード付近での学習データにおける入力ベクトルの分布の密度は低いものと考えられる。
このため、SOINNを含む競合型ニューラルネットワークにおいては、ノードが第1勝者ノードとなった回数である勝者回数をノードの密度として定義している。
しかしながら、勝者回数に基づく従来のノード密度の定義は自然な定義であるものの、以下に示す問題がある。
一つ目の問題として、一般に入力ベクトルの分布が高密度の領域には多くのノードが挿入されるため、そのような領域においてはノードが第1勝者ノードとなる機会が少ない。即ち、より高密度の領域に位置するノードほど勝者の回数が多くなるとは限らないという問題がある。
二つ目の問題として、追加学習を行う場合には、以前の学習において生成されたノードは第1勝者ノードとならないことが多い。即ち、追加学習によって以前の学習において生成されたノードが勝者となった回数は相対的に少なくなり、以前の学習で得られた結果に悪影響を与えてしまうという問題がある。
このように、従来の勝者回数に基づくノード密度を使用しては、クラスの境界となりうる分布の重なり領域を検出するには不十分なものであり、高密度の分布の重なりを持つクラスを適切に分離することができない。
さらに、SOINNでは入力ベクトルに含まれるノイズデータを効果的に除去するため、2層ネットワーク構造を必要とする。このため、2層ネットワーク構造へと拡張したことに伴い、1層目における学習処理の終了を判定する必要があり、完全にオンラインで追加学習を実現することができない。即ち、1層構造によりノイズデータを効率的に除去することができないという問題がある。
本発明は係る課題を解決するためになされたものであり、高密度の分布の重なりを持つクラスを分離することができる情報処理装置、情報処理方法、及びプログラムを提供することを第1の目的とする。
更に、ノイズデータを効率的に除去することができる情報処理装置、情報処理方法、及びプログラムを提供することを第2の目的とする。
本発明に係る情報処理装置は、多次元ベクトルで記述されるノードが配置される少なくとも1層以上の構造を有し、任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造としてのクラス数及び位相構造を学習する情報処理装置において、当該入力される入力ベクトルに最も近い重みベクトルを持つノードを第1勝者ノードとし、2番目に近い重みベクトルを持つノードを第2勝者ノードとし、当該第1勝者ノード及び当該第2勝者ノードの間に辺を接続したとき、注目するノード及び当該注目するノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該注目するノードのノード密度を算出するノード密度算出手段と、辺によって接続されるノードの集合であるクラスタを、前記ノード密度算出手段によって算出されるノード密度に基づいてクラスタの部分集合であるサブクラスタに分割し、当該サブクラスタの境界である分布の重なり領域を検出する分布重なり領域検出手段と、前記第1勝者ノード及び前記第2勝者ノードが前記分布重なり領域に位置するノードである場合に、当該第1勝者ノード及び当該第2勝者ノードのノード密度に基づいて当該第1勝者ノード及び当該第2勝者ノード間に辺を接続するか否かを判定する辺接続判定手段と、前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間に辺を接続する辺接続手段と、前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間の辺を削除する辺削除手段とを備えるものである。
このように、ノード密度算出手段により算出されるノード密度によれば、ノードについて、そのノードを含むある程度の範囲の領域におけるノードの密集具合を推定することができる。
これにより、分布が高密度の領域に位置するノードであっても、ノードが第1勝者回数となった回数をノードの密度とする従来の場合に比べて、入力ベクトルの入力分布密度により近似した密度となるノード密度を算出することができる。
そして、ノード密度算出手段により算出されるノード密度に基づいて分布の重なり領域を検出し、分布の重なり領域に位置する第1勝者ノード及び第2勝者ノード間に辺を接続するか否かを判定することで、異なるクラスから生成されるクラスタが互いに接続されることを防止することができると共に、誤って一つのクラスタとして接続された場合であっても、接続されたクラスタを適切に分離することができる。
また、多次元ベクトルで記述されるノードが配置される少なくとも1層以上の構造を有し、任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を学習する情報処理装置において、当該入力される入力ベクトルに最も近い重みベクトルを持つノードを第1勝者ノードとし、2番目に近い重みベクトルを持つノードを第2勝者ノードとし、当該第1勝者ノード及び当該第2勝者ノードの間に辺を接続したとき、注目するノード及び当該注目するノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該注目するノードのノード密度を算出するノード密度算出手段と、注目するノードについて、前記ノード密度算出手段により算出されるノード密度及び当該注目するノードと辺によって直接的に接続されるノードの個数に基づいて、当該注目するノードを削除するノイズノード削除手段を備えるものである。
このように、ノード密度算出手段により算出されるノード密度によれば、ノードについて、そのノードを含むある程度の範囲の領域におけるノードの密集具合を推定することができる。
これにより、分布が高密度の領域に位置するノードであっても、ノードが第1勝者回数となった回数をノードの密度とする従来の場合に比べて、入力ベクトルの入力分布密度により近似した密度となるノード密度を算出することができる。
そして、ノード密度算出手段により算出されるノード密度、及びノードと辺によって直接的に接続されるノードの個数に基づいて注目するノードを削除することで、ノイズノードを効率的に削除することができる。
さらに、前記第1勝者ノードに対応する重みベクトル及び当該第1勝者ノードと辺によって直接的に接続されるノードに対応する重みベクトルをそれぞれ前記入力ベクトルに更に近づけるように更新する重みベクトル更新手段を更に備えるようにしてもよい。
これにより、第1勝者ノードに対応する重みベクトル、及び第1勝者ノードと辺によって直接的に接続されるノードに対応する重みベクトルを、それぞれ入力ベクトルに更に近づけるように更新することができる。
さらにまた、注目するノードについて、前記ノード密度算出手段により算出されるノード密度及び当該注目するノードと辺によって直接的に接続されるノードの個数に基づいて、当該注目するノードを削除するノイズノード削除手段を更に備えるようにしてもよい。
これにより、ノード密度算出手段により算出されるノード密度、及びノードと辺によって直接的に接続されるノードの個数に基づいて、ノードを削除することで、ノイズノードをさらに効率的に削除することができる。
また、前記ノード密度算出手段は、前記第1勝者ノード及び当該第1勝者ノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該第1勝者ノードのノード密度を単位入力数あたりの割合として算出する単位ノード密度算出部を有するようにしてもよい。
このように、ノード密度を、ノードの密集具合を反映させた上で、単位入力数あたりのノードのノード密度として算出することができる。
これにより、追加学習を長時間実施する場合であっても、ノードのノード密度が相対的に小さくなってしまうことを防ぐことができ、従来の手法に比べて、入力ベクトルの入力分布密度により近似したノード密度を変化させずに保持して算出することができる。
さらに、前記ノード密度算出手段は、前記第1勝者ノード及び当該第1勝者ノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該第1勝者ノードのノード密度のポイント値を算出するノード密度ポイント算出部と、前記入力ベクトルの入力数が所定の単位入力数となるまでノード密度ポイントを累積し、当該入力ベクトルの入力数が所定の単位入力数になった場合に、当該累積されたノード密度ポイントを単位入力数あたりの割合として算出し、単位入力数あたりのノードのノード密度を算出する単位ノード密度ポイント算出部とを有するようにしてもよい。
このように、ノード密度を、ノードの密集具合を反映させたポイントとして算出し、単位入力数あたりのノードのノード密度ポイントとして算出することができる。
これにより、追加学習を長時間実施する場合であっても、ノードのノード密度が相対的に小さくなってしまうことを防ぐことができ、従来の手法に比べて、入力ベクトルの入力分布密度により近似したノード密度を変化させずに保持して算出することができる。
さらにまた、前記入力ベクトルをニューラルネットワークに入力し、当該入力される入力ベクトルに基づいて、該ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであるようにしてもよい。
このように、ノードを自動的に増加させることで、入力ベクトル空間からランダムに入力ベクトルが与えられる定常的な環境に限られず、例えば一定期間毎に入力ベクトルの属するクラスが切替えられて、切替後のクラスからランダムに入力ベクトルが与えられる非定常的な環境に対応することができる。
また、注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノード間の距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノード間の距離を類似度閾値として算出する類似度閾値算出手段と、前記入力ベクトルと前記第1勝者ノード間の距離が当該第1勝者ノードの類似度閾値より大きいか否か、及び、前記入力ベクトルと前記第2勝者ノード間の距離が当該第2勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定手段と、類似度閾値判定結果に基づいて、前記入力ベクトルをノードとして当該入力ベクトルと同じ位置に挿入するノード挿入手段と、を更に備えるようにしてもよい。
このように、類似度閾値に基づいてノードの挿入を判断することで、ノード数を自律的に管理することができる。
これにより、入力ベクトル空間からランダムに入力ベクトルが与えられる定常的な環境に限られず、例えば一定期間毎に入力ベクトルの属するクラスが切替えられて、切替後のクラスからランダムに入力ベクトルが与えられる非定常的な環境に対応することができる共に、このような非定常的な環境において必要とされる、新しいクラスを追加的に学習する追加学習を実施することができる。
さらに、前記自己増殖型ニューラルネットワークは1層構造であるようにしてもよい。
このように、1層構造とすることで、2層目の学習を開始するタイミングを指定せずに追加学習を実施することができる。即ち、完全なオンラインでの追加学習を実施することができる。
また、非特許文献2に開示された技術と比べて、学習に際して事前に指定するパラメタの数を減少させることができ、より簡単に学習を実施することができる。
さらにまた、前記分布重なり領域検出手段は、前記ノード密度算出手段により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索するノード探索部と、
当該探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与する第1のラベル付与部と、前記第1のラベル付与部によりラベルが付与されなかったノードについて、前記第1のラベル付与部によりラベルが付与されたノードと辺によって接続されるノードについて、前記第1のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与する第2のラベル付与部と、辺によって接続されるノードの集合であるクラスタを、同じラベルが付与されたノードからなるクラスタの部分集合であるサブクラスタに分割するクラスタ分割部と、注目するノード及び当該注目するノードと辺によって直接的に接続されるノードがそれぞれ異なるサブクラスタに属する場合に、当該注目するノード及び当該注目するノードと辺によって直接的に接続されるノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出する分布重なり領域検出部とを有するようにしてもよい。
このように、ノード密度が局所的に最大となるノードに基づいてクラスタをサブクラスタに分割することで、単純に密度の低い領域をクラスタの境界として検出する方法では検出が困難となる場合においても、サブクラスタの境界である分布の重なり領域を適切に検出することができる。
本発明に係る情報処理方法は、多次元ベクトルで記述されるノードが配置される少なくとも1層以上の構造を有し、任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を学習する情報処理方法において、当該入力される入力ベクトルに最も近い重みベクトルを持つノードを第1勝者ノードとし、2番目に近い重みベクトルを持つノードを第2勝者ノードとし、当該第1勝者ノード及び当該第2勝者ノードの間に辺を接続したとき、注目するノード及び当該注目するノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該注目するノードのノード密度を算出するノード密度算出ステップと、辺によって接続されるノードの集合であるクラスタを、前記ノード密度算出手段によって算出されるノード密度に基づいてクラスタの部分集合であるサブクラスタに分割し、当該サブクラスタの境界である分布の重なり領域を検出する分布重なり領域検出ステップと、前記第1勝者ノード及び前記第2勝者ノードが前記分布重なり領域に位置するノードである場合に、当該第1勝者ノード及び当該第2勝者ノードのノード密度に基づいて当該第1勝者ノード及び当該第2勝者ノード間に辺を接続するか否かを判定する辺接続判定ステップと、前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間に辺を接続する辺接続ステップと、前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間の辺を削除する辺削除ステップとを備えるものである。
本発明に係るプログラムは、上述のような情報処理をコンピュータに実行させるものである。
本発明によれば、高密度の分布の重なりを持つクラスを分離することができる情報処理装置、情報処理方法、及びプログラムを提供することができる。
更に、ノイズデータを効率的に除去することができる情報処理装置、情報処理方法、及びプログラムを提供することができる。
発明の実施の形態1.
図2は、本実施の形態1に係る情報処理装置を実現するためのシステム構成の一例を示す図である。情報処理装置は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータより実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図2に示すように、コンピュータ10は、CPU11(Central Processing Unit)、ROM12(Read Only Memory)及びRAM13(Random Access Memory)を有し、これらがバス14を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然備えているものとする。
バス14には又、入出力インターフェイス15も接続されている。入出力インターフェイス15には、例えば、キーボード、マウス、センサなどよりなる入力部16、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部17、ハードディスクなどより構成される記憶部18、モデム、ターミナルアダプタなどより構成される通信部19などが接続されている。
CPU11は、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えばノード密度算出手段27や分布重なり領域検出手段28における処理を実行する。RAM13には又、CPU11が各種の処理を実行する上において必要なデータなども適宜記憶される。
通信部19は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU11から提供されたデータを送信したり、通信相手から受信したデータをCPU11、RAM13、記憶部18に出力したりする。記憶部18はCPU11との間でやり取りし、情報の保存・消去を行う。通信部19は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。
入出力インターフェイス15は又、必要に応じてドライブ20が接続され、例えば、磁気ディスク201、光ディスク202、フレキシブルディスク203、又は半導体メモリ204などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部18にインストールされる。
続いて、本実施形態に係る情報処理装置1における各処理について、その主な処理を図3に示す機能ブロック図を用いて説明する。ハードウェア上は、各処理は実際にはソフトウェアと上記CPU11などのハードウェア資源とが協働して実現している。
情報処理装置1は、n次元ベクトルで記述されるノードが配置される少なくとも1層以上の構造のニューラルネットワークを有し、入力情報取得手段21、勝者ノード探索手段22、類似度閾値算出手段23、類似度閾値判定手段24、ノード挿入手段25、重みベクトル更新手段26、ノード密度算出手段27、分布重なり領域検出手段28、辺接続判定手段29、辺接続手段30、辺削除手段31、ノイズノード削除手段32、クラス決定手段33、出力情報表示手段34を含む。
尚、本実施形態に係る情報処理装置は、非特許文献2に開示される技術であるSOINNに比べて、更に、ノード密度算出手段27、分布重なり領域検出手段28、辺接続判定手段29、辺接続手段30、辺削除手段31、ノイズノード削除手段32を含むものである。
ノード密度算出手段27、分布重なり領域検出手段28、辺接続判定手段29、辺接続手段30、及び辺削除手段31によれば、分布に高密度の重なりのあるクラスを分離することができる。
さらに、ノード密度算出手段27及びノイズノード削除手段32によれば、ノイズノードを効率的に削除することができる。
以下、更に詳細に説明する。
本実施形態においては、情報処理装置1を構成するニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであり、1層構造を有するものとして以下説明する。
これにより、自己増殖型ニューラルネットワークを用いてノードを自動的に増加させることができるため、入力ベクトル空間からランダムに入力ベクトルが与えられる定常的な環境に限られず、例えば一定期間毎に入力ベクトルの属するクラスが切替えられて、切替後のクラスからランダムに入力ベクトルが与えられる非定常的な環境にも対応することができる。
さらにまた、1層構造とすることで、2層目の学習を開始するタイミングを指定せずに追加学習を実施することができる。即ち、完全なオンラインでの追加学習を実施することができる。
また、SOINNと比べて、学習に際して事前に指定するパラメタの数を少なくすることができ、より簡単に学習を実施することができる。
入力情報取得手段21は、情報処理装置1に入力として与えられる情報として、任意のクラスに属するn次元の入力ベクトルを取得する。そして、取得された入力ベクトルを一時記憶部(例えばRAM13)に格納し、一時記憶部に格納されたニューラルネットワークに対して順次入力する。
勝者ノード探索手段22は、一時記憶部に格納される入力ベクトル及びノードについて、入力ベクトルに最も近い重みベクトルを持つノードを第1勝者ノードとし、2番目に近い重みベクトルを持つノードを第2勝者ノードとして探索し、その結果を一時記憶部に格納する。
即ち、n次元の入力ベクトルξに対して、一時記憶部に格納される以下の式を満足するノードを、それぞれ第1勝者ノードa1及び第2勝者ノードa2として探索し、その結果を一時記憶部に格納する。
ここで、aは一時記憶部に格納されたノード集合Aに含まれるノードであり、Wは一時記憶部に格納されたノードaの重みベクトルを示す。
類似度閾値算出手段23は、一時記憶部に格納されたノード及びノードの類似度閾値について、注目するノードについて、注目するノードと辺によって直接的に接続されるノード(以下、隣接ノードという。)が存在する場合には、隣接ノードのうち注目するノードからの距離が最大であるノードまでの距離を類似度閾値として算出し、その結果を一時記憶部に格納し、隣接ノードが存在しない場合には、注目するノードからの距離が最小であるノードまでの距離を類似度閾値として算出し、その結果を一時記憶部に格納する。
具体的には、例えば以下のようにして注目するノードの類似度閾値を算出し、その結果を一時記憶部に格納する。
S201:類似度閾値算出手段23は、新しく挿入され一時記憶部に格納されたノードiの類似度閾値Tiを+∞(十分大きな値)に設定し、その結果を一時記憶部に格納する。
S202:一時記憶部に格納されたノードについて、ノードiが入力ベクトルから最も近いノードまたは2番目に近いノードとなった場合に、ノードiが隣接ノードを持つか否かを判定し、その結果を一時記憶部に格納する。
S203:一時記憶部に格納された判定の結果、隣接ノードを持つ場合には、一時記憶部に格納された類似度閾値及びノードについて、類似度閾値Tiを隣接ノードへの最大距離とし、その結果を一時記憶部に格納する。
即ち、ノードiについて、一時記憶部に格納される以下の式に基づいて類似度閾値Tiを算出し、その結果を一時記憶部に格納する。
ここで、cは一時記憶部に格納されたノードiの隣接ノード集合Nに含まれるノードであり、Wは一時記憶部に格納されたノードcの重みベクトルを示す。
S204:判定の結果、隣接ノードを持たない場合には、ノードiからノードiを除いた他の各ノードへの距離を算出し、算出された距離のうち最小の距離を類似度閾値Tiとする。
即ち、ノードiについて、一時記憶部に格納される以下の式に基づいて類似度閾値Tiを算出し、その結果を一時記憶部に格納する。
類似度閾値判定手段24は、一時記憶部に格納された入力ベクトル、ノード及び、ノードの類似度閾値について、入力ベクトル及びと第1勝者ノード間の距離が第1勝者ノードの類似度閾値より大きいか否か、及び、入力ベクトルと第2勝者ノード間の距離が第2勝者ノードの類似度閾値より大きいか否かを判定し、その結果を一時記憶部に格納する。
即ち、一時記憶部に格納される以下の式に示すように、入力ベクトルξと第1勝者ノードa1の間の距離が類似度閾値Ta1よりも大きいか否かを判定しその結果を一時記憶部に格納すると共に、入力ベクトルξと第2勝者ノードa2の間の距離が類似度閾値Ta2よりも大きいか否かを判定しその結果を一時記憶部に格納する。
ノード挿入手段25は、一時記憶部に格納された類似度閾値判定手段24による判定結果に基づいて、一時記憶部に格納された入力ベクトルについて、入力ベクトルを新たなノードとして、入力ベクトルと同じ位置に挿入し、その結果を一時記憶部に格納する。
重みベクトル更新手段26は、一時記憶部に格納されたノードの重みベクトルについて、第1勝者ノードの重みベクトル及び第1勝者ノードの隣接ノードの重みベクトルをそれぞれ入力ベクトルに更に近づけるように更新し、その結果を一時記憶部に格納する。
第1勝者ノードa1の重みベクトルの更新量ΔWa1、及び第1勝者ノードa1の隣接ノードiの重みベクトルの更新量ΔWaiは、例えば一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
ここで、ε1(t)及びε2(t)はそれぞれ一時記憶部に格納される以下の式に基づいて算出し、その結果を一時期億部に格納する。
尚、本実施の形態においては、追加学習に対応するため、入力ベクトルの入力回数tに代えて、一時記憶部に格納される第1勝者ノードa1が第1勝者ノードとなった累積回数Ma1を用いる。
ノード密度算出手段27は、一時記憶部に格納されたノード及びノード密度について、注目するノードについて、その隣接ノード間の平均距離に基づいて、注目するノードのノード密度を算出し、その結果を一時記憶部に格納する。
さらに、ノード密度算出手段27は、単位ノード密度算出部を有し、単位ノード密度算出部は、追加学習に対応するため、一時記憶部に格納された第1勝者ノード及びノード密度について、第1勝者ノードとその隣接ノード間の平均距離に基づいて、第1勝者ノードのノード密度を単位入力数あたりの割合として算出し、その結果を一時記憶部に格納する。
さらにまた、ノード密度算出手段27は、一時記憶部に格納されたノード及びノード密度ポイントについて、第1勝者ノード及びその隣接ノード間の平均距離に基づいて、第1勝者ノードのノード密度のポイント値を算出するノード密度ポイント算出部と、入力ベクトルの入力数が所定の単位入力数となるまでノード密度ポイントを一時記憶部に格納して累積し、入力ベクトルの入力数が所定の単位入力数になった場合に、一時記憶部に格納して累積されたノード密度ポイントを単位入力数あたりの割合として算出し、単位入力数あたりのノードのノード密度を算出し、その結果を一時記憶部に格納する単位ノード密度ポイント算出部を有する。
具体的には、ノード密度ポイント算出部は、例えば一時記憶部に格納される以下の式に基づいてノードiに与えられるノード密度のポイント値pを算出し、その結果を一時記憶部に格納する。尚、ノードiに与えられるポイント値pは、ノードiが第1勝者ノードとなった場合には一時記憶部に格納される以下の式に基づいて算出されるポイント値が与えられるが、ノードiが第1勝者ノードでない場合にはノードiにはポイントは与えられないものとする。
ここで、eはノードiからその隣接ノードまでの平均距離を示し、一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。

尚、mは一時記憶部に格納されたノードiの隣接ノードの個数を示し、Wは一時記憶部に格納されたノードiの重みベクトルを示す。
ここで、隣接ノードへの平均距離が大きくなる場合には、ノードを含むその領域にはノードが少ないものと考えられ、逆に平均距離が小さくなる場合には、その領域にはノードが多いものと考えられる。
従って、ノードの多い領域で第1勝者ノードとなった場合には高いポイントが与えられ、ノードの少ない領域で第1勝者ノードとなった場合には低いポイントが与えられるようにノードの密度のポイント値の算出方法を上述のように構成する。
これにより、ノードを含むある程度の範囲の領域におけるノードの密集具合を推定することができるため、ノードの分布が高密度の領域に位置するノードであっても、ノードが第1勝者回数となった回数をノードの密度とする従来の場合に比べて、入力ベクトルの入力分布密度により近似した密度となるノード密度ポイントを算出することができる。
単位ノード密度ポイント算出部は、例えば一時記憶部に格納される以下の式に基づいてノードiの単位入力数あたりのノード密度densityを算出し、その結果を一時記憶部に格納する。
ここで、連続して与えられる入力ベクトルの入力回数を予め設定され一時記憶部に格納される一定の入力回数λごとの区間に分け、各区間においてノードiに与えられたポイントについてその合計を累積ポイントsと定める。尚、入力ベクトルの総入力回数を予め設定され一時記憶部に格納されるLTとする場合に、LT/λを区間の総数nとしその結果を一時記憶部に格納し、nのうち、ノードに与えられたポイントの合計が0以上であった区間の数をNとして算出し、その結果を一時記憶部に格納する(Nとnは必ずしも同じとならない点に注意する)。
累積ポイントsは、例えば一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
ここで、p (j,k)はj番目の区間におけるk番目の入力によってノードiに与えられたポイントを示し、上述のノード密度ポイント算出部により算出され、その結果を一時記憶部に格納する。
このように、単位ノード密度ポイント算出部は、一時記憶部に格納されたノードiの密度densityを累積ポイントsの平均として算出し、その結果を一時記憶部に格納する。
尚、本実施の形態においては追加学習に対応するため、nに代えてNを用いる。これは、追加学習において、以前の学習で生成されたノードにはポイントが与えられないことが多く、nを用いて密度を算出すると、以前学習したノードの密度が次第に低くなってしまうという問題を回避するためである。即ち、nに代えてNを用いてノード密度を算出することで、追加学習を長時間行った場合であっても、追加されるデータが以前学習したノードの近くに入力されない限りは、そのノードの密度を変化させずに保持することができる。
これにより、追加学習を長時間実施する場合であっても、ノードのノード密度が相対的に小さくなってしまうことを防ぐことができ、従来の手法に比べて、入力ベクトルの入力分布密度により近似したノード密度を変化させずに保持して算出することができる。
分布重なり領域検出手段28は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、辺によって接続されるノードの集合であるクラスタを、ノード密度算出手段27によって算出されるノード密度に基づいてクラスタの部分集合であるサブクラスタに分割し、その結果を一時記憶部に格納し、サブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
さらに、分布重なり領域検出手段28は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、ノード密度算出手段27により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索するノード探索部と、探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与する第1のラベル付与部と、第1のラベル付与部によりラベルが付与されなかったノードのうち、そのノードと辺によって接続されるノードについて、第1のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与する第2のラベル付与部と、それぞれ異なるラベルが付与されたノード間に辺によって直接的に接続がある場合に、その辺によって接続されるノードの集合であるクラスタをクラスタの部分集合であるサブクラスタに分割するクラスタ分割部と、注目するノード及びその隣接ノードがそれぞれ異なるサブクラスタに属する場合に、その注目するノード及びその隣接ノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出する分布重なり領域検出部を有する。
具体的には、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードの密度について、例えば以下のようにしてサブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
S301:ノード探索部は、一時記憶部に格納されたノード及びノードの密度について、ノード密度算出手段27により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索し、その結果を一時記憶部に格納する。
S302:第1のラベル付与部は、一時記憶部に格納されたノード、及びノードのラベルについて、S301において探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与し、その結果を一時記憶部に格納する。
S303:第2のラベル付与部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、S302において第1のラベル付与部によりラベルが付与されなかったノードについて、第1のラベル付与部にラベルが付与されたノードと辺によって接続されるノードについて、第1のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与し、その結果を一時記憶部に格納する。即ち、密度が局所的に最大の隣接ノードと同じラベルを付与する。
S304:クラスタ分割部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、一時記憶部に格納された辺によって接続されるノードの集合であるクラスタを、同じラベルが付与されたノードからなるクラスタの部分集合であるサブクラスタに分割し、その結果を一時記憶部に格納する。
S305:分布重なり領域検出部は、一時記憶部に格納されたノード、ノード間を接続する辺、及びノードのラベルについて、注目するノードとその隣接ノードが異なるサブクラスタにそれぞれ属する場合に、その注目するノード及びその隣接ノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出し、その結果を一時記憶部に格納する。
辺接続判定手段29は、一時記憶部に格納されたノード、ノード密度、及び分布重なり領域について、第1勝者ノード及び第2勝者ノードが分布重なり領域に位置するノードである場合に、第1勝者ノード及び第2勝者ノードのノード密度に基づいて第1勝者ノード及び第2勝者ノード間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
さらに辺接続判定手段29は、一時記憶部に格納されたノード、ノード密度、ノードのサブクラスタについて、ノードが属しているサブクラスタを判定する所属サブクラスタ判定部と、ノードが属するサブクラスタの頂点の密度及びノードの密度に基づいて、第1勝者ノード及び第2勝者ノード間に辺を接続するか否かを判定する辺接続判定部を有する。
辺接続手段30は、一時記憶部に格納された辺接続判定手段29の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。
辺削除手段31は、一時記憶部に格納された辺接続判定手段29の判定結果に基づいて、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間の辺を削除し、その結果を一時記憶部に格納する。
具体的には、一時記憶部に格納されたノード、ノード密度、ノードのサブクラスタ、及びノード間の辺について、例えば以下のようにして辺接続判定手段29は辺を接続するか否かを判定し、辺接続手段30及び辺削除手段31は辺の生成及び削除処理を実施し、その結果を一時記憶部に格納する。
S401:所属サブクラスタ判定部は、一時記憶部に格納されたノード、ノードのサブクラスタについて、第1勝者ノード及び第2勝者ノードが属するサブクラスタをそれぞれ判定し、その結果を一時記憶部に格納する。
S402:一時記憶部に格納されたS401における判定の結果、第1勝者ノード及び第2勝者ノードがどのサブクラスタにも属していない場合、又は、第1勝者ノード及び第2勝者ノードが同じサブクラスタに属している場合には、辺接続手段30は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を生成することによりノード間を接続し、その結果を一時記憶部に格納する。
S403:一時記憶部に格納されたS401における判定の結果、第1勝者ノード及び第2勝者ノードが互いに異なるサブクラスタに属す場合には、辺接続判定部は、一時記憶部に格納されたノード、ノード密度、及びノード間の辺について、ノードが属するサブクラスタの頂点の密度及びノードの密度に基づいて、第1勝者ノード及び第2勝者ノード間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
S404:一時記憶部に格納されたS403における辺接続判定部による判定の結果、辺を接続する必要がないと判定した場合には、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間を辺によって接続せず、既にノード間が辺によって接続されていた場合には、辺削除手段31は、一時記憶部に格納されたノード及びノード間の辺について、一時記憶部に格納された第1勝者ノード及び第2勝者ノード間の辺を削除し、その結果を一時記憶部に格納する。
S405:一時記憶部に格納されたS403における辺接続判定部による判定の結果、辺を接続する必要があると判定した場合には、辺接続手段30は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を生成しノード間を接続する。
ここで、辺接続判定部による判定処理について詳細に説明する。
まず、辺接続判定部は、一時記憶部に格納されたノード及びノード密度について、第1勝者ノードのノード密度densitywin及び第2勝者ノード密度densitysec−winのうち、最小のノード密度mを例えば一時記憶部に格納される以下の式に基いて算出し、その結果を一時記憶部に格納する。
次に、一時記憶部に格納されたノード、ノードのノード密度、及びノードのサブクラスについて、第1勝者ノード及び第2勝者ノードがそれぞれ属するサブクラスタA及びサブクラスタBについて、サブクラスタAの頂点の密度Amax及びサブクラスタBの頂点の密度Bmaxを算出し、その結果を一時記憶部に格納する。
尚、サブクラスタに含まれるノードのうち、ノード密度が最大であるノード密度をサブクラスタの頂点の密度とする。
そして、一時記憶部に格納されたノードが属するサブクラスタの頂点の密度Amax及びBmax、及びノードの密度mについて、mがαmaxより小さく、かつ、mがαmaxより小さいか否かを判定し、その結果を一時記憶部に格納する。即ち、一時記憶部に格納される以下の不等式を満足するか否かを判定し、その結果を一時記憶部に格納する。
判定の結果、mがαmaxより小さく、かつ、mがαmaxより小さい場合には、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間には辺は不要であると判定し、その結果を一時記憶部に格納する。
一方、判定の結果、mがαmax以上、または、mがαmax以上である場合には、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺は必要であると判定し、その結果を一時記憶部に格納する。
このように、第1勝者ノード及び第2勝者ノードの最小ノード密度mを、第1勝者ノード及び第2勝者ノードをそれぞれ含むサブクラスタの平均的なノード密度と比較することで、第1勝者ノード及び第2勝者ノードを含む領域におけるノード密度の凹凸の大きさを判定することができる。即ち、サブクラスタA及びサブクラスタBの間に存在する分布の谷間のノード密度mが、閾値αmax又はαmaxより大きな場合には、ノード密度の形状は小さな凹凸であると判定することができる。
ここで、α及びαは一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。尚、αについてもαと同様にして算出することができるためここでは説明を省略する。
i) Amax/mean−1≦1の場合には、α=0.0とする。
ii) 1<Amax/mean−1≦2の場合には、α=0.5とする。
iii) 2<Amax/mean−1の場合には、α=1.0とする。
max/meanの値が1以下となるi)の場合には、Amaxとmeanの値は同程度であり、密度の凹凸はノイズの影響によるものと判断する。そして、αの値を0.0とすることで、サブクラスタが統合されるようにする。
また、Amax/meanの値が2を超えるi i i)の場合には、Amaxはmeanに比べて十分大きく、明らかな密度の凹凸が存在するものと判断する。そして、αの値を1.0とすることで、サブクラスタが分離されるようにする。
そして、Amax/meanの値が上述した場合以外となる i i)の場合には、αの値を0.5とすることで、密度の凹凸の大きさに応じてサブクラスタが統合又は分離されるようにする。
尚、meanはサブクラスタAに属すノードiのノード密度densityの平均値を示し、NをサブクラスタAに属するノードの数として、一時記憶部に格納される以下の式に基づいて算出し、その結果を一時記憶部に格納する。
このように、サブクラスタへの分離を行う際に、サブクラスタに含まれるノード密度の凹凸の程度を判定し、ある基準を満たした2つのサブクラスタを1つに統合することで、分布の重なり領域の検出におけるサブクラスタの分けすぎによる不安定化を防止することができる。
例えば、図4に示す2つのサブクラスタA及びBについて、サブクラスタAの頂点の密度がAmaxであり、サブクラスタBの頂点の密度がBmaxであるものとする。
図4に示すように、ノイズや学習サンプルが少ないことが原因で、密度の分布に多くの細かい凹凸が形成されることがある。
このような場合に、第1勝者ノード及び第2勝者ノードがサブクラスタA及びBの間にある分布の重なり領域に位置する場合に、ノード間の接続を行う際にある基準を満たした2つのサブクラスタを1つに統合することで、図4に示すように密度の分布に多くの細かい凹凸が含まれる場合であっても、図1に示すように密度の分布を平滑化することができる。
ノイズノード削除手段32は、一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、注目するノードについて、ノード密度算出手段27により算出されるノード密度及び注目するノードの隣接ノードの個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納する。
さらにノイズノード削除手段32は、一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、注目するノードのノード密度を所定の閾値と比較するノード密度比較部と、注目するノードの隣接ノードの個数を算出する隣接ノード数算出部と、注目するノードをノイズノードとみなして削除するノイズノード削除部を有する。
具体的には、例えば以下のようにして一時記憶部に格納されたノード、ノード密度、ノード間の辺、隣接ノードの個数について、ノード密度及び注目するノードの隣接ノードの個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納する。
ノイズノード削除手段32は、一時記憶部に格納されたノード、ノード間の辺、隣接ノードの個数について、注目するノードiについて、隣接ノード数算出部によりその隣接ノードの個数を算出し、その結果を一時記憶部に格納する。そして、一時記憶部に格納された隣接ノードの個数に応じて、以下の処理を実施する。
i) 一時記憶部に格納された隣接ノード数が2の場合、ノード密度比較部はノードiのノード密度densityを例えば一時記憶部に格納される以下の式に基づいて算出する閾値と比較し、その結果を一時記憶部に格納する。
一時記憶部に格納された比較結果について、ノード密度densityが閾値より小さい場合には、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
ii) 一時記憶部に格納された隣接ノード数が1の場合、ノード密度比較部はノードiのノード密度densityを例えば一時記憶部に格納される以下の式に基づいて算出する閾値と比較し、その結果を一時記憶部に格納する。
一時記憶部に格納された比較の結果について、ノード密度densityが閾値より小さい場合には、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
iii) 一時記憶部に格納された隣接ノード数について、隣接ノードを持たない場合、ノイズノード削除部は、一時記憶部に格納されたノードについて、ノードを削除し、その結果を一時記憶部に格納する。
ここで、予め設定され一時記憶部に格納される所定のパラメタc1及びc2を調整することで、ノイズノード削除手段32によるノイズノードの削除の振る舞いを調整することができる。
クラス決定手段33は、一時記憶部に格納されたノード、ノード間の辺、及びノードのクラスについて、ノード間に生成された辺に基づいて、ノードの属するクラスを決定し、その結果を一時記憶部に格納する。
具体的には、一時記憶部に格納されたノード、ノード間の辺、及びノードのクラスについて、例えば以下のようにしてノードの属するクラスを決定し、その結果を一時記憶部に格納する。
S501:一時記憶部に格納されたノード及びノードのクラスについて、すべてのノードをどのクラスにも属していない状態にし、その結果を一時記憶部に格納する。
S502:一時記憶部に格納されたノード及びノードのクラスについて、どのクラスにも属していないノードから、ノードiをランダムに選択し、新しいクラスのラベルを付与し、その結果を一時記憶部に格納する。
S503:一時記憶部に格納されたノード、ノード間の辺、及びノードのクラスについて、ノードiとパスによって接続しているノードをすべて探索し、ノードiと同じラベルを付与し、その結果を一時記憶部に格納する。
S504:一時記憶部に格納されたノード及びノードのクラスについて、どのクラスにも属していないノードが存在する場合には、S502へと進み、全てのノードに対してクラスのラベルを付与するまで処理を続ける。
ここで、ノードa及びノードbとがパスによって接続されるとは、ノードa及びノードb間において、いくつかの辺を通して2つのノードが接続されることを示す。
即ち、ノード集合Aに含まれるノードa、ノードb、ノードx(i=1,2,・・・,n)に対して、ノードa及びノードx1間の辺を示す(a,x1)、ノードx1及びノードx2間の辺を示す(x1,x2)、・・・、ノードx及びノードb間の辺を示す(x,b)という辺の連続が存在する場合に、ノードa及びノードb間とがパスによって接続されるという。
出力情報表示手段34は、一時記憶部に格納されたノード、及びノードのクラスについて、ノードの属するクラスのクラス数、及び各クラスのプロトタイプベクトルを出力する。
続いて、本実施形態に係る情報処理装置における全体処理フローについて、図5のフローチャートを用いて説明する。図5は、本実施形態に係る情報処理装置による学習処理の処理概要を示すフローチャートである。
S601:入力情報取得手段21は、ランダムに2つの入力ベクトルを取得し、ノード集合Aをそれらに対応する2つのノードのみを含む集合として初期化し、その結果を一時記憶部に格納する。また、辺集合C⊂A×Aを空集合として初期化し、その結果を一時記憶部に格納する。
S602:入力情報取得手段21は、新しい入力ベクトルξを入力し、その結果を一時記憶部に格納する。
S603:勝者ノード探索手段22は、一時記憶部に格納された入力ベクトル及びノードについて、入力ベクトルξに最も近い重みベクトルを持つ第1勝者ノードa1及び2番目に近い重みベクトルを持つ第2勝者ノードa2を探索し、その結果を一時記憶部に格納する。
S604:類似度閾値判定手段24は、一時記憶部に格納された入力ベクトル、ノード、ノードの類似度閾値について、入力ベクトルξと第1勝者ノードa1間の距離が第1勝者ノードa1の類似度閾値T1より大きいか否か、及び、入力ベクトルξと第2勝者ノードa2間の距離が第2勝者ノードa2の類似度閾値T2より大きいか否かを判定し、その結果を一時記憶部に格納する。
ここで、一時記憶部に格納された第1勝者ノードa1の類似度閾値T1及び第2勝者ノードa2の類似度閾値T2は、上述のS201乃至S204において示したように類似度閾値算出手段23により算出され、その結果が一時記憶部に格納される。
S605:一時記憶部に格納されたS604における判定の結果、入力ベクトルξと第1勝者ノードa1間の距離が第1勝者ノードa1の類似度閾値T1より大きい、又は、入力ベクトルξと第2勝者ノードa2間の距離が第2勝者ノードa2の類似度閾値T2より大きい場合には、ノード挿入手段25は、一時記憶部に格納された入力ベクトル及びノードについて、入力ベクトルξを新たなノードiとして、入力ベクトルξと同じ位置に挿入し、その結果を一時記憶部に格納する。
S606:一方、一時記憶部に格納されたS604における判定の結果、入力ベクトルξと第1勝者ノードa1間の距離が第1勝者ノードa1の類似度閾値T1以下であり、かつ、入力ベクトルξと第2勝者ノードa2間の距離が第2勝者ノードa2の類似度閾値T2以下である場合には、辺接続判定手段29は、一時記憶部に格納されたノード、ノード密度、ノード間の辺について、第1勝者ノードa1及び第2勝者ノードa2のノード密度に基づいて、第1勝者ノードa1及び第2勝者ノードa2間に辺を接続するか否かを判定し、その結果を一時記憶部に格納する。
S607:一時記憶部に格納されたS606における判定の結果、第1勝者ノードa1及び第2勝者ノードa2間に辺を生成して接続する場合には、辺接続手段30は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノード及び第2勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。
そして、情報処理装置は、一時記憶部に格納された辺及び辺の年齢について、新しく生成された辺、及び、既にノード間に辺が生成されていた場合にはその辺について、辺の年齢を0に設定しその結果を一時記憶部に格納し、第1勝者ノードa1と直接的に接続される辺の年齢をインクリメントし(1増やす)、その結果を一時記憶部に格納する。
一方、一時記憶部に格納されたS606における判定の結果、第1勝者ノードa1及び第2勝者ノードa2間に辺を接続しない場合には、S608へと処理を進めるが、既にノード間に辺が生成されていた場合には、辺削除手段31は、一時記憶部に格納されたノード及びノード間の辺について、第1勝者ノードa1及び第2勝者ノードa2間の辺を削除し、その結果を一時記憶部に格納する。尚、上述のS401乃至S405において示したようにして、辺接続判定手段29、辺接続手段30、及び辺削除手段31は処理を実施する。
次いで、一時記憶部に格納されたノード及びノード密度のポイント値について、第1勝者ノードa1について、ノード密度算出手段27は、一時記憶部に格納された第1勝者ノードa1のノード密度のポイント値を算出しその結果を一時記憶部に格納し、算出され一時記憶部に格納されたノード密度のポイント値を以前までに算出され一時記憶部に格納されたポイント値に加算することで、ノード密度ポイントとして累積し、その結果を一時記憶部に格納する。
次いで、情報処理装置は、一時記憶部に格納された第1勝者ノードa1が第1勝者ノードとなった累積回数Ma1をインクリメントし(1増やす)、その結果を一時記憶部に格納する。
S608:重みベクトル更新手段26は、一時記憶部に格納されたノード及びノードの重みベクトルについて、第1勝者ノードa1の重みベクトル及び第1勝者ノードa1の隣接ノードの重みベクトルをそれぞれ入力ベクトルξに更に近づけるように更新し、その結果を一時記憶部に格納する。
S609:情報処理装置は、一時記憶部に格納された辺について、予め設定され一時記憶部に格納された閾値ageを超えた年齢を持つ辺を削除し、その結果を一時記憶部に格納する。尚、ageはノイズなどの影響により誤って生成される辺を削除するために使用する。ageに小さな値を設定することにより、辺が削除されやすくなりノイズによる影響を防ぐことができるものの、値を極端に小さくすると、頻繁に辺が削除されるようになり学習結果が不安定になる。一方、極端に大きな値をageに設定すると、ノイズの影響で生成された辺を適切に取り除くことができない。これらを考慮して、パラメタageは実験により予め算出し一時記憶部に格納される。
S610:情報処理装置は、一時記憶部に格納された与えられた入力ベクトルξの総数について、与えられた入力ベクトルξの総数が予め設定され一時記憶部に格納されたλの倍数であるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力ベクトルの総数がλの倍数でない場合にはS602へと戻り、次の入力ベクトルξを処理する。
一方、入力ベクトルξの総数がλの倍数となった場合には以下の処理を実行する。
尚、λはノイズと見なされるノードを削除する周期である。λに小さな値を設定することにより、頻繁にノイズ処理を実施することができるものの、値を極端に小さくすると、実際にはノイズではないノードを誤って削除してしまう。一方、極端に大きな値をλに設定すると、ノイズの影響で生成されたノードを適切に取り除くことができない。これらを考慮して、パラメタλは実験により予め算出し一時記憶部に格納される。
S611:分布重なり領域検出手段28は、一時記憶部に格納されたサブクラスタ及び分布の重なり領域について、上述のS301乃至S305において示したようにしてサブクラスタの境界である分布の重なり領域を検出し、その結果を一時記憶部に格納する。
S612:ノード密度算出手段27は、一時記憶部に格納されて累積されたノード密度ポイントを単位入力数あたりの割合として算出しその結果を一時記憶部に格納し、単位入力数あたりのノードのノード密度を算出し、その結果を一時記憶部に格納する。
S613:ノイズノード削除手段32は、一時記憶部に格納されたノードについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。尚、S613においてノイズノード削除手段32が使用するパラメタc1及びc2はノードをノイズと見なすか否かの判定に使用する。通常、隣接ノード数が2であるノードはノイズではないことが多いため、c1は0に近い値を使用する。また、隣接ノード数が1であるノードはノイズであることが多いため、c2は1に近い値を使用するものとし、これらのパラメタは予め設定され一時記憶部に格納される。
S614:情報処理装置は、一時記憶部に格納された与えられた入力ベクトルξの総数について、与えられた入力ベクトルξの総数が予め設定され一時記憶部に格納されたLTの倍数であるか否かを判定し、その結果を一時記憶部に格納する。一時記憶部に格納された判定の結果、入力ベクトルの総数がLTの倍数でない場合にはS602へと戻り、次の入力ベクトルξを処理する。
一方、入力ベクトルξの総数がLTの倍数となった場合には以下の処理を実行する。
S615:クラス決定手段33は、一時記憶部に格納されたノード、ノード間の辺、及びノードのクラスについて、ノード間に生成された辺に基づいて、上述のS501乃至S504において示したようにしてノードの属するクラスを決定し、その結果を一時記憶部に格納する。そして、出力情報表示手段34は、一時記憶部に格納されたノード及びノードのクラスについて、ノードの属するクラスのクラス数、及び各クラスのプロトタイプベクトルを出力する。以上の処理を終了した後、学習を停止する。
続いて、以下に本実施の形態の具体例として、入力データに対する学習結果を説明する。
まず、図7に示す人工データセットを用いて、従来技術であるSOINN及び本実施形態の情報処理装置について比較実験を実施する。
図7は、従来技術であるSOINN及び本実施形態の情報処理装置との比較実験に用いた入力ベクトルの人工データセットを示す図である。
人工データセットは分布に重なりのある2つのガウス分布A及びB、2つの同心円C及びD、及びサインカーブE1、E2、E3の合計5つのクラスによって構成される。また、実世界の環境を想定して、人工データセットには10%の一様ノイズが加えられている。
図6は、非定常的な環境における図7に示す人工データセットからの入力ベクトルの入力環境を示す表である。定常的な環境においては、人工データセット全体からランダムに入力ベクトルを与えるものとし、非定常的な環境においては、図7に示すように人工データセットを7つの領域A、B、C、D、E1、E2、E3に分け、入力環境を一定期間ごとに図6に示す表に従って切り替えながら入力ベクトルを与えるものとする。このような非定常的な環境における実験は、オンラインでの追加学習を想定して実施するものである。
従来技術であるSOINNについて、同じ人工データセットを用いた実験が実施され、定常的な環境及び非定常的な環境における実験ともに、5つのクラス及び各クラスの位相構造を適切に出力することが示されている。
図8は、図7に示す人工データセットに対する、本実施形態の情報処理装置の出力結果を示す図である。
図8に示すように、定常的な環境及び非定常的な環境のいずれにおいても、本実施形態の情報処理装置は5つのクラス及び各クラスの位相構造を適切に出力することができる。即ち、従来技術であるSOINNに比べて、本実施形態の情報処理装置は同程度の学習機能を有するものである。
尚、予め設定されるパラメタについては、λ=100、age=100、c1=0.001、c2=1.0とし、これらは実験により定めた。
次に、図9は、従来技術であるSOINN及び本実施形態の情報処理装置との比較実験に用いた入力ベクトルの人工データセットを示す図である。
図9に示す人工データセットは分布に重なりのある3つのガウス分布から構成され、10%の一様ノイズが加えられている。図9に示す人工データセットは、図7に示す人工データセットに比べて、クラス間の分布に高密度の重なりを持つ。
定常的な環境においては、図9に示す人工データセット全体からランダムに入力ベクトルを選択し、非定常的な環境においては、各クラスから順にそれぞれ10,000回ずつ入力ベクトルを選択して学習を実施する。
図10は、図9に示す人工データセットに対する、従来技術であるSOINNの出力結果を示す図である。
図10に示すように、定常的な環境及び非定常的な環境のいずれにおいても、従来技術であるSOINNは高密度の重なりのあるクラスを分離することができない。
尚、予め設定されるパラメタについて、λ=200、age=50、c=1.0については実験により定め、α1=1/6、α2=1/4、α3=1/4、β=2/3、γ=3/4については非特許文献2に開示された値と同じ値を使用した。
一方、図11に示すように、定常的な環境及び非定常的な環境のいずれにおいても、本実施形態の情報処理装置は3つのクラス及び各クラスの位相構造を適切に出力することができる。即ち、本実施形態の情報処理装置は高密度の重なりを持つクラスを分離することができる。
尚、予め設定されるパラメタについては、λ=200、age=50、c1=0.001、c2=1.0とし、これらは実験により定めた。
続いて、実データセットを用いて、従来技術であるSOINN及び本実施形態の情報処理装置との比較実験を実施する。
まず、AT&Tデータベース(http://www.uk.research.att.com)を用いた比較実験を実施する。
実験に使用するデータセットは、AT&T_FACEデータベースから選択された10クラス(各クラスは10個のサンプルを含む)を使用する。データセットに含まれるオリジナル画像は92×112ピクセル、グレースケール256階調である(詳細は、非特許文献2における図11を参照)。
ここで、実験に際しては、オリジナルの画像を23×28ピクセルに縮小し(最近傍法により補間)、ガウス分布(サイズ4、分散2)による平滑化処理を施した画像を使用する。これらの処理によって得られた特徴ベクトルを入力ベクトルとして実験に使用する(詳細は、非特許文献2における図12を参照)。
定常的な環境においては、入力ベクトルをデータセット全体からランダムに選択し、非定常的な環境においては、各クラスから順にそれぞれ1,000回ずつ入力ベクトルを選択して学習を実施する。
データセットに対する実験結果は、定常的な環境及び非定常的な環境のいずれにおいても、本実施形態の情報処理装置は出力クラス数として10クラスを出力する場合が最多である。
尚、予め設定されるパラメタについては、λ=25、age=25、c1=0.0、c2=1.0とし、これらは実験により定めた。
また、本実施形態の情報処理装置が出力するプロトタイプベクトルの一つを用いて、非特許文献2におけるSOINNの実験と同様に、オリジナルのデータセットの識別を実施する。
その結果、本実施形態の情報処理装置は、定常的な環境においては90%の認識率を、非定常的な環境においては86%の認識率を得ることができる。
これらの認識率はSOINNと同程度の認識率であり、本実施形態の情報処理装置はSOINNと同程度の認識機能を有するものである。
尚、SOINNと同程度の認識率を得ることができたのは、データセットに含まれるサンプル数が少なく、クラス間の分布の重なりが低密度であるためと考えられる。
次に、従来技術であるSOINN及び本実施形態の情報処理装置の出力結果について、その安定性を比較するため、それぞれ1,000回ずつ実験を実施して、出力クラス数の頻度を確認する。
図12は、SOINNの出力結果である出力クラス数の頻度を示す図である。図13は、本実施形態の情報処理装置の出力結果である出力クラス数の頻度を示す図である。
図12及び図13より、定常的な環境(stationary)及び非定常的な環境(non−stationary)のいずれにおいても、本実施形態の情報処理装置はSOINNと比較して10クラス前後を出力する回数が多い。即ち、本実施形態の情報処理装置は、SOINNに比べて出力結果が安定する。
さらに続いて、別の実データを用いて比較実験を実施する。実験に使用するデータとして、Optical Recognition of Handwritten Digits database(Optdigits)を使用する(http://www.ics.uci. edu/~mlearn/MLRepository.html)。このデータセットは10クラスの手書き数字からなり、学習データとして3,823個、テストデータとして1,797個のサンプルを含む。サンプルの次元数は64である。
図14は、Optdigitsのデータセットに対する、従来技術であるSOINNの出力結果であるプロトタイプベクトルの一例を示す図である。
データセットに対する実験結果は、定常的な環境及び非定常的な環境のいずれにおいても、SOINNは出力クラス数として10クラスを出力する場合が最多である。
そして、SOINNが出力するプロトタイプベクトルの一つを用いて、テストデータの分類を実施すると、定常的な環境においては92.2%の認識率を、非定常的な環境においては90.4%の認識率を得ることができる。
さらに、SOINNについて100回の実験を実施し、クラス数の変動を確認すると、定常的な環境及び非定常的な環境のいずれにおいても、6乃至13クラスを出力する。
尚、予め設定されるパラメタについて、λ=200、age=50、c=1.0については実験により定め、α1=1/6、α2=1/4、α3=1/4、β=2/3、γ=3/4については非特許文献2に開示された値と同じ値を使用した。
図15は、Optdigitsのデータセットに対する、本実施形態の情報処理装置の出力結果であるプロトタイプベクトルの一例を示す図である。
データセットに対する実験結果は、定常的な環境及び非定常的な環境のいずれにおいても、本実施形態の情報処理装置は出力クラス数として12クラスを出力する場合が最多である。
そして、本実施形態の情報処理装置が出力するプロトタイプベクトルの一つを用いて、テストデータの分類を実施すると、定常的な環境においては94.3%の認識率を、非定常的な環境においては95.8%の認識率を得ることができ、SOINNに比べて高い認識率を得ることができる。
さらに、本実施形態の情報処理装置について100回の実験を実施して、クラス数の変動を確認すると、定常的な環境及び非定常的な環境のいずれにおいても、10乃至13クラスを出力し、SOINNに比べて出力結果が安定する。
尚、予め設定されるパラメタについては、λ=200、age=50、c1=0.001、c2=1.0とし、これらは実験により定めた。
ここで、図14及び図15に示すプロトタイプベクトルの例を比較すると、SOINNは「1'」及び「9'」といったサンプルを抽出することができないが、本実施形態の情報処理装置は「1'」及び「9'」といったサンプルを抽出することができる。即ち、SOINNでは数字の「1」を1つのクラスとして出力するのに対して、本実施形態の情報処理装置は「1」を2つのクラスとして出力することが確認できる(同様にして、本実施形態の情報処理装置は数字の「9」についても2クラスに分けている。)。
これは、オリジナルのデータセットにおいて、図15に示す「1」及び「1'」といったサンプルの間には大きな違いが認められることより、本実施形態の情報処理装置は「1'」を分離して抽出したものと考えられる(「9」及び「9'」についても同様であるものと考えられる。)。
従って、本実施形態の情報処理装置は、例えば図15に示す「1」及び「1'」などの分布に重なりのあるクラスを分離することができ、SOINNに比べて、オリジナルデータの情報をより適切に保存することができる。
以上、実データOptdigitsを使用した実験結果より、本実施形態の情報処理装置は、SOINNに比べて、分布に重なりのあるクラスを分離することができる。
さらに、本実施形態の情報処理装置は、高い認識率を得ることができるとともに、出力結果の安定性が高いものである。
以上の通り説明した本発明に係る情報処理装置によって、次のような効果を奏することができる。
まず、分布に高密度の重なりのあるクラスを分離することができる。そして、分布の重なり領域の検出処理においては、平滑化の手法を導入したことより、SOINNに比べてより安定的に動作することができる。
さらに、1層構造であっても効率的にノイズノードを削除することができるため、完全なオンラインでの追加学習を実現することができる。
さらにまた、SOINNに比べて、より少ないパラメタで動作するため、処理をより容易に実行することができる。
これにより、例えば、本発明に係る情報処理装置をロボットに搭載することで、ロボットは、周囲から取得する様々な情報を入力データとして、従来は分類が困難であった複雑なデータについても、ノイズデータを排除しながら、リアルタイムで安定して認識することができる。
その他の発明の実施の形態.
本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは当然である。この場合、記録媒体から読み出されたプログラムコード自体が上述の実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーティングシステム(OS)などが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も当然含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も当然含まれる。
本発明を上記記録媒体に適用する場合、その記録媒体には、上述した図5に示すフローチャートに対応するプログラムコードが格納されることになる。
以上、本発明をその実施の形態により説明したが、本発明はその趣旨の範囲において種々の変形が可能である。
クラス間の分布重なり領域の例を示す図である。 本発明を実施するための構成例を示す図である。 本発明を実施するための機能ブロックを示す図である。 細かい凹凸を含んだクラス間の分布重なり領域の例を示す図である。 本発明に係る実施例による学習処理の処理概要を示すフローチャートである。 非定常的な環境における入力ベクトルの入力環境を示す表である。 比較実験に用いた入力ベクトルの人工データセットを示す図である。 人工データセットに対する本発明に係る実施例の出力結果を示す図である。 分布の重なりを含み、かつ、ノイズを含む人工データセットを示す図である。 人工データセットに対するSOINNの出力結果を示す図である。 人工データセットに対する本発明に係る実施例の出力結果を示す図である。 SOINNの出力結果である出力クラス数の頻度を示す図である。 本発明に係る実施例の出力結果である出力クラス数の頻度を示す図である。 SOINNの出力結果であるプロトタイプベクトルを示す図である。 本発明に係る実施例の出力結果であるプロトタイプベクトルを示す図である。 SOINNによる学習処理の処理概要を示すフローチャートである。
符号の説明
1 情報処理装置
10 コンピュータ
11 CPU
12 ROM
13 RAM
14 バス
15 入出力インターフェイス
16 入力部
17 出力部
18 記憶部
19 通信部
20 ドライブ
201 磁気ディスク
202 光ディスク
203 フレキシブルディスク
204 半導体メモリ
21 入力情報取得手段
22 勝者ノード探索手段
23 類似度閾値算出手段
24 類似度閾値判定手段
25 ノード挿入手段
26 重みベクトル更新手段
27 ノード密度算出手段
28 分布重なり領域検出手段
29 辺接続判定手段
30 辺接続手段
31 辺削除手段
32 ノイズノード削除手段
33 クラス決定手段
34 出力情報表示手段

Claims (19)

  1. 多次元ベクトルで記述されるノードが配置される少なくとも1層以上の構造を有し、
    任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を学習する情報処理装置において、
    当該入力される入力ベクトルに最も近い重みベクトルを持つノードを第1勝者ノードとし、2番目に近い重みベクトルを持つノードを第2勝者ノードとし、当該第1勝者ノード及び当該第2勝者ノードの間に辺を接続したとき、
    注目するノード及び当該注目するノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該注目するノードのノード密度を算出するノード密度算出手段と、
    辺によって接続されるノードの集合であるクラスタを、前記ノード密度算出手段によって算出されるノード密度に基づいてクラスタの部分集合であるサブクラスタに分割し、当該サブクラスタの境界である分布の重なり領域を検出する分布重なり領域検出手段と、
    前記第1勝者ノード及び前記第2勝者ノードが前記分布重なり領域に位置するノードである場合に、当該第1勝者ノード及び当該第2勝者ノードのノード密度に基づいて当該第1勝者ノード及び当該第2勝者ノード間に辺を接続するか否かを判定する辺接続判定手段と、
    前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間に辺を接続する辺接続手段と、
    前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間の辺を削除する辺削除手段を備える
    ことを特徴とする情報処理装置。
  2. 前記第1勝者ノードに対応する重みベクトル及び当該第1勝者ノードと辺によって直接的に接続されるノードに対応する重みベクトルをそれぞれ前記入力ベクトルに更に近づけるように更新する重みベクトル更新手段を更に備える
    ことを特徴とする請求項記載の情報処理装置。
  3. 注目するノードについて、前記ノード密度算出手段により算出されるノード密度及び当該注目するノードと辺によって直接的に接続されるノードの個数に基づいて、当該注目するノードを削除するノイズノード削除手段を更に備える
    ことを特徴とする請求項1記載の情報処理装置。
  4. 前記ノード密度算出手段は、
    前記第1勝者ノード及び当該第1勝者ノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該第1勝者ノードのノード密度を単位入力数あたりの割合として算出する単位ノード密度算出部を有する
    ことを特徴とする請求項1乃至いずれか1項記載の情報処理装置。
  5. 前記ノード密度算出手段は、
    前記第1勝者ノード及び当該第1勝者ノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該第1勝者ノードのノード密度のポイント値を算出するノード密度ポイント算出部と、
    前記入力ベクトルの入力数が所定の単位入力数となるまでノード密度ポイントを累積し、当該入力ベクトルの入力数が所定の単位入力数になった場合に、当該累積されたノード密度ポイントを単位入力数あたりの割合として算出し、単位入力数あたりのノードのノード密度を算出する単位ノード密度ポイント算出部とを有する
    ことを特徴とする請求項1乃至いずれか1項記載の情報処理装置。
  6. 前記入力ベクトルをニューラルネットワークに入力し、当該入力される入力ベクトルに基づいて、該ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークである
    ことを特徴とする請求項1乃至いずれか1項記載の情報処理装置。
  7. 注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノード間の距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノード間の距離を類似度閾値として算出する類似度閾値算出手段と、
    前記入力ベクトルと前記第1勝者ノード間の距離が当該第1勝者ノードの類似度閾値より大きいか否か、及び、前記入力ベクトルと前記第2勝者ノード間の距離が当該第2勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定手段と、
    類似度閾値判定結果に基づいて、前記入力ベクトルをノードとして当該入力ベクトルと同じ位置に挿入するノード挿入手段を更に備える
    ことを特徴とする請求項記載の情報処理装置。
  8. 前記自己増殖型ニューラルネットワークは非階層構造である
    ことを特徴とする請求項記載の情報処理装置。
  9. 前記分布重なり領域検出手段は、
    前記ノード密度算出手段により算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索するノード探索部と、
    当該探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与する第1のラベル付与部と、
    前記第1のラベル付与部によりラベルが付与されなかったノードについて、前記第1のラベル付与部によりラベルが付与されたノードと辺によって接続されるノードについて、前記第1のラベル付与部によりラベルが付与されたノードのラベルと同じラベルを付与する第2のラベル付与部と、
    辺によって接続されるノードの集合であるクラスタを、同じラベルが付与されたノードからなるクラスタの部分集合であるサブクラスタに分割するクラスタ分割部と、
    注目するノード及び当該注目するノードと辺によって直接的に接続されるノードがそれぞれ異なるサブクラスタに属する場合に、当該注目するノード及び当該注目するノードと辺によって直接的に接続されるノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出する分布重なり領域検出部とを有する
    ことを特徴とする請求項1記載の情報処理装置。
  10. 多次元ベクトルで記述されるノードが配置される少なくとも1層以上の構造を有し、
    任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を学習する情報処理方法において、
    当該入力される入力ベクトルに最も近い重みベクトルを持つノードを第1勝者ノードとし、2番目に近い重みベクトルを持つノードを第2勝者ノードとし、当該第1勝者ノード及び当該第2勝者ノードの間に辺を接続したとき、注目するノード及び当該注目するノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該注目するノードのノード密度を算出するノード密度算出ステップと、
    辺によって接続されるノードの集合であるクラスタを、前記ノード密度算出ステップによって算出されるノード密度に基づいてクラスタの部分集合であるサブクラスタに分割し、当該サブクラスタの境界である分布の重なり領域を検出する分布重なり領域検出ステップと、
    前記第1勝者ノード及び前記第2勝者ノードが前記分布重なり領域に位置するノードである場合に、当該第1勝者ノード及び当該第2勝者ノードのノード密度に基づいて当該第1勝者ノード及び当該第2勝者ノード間に辺を接続するか否かを判定する辺接続判定ステップと、
    前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間に辺を接続する辺接続ステップと、
    前記判定結果に基づいて、前記第1勝者ノード及び前記第2勝者ノード間の辺を削除する辺削除ステップを備える
    ことを特徴とする情報処理方法。
  11. 前記第1勝者ノードに対応する重みベクトル及び当該第1勝者ノードと辺によって直接的に接続されるノードに対応する重みベクトルをそれぞれ前記入力ベクトルに更に近づけるように更新する重みベクトル更新ステップを更に備える
    ことを特徴とする請求項10記載の情報処理方法。
  12. 注目するノードについて、前記ノード密度算出ステップにより算出されるノード密度及び当該注目するノードと辺によって直接的に接続されるノードの個数に基づいて、当該注目するノードを削除するノイズノード削除ステップを更に備える
    ことを特徴とする請求項10記載の情報処理方法。
  13. 前記ノード密度算出ステップは、
    前記第1勝者ノード及び当該第1勝者ノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該第1勝者ノードのノード密度を単位入力数あたりの割合として算出する単位ノード密度算出ステップを有する
    ことを特徴とする請求項10乃至12いずれか1項記載の情報処理方法。
  14. 前記ノード密度算出ステップは、
    前記第1勝者ノード及び当該第1勝者ノードと辺によって直接的に接続されるノード間の平均距離に基づいて、当該第1勝者ノードのノード密度のポイント値を算出するノード密度ポイント算出ステップと、
    前記入力ベクトルの入力数が所定の単位入力数となるまでノード密度ポイントを累積し、当該入力ベクトルの入力数が所定の単位入力数になった場合に、当該累積されたノード密度ポイントを単位入力数あたりの割合として算出し、単位入力数あたりのノードのノード密度を算出する単位ノード密度ポイント算出ステップとを有する
    ことを特徴とする請求項10乃至12いずれか1項記載の情報処理方法。
  15. 前記入力ベクトルをニューラルネットワークに入力し、当該入力される入力ベクトルに基づいて、該ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークである
    ことを特徴とする請求項10乃至14いずれか1項記載の情報処理方法。
  16. 注目するノードについて、当該注目するノードと辺によって直接的に接続されるノードが存在する場合には、当該直接的に接続されるノードのうち当該注目するノードからの距離が最大であるノード間の距離を類似度閾値とし、当該注目するノードと辺によって直接的に接続されるノードが存在しない場合には、当該注目するノードからの距離が最小であるノード間の距離を類似度閾値として算出する類似度閾値算出ステップと、
    前記入力ベクトルと前記第1勝者ノード間の距離が当該第1勝者ノードの類似度閾値より大きいか否か、及び、前記入力ベクトルと前記第2勝者ノード間の距離が当該第2勝者ノードの類似度閾値より大きいか否かを判定する類似度閾値判定ステップと、
    類似度閾値判定結果に基づいて、前記入力ベクトルをノードとして当該入力ベクトルと同じ位置に挿入するノード挿入ステップを更に備える
    ことを特徴とする請求項15記載の情報処理方法。
  17. 前記自己増殖型ニューラルネットワークは非階層構造である
    ことを特徴とする請求項15記載の情報処理方法。
  18. 前記分布重なり領域検出ステップは、
    前記ノード密度算出ステップにより算出されたノード密度に基づいて、ノード密度が局所的に最大であるノードを探索するノード探索ステップと、
    当該探索したノードに対して、既に他のノードに付与済みのラベルとは異なるラベルを付与する第1のラベル付与ステップと、
    前記第1のラベル付与ステップによりラベルが付与されなかったノードについて、前記第1のラベル付与ステップによりラベルが付与されたノードと辺によって接続されるノードについて、前記第1のラベル付与ステップによりラベルが付与されたノードのラベルと同じラベルを付与する第2のラベル付与ステップと、
    辺によって接続されるノードの集合であるクラスタを、同じラベルが付与されたノードからなるクラスタの部分集合であるサブクラスタに分割するクラスタ分割ステップと、
    注目するノード及び当該注目するノードと辺によって直接的に接続されるノードがそれぞれ異なるサブクラスタに属する場合に、当該注目するノード及び当該注目するノードと辺によって直接的に接続されるノードを含む領域を、サブクラスタの境界である分布の重なり領域として検出する分布重なり領域検出ステップを有する
    ことを特徴とする請求項10記載の情報処理方法。
  19. 請求項10乃至18いずれか1項記載の情報処理をコンピュータに実行させることを特徴とするプログラム。
JP2007051709A 2007-03-01 2007-03-01 情報処理装置、情報処理方法、及びプログラム Active JP5130523B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007051709A JP5130523B2 (ja) 2007-03-01 2007-03-01 情報処理装置、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007051709A JP5130523B2 (ja) 2007-03-01 2007-03-01 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2008217246A JP2008217246A (ja) 2008-09-18
JP5130523B2 true JP5130523B2 (ja) 2013-01-30

Family

ID=39855315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007051709A Active JP5130523B2 (ja) 2007-03-01 2007-03-01 情報処理装置、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5130523B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558911B2 (en) 2013-02-22 2020-02-11 Soinn Inc. Information processing apparatus, information processing method, and non-transitory computer readable medium
US11995539B2 (en) 2017-06-09 2024-05-28 Samsung Electronics Co., Ltd. Electronic apparatus and method for re-learning trained model

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2945071B1 (en) * 2013-01-11 2020-08-26 NEC Corporation Index generating device and method, and search device and search method
US11074479B2 (en) 2019-03-28 2021-07-27 International Business Machines Corporation Learning of detection model using loss function
JP7511278B2 (ja) 2020-12-28 2024-07-05 Soinn株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226408B1 (en) * 1999-01-29 2001-05-01 Hnc Software, Inc. Unsupervised identification of nonlinear data cluster in multidimensional data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558911B2 (en) 2013-02-22 2020-02-11 Soinn Inc. Information processing apparatus, information processing method, and non-transitory computer readable medium
US11995539B2 (en) 2017-06-09 2024-05-28 Samsung Electronics Co., Ltd. Electronic apparatus and method for re-learning trained model

Also Published As

Publication number Publication date
JP2008217246A (ja) 2008-09-18

Similar Documents

Publication Publication Date Title
JP6065318B2 (ja) 情報処理装置、情報処理方法及びプログラム
Bação et al. Self-organizing maps as substitutes for k-means clustering
Franti et al. Fast agglomerative clustering using a k-nearest neighbor graph
JP5130523B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2008217706A (ja) ラベリング装置、ラベリング方法及びプログラム
JP7276488B2 (ja) 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法
Saha et al. Simultaneous feature selection and symmetry based clustering using multiobjective framework
JP2003256443A (ja) データ分類装置
JP7511278B2 (ja) 情報処理装置、情報処理方法及びプログラム
Angelov et al. Autonomous data density based clustering method
JP3903613B2 (ja) 検索装置及び検索プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2023021776A1 (ja) 情報処理装置、情報処理方法及びプログラムが格納された非一時的なコンピュータ可読媒体
JP2008299640A (ja) パターン認識装置、パターン認識方法、及びプログラム
Ghosh et al. A genetic algorithm based clustering approach for piecewise linearization of nonlinear functions
JP2008299644A (ja) 連想記憶装置、連想記憶方法、及びプログラム
JP7489730B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR102029181B1 (ko) 가중 퍼지 소속함수 기반 심층 신경망을 이용한 특징 선택을 위한 방법 및 장치
JP5130522B2 (ja) 情報処理装置、情報処理方法、プログラム、データ識別装置、及びデータマイニング装置
JP5126949B2 (ja) 推論装置、推論方法、及びプログラム
JP5458791B2 (ja) 連想記憶装置、連想記憶方法、及びプログラム
CN112765414A (zh) 一种图嵌入向量的生成方法及基于图嵌入的社区发现方法
EP2003604B1 (en) Self-organizing map with virtual map units
da Silva et al. A Self-Organizing Map Clustering Approach to Support Territorial Zoning
JP2004030088A (ja) 工期管理システム及びそれに用いる記録媒体
Zhou et al. Ant-MST: An ant-based minimum spanning tree for gene expression data clustering

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121009

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5130523

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S201 Request for registration of exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R314201

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S804 Written request for registration of cancellation of exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R314803

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R314531

S804 Written request for registration of cancellation of exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R314803

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R314531

S804 Written request for registration of cancellation of exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R314803

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250