(57)【要約】【課題】未知データの分類の精度を向上させることが可能なデータ分類方法を提供する。【解決手段】このデータ分類方法は、それぞれがベクトルデータを有する複数のセル４を含む自己組織化マップ３を使用してベクトルデータからなる未知データを分類するデータ分類方法であって、自己組織化マップ３から抽出される、セル４の集合体からなる抽出ブロック５７毎に、抽出ブロック５７に含まれる複数のセル４のベクトルデータの平均値からなる抽出ブロック５７のブロック重みデータＢｋと、未知データとを比較して、全ての抽出ブロック５７の中から未知データに対応する未知データ対応ブロックを決定するステップＳ３２と、未知データ対応ブロックに基づいて未知データの所属クラスまたは各クラスに属する可能性割合を決定するステップＳ３３とを備えている。【選択図】図１３
2006053842.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してベクトルデータからなる未知データを分類するデータ分類方法であって、
前記マップから抽出される、前記セルの集合体からなる複数の第１ブロック毎に、前記第１ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記第１ブロックのベクトルデータとしての第１ブロックデータと、前記未知データとを比較して、前記複数の第１ブロックの中から前記未知データに対応する未知データ対応ブロックを決定するステップと、
前記未知データ対応ブロックに基づいて前記未知データを分類するステップとを備えた、データ分類方法。
【請求項２】
前記第１ブロックは、前記セルが縦横に同数ずつ配置された構成を有する、請求項１に記載のデータ分類方法。
【請求項３】
前記複数の第１ブロックは、前記マップから抽出し得る全てのブロックを含む、請求項１または２に記載のデータ分類方法。
【請求項４】
前記第１ブロックデータは、前記第１ブロックに含まれる前記複数のセルのベクトルデータの平均値である、請求項１〜３のいずれか１項に記載のデータ分類方法。
【請求項５】
前記未知データ対応ブロックを決定するステップは、
前記未知データを構成するベクトルデータと前記複数の第１ブロックの第１ブロックデータを構成するベクトルデータとのベクトル間の距離を算出するステップと、
算出された前記ベクトル間の距離に基づいて前記複数の第１ブロックの中から前記未知データに対応するブロックを決定するステップとを含む、請求項１〜４のいずれか１項に記載のデータ分類方法。
【請求項６】
前記未知データを分類するステップは、前記未知データ対応ブロックに含まれる複数の前記セルのクラス所属データに基づいて、前記未知データを所定のクラスに分類するステップを含む、請求項１〜５のいずれか１項に記載のデータ分類方法。
【請求項７】
前記未知データを分類するステップは、前記未知データ対応ブロックに含まれる複数の前記セルのクラス所属データに基づいて、前記未知データが所定のクラスに属する可能性割合を決定するステップを含む、請求項１〜６のいずれか１項に記載のデータ分類方法。
【請求項８】
前記未知データ対応ブロックを決定するステップに先立って、前記マップを作成するステップをさらに備え、
前記マップを作成するステップは、
未学習のベクトルデータを有する複数の前記セルを含む未学習マップを準備するステップと、
前記未学習マップから抽出される、前記セルの集合体からなる複数の第２ブロック毎に、前記第２ブロックに含まれる複数の前記セルの未学習のベクトルデータに基づいて、前記第２ブロックのベクトルデータとしての第２ブロックデータを算出するステップと、
学習データを前記複数の第２ブロックの第２ブロックデータと比較して、前記複数の第２ブロックの中から前記学習データを学習させる学習対象ブロックを決定するステップと、
前記学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む、請求項１〜７のいずれか１項に記載のデータ分類方法。
【請求項９】
前記複数の第２ブロック毎に前記第２ブロックデータを算出するステップと、前記学習対象ブロックを決定するステップと、前記学習対象ブロックに属する前記セルに前記学習データを学習させるステップとは、繰り返し実行される、請求項８に記載のデータ分類方法。
【請求項１０】
前記マップを作成するステップは、
前記未学習マップから抽出されるＭ個以上の前記セルを含む複数の第３ブロック毎に、前記第３ブロックに含まれる前記セルの未学習のベクトルデータに基づいて、前記第３ブロックのベクトルデータとしての第３ブロックデータを算出するステップと、前記学習データを、前記複数の第３ブロックの前記第３ブロックデータと比較して、前記複数の第３ブロックの中から前記学習データを学習させる第１学習対象ブロックを決定するステップと、前記第１学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む第１のマップ作成ステップと、
前記第１のマップ作成ステップに続いて実行され、前記未学習マップから抽出されるＮ個（Ｎ＜Ｍ）以上の前記セルを含む複数の第４ブロック毎に、前記第４ブロックに含まれる前記セルのベクトルデータに基づいて、前記第４ブロックのベクトルデータとしての第４ブロックデータを算出するステップと、前記学習データを、前記複数の第４ブロックの第４ブロックデータと比較して、前記複数の第４ブロックの中から前記学習データを学習させる第２学習対象ブロックを決定するステップと、前記第２学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む第２のマップ作成ステップとを含む、請求項８または９に記載のデータ分類方法。
【請求項１１】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類方法を実行するためのプログラムであって、
前記マップから抽出される、前記セルの集合体からなる複数のブロック毎に、前記ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記ブロックのベクトルデータとしてのブロックデータと、前記未知データとを比較して、前記複数のブロックの中から前記未知データに対応する未知データ対応ブロックを決定するステップと、
前記未知データ対応ブロックに基づいて前記未知データを分類するステップとを備えたデータ分類方法を実行するためのプログラム。
【請求項１２】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類装置であって、
前記マップから抽出される、前記セルの集合体からなる複数のブロック毎に、前記ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記ブロックのベクトルデータとしてのブロックデータと、前記未知データとを比較して、前記複数のブロックの中から前記未知データに対応する未知データ対応ブロックを決定する決定手段と、
前記未知データ対応ブロックに基づいて前記未知データを分類する分類手段とを備えた、データ分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分類方法およびそれを実行するためのプログラムならびにデータ分類装置に関し、特に、それぞれがベクトルデータを有する複数のセルを含むマップを使用して未知データを分類するデータ分類方法およびそれを実行するためのプログラムならびにデータ分類装置に関する。
【背景技術】
【０００２】
従来、それぞれがベクトルデータを有する複数のセルを含むマップを使用して未知データを分類するデータ分類方法が知られている。また、このようなデータ分類方法に用いられるマップとして、たとえば、Ｔ．Ｋｏｈｏｎｅｎ氏が提案した自己組織化マップ（ＳＯＭ：Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐｓ）が知られている。この自己組織化マップの作成方法として、従来、種々の作成方法が提案されている（たとえば、特許文献１参照）。また、従来、特許文献１に開示された作成方法などにより作成された自己組織化マップ（ＳＯＭ）を用いてデータの分類を行う場合には、作成した自己組織化マップの中から未知データを構成するベクトルデータとのベクトル間の距離が最も小さいベクトルデータを有する単一のセルを選択するとともに、その選択したセルの属する分類に基づいて未知データを分類するのが一般的である。
【特許文献１】特開２００１−２２９３６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記した従来の自己組織化マップを用いてデータの分類を行う方法では、選択した単一のセルの属する分類に基づいて未知データを分類するため、その選択した単一のセルの属する分類が誤って設定されている場合には、未知データの分類結果も誤った分類結果になるという不都合がある。これにより、未知データの分類の精度が低下するという問題点があった。
【０００４】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、未知データの分類の精度を向上させることが可能なデータ分類方法を提供することである。
【課題を解決するための手段および発明の効果】
【０００５】
上記目的を達成するために、この発明の第１の局面におけるデータ分類方法は、それぞれがベクトルデータを有する複数のセルを含むマップを使用してベクトルデータからなる未知データを分類するデータ分類方法であって、マップから抽出される、セルの集合体からなる複数の第１ブロック毎に、第１ブロックに含まれる複数のセルのベクトルデータに基づく、第１ブロックのベクトルデータとしての第１ブロックデータと、未知データとを比較して、複数の第１ブロックの中から未知データに対応する未知データ対応ブロックを決定するステップと、未知データ対応ブロックに基づいて未知データを分類するステップとを備えている。なお、本発明における「未知データを分類する」とは、未知データが属する分類を決定する場合のみならず、未知データが属する分類を決定せずに、未知データが所定の分類に属する可能性割合を決定する場合も含む。
【０００６】
この第１の局面によるデータ分類方法では、上記のように、未知データと、複数のセルのベクトルデータに基づく、第１ブロックのベクトルデータとしての第１ブロックデータとを比較して、複数の第１ブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの１つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【０００７】
上記第１の局面によるデータ分類方法において、第１ブロックは、セルが縦横に同数ずつ配置された構成を有していてもよい。
【０００８】
上記第１の局面によるデータ分類方法において、好ましくは、複数の第１ブロックは、マップから抽出し得る全てのブロックを含む。このように構成すれば、マップから抽出し得る全てのブロックの中から未知データに対応する未知データ対応ブロックを決定することができるので、未知データにより正確に対応する未知データ対応ブロックを決定することができる。
【０００９】
上記第１の局面によるデータ分類方法において、好ましくは、第１ブロックデータは、第１ブロックに含まれる複数のセルのベクトルデータの平均値である。このように構成すれば、容易に、第１ブロックに含まれる複数のセルのベクトルデータに基づいて第１ブロックデータを算出することができる。
【００１０】
上記第１の局面によるデータ分類方法において、好ましくは、未知データ対応ブロックを決定するステップは、未知データを構成するベクトルデータと複数の第１ブロックの第１ブロックデータを構成するベクトルデータとのベクトル間の距離を算出するステップと、算出されたベクトル間の距離に基づいて複数の第１ブロックの中から未知データに対応するブロックを決定するステップとを含む。このように構成すれば、容易に、未知データに対応する未知データ対応ブロックを決定することができる。
【００１１】
上記第１の局面によるデータ分類方法において、好ましくは、未知データを分類するステップは、未知データ対応ブロックに含まれる複数のセルのクラス所属データに基づいて、未知データを所定のクラスに分類するステップを含む。このように構成すれば、容易に、未知データを所定のクラスに分類することができる。
【００１２】
上記第１の局面によるデータ分類方法において、好ましくは、未知データを分類するステップは、未知データ対応ブロックに含まれる複数のセルのクラス所属データに基づいて、未知データが所定のクラスに属する可能性割合を決定するステップを含む。このように構成すれば、容易に、未知データが所定のクラスに属する可能性割合を決定することができる。
【００１３】
上記第１の局面によるデータ分類方法において、好ましくは、未知データ対応ブロックを決定するステップに先立って、マップを作成するステップをさらに備え、マップを作成するステップは、未学習のベクトルデータを有する複数のセルを含む未学習マップを準備するステップと、未学習マップから抽出される、セルの集合体からなる複数の第２ブロック毎に、第２ブロックに含まれる複数のセルの未学習のベクトルデータに基づいて、第２ブロックのベクトルデータとしての第２ブロックデータを算出するステップと、学習データを複数の第２ブロックの第２ブロックデータと比較して、複数の第２ブロックの中から学習データを学習させる学習対象ブロックを決定するステップと、学習対象ブロックに属するセルに学習データを学習させるステップとを含む。このように構成すれば、学習データに対応する学習対象ブロックに含まれる複数のセルに学習データを学習させることができるので、学習データに対応する単一のセルの近傍領域のセルに対して学習データを学習させる場合と異なり、学習データを学習させる近傍領域の範囲を設定するための近傍関数を設定する必要がない。これにより、容易に、未学習マップに学習データを学習させてマップを作成することができる。
【００１４】
この場合において、好ましくは、複数の第２ブロック毎に第２ブロックデータを算出するステップと、学習対象ブロックを決定するステップと、学習対象ブロックに属するセルに学習データを学習させるステップとは、繰り返し実行される。このように構成すれば、学習データを繰り返し学習させてマップを作成することができるので、十分に学習データを学習させたマップを作成することができる。
【００１５】
上記マップを作成するステップを有する構成において、好ましくは、マップを作成するステップは、未学習マップから抽出されるＭ個以上のセルを含む複数の第３ブロック毎に、第３ブロックに含まれるセルの未学習のベクトルデータに基づいて、第３ブロックのベクトルデータとしての第３ブロックデータを算出するステップと、学習データを、複数の第３ブロックの第３ブロックデータと比較して、複数の第３ブロックの中から学習データを学習させる第１学習対象ブロックを決定するステップと、第１学習対象ブロックに属するセルに学習データを学習させるステップとを含む第１のマップ作成ステップと、第１のマップ作成ステップに続いて実行され、未学習マップから抽出されるＮ個（Ｎ＜Ｍ）以上のセルを含む複数の第４ブロック毎に、第４ブロックに含まれるセルのベクトルデータに基づいて、第４ブロックのベクトルデータとしての第４ブロックデータを算出するステップと、学習データを、複数の第４ブロックの第４ブロックデータと比較して、複数の第４ブロックの中から学習データを学習させる第２学習対象ブロックを決定するステップと、第２学習対象ブロックに属するセルに学習データを学習させるステップとを含む第２のマップ作成ステップとを含む。このように構成すれば、第１のマップ作成ステップにおいて、Ｍ個以上のセルを含む大きなブロック毎に、比較的粗く学習データを学習させた後、第２のマップ作成ステップにおいて、Ｎ個（Ｎ＜Ｍ）以上のセルを有する比較的小さなブロック毎にも、学習データを学習させることができる。これにより、最初から比較的小さなブロック毎に学習データを学習させる場合と異なり、同じ分類を有する複数のセルからなる分類領域が学習させたマップ上に局所的な固まりを有した状態で複数に分散して形成されるのを抑制することができる。
【００１６】
この発明の第２の局面におけるデータ分類方法を実行するためのプログラムは、それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類方法を実行するためのプログラムであって、マップから抽出される、セルの集合体からなる複数のブロック毎に、ブロックに含まれる複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータと、未知データとを比較して、複数のブロックの中から未知データに対応する未知データ対応ブロックを決定するステップと、未知データ対応ブロックに基づいて未知データを分類するステップとを備えている。
【００１７】
この第２の局面によるデータ分類方法を実行するためのプログラムでは、上記のように、未知データと、複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータとを比較して、複数のブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの１つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【００１８】
この発明の第３の局面におけるデータ分類装置は、それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類装置であって、マップから抽出される、セルの集合体からなる複数のブロック毎に、ブロックに含まれる複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータと、未知データとを比較して、複数のブロックの中から未知データに対応する未知データ対応ブロックを決定する決定手段と、未知データ対応ブロックに基づいて未知データを分類する分類手段とを備えている。
【００１９】
この第３の局面によるデータ分類装置では、上記のように、未知データと、複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータとを比較して、複数のブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定する決定手段を設けるとともに、その決定した未知データ対応ブロックに基づいて未知データを分類する分類手段を設けることによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの１つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面に基づいて説明する。
【００２１】
図１は、本発明の一実施形態によるデータ分類方法に用いるデータ分類装置の構成を説明するための模式図である。まず、図１を参照して、本実施形態のデータ分類方法に用いるデータ分類装置について説明する。
【００２２】
本実施形態のデータ分類方法に用いるデータ分類装置１は、図１に示すように、本実施形態によるデータ分類方法に基づいた処理を行うマイクロコンピュータなどからなる制御部２を備えている。この制御部２は、後述するブロックデータを算出する算出部２ａと、データ分類装置１に入力した未知データに対応する未知データ対応ブロックを決定する決定部２ｂと、未知データを所定のクラスに分類する分類部２ｃとを含んでいる。なお、決定部２ｂおよび分類部２ｃは、それぞれ、本発明の「決定手段」および「分類手段」の一例である。また、データ分類装置１では、以下に説明するデータ分類方法を行う前に、予め、本実施形態によるデータ分類方法を実行するためのプログラムをインストールする必要がある。
【００２３】
また、本実施形態によるデータ分類方法は、未学習マップに学習データを学習させて自己組織化マップ（ＳＯＭ）を作成する学習アルゴリズムと、自己組織化マップを構成するセルのクラス分けを行うクラス分けアルゴリズムと、クラス分けされた自己組織化マップを使用して未知データを所定のクラスに分類するかまたは未知データが所定のクラスに属する可能性割合を決定する評価アルゴリズムとによって構成されている。また、本実施形態によるデータ分類方法は、図２に示すような自己組織化マップ（ＳＯＭ）３を用いて行われる。なお、この自己組織化マップ３は、本発明の「マップ」の一例である。また、自己組織化マップ３は、マス目状に配置された複数のセル４によって構成されている。この複数のセル４は、縦横に同数ずつ（本実施形態では、１０個ずつ）配置されている。また、各セル４は、複数の要素からなるベクトルデータを有することが可能なように構成されている。
【００２４】
図３〜図７は、本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。図８〜図１２は、本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。図１３〜図１５は、本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。まず、図３〜図７を参照して、本実施形態によるデータ分類方法の学習アルゴリズムについて説明する。
【００２５】
（学習アルゴリズム）
この学習アルゴリズムでは、複数の学習データＸ（ｘ１，ｘ２，ｘ３，ｘ４）を未学習マップに学習させることによって自己組織化マップを作成する。また、本実施形態による学習アルゴリズムは、図３に示すように、ステップＳ１〜ステップＳ９によって構成されている。まず、ステップＳ１において、未学習マップの準備を行う。ここで、未学習マップとは、未学習のベクトルデータを有する複数のセルからなるマップである。未学習マップの準備では、まず、ベクトルデータを全く有していないセルからなるマップを準備する。そして、図４に示すように、ベクトルデータを全く有していないセルからなるマップの各セルに対して、乱数表を用いて所定のベクトルデータを割り付ける。なお、本実施形態では、要素１〜要素４の４つの要素からなるベクトルデータを各セルに割り付ける。これにより、所定の未学習のベクトルデータを有する複数のセルからなる未学習マップが準備される。また、本実施形態では、未学習マップは、ｎ×ｎ（本実施形態では１０×１０）のセルからなるものとする。
【００２６】
次に、ステップＳ２以降のグローバルエリア学習段階に進む。なお、このグローバルエリア学習段階は、本発明による「第１のマップ作成ステップ」の一例である。グローバルエリア学習段階では、未学習マップから比較的大きなブロックを抽出してそのブロック毎に学習データを学習させることにより、未学習マップに学習データを比較的粗く学習させる。なお、ブロックは、縦横に同数配置されたセルの集合体である。ステップＳ２では、未学習マップから抽出する抽出ブロックの大きさの設定および量子化誤差ｅｒｒの「０」への初期化を行う。このステップＳ２では、比較的大きなブロック毎に学習データを学習させるために、抽出ブロックをｍ×ｍ＝ｍ２個（＝Ｍ個）以上のセルによって構成するとともに、ｍ＝ｎ／２（５＝１０／２）に設定する。すなわち、本実施形態では、未学習マップが１０×１０のセルからなるので、抽出ブロックを５×５（ｍ×ｍ）以上のセルを有する比較的大きなブロックに設定する。また、量子化誤差ｅｒｒは、学習データＸと、後述する学習対象ブロックのブロックデータとの誤差であり、学習データＸが学習対象ブロックにどの程度学習されたかを示す指標となる値である。また、ブロックデータは、ブロックを構成する全てのセルのベクトルデータの平均値である。
【００２７】
次に、ステップＳ３において、直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）に対して、ステップＳ２で「０」に設定した量子化誤差ｅｒｒの値のコピー（ｅｒｒ（ｂｅｆｏｒｅ）＝ｅｒｒ）を行うことにより、直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）を０に初期化した後、量子化誤差ｅｒｒを「０」に初期化（ｅｒｒ＝０）する。そして、サブルーチンを呼び出す。なお、直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）とは、ステップＳ３〜Ｓ５を１回の学習サイクルとして、その学習サイクルを繰り返し実行する場合に、前回の学習サイクルの最後の学習データＸによる学習演算の際に算出される量子化誤差を意味する。また、上記ステップＳ３の処理により、１回目の学習サイクルでは、直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）＝０となる。
【００２８】
次に、ステップＳ４のサブルーチンは、図５に示すように、ステップＳ１１〜ステップＳ１５によって構成されている。このサブルーチンでは、ステップＳ１１において、未学習マップからｍ＝５×５＝５２個（＝２５個）以上の縦横に同数のセルを有する全ての比較的大きなブロックを抽出するとともに、その抽出した全ての比較的大きなブロック（抽出ブロック）についてブロック重みデータＢｉを算出する。このブロック重みデータＢｉの算出は、抽出ブロックに含まれる各セルのベクトルデータを要素毎に合計した後、抽出ブロックに含まれるセルの合計数で割ることによって行う。これにより、抽出ブロックに含まれる全てのセルの各要素の重みの平均値であるブロック重みデータＢｉが算出される。たとえば、図６に示すように、５×５＝２５個のセルからなる抽出ブロック５０を抽出した場合には、以下の式（１）〜式（４）に示すようにブロック重みデータＢｉ（ｂｉ１，ｂｉ２，ｂｉ３，ｂｉ４）を算出する。なお、この抽出ブロック５０は、本発明の「第２ブロック」および「第３ブロック」の一例であり、ブロック重みデータＢｊは、本発明の「第２ブロックデータ」および「第３ブロックデータ」の一例である。また、以下の式（１）〜式（４）において、ａ１１〜ａ１２５と、ａ２１〜ａ２２５と、ａ３１〜ａ３２５と、ａ４１〜ａ４２５とは、それぞれ、抽出ブロックに含まれる各セルの要素１〜要素４の値である。
【００２９】
ブロック重みデータｂｉ１＝（ａ１１＋ａ１２＋ａ１３＋・・・・＋ａ１２５）／２５・・・（１）
ブロック重みデータｂｉ２＝（ａ２１＋ａ２２＋ａ２３＋・・・・＋ａ２２５）／２５・・・（２）
ブロック重みデータｂｉ３＝（ａ３１＋ａ３２＋ａ３３＋・・・・＋ａ３２５）／２５・・・（３）
ブロック重みデータｂｉ４＝（ａ４１＋ａ４２＋ａ４３＋・・・・＋ａ４２５）／２５・・・（４）
次に、ステップＳ１２において、学習データＸを学習させる学習対象ブロックの決定を行う。この学習対象ブロックの決定は、上記したｍ×ｍ（５×５）以上のセルからなる比較的大きな抽出ブロックの中から学習データＸ（ｘ１，ｘ２，ｘ３，ｘ４）との間のベクトル間距離が最も小さいブロック重みデータＢｉを有するブロックを選択することにより行う。たとえば、図７に示すように、自己組織化マップ３から抽出し得る５×５以上のセルからなる全ての抽出ブロックの中で、５×５のブロック５１が学習データＸとの間のベクトル間距離が最も小さいブロック重みデータＢｉを有する場合には、このブロック５１を学習対象ブロックに決定する。なお、この学習対象ブロックのブロック重みデータは、Ｂｓ（ｂｓ１，ｂｓ２，ｂｓ３，ｂｓ４）とする。
【００３０】
次に、ステップＳ１３において、量子化誤差ｅｒｒの算出を行う。この量子化誤差ｅｒｒの算出は、以下の式（５）によって行う。なお、１個目の学習データＸの学習演算の際には、以下の式（５）において、ステップＳ３（図３参照）で設定したように、直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）＝０となる。
【００３１】
量子化誤差ｅｒｒ＝ｅｒｒ（ｂｅｆｏｒｅ）＋｛（ｘ１−ｂｓ１）２＋（ｘ２−ｂｓ２）２＋（ｘ３−ｂｓ３）２＋（ｘ４−ｂｓ４）２｝１／２・・・（５）
次に、ステップＳ１４において、学習対象ブロックを構成する全てのセルに対して学習データＸ（ｘ１，ｘ２，ｘ３，ｘ４）を学習させるための学習演算を行う。具体的には、図７に示すように、５×５（＝２５個）のセルからなる学習対象ブロック（ブロック５１）において、学習前のベクトルデータ（ａ１，ａ２，ａ３，ａ４）を有するセル５２に対して学習データＸ（ｘ１，ｘ２，ｘ３，ｘ４）を学習させる場合には、以下の式（６）〜式（９）による学習演算を行う。なお、以下の式（６）〜式（９）において、ｔは、学習データＸをセルに学習させる度合いを表す学習係数であり、ｔが大きくなる程、学習後のセルのベクトルデータが学習データＸにより近づく。なお、このｔは、０以上１以下の値である。
【００３２】
学習後のセルのベクトルデータの要素１＝ａ１＋ｔ（ｘ１−ａ１）／２５・・・（６）
学習後のセルのベクトルデータの要素２＝ａ２＋ｔ（ｘ２−ａ２）／２５・・・（７）
学習後のセルのベクトルデータの要素３＝ａ３＋ｔ（ｘ３−ａ３）／２５・・・（８）
学習後のセルのベクトルデータの要素４＝ａ４＋ｔ（ｘ４−ａ４）／２５・・・（９）
上記式（６）〜式（９）により算出した要素１〜４により、セル５２のベクトルデータを書き換える。上記の学習演算およびベクトルデータの書換えを学習対象ブロックを構成する全てのセルに対して同様に行うことにより、学習対象ブロックを構成する全てのセルに学習データＸを学習させる。
【００３３】
次に、ステップＳ１５において、学習データＸの個数分（全ての学習データＸ）の学習演算が終了したかどうかが判断される。学習データＸの個数分の学習演算が終了した場合には、次のステップＳ５（図３参照）に進む。一方、学習データＸの個数分の学習演算が終了していない場合には、上記したステップＳ１１〜Ｓ１４を繰り返し実行する。
【００３４】
次に、図３のステップＳ５において、学習回数が予め設定された規定値Ｄ１に達したか、または、量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差が予め設定された規定値Ｄ２よりも小さいかが判断される。なお、学習回数とは、ステップＳ３〜Ｓ５による学習サイクルが実行された回数を意味する。学習回数が規定値Ｄ１に達したか、または、量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差が規定値Ｄ２よりも小さい場合には、次のステップＳ６に進む。一方、学習回数が規定値Ｄ１に達しておらず、かつ、量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差が規定値Ｄ２以上の場合には、ステップＳ３〜Ｓ５による学習サイクルを繰り返し実行する。
【００３５】
次に、ステップＳ６以降では、学習の後半段階である通常学習段階に進む。なお、この通常学習段階は、本発明による「第２のマップ作成ステップ」の一例である。通常学習段階は、ステップＳ６〜Ｓ９によって構成されている。この通常学習段階では、グローバルエリア学習段階に比べて小さなブロックまでを対象として学習データを学習させる。これにより、通常学習段階では、グローバルエリア学習段階に比べて、より細かくマップに学習データを学習させることができる。ステップＳ６における抽出ブロック（ｍ×ｍ）の大きさの設定では、マップから抽出し得る全てのブロックを対象として学習データを学習させるために、ｍ＝２に設定する。これにより、サブルーチンのステップＳ１１（図５参照）において、２×２＝４個（＝Ｎ個）以上のセルからなる全てのブロックが抽出ブロックとしてマップから抽出される。なお、この抽出ブロックは、本発明の「第２ブロック」および「第４ブロック」の一例である。そして、抽出した全ての抽出ブロックについてブロック重みデータを算出するとともに、全ての抽出ブロックの中から学習データＸとのベクトル間距離が最も小さいブロック重みデータを有するブロックを選択することにより学習対象ブロックを決定する。なお、このブロック重みデータは、本発明の「第２ブロックデータ」および「第４ブロックデータ」の一例である。そして、決定した学習対象ブロックに対して学習データＸによる学習演算を行う。
【００３６】
また、通常学習段階では、ステップＳ９（図３参照）において、学習回数が予め設定された規定値Ｄ３に達したか、または、量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差が予め設定された規定値Ｄ４よりも小さいかを判断する。これにより、ステップＳ７〜S９からなる学習サイクルは、学習回数が規定値Ｄ３に達するか、または、量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差が規定値Ｄ４よりも小さくなるまで行われる。また、通常学習段階における量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差の規定値Ｄ４は、グローバルエリア学習段階における量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差の規定値Ｄ２よりも小さい値に設定する。これにより、通常学習段階では、グローバルエリア学習段階よりも量子化誤差ｅｒｒと直前量子化誤差ｅｒｒ（ｂｅｆｏｒｅ）との差が小さくなるまで学習サイクルが実行される。これにより、Ｄ２≦Ｄ４の場合よりも、未知データの分類精度が高いマップを作成することができる。ステップＳ６〜Ｓ９からなる通常学習段階の上記以外の処理方法は、上記したステップＳ２〜Ｓ５からなるグローバルエリア学習段階の処理方法と同様である。
【００３７】
上記のようにして、未学習マップに学習データＸを学習させることにより自己組織化マップを作成する。
【００３８】
本実施形態では、上記のように、グローバルエリア学習段階において、未学習マップから抽出される５×５＝２５個（Ｍ個）以上のセル４を含む全ての抽出ブロックの中から学習対象ブロックを決定するとともに、決定した学習対象ブロックに属するセル４に学習データＸを学習させた後、通常学習段階において、マップから抽出される２×２＝４個（Ｎ個（Ｎ＜Ｍ））以上のセル４を含む全ての抽出ブロックの中から学習対象ブロックを決定するとともに、決定した学習対象ブロックに属するセル４に学習データＸを学習させることによって、グローバルエリア学習段階において、２５個以上のセル４を含む大きなブロック毎に、比較的粗く学習データＸを学習させた後、通常学習段階において、４個以上のセル４を有する比較的小さなブロック毎にも、比較的細かく学習データＸを学習させることができる。これにより、最初から比較的小さなブロック毎に学習データＸを学習させる場合と異なり、同じ分類を有する複数のセル４からなる領域が学習させた自己組織化マップ３上に局所的に固まりを有した状態で複数に分散して形成されるのを抑制することができる。
【００３９】
また、本実施形態では、グローバルエリア学習段階および通常学習段階において、全ての抽出ブロック毎にブロック重みデータＢｉを算出するステップＳ１１と、学習対象ブロックを決定するステップＳ１２と、学習対象ブロックを構成する全てのセル４に学習データを学習させるステップＳ１４とを含む学習サイクル（ステップＳ４およびＳ８のサブルーチン）を繰り返し実行することによって、学習データＸを繰り返し学習させて自己組織化マップ３を作成することができるので、十分に学習データＸを学習させた自己組織化マップ３を作成することができる。
【００４０】
次に、図８〜図１２を参照して、本実施形態によるデータ分類方法のクラス分けアルゴリズムについて説明する。
【００４１】
（クラス分けアルゴリズム）
このクラス分けアルゴリズムでは、上記学習アルゴリズムによって作成した自己組織化マップを構成するセルのクラス分けを行う。なお、クラスとは、学習データＸを分類するために各学習データＸに与えられた分類名である。本実施形態では、各学習データＸがα、β、γの３つのクラスのいずれか１つに分類されているとともに、自己組織化マップを構成するセルをα、β、γの３つのクラスに分類する場合について説明する。また、自己組織化マップを構成する各セルは、各クラスに属する可能性割合を示すクラス所属値Ｒｃを有している。本実施形態では、各セルは３つのクラス所属値（Ｒα、ＲβおよびＲγ）を有している。
【００４２】
まず、図８に示すように、ステップＳ２１において、自己組織化マップ３（図９参照）を構成する全てのセル４のクラス所属値Ｒｃを「０」に初期化する。すなわち、図９に示すように、自己組織化マップ３を構成する全てのセル４のα、βおよびγクラスに対応するクラス所属値Ｒα、ＲβおよびＲγを「０」に設定する。
【００４３】
次に、ステップＳ２２において、自己組織化マップ３から２×２以上の縦横に同数のセルが配置された全てのブロックを抽出するとともに、その抽出した全てのブロック（抽出ブロック）についてブロック重みデータＢｊ（ｂｊ１，ｂｊ２，ｂｊ３，ｂｊ４）を算出する。このブロック重みデータＢｊは、上記学習アルゴリズムによるブロック重みデータＢｉ（式（１）〜式（４）参照）と同様にして算出する。すなわち、図１０に示すように、２×２＝４個のセル４からなる抽出ブロック５３を抽出した場合には、以下の式（１０）〜式（１３）に示すようにブロック重みデータＢｊ（ｂｊ１，ｂｊ２，ｂｊ３，ｂｊ４）を算出する。なお、以下の式（１０）〜式（１３）において、ａ１１〜ａ１４と、ａ２１〜ａ２４と、ａ３１〜ａ３４と、ａ４１〜ａ４４とは、それぞれ、抽出ブロック５３に含まれる各セル４の要素１〜要素４の値である。
【００４４】
ブロック重みデータｂｊ１＝（ａ１１＋ａ１２＋ａ１３＋ａ１４）／４・・・（１０）
ブロック重みデータｂｊ２＝（ａ２１＋ａ２２＋ａ２３＋ａ２４）／４・・・（１１）
ブロック重みデータｂｊ３＝（ａ３１＋ａ３２＋ａ３３＋ａ３４）／４・・・（１２）
ブロック重みデータｂｊ４＝（ａ４１＋ａ４２＋ａ４３＋ａ４４）／４・・・（１３）
次に、ステップＳ２３において、クラス分けの対象となるクラス分け対象ブロックの決定を行う。このクラス分け対象ブロックの決定は、上記の２×２以上のセル４からなる全ての抽出ブロックの中から学習データＸ（ｘ１，ｘ２，ｘ３，ｘ４）との間のベクトル間距離が最も小さいブロック重みデータＢｊを有するブロックを選択することにより行う。たとえば、図１１に示すように、自己組織化マップ３から抽出し得る全ての抽出ブロックの中で、３×３のブロック５４が学習データＸとの間のベクトル間距離が最も小さいブロック重みデータＢｊを有する場合には、このブロック５４をクラス分け対象ブロックに決定する。
【００４５】
次に、ステップＳ２４において、クラス分け対象ブロックに含まれる全てのセル４のクラス所属値Ｒｄを算出する。このクラス所属値Ｒｄの算出は、以下の式（１４）による演算によって行う。なお、以下の式（１４）において、Ｒｄの「ｄ」は、上記ステップＳ２３において用いた学習データＸの所属クラスである。つまり、式（１４）の演算は、学習データＸの所属クラスについてのみ行う。また、式（１４）の右辺のＲｄは、演算前のセルのｄクラスに対応するクラス所属値である。また、ｕは、係数であり、たとえば、ｕ＝１／（ｄクラスに属する学習データＸの個数）によって求められる。また、ｂｎは、クラス分け対象ブロックを構成するセルの数である。
【００４６】
Ｒｄ＝Ｒｄ＋ｕ（１／ｂｎ）・・・（１４）
具体的には、図１１に示すように、αクラスに属する学習データＸに対応して３×３＝９個のセルからなるブロック５４をクラス分け対象ブロックに決定するとともに、そのクラス分け対象ブロック（ブロック５４）中の９個のセル５５のクラス所属値Ｒαを算出する場合には、以下の式（１５）により算出する。なお、１個目の学習データＸに対応するクラス所属値の演算では、ステップＳ２１の処理により、以下の式（１５）において、右辺のＲα＝０となる。
【００４７】
Ｒα＝Ｒα＋ｕ（１／９）・・・（１５）
全ての学習データＸについて、クラス分け対象ブロックを決定するとともに、そのクラス分け対象ブロックに含まれる全てのセル４について各学習データＸの所属クラス（α、βまたはγ）のクラス所属値Ｒｄを上記した式（１４）の演算により求める。このようなクラス所属値Ｒｄの演算処理により各セル４のそれぞれについて、各クラスα、β、γのクラス所属値Ｒα、Ｒβ、Ｒγが算出される。
【００４８】
次に、ステップＳ２５において、学習データＸの個数分（全ての学習データＸ）のクラス所属値Ｒｄの演算が終了したかどうかが判断される。学習データＸの個数分のクラス所属値Ｒｄの演算が終了した場合には、次のステップＳ２６に進む。一方、学習データＸの個数分のクラス所属値Ｒｄの演算が終了していない場合には、ステップＳ２２〜Ｓ２５を繰り返し実行する。
【００４９】
次に、ステップＳ２６において、自己組織化マップ３を構成する全てのセル４の所属クラスを決定する。この所属クラスの決定では、各セル４の有するクラス所属値Ｒｄ（Ｒα、Ｒβ、Ｒγ）の中で最大の値を有するクラスをそのセル４の所属クラスに決定する。たとえば、図１２に示すように、セル５６がＲα＝３、Ｒβ＝０．１、Ｒγ＝０．４のクラス所属値をそれぞれ有している場合には、αクラスのクラス所属値Ｒαが最大であるので、セル５６の所属クラスは、αクラスに決定する。このようにして、図１２に示すように、全てのセル４の所属クラスを決定することによって、自己組織化マップ３を構成する全てのセル４のクラス分けを行う。
【００５０】
次に、図１３〜図１５を参照して、本実施形態によるデータ分類方法の評価アルゴリズムについて説明する。
【００５１】
（評価アルゴリズム）
この評価アルゴリズムでは、クラス分けアルゴリズムによりクラス分けした自己組織化マップを使用してデータ分類装置１（図１参照）に入力されたベクトルデータからなる未知データを所定のクラス（α、β、γ）に分類する。
【００５２】
まず、図１３に示すように、ステップＳ３１において、自己組織化マップ３（図１４参照）から２×２以上の縦横に同数のセル４が配置された全てのブロックを抽出するとともに、その抽出した全てのブロック（抽出ブロック）についてブロック重みデータＢｋ（ｂｋ１，ｂｋ２，ｂｋ３，ｂｋ４）を算出する。このブロック重みデータＢｋは、上記学習アルゴリズムによるブロック重みデータＢｉ（式（１）〜式（４）参照）と同様にして算出する。すなわち、図１４に示すように、３×３＝９個のセル４からなる抽出ブロック５７を抽出した場合には、以下の式（１６）〜式（１９）に示すようにブロック重みデータＢｋ（ｂｋ１，ｂｋ２，ｂｋ３，ｂｋ４）を算出する。なお、この抽出ブロック５７は、本発明の「第１ブロック」の一例であり、ブロック重みデータＢｋは、本発明の「第１ブロックデータ」の一例である。また、以下の式（１６）〜式（１９）において、ａ１１〜ａ１９と、ａ２１〜ａ２９と、ａ３１〜ａ３９と、ａ４１〜ａ４９とは、それぞれ、抽出ブロック５７を構成する各セル４の要素１〜要素４の値である。
【００５３】
ブロック重みデータｂｋ１＝（ａ１１＋ａ１２＋・・・＋ａ１９）／９・・・（１６）
ブロック重みデータｂｋ２＝（ａ２１＋ａ２２＋・・・＋ａ２９）／９・・・（１７）
ブロック重みデータｂｋ３＝（ａ３１＋ａ３２＋・・・＋ａ３９）／９・・・（１８）
ブロック重みデータｂｋ４＝（ａ４１＋ａ４２＋・・・＋ａ４９）／９・・・（１９）
次に、ステップＳ３２において、ベクトルデータからなる未知データに対応する未知データ対応ブロックの決定を行う。この未知データ対応ブロックの決定では、まず、未知データと上記の全ての抽出ブロックのブロック重みデータＢｋとのベクトル間距離を算出する。そして、算出した未知データと抽出ブロックのブロック重みデータＢｋとのベクトル間距離が最も小さくなるブロックを全ての抽出ブロックの中から選択することにより、未知データ対応ブロックを決定する。たとえば、図１４に示すように、自己組織化マップ３から抽出し得る全ての抽出ブロックの中で、抽出ブロック５７が未知データとの間のベクトル間距離が最も小さいブロック重みデータＢｋを有する場合には、この抽出ブロック５７を未知データ対応ブロックに決定する。
【００５４】
次に、ステップＳ３３において、未知データの所属クラスの決定または未知データの各クラスに属する可能性割合の算出を行う。未知データの所属クラスの決定では、未知データ対応ブロックを構成する全てのセル４のクラス所属値Ｒｄを積算（合計）した積算値ＲＳが最大になるクラスを未知データの所属クラスに決定する。なお、このクラス所属値Ｒｄは、本発明の「クラス所属データ」の一例である。たとえば、図１４中の抽出ブロック５７を未知データ対応ブロックとする場合には、この抽出ブロック５７の９個のセルのクラス所属値Ｒｄを積算（合計）することによって積算値ＲＳを算出する。具体的には、以下の式（２０）〜式（２２）に示すように算出する。なお、以下の式（２０）〜式（２２）において、Ｒα１〜Ｒα９、Ｒβ１〜Ｒβ９およびＲγ１〜Ｒγ９は、それぞれ、上記９個のセルのα、βおよびγクラスに対応するクラス所属値である。
【００５５】
ＲＳα＝Ｒα１＋Ｒα２＋Ｒα３＋・・・・＋Ｒα９・・・（２０）
ＲＳβ＝Ｒβ１＋Ｒβ２＋Ｒβ３＋・・・・＋Ｒβ９・・・（２１）
ＲＳγ＝Ｒγ１＋Ｒγ２＋Ｒγ３＋・・・・＋Ｒγ９・・・（２２）
そして、上記式（２０）〜式（２２）により算出したクラス所属値Ｒｄの積算値ＲＳα、ＲＳβおよびＲＳγの中で最大となる値を有するクラスを未知データの所属クラスに決定する。たとえば、図１４に示すように、未知データ対応ブロック（抽出ブロック５７）のクラス所属値Ｒｄの積算値ＲＳα、ＲＳβおよびＲＳγがそれぞれＲＳα＝０．４、ＲＳβ＝２およびＲＳγ＝０．１と算出された場合には、最大の積算値はＲＳβ＝２になるので、未知データの所属クラスをβクラスに決定する。
【００５６】
また、未知データの各クラスに属する可能性割合の算出は、以下の式（２３）〜式（２５）によって算出する。
【００５７】
αクラスに属する可能性割合＝ＲＳα／（ＲＳα＋ＲＳβ＋ＲＳγ）・・・（２３）
βクラスに属する可能性割合＝ＲＳβ／（ＲＳα＋ＲＳβ＋ＲＳγ）・・・（２４）
γクラスに属する可能性割合＝ＲＳγ／（ＲＳα＋ＲＳβ＋ＲＳγ）・・・（２５）
上記式（２３）〜式（２５）に、ＲＳα＝０．４、ＲＳβ＝２、ＲＳγ＝０．１を代入すると、各クラスに属する可能性割合は、以下のようになる。
【００５８】
αクラスに属する可能性割合＝０．４／（０．４＋２＋０．１）＝０．１６
βクラスに属する可能性割合＝２／（０．４＋２＋０．１）＝０．８
γクラスに属する可能性割合＝０．１／（０．４＋２＋０．１）＝０．０４
なお、未知データの所属クラスを決定する際には、次のような多数決による方法を用いてもよい。すなわち、未知データ対応ブロックを構成する各セルの属するクラスの中で最も多いクラスを未知データの所属クラスに決定してもよい。具体的には、図１５に示すように、未知データ対応ブロック５８が、αクラスに属する６個のセル４と、βクラスに属する２個のセル４と、γクラスに属する１個のセル４とによって構成されている場合には、最多（６個）のセルが存在するαクラスを未知データの所属クラスに決定する。
【００５９】
また、未知データの各クラスに属する可能性割合を、未知データ対応ブロック中の各クラスに属するセルの数を未知データ対応ブロックを構成するセルの数で割ることによって算出してもよい。たとえば、図１５に示した未知データ対応ブロック５８では、以下の式（２６）〜式（２８）に示すように算出することができる。
【００６０】
αクラスに属する可能性割合＝αクラスに属するセルの数／未知データ対応ブロックを構成するセルの数＝６／９・・・（２６）
βクラスに属する可能性割合＝βクラスに属するセルの数／未知データ対応ブロックを構成するセルの数＝２／９・・・（２７）
γクラスに属する可能性割合＝γクラスに属するセルの数／未知データ対応ブロックを構成するセルの数＝１／９・・・（２８）
本実施形態では、上記のように、未知データと、全ての抽出ブロック５７のブロック重みデータＢｋとを比較して、全ての抽出ブロック５７の中から未知データに対応する、セル４の集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセル４の集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセル４のうちの１つのセル４の分類（クラス所属値Ｒｄまたは所属クラス）が誤っている場合にも、未知データ対応ブロックの他のセル４の分類（クラス所属値Ｒｄまたは所属クラス）が正しければ、未知データ対応ブロック全体としての分類（所属クラス）に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類（所属クラスの決定または所属クラスに属する可能性割合の決定）を行うことにより、未知データの所属クラスが誤って決定されたり、未知データの所属クラスに属する可能性割合が誤って決定されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類（所属クラスの決定または未知データの所属クラスに属する可能性割合の決定）の精度を向上させることができる。
【００６１】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【００６２】
たとえば、上記実施形態では、学習アルゴリズムにおいて、ベクトルデータを全く有していないセルからなるマップの各セルに対して、乱数表を用いて所定のベクトルデータを割り付けることにより、未学習マップの準備を行ったが、本発明はこれに限らず、上記以外の方法を用いて未学習マップの準備を行ってもよい。たとえば、ベクトルデータを全く有していないセルからなるマップの全てのセルに対して、全ての要素が「０」からなるベクトルデータを割り付けることなどにより、未学習マップの準備を行ってもよい。
【００６３】
また、上記実施形態では、マップを構成する各セルをマス目によって表したが、本発明はこれに限らず、各セルをマス目以外の種々の形状によって表してもよい。たとえば、各セルを円や点や多角形などによって表してもよい。
【００６４】
また、上記実施形態では、未知データをα、βおよびγの３つのクラスに分類する例について説明したが、本発明はこれに限らず、未知データを３つ以外のクラスに分類する場合にも、本発明を適用することができる。
【００６５】
また、上記実施形態では、評価アルゴリズムにおいて、未知データの所属クラスの決定または未知データの各クラスに属する可能性割合の算出のいずれか一方を行う例について説明したが、本発明はこれに限らず、未知データの所属クラスの決定および未知データの各クラスに属する可能性割合の算出の両方を行ってもよい。
【００６６】
また、上記実施形態では、ベクトルデータとして４個の要素からなるベクトルデータを用いたが、本発明はこれに限らず、２個以上の要素からなるベクトルデータであればよい。
【００６７】
また、上記実施形態では、データ分類装置１は、ブロックデータを算出する算出部２ａを備えているが、算出部２ａは必ずしも必要ではなく、予め算出されたブロックデータを制御部２に記憶させるとともに、その記憶されたブロックデータを使用して決定部２ｂが未知データ対応ブロックを決定するようにデータ分類装置１を構成してもよい。
【００６８】
また、上記実施形態では、ブロックデータとしてブロックに含まれる全てのセルの各要素の重みの平均値を用いたが、本発明はこれに限らず、ブロックデータとしてブロックに含まれる全てのセルの各要素の重みの標準偏差などを用いてもよい。
【００６９】
また、上記実施形態では、未学習マップおよび擬似マップとして、縦横に同数のセルが配置されたマップを使用しているが、本発明はこれに限らず、未学習マップおよび擬似マップとして、縦横で配置されたセルの数が異なるマップを使用してもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態によるデータ分類方法に用いるデータ分類装置の構成を説明するための模式図である。
【図２】本発明の一実施形態によるデータ分類方法に用いる自己組織化マップの構成を示した図である。
【図３】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するためのフローチャートである。
【図４】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図５】図３に示した一実施形態による学習アルゴリズムのサブルーチンを説明するためのフローチャートである。
【図６】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図７】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図８】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するためのフローチャートである。
【図９】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図１０】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図１１】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図１２】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図１３】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するためのフローチャートである。
【図１４】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。
【図１５】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。
【符号の説明】
【００７１】
１  データ分類装置
２  制御部
２ａ  算出部
２ｂ  決定部（決定手段）
２ｃ  分類部（分類手段）
３  自己組織化マップ（マップ）
４  セル
５０  抽出ブロック（第２ブロック、第３ブロック）
５７  抽出ブロック（第１ブロック）
Ｂｉ  ブロック重みデータ（第２ブロックデータ、第３ブロックデータ）
Ｂｋ  ブロック重みデータ（第１ブロックデータ）
【図１】
2006053842.tif 000003
【図２】
2006053842.tif 000004
【図３】
2006053842.tif 000005
【図４】
2006053842.tif 000006
【図５】
2006053842.tif 000007
【図６】
2006053842.tif 000008
【図７】
2006053842.tif 000009
【図８】
2006053842.tif 000010
【図９】
2006053842.tif 000011
【図１０】
2006053842.tif 000012
【図１１】
2006053842.tif 000013
【図１２】
2006053842.tif 000014
【図１３】
2006053842.tif 000015
【図１４】
2006053842.tif 000016
【図１５】
2006053842.tif 000017