データ分類方法およびそれを実行するためのプログラムならびにデータ分類装置
【課題】未知データの分類の精度を向上させることが可能なデータ分類方法を提供する。
【解決手段】このデータ分類方法は、それぞれがベクトルデータを有する複数のセル4を含む自己組織化マップ3を使用してベクトルデータからなる未知データを分類するデータ分類方法であって、自己組織化マップ3から抽出される、セル4の集合体からなる抽出ブロック57毎に、抽出ブロック57に含まれる複数のセル4のベクトルデータの平均値からなる抽出ブロック57のブロック重みデータBkと、未知データとを比較して、全ての抽出ブロック57の中から未知データに対応する未知データ対応ブロックを決定するステップS32と、未知データ対応ブロックに基づいて未知データの所属クラスまたは各クラスに属する可能性割合を決定するステップS33とを備えている。
【解決手段】このデータ分類方法は、それぞれがベクトルデータを有する複数のセル4を含む自己組織化マップ3を使用してベクトルデータからなる未知データを分類するデータ分類方法であって、自己組織化マップ3から抽出される、セル4の集合体からなる抽出ブロック57毎に、抽出ブロック57に含まれる複数のセル4のベクトルデータの平均値からなる抽出ブロック57のブロック重みデータBkと、未知データとを比較して、全ての抽出ブロック57の中から未知データに対応する未知データ対応ブロックを決定するステップS32と、未知データ対応ブロックに基づいて未知データの所属クラスまたは各クラスに属する可能性割合を決定するステップS33とを備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ分類方法およびそれを実行するためのプログラムならびにデータ分類装置に関し、特に、それぞれがベクトルデータを有する複数のセルを含むマップを使用して未知データを分類するデータ分類方法およびそれを実行するためのプログラムならびにデータ分類装置に関する。
【背景技術】
【0002】
従来、それぞれがベクトルデータを有する複数のセルを含むマップを使用して未知データを分類するデータ分類方法が知られている。また、このようなデータ分類方法に用いられるマップとして、たとえば、T.Kohonen氏が提案した自己組織化マップ(SOM:Self−Organizing Maps)が知られている。この自己組織化マップの作成方法として、従来、種々の作成方法が提案されている(たとえば、特許文献1参照)。また、従来、特許文献1に開示された作成方法などにより作成された自己組織化マップ(SOM)を用いてデータの分類を行う場合には、作成した自己組織化マップの中から未知データを構成するベクトルデータとのベクトル間の距離が最も小さいベクトルデータを有する単一のセルを選択するとともに、その選択したセルの属する分類に基づいて未知データを分類するのが一般的である。
【特許文献1】特開2001−229362号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記した従来の自己組織化マップを用いてデータの分類を行う方法では、選択した単一のセルの属する分類に基づいて未知データを分類するため、その選択した単一のセルの属する分類が誤って設定されている場合には、未知データの分類結果も誤った分類結果になるという不都合がある。これにより、未知データの分類の精度が低下するという問題点があった。
【0004】
この発明は、上記のような課題を解決するためになされたものであり、この発明の1つの目的は、未知データの分類の精度を向上させることが可能なデータ分類方法を提供することである。
【課題を解決するための手段および発明の効果】
【0005】
上記目的を達成するために、この発明の第1の局面におけるデータ分類方法は、それぞれがベクトルデータを有する複数のセルを含むマップを使用してベクトルデータからなる未知データを分類するデータ分類方法であって、マップから抽出される、セルの集合体からなる複数の第1ブロック毎に、第1ブロックに含まれる複数のセルのベクトルデータに基づく、第1ブロックのベクトルデータとしての第1ブロックデータと、未知データとを比較して、複数の第1ブロックの中から未知データに対応する未知データ対応ブロックを決定するステップと、未知データ対応ブロックに基づいて未知データを分類するステップとを備えている。なお、本発明における「未知データを分類する」とは、未知データが属する分類を決定する場合のみならず、未知データが属する分類を決定せずに、未知データが所定の分類に属する可能性割合を決定する場合も含む。
【0006】
この第1の局面によるデータ分類方法では、上記のように、未知データと、複数のセルのベクトルデータに基づく、第1ブロックのベクトルデータとしての第1ブロックデータとを比較して、複数の第1ブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの1つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【0007】
上記第1の局面によるデータ分類方法において、第1ブロックは、セルが縦横に同数ずつ配置された構成を有していてもよい。
【0008】
上記第1の局面によるデータ分類方法において、好ましくは、複数の第1ブロックは、マップから抽出し得る全てのブロックを含む。このように構成すれば、マップから抽出し得る全てのブロックの中から未知データに対応する未知データ対応ブロックを決定することができるので、未知データにより正確に対応する未知データ対応ブロックを決定することができる。
【0009】
上記第1の局面によるデータ分類方法において、好ましくは、第1ブロックデータは、第1ブロックに含まれる複数のセルのベクトルデータの平均値である。このように構成すれば、容易に、第1ブロックに含まれる複数のセルのベクトルデータに基づいて第1ブロックデータを算出することができる。
【0010】
上記第1の局面によるデータ分類方法において、好ましくは、未知データ対応ブロックを決定するステップは、未知データを構成するベクトルデータと複数の第1ブロックの第1ブロックデータを構成するベクトルデータとのベクトル間の距離を算出するステップと、算出されたベクトル間の距離に基づいて複数の第1ブロックの中から未知データに対応するブロックを決定するステップとを含む。このように構成すれば、容易に、未知データに対応する未知データ対応ブロックを決定することができる。
【0011】
上記第1の局面によるデータ分類方法において、好ましくは、未知データを分類するステップは、未知データ対応ブロックに含まれる複数のセルのクラス所属データに基づいて、未知データを所定のクラスに分類するステップを含む。このように構成すれば、容易に、未知データを所定のクラスに分類することができる。
【0012】
上記第1の局面によるデータ分類方法において、好ましくは、未知データを分類するステップは、未知データ対応ブロックに含まれる複数のセルのクラス所属データに基づいて、未知データが所定のクラスに属する可能性割合を決定するステップを含む。このように構成すれば、容易に、未知データが所定のクラスに属する可能性割合を決定することができる。
【0013】
上記第1の局面によるデータ分類方法において、好ましくは、未知データ対応ブロックを決定するステップに先立って、マップを作成するステップをさらに備え、マップを作成するステップは、未学習のベクトルデータを有する複数のセルを含む未学習マップを準備するステップと、未学習マップから抽出される、セルの集合体からなる複数の第2ブロック毎に、第2ブロックに含まれる複数のセルの未学習のベクトルデータに基づいて、第2ブロックのベクトルデータとしての第2ブロックデータを算出するステップと、学習データを複数の第2ブロックの第2ブロックデータと比較して、複数の第2ブロックの中から学習データを学習させる学習対象ブロックを決定するステップと、学習対象ブロックに属するセルに学習データを学習させるステップとを含む。このように構成すれば、学習データに対応する学習対象ブロックに含まれる複数のセルに学習データを学習させることができるので、学習データに対応する単一のセルの近傍領域のセルに対して学習データを学習させる場合と異なり、学習データを学習させる近傍領域の範囲を設定するための近傍関数を設定する必要がない。これにより、容易に、未学習マップに学習データを学習させてマップを作成することができる。
【0014】
この場合において、好ましくは、複数の第2ブロック毎に第2ブロックデータを算出するステップと、学習対象ブロックを決定するステップと、学習対象ブロックに属するセルに学習データを学習させるステップとは、繰り返し実行される。このように構成すれば、学習データを繰り返し学習させてマップを作成することができるので、十分に学習データを学習させたマップを作成することができる。
【0015】
上記マップを作成するステップを有する構成において、好ましくは、マップを作成するステップは、未学習マップから抽出されるM個以上のセルを含む複数の第3ブロック毎に、第3ブロックに含まれるセルの未学習のベクトルデータに基づいて、第3ブロックのベクトルデータとしての第3ブロックデータを算出するステップと、学習データを、複数の第3ブロックの第3ブロックデータと比較して、複数の第3ブロックの中から学習データを学習させる第1学習対象ブロックを決定するステップと、第1学習対象ブロックに属するセルに学習データを学習させるステップとを含む第1のマップ作成ステップと、第1のマップ作成ステップに続いて実行され、未学習マップから抽出されるN個(N<M)以上のセルを含む複数の第4ブロック毎に、第4ブロックに含まれるセルのベクトルデータに基づいて、第4ブロックのベクトルデータとしての第4ブロックデータを算出するステップと、学習データを、複数の第4ブロックの第4ブロックデータと比較して、複数の第4ブロックの中から学習データを学習させる第2学習対象ブロックを決定するステップと、第2学習対象ブロックに属するセルに学習データを学習させるステップとを含む第2のマップ作成ステップとを含む。このように構成すれば、第1のマップ作成ステップにおいて、M個以上のセルを含む大きなブロック毎に、比較的粗く学習データを学習させた後、第2のマップ作成ステップにおいて、N個(N<M)以上のセルを有する比較的小さなブロック毎にも、学習データを学習させることができる。これにより、最初から比較的小さなブロック毎に学習データを学習させる場合と異なり、同じ分類を有する複数のセルからなる分類領域が学習させたマップ上に局所的な固まりを有した状態で複数に分散して形成されるのを抑制することができる。
【0016】
この発明の第2の局面におけるデータ分類方法を実行するためのプログラムは、それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類方法を実行するためのプログラムであって、マップから抽出される、セルの集合体からなる複数のブロック毎に、ブロックに含まれる複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータと、未知データとを比較して、複数のブロックの中から未知データに対応する未知データ対応ブロックを決定するステップと、未知データ対応ブロックに基づいて未知データを分類するステップとを備えている。
【0017】
この第2の局面によるデータ分類方法を実行するためのプログラムでは、上記のように、未知データと、複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータとを比較して、複数のブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの1つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【0018】
この発明の第3の局面におけるデータ分類装置は、それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類装置であって、マップから抽出される、セルの集合体からなる複数のブロック毎に、ブロックに含まれる複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータと、未知データとを比較して、複数のブロックの中から未知データに対応する未知データ対応ブロックを決定する決定手段と、未知データ対応ブロックに基づいて未知データを分類する分類手段とを備えている。
【0019】
この第3の局面によるデータ分類装置では、上記のように、未知データと、複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータとを比較して、複数のブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定する決定手段を設けるとともに、その決定した未知データ対応ブロックに基づいて未知データを分類する分類手段を設けることによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの1つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施形態を図面に基づいて説明する。
【0021】
図1は、本発明の一実施形態によるデータ分類方法に用いるデータ分類装置の構成を説明するための模式図である。まず、図1を参照して、本実施形態のデータ分類方法に用いるデータ分類装置について説明する。
【0022】
本実施形態のデータ分類方法に用いるデータ分類装置1は、図1に示すように、本実施形態によるデータ分類方法に基づいた処理を行うマイクロコンピュータなどからなる制御部2を備えている。この制御部2は、後述するブロックデータを算出する算出部2aと、データ分類装置1に入力した未知データに対応する未知データ対応ブロックを決定する決定部2bと、未知データを所定のクラスに分類する分類部2cとを含んでいる。なお、決定部2bおよび分類部2cは、それぞれ、本発明の「決定手段」および「分類手段」の一例である。また、データ分類装置1では、以下に説明するデータ分類方法を行う前に、予め、本実施形態によるデータ分類方法を実行するためのプログラムをインストールする必要がある。
【0023】
また、本実施形態によるデータ分類方法は、未学習マップに学習データを学習させて自己組織化マップ(SOM)を作成する学習アルゴリズムと、自己組織化マップを構成するセルのクラス分けを行うクラス分けアルゴリズムと、クラス分けされた自己組織化マップを使用して未知データを所定のクラスに分類するかまたは未知データが所定のクラスに属する可能性割合を決定する評価アルゴリズムとによって構成されている。また、本実施形態によるデータ分類方法は、図2に示すような自己組織化マップ(SOM)3を用いて行われる。なお、この自己組織化マップ3は、本発明の「マップ」の一例である。また、自己組織化マップ3は、マス目状に配置された複数のセル4によって構成されている。この複数のセル4は、縦横に同数ずつ(本実施形態では、10個ずつ)配置されている。また、各セル4は、複数の要素からなるベクトルデータを有することが可能なように構成されている。
【0024】
図3〜図7は、本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。図8〜図12は、本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。図13〜図15は、本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。まず、図3〜図7を参照して、本実施形態によるデータ分類方法の学習アルゴリズムについて説明する。
【0025】
(学習アルゴリズム)
この学習アルゴリズムでは、複数の学習データX(x1,x2,x3,x4)を未学習マップに学習させることによって自己組織化マップを作成する。また、本実施形態による学習アルゴリズムは、図3に示すように、ステップS1〜ステップS9によって構成されている。まず、ステップS1において、未学習マップの準備を行う。ここで、未学習マップとは、未学習のベクトルデータを有する複数のセルからなるマップである。未学習マップの準備では、まず、ベクトルデータを全く有していないセルからなるマップを準備する。そして、図4に示すように、ベクトルデータを全く有していないセルからなるマップの各セルに対して、乱数表を用いて所定のベクトルデータを割り付ける。なお、本実施形態では、要素1〜要素4の4つの要素からなるベクトルデータを各セルに割り付ける。これにより、所定の未学習のベクトルデータを有する複数のセルからなる未学習マップが準備される。また、本実施形態では、未学習マップは、n×n(本実施形態では10×10)のセルからなるものとする。
【0026】
次に、ステップS2以降のグローバルエリア学習段階に進む。なお、このグローバルエリア学習段階は、本発明による「第1のマップ作成ステップ」の一例である。グローバルエリア学習段階では、未学習マップから比較的大きなブロックを抽出してそのブロック毎に学習データを学習させることにより、未学習マップに学習データを比較的粗く学習させる。なお、ブロックは、縦横に同数配置されたセルの集合体である。ステップS2では、未学習マップから抽出する抽出ブロックの大きさの設定および量子化誤差errの「0」への初期化を行う。このステップS2では、比較的大きなブロック毎に学習データを学習させるために、抽出ブロックをm×m=m2個(=M個)以上のセルによって構成するとともに、m=n/2(5=10/2)に設定する。すなわち、本実施形態では、未学習マップが10×10のセルからなるので、抽出ブロックを5×5(m×m)以上のセルを有する比較的大きなブロックに設定する。また、量子化誤差errは、学習データXと、後述する学習対象ブロックのブロックデータとの誤差であり、学習データXが学習対象ブロックにどの程度学習されたかを示す指標となる値である。また、ブロックデータは、ブロックを構成する全てのセルのベクトルデータの平均値である。
【0027】
次に、ステップS3において、直前量子化誤差err(before)に対して、ステップS2で「0」に設定した量子化誤差errの値のコピー(err(before)=err)を行うことにより、直前量子化誤差err(before)を0に初期化した後、量子化誤差errを「0」に初期化(err=0)する。そして、サブルーチンを呼び出す。なお、直前量子化誤差err(before)とは、ステップS3〜S5を1回の学習サイクルとして、その学習サイクルを繰り返し実行する場合に、前回の学習サイクルの最後の学習データXによる学習演算の際に算出される量子化誤差を意味する。また、上記ステップS3の処理により、1回目の学習サイクルでは、直前量子化誤差err(before)=0となる。
【0028】
次に、ステップS4のサブルーチンは、図5に示すように、ステップS11〜ステップS15によって構成されている。このサブルーチンでは、ステップS11において、未学習マップからm=5×5=52個(=25個)以上の縦横に同数のセルを有する全ての比較的大きなブロックを抽出するとともに、その抽出した全ての比較的大きなブロック(抽出ブロック)についてブロック重みデータBiを算出する。このブロック重みデータBiの算出は、抽出ブロックに含まれる各セルのベクトルデータを要素毎に合計した後、抽出ブロックに含まれるセルの合計数で割ることによって行う。これにより、抽出ブロックに含まれる全てのセルの各要素の重みの平均値であるブロック重みデータBiが算出される。たとえば、図6に示すように、5×5=25個のセルからなる抽出ブロック50を抽出した場合には、以下の式(1)〜式(4)に示すようにブロック重みデータBi(bi1,bi2,bi3,bi4)を算出する。なお、この抽出ブロック50は、本発明の「第2ブロック」および「第3ブロック」の一例であり、ブロック重みデータBjは、本発明の「第2ブロックデータ」および「第3ブロックデータ」の一例である。また、以下の式(1)〜式(4)において、a11〜a125と、a21〜a225と、a31〜a325と、a41〜a425とは、それぞれ、抽出ブロックに含まれる各セルの要素1〜要素4の値である。
【0029】
ブロック重みデータbi1=(a11+a12+a13+・・・・+a125)/25・・・(1)
ブロック重みデータbi2=(a21+a22+a23+・・・・+a225)/25・・・(2)
ブロック重みデータbi3=(a31+a32+a33+・・・・+a325)/25・・・(3)
ブロック重みデータbi4=(a41+a42+a43+・・・・+a425)/25・・・(4)
次に、ステップS12において、学習データXを学習させる学習対象ブロックの決定を行う。この学習対象ブロックの決定は、上記したm×m(5×5)以上のセルからなる比較的大きな抽出ブロックの中から学習データX(x1,x2,x3,x4)との間のベクトル間距離が最も小さいブロック重みデータBiを有するブロックを選択することにより行う。たとえば、図7に示すように、自己組織化マップ3から抽出し得る5×5以上のセルからなる全ての抽出ブロックの中で、5×5のブロック51が学習データXとの間のベクトル間距離が最も小さいブロック重みデータBiを有する場合には、このブロック51を学習対象ブロックに決定する。なお、この学習対象ブロックのブロック重みデータは、Bs(bs1,bs2,bs3,bs4)とする。
【0030】
次に、ステップS13において、量子化誤差errの算出を行う。この量子化誤差errの算出は、以下の式(5)によって行う。なお、1個目の学習データXの学習演算の際には、以下の式(5)において、ステップS3(図3参照)で設定したように、直前量子化誤差err(before)=0となる。
【0031】
量子化誤差err=err(before)+{(x1−bs1)2+(x2−bs2)2+(x3−bs3)2+(x4−bs4)2}1/2・・・(5)
次に、ステップS14において、学習対象ブロックを構成する全てのセルに対して学習データX(x1,x2,x3,x4)を学習させるための学習演算を行う。具体的には、図7に示すように、5×5(=25個)のセルからなる学習対象ブロック(ブロック51)において、学習前のベクトルデータ(a1,a2,a3,a4)を有するセル52に対して学習データX(x1,x2,x3,x4)を学習させる場合には、以下の式(6)〜式(9)による学習演算を行う。なお、以下の式(6)〜式(9)において、tは、学習データXをセルに学習させる度合いを表す学習係数であり、tが大きくなる程、学習後のセルのベクトルデータが学習データXにより近づく。なお、このtは、0以上1以下の値である。
【0032】
学習後のセルのベクトルデータの要素1=a1+t(x1−a1)/25・・・(6)
学習後のセルのベクトルデータの要素2=a2+t(x2−a2)/25・・・(7)
学習後のセルのベクトルデータの要素3=a3+t(x3−a3)/25・・・(8)
学習後のセルのベクトルデータの要素4=a4+t(x4−a4)/25・・・(9)
上記式(6)〜式(9)により算出した要素1〜4により、セル52のベクトルデータを書き換える。上記の学習演算およびベクトルデータの書換えを学習対象ブロックを構成する全てのセルに対して同様に行うことにより、学習対象ブロックを構成する全てのセルに学習データXを学習させる。
【0033】
次に、ステップS15において、学習データXの個数分(全ての学習データX)の学習演算が終了したかどうかが判断される。学習データXの個数分の学習演算が終了した場合には、次のステップS5(図3参照)に進む。一方、学習データXの個数分の学習演算が終了していない場合には、上記したステップS11〜S14を繰り返し実行する。
【0034】
次に、図3のステップS5において、学習回数が予め設定された規定値D1に達したか、または、量子化誤差errと直前量子化誤差err(before)との差が予め設定された規定値D2よりも小さいかが判断される。なお、学習回数とは、ステップS3〜S5による学習サイクルが実行された回数を意味する。学習回数が規定値D1に達したか、または、量子化誤差errと直前量子化誤差err(before)との差が規定値D2よりも小さい場合には、次のステップS6に進む。一方、学習回数が規定値D1に達しておらず、かつ、量子化誤差errと直前量子化誤差err(before)との差が規定値D2以上の場合には、ステップS3〜S5による学習サイクルを繰り返し実行する。
【0035】
次に、ステップS6以降では、学習の後半段階である通常学習段階に進む。なお、この通常学習段階は、本発明による「第2のマップ作成ステップ」の一例である。通常学習段階は、ステップS6〜S9によって構成されている。この通常学習段階では、グローバルエリア学習段階に比べて小さなブロックまでを対象として学習データを学習させる。これにより、通常学習段階では、グローバルエリア学習段階に比べて、より細かくマップに学習データを学習させることができる。ステップS6における抽出ブロック(m×m)の大きさの設定では、マップから抽出し得る全てのブロックを対象として学習データを学習させるために、m=2に設定する。これにより、サブルーチンのステップS11(図5参照)において、2×2=4個(=N個)以上のセルからなる全てのブロックが抽出ブロックとしてマップから抽出される。なお、この抽出ブロックは、本発明の「第2ブロック」および「第4ブロック」の一例である。そして、抽出した全ての抽出ブロックについてブロック重みデータを算出するとともに、全ての抽出ブロックの中から学習データXとのベクトル間距離が最も小さいブロック重みデータを有するブロックを選択することにより学習対象ブロックを決定する。なお、このブロック重みデータは、本発明の「第2ブロックデータ」および「第4ブロックデータ」の一例である。そして、決定した学習対象ブロックに対して学習データXによる学習演算を行う。
【0036】
また、通常学習段階では、ステップS9(図3参照)において、学習回数が予め設定された規定値D3に達したか、または、量子化誤差errと直前量子化誤差err(before)との差が予め設定された規定値D4よりも小さいかを判断する。これにより、ステップS7〜S9からなる学習サイクルは、学習回数が規定値D3に達するか、または、量子化誤差errと直前量子化誤差err(before)との差が規定値D4よりも小さくなるまで行われる。また、通常学習段階における量子化誤差errと直前量子化誤差err(before)との差の規定値D4は、グローバルエリア学習段階における量子化誤差errと直前量子化誤差err(before)との差の規定値D2よりも小さい値に設定する。これにより、通常学習段階では、グローバルエリア学習段階よりも量子化誤差errと直前量子化誤差err(before)との差が小さくなるまで学習サイクルが実行される。これにより、D2≦D4の場合よりも、未知データの分類精度が高いマップを作成することができる。ステップS6〜S9からなる通常学習段階の上記以外の処理方法は、上記したステップS2〜S5からなるグローバルエリア学習段階の処理方法と同様である。
【0037】
上記のようにして、未学習マップに学習データXを学習させることにより自己組織化マップを作成する。
【0038】
本実施形態では、上記のように、グローバルエリア学習段階において、未学習マップから抽出される5×5=25個(M個)以上のセル4を含む全ての抽出ブロックの中から学習対象ブロックを決定するとともに、決定した学習対象ブロックに属するセル4に学習データXを学習させた後、通常学習段階において、マップから抽出される2×2=4個(N個(N<M))以上のセル4を含む全ての抽出ブロックの中から学習対象ブロックを決定するとともに、決定した学習対象ブロックに属するセル4に学習データXを学習させることによって、グローバルエリア学習段階において、25個以上のセル4を含む大きなブロック毎に、比較的粗く学習データXを学習させた後、通常学習段階において、4個以上のセル4を有する比較的小さなブロック毎にも、比較的細かく学習データXを学習させることができる。これにより、最初から比較的小さなブロック毎に学習データXを学習させる場合と異なり、同じ分類を有する複数のセル4からなる領域が学習させた自己組織化マップ3上に局所的に固まりを有した状態で複数に分散して形成されるのを抑制することができる。
【0039】
また、本実施形態では、グローバルエリア学習段階および通常学習段階において、全ての抽出ブロック毎にブロック重みデータBiを算出するステップS11と、学習対象ブロックを決定するステップS12と、学習対象ブロックを構成する全てのセル4に学習データを学習させるステップS14とを含む学習サイクル(ステップS4およびS8のサブルーチン)を繰り返し実行することによって、学習データXを繰り返し学習させて自己組織化マップ3を作成することができるので、十分に学習データXを学習させた自己組織化マップ3を作成することができる。
【0040】
次に、図8〜図12を参照して、本実施形態によるデータ分類方法のクラス分けアルゴリズムについて説明する。
【0041】
(クラス分けアルゴリズム)
このクラス分けアルゴリズムでは、上記学習アルゴリズムによって作成した自己組織化マップを構成するセルのクラス分けを行う。なお、クラスとは、学習データXを分類するために各学習データXに与えられた分類名である。本実施形態では、各学習データXがα、β、γの3つのクラスのいずれか1つに分類されているとともに、自己組織化マップを構成するセルをα、β、γの3つのクラスに分類する場合について説明する。また、自己組織化マップを構成する各セルは、各クラスに属する可能性割合を示すクラス所属値Rcを有している。本実施形態では、各セルは3つのクラス所属値(Rα、RβおよびRγ)を有している。
【0042】
まず、図8に示すように、ステップS21において、自己組織化マップ3(図9参照)を構成する全てのセル4のクラス所属値Rcを「0」に初期化する。すなわち、図9に示すように、自己組織化マップ3を構成する全てのセル4のα、βおよびγクラスに対応するクラス所属値Rα、RβおよびRγを「0」に設定する。
【0043】
次に、ステップS22において、自己組織化マップ3から2×2以上の縦横に同数のセルが配置された全てのブロックを抽出するとともに、その抽出した全てのブロック(抽出ブロック)についてブロック重みデータBj(bj1,bj2,bj3,bj4)を算出する。このブロック重みデータBjは、上記学習アルゴリズムによるブロック重みデータBi(式(1)〜式(4)参照)と同様にして算出する。すなわち、図10に示すように、2×2=4個のセル4からなる抽出ブロック53を抽出した場合には、以下の式(10)〜式(13)に示すようにブロック重みデータBj(bj1,bj2,bj3,bj4)を算出する。なお、以下の式(10)〜式(13)において、a11〜a14と、a21〜a24と、a31〜a34と、a41〜a44とは、それぞれ、抽出ブロック53に含まれる各セル4の要素1〜要素4の値である。
【0044】
ブロック重みデータbj1=(a11+a12+a13+a14)/4・・・(10)
ブロック重みデータbj2=(a21+a22+a23+a24)/4・・・(11)
ブロック重みデータbj3=(a31+a32+a33+a34)/4・・・(12)
ブロック重みデータbj4=(a41+a42+a43+a44)/4・・・(13)
次に、ステップS23において、クラス分けの対象となるクラス分け対象ブロックの決定を行う。このクラス分け対象ブロックの決定は、上記の2×2以上のセル4からなる全ての抽出ブロックの中から学習データX(x1,x2,x3,x4)との間のベクトル間距離が最も小さいブロック重みデータBjを有するブロックを選択することにより行う。たとえば、図11に示すように、自己組織化マップ3から抽出し得る全ての抽出ブロックの中で、3×3のブロック54が学習データXとの間のベクトル間距離が最も小さいブロック重みデータBjを有する場合には、このブロック54をクラス分け対象ブロックに決定する。
【0045】
次に、ステップS24において、クラス分け対象ブロックに含まれる全てのセル4のクラス所属値Rdを算出する。このクラス所属値Rdの算出は、以下の式(14)による演算によって行う。なお、以下の式(14)において、Rdの「d」は、上記ステップS23において用いた学習データXの所属クラスである。つまり、式(14)の演算は、学習データXの所属クラスについてのみ行う。また、式(14)の右辺のRdは、演算前のセルのdクラスに対応するクラス所属値である。また、uは、係数であり、たとえば、u=1/(dクラスに属する学習データXの個数)によって求められる。また、bnは、クラス分け対象ブロックを構成するセルの数である。
【0046】
Rd=Rd+u(1/bn)・・・(14)
具体的には、図11に示すように、αクラスに属する学習データXに対応して3×3=9個のセルからなるブロック54をクラス分け対象ブロックに決定するとともに、そのクラス分け対象ブロック(ブロック54)中の9個のセル55のクラス所属値Rαを算出する場合には、以下の式(15)により算出する。なお、1個目の学習データXに対応するクラス所属値の演算では、ステップS21の処理により、以下の式(15)において、右辺のRα=0となる。
【0047】
Rα=Rα+u(1/9)・・・(15)
全ての学習データXについて、クラス分け対象ブロックを決定するとともに、そのクラス分け対象ブロックに含まれる全てのセル4について各学習データXの所属クラス(α、βまたはγ)のクラス所属値Rdを上記した式(14)の演算により求める。このようなクラス所属値Rdの演算処理により各セル4のそれぞれについて、各クラスα、β、γのクラス所属値Rα、Rβ、Rγが算出される。
【0048】
次に、ステップS25において、学習データXの個数分(全ての学習データX)のクラス所属値Rdの演算が終了したかどうかが判断される。学習データXの個数分のクラス所属値Rdの演算が終了した場合には、次のステップS26に進む。一方、学習データXの個数分のクラス所属値Rdの演算が終了していない場合には、ステップS22〜S25を繰り返し実行する。
【0049】
次に、ステップS26において、自己組織化マップ3を構成する全てのセル4の所属クラスを決定する。この所属クラスの決定では、各セル4の有するクラス所属値Rd(Rα、Rβ、Rγ)の中で最大の値を有するクラスをそのセル4の所属クラスに決定する。たとえば、図12に示すように、セル56がRα=3、Rβ=0.1、Rγ=0.4のクラス所属値をそれぞれ有している場合には、αクラスのクラス所属値Rαが最大であるので、セル56の所属クラスは、αクラスに決定する。このようにして、図12に示すように、全てのセル4の所属クラスを決定することによって、自己組織化マップ3を構成する全てのセル4のクラス分けを行う。
【0050】
次に、図13〜図15を参照して、本実施形態によるデータ分類方法の評価アルゴリズムについて説明する。
【0051】
(評価アルゴリズム)
この評価アルゴリズムでは、クラス分けアルゴリズムによりクラス分けした自己組織化マップを使用してデータ分類装置1(図1参照)に入力されたベクトルデータからなる未知データを所定のクラス(α、β、γ)に分類する。
【0052】
まず、図13に示すように、ステップS31において、自己組織化マップ3(図14参照)から2×2以上の縦横に同数のセル4が配置された全てのブロックを抽出するとともに、その抽出した全てのブロック(抽出ブロック)についてブロック重みデータBk(bk1,bk2,bk3,bk4)を算出する。このブロック重みデータBkは、上記学習アルゴリズムによるブロック重みデータBi(式(1)〜式(4)参照)と同様にして算出する。すなわち、図14に示すように、3×3=9個のセル4からなる抽出ブロック57を抽出した場合には、以下の式(16)〜式(19)に示すようにブロック重みデータBk(bk1,bk2,bk3,bk4)を算出する。なお、この抽出ブロック57は、本発明の「第1ブロック」の一例であり、ブロック重みデータBkは、本発明の「第1ブロックデータ」の一例である。また、以下の式(16)〜式(19)において、a11〜a19と、a21〜a29と、a31〜a39と、a41〜a49とは、それぞれ、抽出ブロック57を構成する各セル4の要素1〜要素4の値である。
【0053】
ブロック重みデータbk1=(a11+a12+・・・+a19)/9・・・(16)
ブロック重みデータbk2=(a21+a22+・・・+a29)/9・・・(17)
ブロック重みデータbk3=(a31+a32+・・・+a39)/9・・・(18)
ブロック重みデータbk4=(a41+a42+・・・+a49)/9・・・(19)
次に、ステップS32において、ベクトルデータからなる未知データに対応する未知データ対応ブロックの決定を行う。この未知データ対応ブロックの決定では、まず、未知データと上記の全ての抽出ブロックのブロック重みデータBkとのベクトル間距離を算出する。そして、算出した未知データと抽出ブロックのブロック重みデータBkとのベクトル間距離が最も小さくなるブロックを全ての抽出ブロックの中から選択することにより、未知データ対応ブロックを決定する。たとえば、図14に示すように、自己組織化マップ3から抽出し得る全ての抽出ブロックの中で、抽出ブロック57が未知データとの間のベクトル間距離が最も小さいブロック重みデータBkを有する場合には、この抽出ブロック57を未知データ対応ブロックに決定する。
【0054】
次に、ステップS33において、未知データの所属クラスの決定または未知データの各クラスに属する可能性割合の算出を行う。未知データの所属クラスの決定では、未知データ対応ブロックを構成する全てのセル4のクラス所属値Rdを積算(合計)した積算値RSが最大になるクラスを未知データの所属クラスに決定する。なお、このクラス所属値Rdは、本発明の「クラス所属データ」の一例である。たとえば、図14中の抽出ブロック57を未知データ対応ブロックとする場合には、この抽出ブロック57の9個のセルのクラス所属値Rdを積算(合計)することによって積算値RSを算出する。具体的には、以下の式(20)〜式(22)に示すように算出する。なお、以下の式(20)〜式(22)において、Rα1〜Rα9、Rβ1〜Rβ9およびRγ1〜Rγ9は、それぞれ、上記9個のセルのα、βおよびγクラスに対応するクラス所属値である。
【0055】
RSα=Rα1+Rα2+Rα3+・・・・+Rα9・・・(20)
RSβ=Rβ1+Rβ2+Rβ3+・・・・+Rβ9・・・(21)
RSγ=Rγ1+Rγ2+Rγ3+・・・・+Rγ9・・・(22)
そして、上記式(20)〜式(22)により算出したクラス所属値Rdの積算値RSα、RSβおよびRSγの中で最大となる値を有するクラスを未知データの所属クラスに決定する。たとえば、図14に示すように、未知データ対応ブロック(抽出ブロック57)のクラス所属値Rdの積算値RSα、RSβおよびRSγがそれぞれRSα=0.4、RSβ=2およびRSγ=0.1と算出された場合には、最大の積算値はRSβ=2になるので、未知データの所属クラスをβクラスに決定する。
【0056】
また、未知データの各クラスに属する可能性割合の算出は、以下の式(23)〜式(25)によって算出する。
【0057】
αクラスに属する可能性割合=RSα/(RSα+RSβ+RSγ)・・・(23)
βクラスに属する可能性割合=RSβ/(RSα+RSβ+RSγ)・・・(24)
γクラスに属する可能性割合=RSγ/(RSα+RSβ+RSγ)・・・(25)
上記式(23)〜式(25)に、RSα=0.4、RSβ=2、RSγ=0.1を代入すると、各クラスに属する可能性割合は、以下のようになる。
【0058】
αクラスに属する可能性割合=0.4/(0.4+2+0.1)=0.16
βクラスに属する可能性割合=2/(0.4+2+0.1)=0.8
γクラスに属する可能性割合=0.1/(0.4+2+0.1)=0.04
なお、未知データの所属クラスを決定する際には、次のような多数決による方法を用いてもよい。すなわち、未知データ対応ブロックを構成する各セルの属するクラスの中で最も多いクラスを未知データの所属クラスに決定してもよい。具体的には、図15に示すように、未知データ対応ブロック58が、αクラスに属する6個のセル4と、βクラスに属する2個のセル4と、γクラスに属する1個のセル4とによって構成されている場合には、最多(6個)のセルが存在するαクラスを未知データの所属クラスに決定する。
【0059】
また、未知データの各クラスに属する可能性割合を、未知データ対応ブロック中の各クラスに属するセルの数を未知データ対応ブロックを構成するセルの数で割ることによって算出してもよい。たとえば、図15に示した未知データ対応ブロック58では、以下の式(26)〜式(28)に示すように算出することができる。
【0060】
αクラスに属する可能性割合=αクラスに属するセルの数/未知データ対応ブロックを構成するセルの数=6/9・・・(26)
βクラスに属する可能性割合=βクラスに属するセルの数/未知データ対応ブロックを構成するセルの数=2/9・・・(27)
γクラスに属する可能性割合=γクラスに属するセルの数/未知データ対応ブロックを構成するセルの数=1/9・・・(28)
本実施形態では、上記のように、未知データと、全ての抽出ブロック57のブロック重みデータBkとを比較して、全ての抽出ブロック57の中から未知データに対応する、セル4の集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセル4の集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセル4のうちの1つのセル4の分類(クラス所属値Rdまたは所属クラス)が誤っている場合にも、未知データ対応ブロックの他のセル4の分類(クラス所属値Rdまたは所属クラス)が正しければ、未知データ対応ブロック全体としての分類(所属クラス)に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類(所属クラスの決定または所属クラスに属する可能性割合の決定)を行うことにより、未知データの所属クラスが誤って決定されたり、未知データの所属クラスに属する可能性割合が誤って決定されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類(所属クラスの決定または未知データの所属クラスに属する可能性割合の決定)の精度を向上させることができる。
【0061】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【0062】
たとえば、上記実施形態では、学習アルゴリズムにおいて、ベクトルデータを全く有していないセルからなるマップの各セルに対して、乱数表を用いて所定のベクトルデータを割り付けることにより、未学習マップの準備を行ったが、本発明はこれに限らず、上記以外の方法を用いて未学習マップの準備を行ってもよい。たとえば、ベクトルデータを全く有していないセルからなるマップの全てのセルに対して、全ての要素が「0」からなるベクトルデータを割り付けることなどにより、未学習マップの準備を行ってもよい。
【0063】
また、上記実施形態では、マップを構成する各セルをマス目によって表したが、本発明はこれに限らず、各セルをマス目以外の種々の形状によって表してもよい。たとえば、各セルを円や点や多角形などによって表してもよい。
【0064】
また、上記実施形態では、未知データをα、βおよびγの3つのクラスに分類する例について説明したが、本発明はこれに限らず、未知データを3つ以外のクラスに分類する場合にも、本発明を適用することができる。
【0065】
また、上記実施形態では、評価アルゴリズムにおいて、未知データの所属クラスの決定または未知データの各クラスに属する可能性割合の算出のいずれか一方を行う例について説明したが、本発明はこれに限らず、未知データの所属クラスの決定および未知データの各クラスに属する可能性割合の算出の両方を行ってもよい。
【0066】
また、上記実施形態では、ベクトルデータとして4個の要素からなるベクトルデータを用いたが、本発明はこれに限らず、2個以上の要素からなるベクトルデータであればよい。
【0067】
また、上記実施形態では、データ分類装置1は、ブロックデータを算出する算出部2aを備えているが、算出部2aは必ずしも必要ではなく、予め算出されたブロックデータを制御部2に記憶させるとともに、その記憶されたブロックデータを使用して決定部2bが未知データ対応ブロックを決定するようにデータ分類装置1を構成してもよい。
【0068】
また、上記実施形態では、ブロックデータとしてブロックに含まれる全てのセルの各要素の重みの平均値を用いたが、本発明はこれに限らず、ブロックデータとしてブロックに含まれる全てのセルの各要素の重みの標準偏差などを用いてもよい。
【0069】
また、上記実施形態では、未学習マップおよび擬似マップとして、縦横に同数のセルが配置されたマップを使用しているが、本発明はこれに限らず、未学習マップおよび擬似マップとして、縦横で配置されたセルの数が異なるマップを使用してもよい。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施形態によるデータ分類方法に用いるデータ分類装置の構成を説明するための模式図である。
【図2】本発明の一実施形態によるデータ分類方法に用いる自己組織化マップの構成を示した図である。
【図3】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するためのフローチャートである。
【図4】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図5】図3に示した一実施形態による学習アルゴリズムのサブルーチンを説明するためのフローチャートである。
【図6】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図7】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図8】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するためのフローチャートである。
【図9】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図10】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図11】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図12】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図13】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するためのフローチャートである。
【図14】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。
【図15】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。
【符号の説明】
【0071】
1 データ分類装置
2 制御部
2a 算出部
2b 決定部(決定手段)
2c 分類部(分類手段)
3 自己組織化マップ(マップ)
4 セル
50 抽出ブロック(第2ブロック、第3ブロック)
57 抽出ブロック(第1ブロック)
Bi ブロック重みデータ(第2ブロックデータ、第3ブロックデータ)
Bk ブロック重みデータ(第1ブロックデータ)
【技術分野】
【0001】
本発明は、データ分類方法およびそれを実行するためのプログラムならびにデータ分類装置に関し、特に、それぞれがベクトルデータを有する複数のセルを含むマップを使用して未知データを分類するデータ分類方法およびそれを実行するためのプログラムならびにデータ分類装置に関する。
【背景技術】
【0002】
従来、それぞれがベクトルデータを有する複数のセルを含むマップを使用して未知データを分類するデータ分類方法が知られている。また、このようなデータ分類方法に用いられるマップとして、たとえば、T.Kohonen氏が提案した自己組織化マップ(SOM:Self−Organizing Maps)が知られている。この自己組織化マップの作成方法として、従来、種々の作成方法が提案されている(たとえば、特許文献1参照)。また、従来、特許文献1に開示された作成方法などにより作成された自己組織化マップ(SOM)を用いてデータの分類を行う場合には、作成した自己組織化マップの中から未知データを構成するベクトルデータとのベクトル間の距離が最も小さいベクトルデータを有する単一のセルを選択するとともに、その選択したセルの属する分類に基づいて未知データを分類するのが一般的である。
【特許文献1】特開2001−229362号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記した従来の自己組織化マップを用いてデータの分類を行う方法では、選択した単一のセルの属する分類に基づいて未知データを分類するため、その選択した単一のセルの属する分類が誤って設定されている場合には、未知データの分類結果も誤った分類結果になるという不都合がある。これにより、未知データの分類の精度が低下するという問題点があった。
【0004】
この発明は、上記のような課題を解決するためになされたものであり、この発明の1つの目的は、未知データの分類の精度を向上させることが可能なデータ分類方法を提供することである。
【課題を解決するための手段および発明の効果】
【0005】
上記目的を達成するために、この発明の第1の局面におけるデータ分類方法は、それぞれがベクトルデータを有する複数のセルを含むマップを使用してベクトルデータからなる未知データを分類するデータ分類方法であって、マップから抽出される、セルの集合体からなる複数の第1ブロック毎に、第1ブロックに含まれる複数のセルのベクトルデータに基づく、第1ブロックのベクトルデータとしての第1ブロックデータと、未知データとを比較して、複数の第1ブロックの中から未知データに対応する未知データ対応ブロックを決定するステップと、未知データ対応ブロックに基づいて未知データを分類するステップとを備えている。なお、本発明における「未知データを分類する」とは、未知データが属する分類を決定する場合のみならず、未知データが属する分類を決定せずに、未知データが所定の分類に属する可能性割合を決定する場合も含む。
【0006】
この第1の局面によるデータ分類方法では、上記のように、未知データと、複数のセルのベクトルデータに基づく、第1ブロックのベクトルデータとしての第1ブロックデータとを比較して、複数の第1ブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの1つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【0007】
上記第1の局面によるデータ分類方法において、第1ブロックは、セルが縦横に同数ずつ配置された構成を有していてもよい。
【0008】
上記第1の局面によるデータ分類方法において、好ましくは、複数の第1ブロックは、マップから抽出し得る全てのブロックを含む。このように構成すれば、マップから抽出し得る全てのブロックの中から未知データに対応する未知データ対応ブロックを決定することができるので、未知データにより正確に対応する未知データ対応ブロックを決定することができる。
【0009】
上記第1の局面によるデータ分類方法において、好ましくは、第1ブロックデータは、第1ブロックに含まれる複数のセルのベクトルデータの平均値である。このように構成すれば、容易に、第1ブロックに含まれる複数のセルのベクトルデータに基づいて第1ブロックデータを算出することができる。
【0010】
上記第1の局面によるデータ分類方法において、好ましくは、未知データ対応ブロックを決定するステップは、未知データを構成するベクトルデータと複数の第1ブロックの第1ブロックデータを構成するベクトルデータとのベクトル間の距離を算出するステップと、算出されたベクトル間の距離に基づいて複数の第1ブロックの中から未知データに対応するブロックを決定するステップとを含む。このように構成すれば、容易に、未知データに対応する未知データ対応ブロックを決定することができる。
【0011】
上記第1の局面によるデータ分類方法において、好ましくは、未知データを分類するステップは、未知データ対応ブロックに含まれる複数のセルのクラス所属データに基づいて、未知データを所定のクラスに分類するステップを含む。このように構成すれば、容易に、未知データを所定のクラスに分類することができる。
【0012】
上記第1の局面によるデータ分類方法において、好ましくは、未知データを分類するステップは、未知データ対応ブロックに含まれる複数のセルのクラス所属データに基づいて、未知データが所定のクラスに属する可能性割合を決定するステップを含む。このように構成すれば、容易に、未知データが所定のクラスに属する可能性割合を決定することができる。
【0013】
上記第1の局面によるデータ分類方法において、好ましくは、未知データ対応ブロックを決定するステップに先立って、マップを作成するステップをさらに備え、マップを作成するステップは、未学習のベクトルデータを有する複数のセルを含む未学習マップを準備するステップと、未学習マップから抽出される、セルの集合体からなる複数の第2ブロック毎に、第2ブロックに含まれる複数のセルの未学習のベクトルデータに基づいて、第2ブロックのベクトルデータとしての第2ブロックデータを算出するステップと、学習データを複数の第2ブロックの第2ブロックデータと比較して、複数の第2ブロックの中から学習データを学習させる学習対象ブロックを決定するステップと、学習対象ブロックに属するセルに学習データを学習させるステップとを含む。このように構成すれば、学習データに対応する学習対象ブロックに含まれる複数のセルに学習データを学習させることができるので、学習データに対応する単一のセルの近傍領域のセルに対して学習データを学習させる場合と異なり、学習データを学習させる近傍領域の範囲を設定するための近傍関数を設定する必要がない。これにより、容易に、未学習マップに学習データを学習させてマップを作成することができる。
【0014】
この場合において、好ましくは、複数の第2ブロック毎に第2ブロックデータを算出するステップと、学習対象ブロックを決定するステップと、学習対象ブロックに属するセルに学習データを学習させるステップとは、繰り返し実行される。このように構成すれば、学習データを繰り返し学習させてマップを作成することができるので、十分に学習データを学習させたマップを作成することができる。
【0015】
上記マップを作成するステップを有する構成において、好ましくは、マップを作成するステップは、未学習マップから抽出されるM個以上のセルを含む複数の第3ブロック毎に、第3ブロックに含まれるセルの未学習のベクトルデータに基づいて、第3ブロックのベクトルデータとしての第3ブロックデータを算出するステップと、学習データを、複数の第3ブロックの第3ブロックデータと比較して、複数の第3ブロックの中から学習データを学習させる第1学習対象ブロックを決定するステップと、第1学習対象ブロックに属するセルに学習データを学習させるステップとを含む第1のマップ作成ステップと、第1のマップ作成ステップに続いて実行され、未学習マップから抽出されるN個(N<M)以上のセルを含む複数の第4ブロック毎に、第4ブロックに含まれるセルのベクトルデータに基づいて、第4ブロックのベクトルデータとしての第4ブロックデータを算出するステップと、学習データを、複数の第4ブロックの第4ブロックデータと比較して、複数の第4ブロックの中から学習データを学習させる第2学習対象ブロックを決定するステップと、第2学習対象ブロックに属するセルに学習データを学習させるステップとを含む第2のマップ作成ステップとを含む。このように構成すれば、第1のマップ作成ステップにおいて、M個以上のセルを含む大きなブロック毎に、比較的粗く学習データを学習させた後、第2のマップ作成ステップにおいて、N個(N<M)以上のセルを有する比較的小さなブロック毎にも、学習データを学習させることができる。これにより、最初から比較的小さなブロック毎に学習データを学習させる場合と異なり、同じ分類を有する複数のセルからなる分類領域が学習させたマップ上に局所的な固まりを有した状態で複数に分散して形成されるのを抑制することができる。
【0016】
この発明の第2の局面におけるデータ分類方法を実行するためのプログラムは、それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類方法を実行するためのプログラムであって、マップから抽出される、セルの集合体からなる複数のブロック毎に、ブロックに含まれる複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータと、未知データとを比較して、複数のブロックの中から未知データに対応する未知データ対応ブロックを決定するステップと、未知データ対応ブロックに基づいて未知データを分類するステップとを備えている。
【0017】
この第2の局面によるデータ分類方法を実行するためのプログラムでは、上記のように、未知データと、複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータとを比較して、複数のブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの1つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【0018】
この発明の第3の局面におけるデータ分類装置は、それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類装置であって、マップから抽出される、セルの集合体からなる複数のブロック毎に、ブロックに含まれる複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータと、未知データとを比較して、複数のブロックの中から未知データに対応する未知データ対応ブロックを決定する決定手段と、未知データ対応ブロックに基づいて未知データを分類する分類手段とを備えている。
【0019】
この第3の局面によるデータ分類装置では、上記のように、未知データと、複数のセルのベクトルデータに基づく、ブロックのベクトルデータとしてのブロックデータとを比較して、複数のブロックの中から未知データに対応する、セルの集合体からなる未知データ対応ブロックを決定する決定手段を設けるとともに、その決定した未知データ対応ブロックに基づいて未知データを分類する分類手段を設けることによって、複数のセルの集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセルのうちの1つのセルの分類が誤っている場合にも、未知データ対応ブロックの他のセルの分類が正しければ、未知データ対応ブロック全体としての分類に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類を行えば、未知データが誤って分類されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類の精度を向上させることができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施形態を図面に基づいて説明する。
【0021】
図1は、本発明の一実施形態によるデータ分類方法に用いるデータ分類装置の構成を説明するための模式図である。まず、図1を参照して、本実施形態のデータ分類方法に用いるデータ分類装置について説明する。
【0022】
本実施形態のデータ分類方法に用いるデータ分類装置1は、図1に示すように、本実施形態によるデータ分類方法に基づいた処理を行うマイクロコンピュータなどからなる制御部2を備えている。この制御部2は、後述するブロックデータを算出する算出部2aと、データ分類装置1に入力した未知データに対応する未知データ対応ブロックを決定する決定部2bと、未知データを所定のクラスに分類する分類部2cとを含んでいる。なお、決定部2bおよび分類部2cは、それぞれ、本発明の「決定手段」および「分類手段」の一例である。また、データ分類装置1では、以下に説明するデータ分類方法を行う前に、予め、本実施形態によるデータ分類方法を実行するためのプログラムをインストールする必要がある。
【0023】
また、本実施形態によるデータ分類方法は、未学習マップに学習データを学習させて自己組織化マップ(SOM)を作成する学習アルゴリズムと、自己組織化マップを構成するセルのクラス分けを行うクラス分けアルゴリズムと、クラス分けされた自己組織化マップを使用して未知データを所定のクラスに分類するかまたは未知データが所定のクラスに属する可能性割合を決定する評価アルゴリズムとによって構成されている。また、本実施形態によるデータ分類方法は、図2に示すような自己組織化マップ(SOM)3を用いて行われる。なお、この自己組織化マップ3は、本発明の「マップ」の一例である。また、自己組織化マップ3は、マス目状に配置された複数のセル4によって構成されている。この複数のセル4は、縦横に同数ずつ(本実施形態では、10個ずつ)配置されている。また、各セル4は、複数の要素からなるベクトルデータを有することが可能なように構成されている。
【0024】
図3〜図7は、本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。図8〜図12は、本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。図13〜図15は、本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。まず、図3〜図7を参照して、本実施形態によるデータ分類方法の学習アルゴリズムについて説明する。
【0025】
(学習アルゴリズム)
この学習アルゴリズムでは、複数の学習データX(x1,x2,x3,x4)を未学習マップに学習させることによって自己組織化マップを作成する。また、本実施形態による学習アルゴリズムは、図3に示すように、ステップS1〜ステップS9によって構成されている。まず、ステップS1において、未学習マップの準備を行う。ここで、未学習マップとは、未学習のベクトルデータを有する複数のセルからなるマップである。未学習マップの準備では、まず、ベクトルデータを全く有していないセルからなるマップを準備する。そして、図4に示すように、ベクトルデータを全く有していないセルからなるマップの各セルに対して、乱数表を用いて所定のベクトルデータを割り付ける。なお、本実施形態では、要素1〜要素4の4つの要素からなるベクトルデータを各セルに割り付ける。これにより、所定の未学習のベクトルデータを有する複数のセルからなる未学習マップが準備される。また、本実施形態では、未学習マップは、n×n(本実施形態では10×10)のセルからなるものとする。
【0026】
次に、ステップS2以降のグローバルエリア学習段階に進む。なお、このグローバルエリア学習段階は、本発明による「第1のマップ作成ステップ」の一例である。グローバルエリア学習段階では、未学習マップから比較的大きなブロックを抽出してそのブロック毎に学習データを学習させることにより、未学習マップに学習データを比較的粗く学習させる。なお、ブロックは、縦横に同数配置されたセルの集合体である。ステップS2では、未学習マップから抽出する抽出ブロックの大きさの設定および量子化誤差errの「0」への初期化を行う。このステップS2では、比較的大きなブロック毎に学習データを学習させるために、抽出ブロックをm×m=m2個(=M個)以上のセルによって構成するとともに、m=n/2(5=10/2)に設定する。すなわち、本実施形態では、未学習マップが10×10のセルからなるので、抽出ブロックを5×5(m×m)以上のセルを有する比較的大きなブロックに設定する。また、量子化誤差errは、学習データXと、後述する学習対象ブロックのブロックデータとの誤差であり、学習データXが学習対象ブロックにどの程度学習されたかを示す指標となる値である。また、ブロックデータは、ブロックを構成する全てのセルのベクトルデータの平均値である。
【0027】
次に、ステップS3において、直前量子化誤差err(before)に対して、ステップS2で「0」に設定した量子化誤差errの値のコピー(err(before)=err)を行うことにより、直前量子化誤差err(before)を0に初期化した後、量子化誤差errを「0」に初期化(err=0)する。そして、サブルーチンを呼び出す。なお、直前量子化誤差err(before)とは、ステップS3〜S5を1回の学習サイクルとして、その学習サイクルを繰り返し実行する場合に、前回の学習サイクルの最後の学習データXによる学習演算の際に算出される量子化誤差を意味する。また、上記ステップS3の処理により、1回目の学習サイクルでは、直前量子化誤差err(before)=0となる。
【0028】
次に、ステップS4のサブルーチンは、図5に示すように、ステップS11〜ステップS15によって構成されている。このサブルーチンでは、ステップS11において、未学習マップからm=5×5=52個(=25個)以上の縦横に同数のセルを有する全ての比較的大きなブロックを抽出するとともに、その抽出した全ての比較的大きなブロック(抽出ブロック)についてブロック重みデータBiを算出する。このブロック重みデータBiの算出は、抽出ブロックに含まれる各セルのベクトルデータを要素毎に合計した後、抽出ブロックに含まれるセルの合計数で割ることによって行う。これにより、抽出ブロックに含まれる全てのセルの各要素の重みの平均値であるブロック重みデータBiが算出される。たとえば、図6に示すように、5×5=25個のセルからなる抽出ブロック50を抽出した場合には、以下の式(1)〜式(4)に示すようにブロック重みデータBi(bi1,bi2,bi3,bi4)を算出する。なお、この抽出ブロック50は、本発明の「第2ブロック」および「第3ブロック」の一例であり、ブロック重みデータBjは、本発明の「第2ブロックデータ」および「第3ブロックデータ」の一例である。また、以下の式(1)〜式(4)において、a11〜a125と、a21〜a225と、a31〜a325と、a41〜a425とは、それぞれ、抽出ブロックに含まれる各セルの要素1〜要素4の値である。
【0029】
ブロック重みデータbi1=(a11+a12+a13+・・・・+a125)/25・・・(1)
ブロック重みデータbi2=(a21+a22+a23+・・・・+a225)/25・・・(2)
ブロック重みデータbi3=(a31+a32+a33+・・・・+a325)/25・・・(3)
ブロック重みデータbi4=(a41+a42+a43+・・・・+a425)/25・・・(4)
次に、ステップS12において、学習データXを学習させる学習対象ブロックの決定を行う。この学習対象ブロックの決定は、上記したm×m(5×5)以上のセルからなる比較的大きな抽出ブロックの中から学習データX(x1,x2,x3,x4)との間のベクトル間距離が最も小さいブロック重みデータBiを有するブロックを選択することにより行う。たとえば、図7に示すように、自己組織化マップ3から抽出し得る5×5以上のセルからなる全ての抽出ブロックの中で、5×5のブロック51が学習データXとの間のベクトル間距離が最も小さいブロック重みデータBiを有する場合には、このブロック51を学習対象ブロックに決定する。なお、この学習対象ブロックのブロック重みデータは、Bs(bs1,bs2,bs3,bs4)とする。
【0030】
次に、ステップS13において、量子化誤差errの算出を行う。この量子化誤差errの算出は、以下の式(5)によって行う。なお、1個目の学習データXの学習演算の際には、以下の式(5)において、ステップS3(図3参照)で設定したように、直前量子化誤差err(before)=0となる。
【0031】
量子化誤差err=err(before)+{(x1−bs1)2+(x2−bs2)2+(x3−bs3)2+(x4−bs4)2}1/2・・・(5)
次に、ステップS14において、学習対象ブロックを構成する全てのセルに対して学習データX(x1,x2,x3,x4)を学習させるための学習演算を行う。具体的には、図7に示すように、5×5(=25個)のセルからなる学習対象ブロック(ブロック51)において、学習前のベクトルデータ(a1,a2,a3,a4)を有するセル52に対して学習データX(x1,x2,x3,x4)を学習させる場合には、以下の式(6)〜式(9)による学習演算を行う。なお、以下の式(6)〜式(9)において、tは、学習データXをセルに学習させる度合いを表す学習係数であり、tが大きくなる程、学習後のセルのベクトルデータが学習データXにより近づく。なお、このtは、0以上1以下の値である。
【0032】
学習後のセルのベクトルデータの要素1=a1+t(x1−a1)/25・・・(6)
学習後のセルのベクトルデータの要素2=a2+t(x2−a2)/25・・・(7)
学習後のセルのベクトルデータの要素3=a3+t(x3−a3)/25・・・(8)
学習後のセルのベクトルデータの要素4=a4+t(x4−a4)/25・・・(9)
上記式(6)〜式(9)により算出した要素1〜4により、セル52のベクトルデータを書き換える。上記の学習演算およびベクトルデータの書換えを学習対象ブロックを構成する全てのセルに対して同様に行うことにより、学習対象ブロックを構成する全てのセルに学習データXを学習させる。
【0033】
次に、ステップS15において、学習データXの個数分(全ての学習データX)の学習演算が終了したかどうかが判断される。学習データXの個数分の学習演算が終了した場合には、次のステップS5(図3参照)に進む。一方、学習データXの個数分の学習演算が終了していない場合には、上記したステップS11〜S14を繰り返し実行する。
【0034】
次に、図3のステップS5において、学習回数が予め設定された規定値D1に達したか、または、量子化誤差errと直前量子化誤差err(before)との差が予め設定された規定値D2よりも小さいかが判断される。なお、学習回数とは、ステップS3〜S5による学習サイクルが実行された回数を意味する。学習回数が規定値D1に達したか、または、量子化誤差errと直前量子化誤差err(before)との差が規定値D2よりも小さい場合には、次のステップS6に進む。一方、学習回数が規定値D1に達しておらず、かつ、量子化誤差errと直前量子化誤差err(before)との差が規定値D2以上の場合には、ステップS3〜S5による学習サイクルを繰り返し実行する。
【0035】
次に、ステップS6以降では、学習の後半段階である通常学習段階に進む。なお、この通常学習段階は、本発明による「第2のマップ作成ステップ」の一例である。通常学習段階は、ステップS6〜S9によって構成されている。この通常学習段階では、グローバルエリア学習段階に比べて小さなブロックまでを対象として学習データを学習させる。これにより、通常学習段階では、グローバルエリア学習段階に比べて、より細かくマップに学習データを学習させることができる。ステップS6における抽出ブロック(m×m)の大きさの設定では、マップから抽出し得る全てのブロックを対象として学習データを学習させるために、m=2に設定する。これにより、サブルーチンのステップS11(図5参照)において、2×2=4個(=N個)以上のセルからなる全てのブロックが抽出ブロックとしてマップから抽出される。なお、この抽出ブロックは、本発明の「第2ブロック」および「第4ブロック」の一例である。そして、抽出した全ての抽出ブロックについてブロック重みデータを算出するとともに、全ての抽出ブロックの中から学習データXとのベクトル間距離が最も小さいブロック重みデータを有するブロックを選択することにより学習対象ブロックを決定する。なお、このブロック重みデータは、本発明の「第2ブロックデータ」および「第4ブロックデータ」の一例である。そして、決定した学習対象ブロックに対して学習データXによる学習演算を行う。
【0036】
また、通常学習段階では、ステップS9(図3参照)において、学習回数が予め設定された規定値D3に達したか、または、量子化誤差errと直前量子化誤差err(before)との差が予め設定された規定値D4よりも小さいかを判断する。これにより、ステップS7〜S9からなる学習サイクルは、学習回数が規定値D3に達するか、または、量子化誤差errと直前量子化誤差err(before)との差が規定値D4よりも小さくなるまで行われる。また、通常学習段階における量子化誤差errと直前量子化誤差err(before)との差の規定値D4は、グローバルエリア学習段階における量子化誤差errと直前量子化誤差err(before)との差の規定値D2よりも小さい値に設定する。これにより、通常学習段階では、グローバルエリア学習段階よりも量子化誤差errと直前量子化誤差err(before)との差が小さくなるまで学習サイクルが実行される。これにより、D2≦D4の場合よりも、未知データの分類精度が高いマップを作成することができる。ステップS6〜S9からなる通常学習段階の上記以外の処理方法は、上記したステップS2〜S5からなるグローバルエリア学習段階の処理方法と同様である。
【0037】
上記のようにして、未学習マップに学習データXを学習させることにより自己組織化マップを作成する。
【0038】
本実施形態では、上記のように、グローバルエリア学習段階において、未学習マップから抽出される5×5=25個(M個)以上のセル4を含む全ての抽出ブロックの中から学習対象ブロックを決定するとともに、決定した学習対象ブロックに属するセル4に学習データXを学習させた後、通常学習段階において、マップから抽出される2×2=4個(N個(N<M))以上のセル4を含む全ての抽出ブロックの中から学習対象ブロックを決定するとともに、決定した学習対象ブロックに属するセル4に学習データXを学習させることによって、グローバルエリア学習段階において、25個以上のセル4を含む大きなブロック毎に、比較的粗く学習データXを学習させた後、通常学習段階において、4個以上のセル4を有する比較的小さなブロック毎にも、比較的細かく学習データXを学習させることができる。これにより、最初から比較的小さなブロック毎に学習データXを学習させる場合と異なり、同じ分類を有する複数のセル4からなる領域が学習させた自己組織化マップ3上に局所的に固まりを有した状態で複数に分散して形成されるのを抑制することができる。
【0039】
また、本実施形態では、グローバルエリア学習段階および通常学習段階において、全ての抽出ブロック毎にブロック重みデータBiを算出するステップS11と、学習対象ブロックを決定するステップS12と、学習対象ブロックを構成する全てのセル4に学習データを学習させるステップS14とを含む学習サイクル(ステップS4およびS8のサブルーチン)を繰り返し実行することによって、学習データXを繰り返し学習させて自己組織化マップ3を作成することができるので、十分に学習データXを学習させた自己組織化マップ3を作成することができる。
【0040】
次に、図8〜図12を参照して、本実施形態によるデータ分類方法のクラス分けアルゴリズムについて説明する。
【0041】
(クラス分けアルゴリズム)
このクラス分けアルゴリズムでは、上記学習アルゴリズムによって作成した自己組織化マップを構成するセルのクラス分けを行う。なお、クラスとは、学習データXを分類するために各学習データXに与えられた分類名である。本実施形態では、各学習データXがα、β、γの3つのクラスのいずれか1つに分類されているとともに、自己組織化マップを構成するセルをα、β、γの3つのクラスに分類する場合について説明する。また、自己組織化マップを構成する各セルは、各クラスに属する可能性割合を示すクラス所属値Rcを有している。本実施形態では、各セルは3つのクラス所属値(Rα、RβおよびRγ)を有している。
【0042】
まず、図8に示すように、ステップS21において、自己組織化マップ3(図9参照)を構成する全てのセル4のクラス所属値Rcを「0」に初期化する。すなわち、図9に示すように、自己組織化マップ3を構成する全てのセル4のα、βおよびγクラスに対応するクラス所属値Rα、RβおよびRγを「0」に設定する。
【0043】
次に、ステップS22において、自己組織化マップ3から2×2以上の縦横に同数のセルが配置された全てのブロックを抽出するとともに、その抽出した全てのブロック(抽出ブロック)についてブロック重みデータBj(bj1,bj2,bj3,bj4)を算出する。このブロック重みデータBjは、上記学習アルゴリズムによるブロック重みデータBi(式(1)〜式(4)参照)と同様にして算出する。すなわち、図10に示すように、2×2=4個のセル4からなる抽出ブロック53を抽出した場合には、以下の式(10)〜式(13)に示すようにブロック重みデータBj(bj1,bj2,bj3,bj4)を算出する。なお、以下の式(10)〜式(13)において、a11〜a14と、a21〜a24と、a31〜a34と、a41〜a44とは、それぞれ、抽出ブロック53に含まれる各セル4の要素1〜要素4の値である。
【0044】
ブロック重みデータbj1=(a11+a12+a13+a14)/4・・・(10)
ブロック重みデータbj2=(a21+a22+a23+a24)/4・・・(11)
ブロック重みデータbj3=(a31+a32+a33+a34)/4・・・(12)
ブロック重みデータbj4=(a41+a42+a43+a44)/4・・・(13)
次に、ステップS23において、クラス分けの対象となるクラス分け対象ブロックの決定を行う。このクラス分け対象ブロックの決定は、上記の2×2以上のセル4からなる全ての抽出ブロックの中から学習データX(x1,x2,x3,x4)との間のベクトル間距離が最も小さいブロック重みデータBjを有するブロックを選択することにより行う。たとえば、図11に示すように、自己組織化マップ3から抽出し得る全ての抽出ブロックの中で、3×3のブロック54が学習データXとの間のベクトル間距離が最も小さいブロック重みデータBjを有する場合には、このブロック54をクラス分け対象ブロックに決定する。
【0045】
次に、ステップS24において、クラス分け対象ブロックに含まれる全てのセル4のクラス所属値Rdを算出する。このクラス所属値Rdの算出は、以下の式(14)による演算によって行う。なお、以下の式(14)において、Rdの「d」は、上記ステップS23において用いた学習データXの所属クラスである。つまり、式(14)の演算は、学習データXの所属クラスについてのみ行う。また、式(14)の右辺のRdは、演算前のセルのdクラスに対応するクラス所属値である。また、uは、係数であり、たとえば、u=1/(dクラスに属する学習データXの個数)によって求められる。また、bnは、クラス分け対象ブロックを構成するセルの数である。
【0046】
Rd=Rd+u(1/bn)・・・(14)
具体的には、図11に示すように、αクラスに属する学習データXに対応して3×3=9個のセルからなるブロック54をクラス分け対象ブロックに決定するとともに、そのクラス分け対象ブロック(ブロック54)中の9個のセル55のクラス所属値Rαを算出する場合には、以下の式(15)により算出する。なお、1個目の学習データXに対応するクラス所属値の演算では、ステップS21の処理により、以下の式(15)において、右辺のRα=0となる。
【0047】
Rα=Rα+u(1/9)・・・(15)
全ての学習データXについて、クラス分け対象ブロックを決定するとともに、そのクラス分け対象ブロックに含まれる全てのセル4について各学習データXの所属クラス(α、βまたはγ)のクラス所属値Rdを上記した式(14)の演算により求める。このようなクラス所属値Rdの演算処理により各セル4のそれぞれについて、各クラスα、β、γのクラス所属値Rα、Rβ、Rγが算出される。
【0048】
次に、ステップS25において、学習データXの個数分(全ての学習データX)のクラス所属値Rdの演算が終了したかどうかが判断される。学習データXの個数分のクラス所属値Rdの演算が終了した場合には、次のステップS26に進む。一方、学習データXの個数分のクラス所属値Rdの演算が終了していない場合には、ステップS22〜S25を繰り返し実行する。
【0049】
次に、ステップS26において、自己組織化マップ3を構成する全てのセル4の所属クラスを決定する。この所属クラスの決定では、各セル4の有するクラス所属値Rd(Rα、Rβ、Rγ)の中で最大の値を有するクラスをそのセル4の所属クラスに決定する。たとえば、図12に示すように、セル56がRα=3、Rβ=0.1、Rγ=0.4のクラス所属値をそれぞれ有している場合には、αクラスのクラス所属値Rαが最大であるので、セル56の所属クラスは、αクラスに決定する。このようにして、図12に示すように、全てのセル4の所属クラスを決定することによって、自己組織化マップ3を構成する全てのセル4のクラス分けを行う。
【0050】
次に、図13〜図15を参照して、本実施形態によるデータ分類方法の評価アルゴリズムについて説明する。
【0051】
(評価アルゴリズム)
この評価アルゴリズムでは、クラス分けアルゴリズムによりクラス分けした自己組織化マップを使用してデータ分類装置1(図1参照)に入力されたベクトルデータからなる未知データを所定のクラス(α、β、γ)に分類する。
【0052】
まず、図13に示すように、ステップS31において、自己組織化マップ3(図14参照)から2×2以上の縦横に同数のセル4が配置された全てのブロックを抽出するとともに、その抽出した全てのブロック(抽出ブロック)についてブロック重みデータBk(bk1,bk2,bk3,bk4)を算出する。このブロック重みデータBkは、上記学習アルゴリズムによるブロック重みデータBi(式(1)〜式(4)参照)と同様にして算出する。すなわち、図14に示すように、3×3=9個のセル4からなる抽出ブロック57を抽出した場合には、以下の式(16)〜式(19)に示すようにブロック重みデータBk(bk1,bk2,bk3,bk4)を算出する。なお、この抽出ブロック57は、本発明の「第1ブロック」の一例であり、ブロック重みデータBkは、本発明の「第1ブロックデータ」の一例である。また、以下の式(16)〜式(19)において、a11〜a19と、a21〜a29と、a31〜a39と、a41〜a49とは、それぞれ、抽出ブロック57を構成する各セル4の要素1〜要素4の値である。
【0053】
ブロック重みデータbk1=(a11+a12+・・・+a19)/9・・・(16)
ブロック重みデータbk2=(a21+a22+・・・+a29)/9・・・(17)
ブロック重みデータbk3=(a31+a32+・・・+a39)/9・・・(18)
ブロック重みデータbk4=(a41+a42+・・・+a49)/9・・・(19)
次に、ステップS32において、ベクトルデータからなる未知データに対応する未知データ対応ブロックの決定を行う。この未知データ対応ブロックの決定では、まず、未知データと上記の全ての抽出ブロックのブロック重みデータBkとのベクトル間距離を算出する。そして、算出した未知データと抽出ブロックのブロック重みデータBkとのベクトル間距離が最も小さくなるブロックを全ての抽出ブロックの中から選択することにより、未知データ対応ブロックを決定する。たとえば、図14に示すように、自己組織化マップ3から抽出し得る全ての抽出ブロックの中で、抽出ブロック57が未知データとの間のベクトル間距離が最も小さいブロック重みデータBkを有する場合には、この抽出ブロック57を未知データ対応ブロックに決定する。
【0054】
次に、ステップS33において、未知データの所属クラスの決定または未知データの各クラスに属する可能性割合の算出を行う。未知データの所属クラスの決定では、未知データ対応ブロックを構成する全てのセル4のクラス所属値Rdを積算(合計)した積算値RSが最大になるクラスを未知データの所属クラスに決定する。なお、このクラス所属値Rdは、本発明の「クラス所属データ」の一例である。たとえば、図14中の抽出ブロック57を未知データ対応ブロックとする場合には、この抽出ブロック57の9個のセルのクラス所属値Rdを積算(合計)することによって積算値RSを算出する。具体的には、以下の式(20)〜式(22)に示すように算出する。なお、以下の式(20)〜式(22)において、Rα1〜Rα9、Rβ1〜Rβ9およびRγ1〜Rγ9は、それぞれ、上記9個のセルのα、βおよびγクラスに対応するクラス所属値である。
【0055】
RSα=Rα1+Rα2+Rα3+・・・・+Rα9・・・(20)
RSβ=Rβ1+Rβ2+Rβ3+・・・・+Rβ9・・・(21)
RSγ=Rγ1+Rγ2+Rγ3+・・・・+Rγ9・・・(22)
そして、上記式(20)〜式(22)により算出したクラス所属値Rdの積算値RSα、RSβおよびRSγの中で最大となる値を有するクラスを未知データの所属クラスに決定する。たとえば、図14に示すように、未知データ対応ブロック(抽出ブロック57)のクラス所属値Rdの積算値RSα、RSβおよびRSγがそれぞれRSα=0.4、RSβ=2およびRSγ=0.1と算出された場合には、最大の積算値はRSβ=2になるので、未知データの所属クラスをβクラスに決定する。
【0056】
また、未知データの各クラスに属する可能性割合の算出は、以下の式(23)〜式(25)によって算出する。
【0057】
αクラスに属する可能性割合=RSα/(RSα+RSβ+RSγ)・・・(23)
βクラスに属する可能性割合=RSβ/(RSα+RSβ+RSγ)・・・(24)
γクラスに属する可能性割合=RSγ/(RSα+RSβ+RSγ)・・・(25)
上記式(23)〜式(25)に、RSα=0.4、RSβ=2、RSγ=0.1を代入すると、各クラスに属する可能性割合は、以下のようになる。
【0058】
αクラスに属する可能性割合=0.4/(0.4+2+0.1)=0.16
βクラスに属する可能性割合=2/(0.4+2+0.1)=0.8
γクラスに属する可能性割合=0.1/(0.4+2+0.1)=0.04
なお、未知データの所属クラスを決定する際には、次のような多数決による方法を用いてもよい。すなわち、未知データ対応ブロックを構成する各セルの属するクラスの中で最も多いクラスを未知データの所属クラスに決定してもよい。具体的には、図15に示すように、未知データ対応ブロック58が、αクラスに属する6個のセル4と、βクラスに属する2個のセル4と、γクラスに属する1個のセル4とによって構成されている場合には、最多(6個)のセルが存在するαクラスを未知データの所属クラスに決定する。
【0059】
また、未知データの各クラスに属する可能性割合を、未知データ対応ブロック中の各クラスに属するセルの数を未知データ対応ブロックを構成するセルの数で割ることによって算出してもよい。たとえば、図15に示した未知データ対応ブロック58では、以下の式(26)〜式(28)に示すように算出することができる。
【0060】
αクラスに属する可能性割合=αクラスに属するセルの数/未知データ対応ブロックを構成するセルの数=6/9・・・(26)
βクラスに属する可能性割合=βクラスに属するセルの数/未知データ対応ブロックを構成するセルの数=2/9・・・(27)
γクラスに属する可能性割合=γクラスに属するセルの数/未知データ対応ブロックを構成するセルの数=1/9・・・(28)
本実施形態では、上記のように、未知データと、全ての抽出ブロック57のブロック重みデータBkとを比較して、全ての抽出ブロック57の中から未知データに対応する、セル4の集合体からなる未知データ対応ブロックを決定するとともに、その決定した未知データ対応ブロックに基づいて未知データを分類することによって、複数のセル4の集合体からなる未知データ対応ブロックでは、未知データ対応ブロックに含まれる複数のセル4のうちの1つのセル4の分類(クラス所属値Rdまたは所属クラス)が誤っている場合にも、未知データ対応ブロックの他のセル4の分類(クラス所属値Rdまたは所属クラス)が正しければ、未知データ対応ブロック全体としての分類(所属クラス)に誤りが生じにくいので、その未知データ対応ブロックに基づいて未知データの分類(所属クラスの決定または所属クラスに属する可能性割合の決定)を行うことにより、未知データの所属クラスが誤って決定されたり、未知データの所属クラスに属する可能性割合が誤って決定されるのを抑制することができる。これにより、未知データに対応して選択した単一のセルに基づいて未知データを分類する場合に比べて、未知データの分類(所属クラスの決定または未知データの所属クラスに属する可能性割合の決定)の精度を向上させることができる。
【0061】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【0062】
たとえば、上記実施形態では、学習アルゴリズムにおいて、ベクトルデータを全く有していないセルからなるマップの各セルに対して、乱数表を用いて所定のベクトルデータを割り付けることにより、未学習マップの準備を行ったが、本発明はこれに限らず、上記以外の方法を用いて未学習マップの準備を行ってもよい。たとえば、ベクトルデータを全く有していないセルからなるマップの全てのセルに対して、全ての要素が「0」からなるベクトルデータを割り付けることなどにより、未学習マップの準備を行ってもよい。
【0063】
また、上記実施形態では、マップを構成する各セルをマス目によって表したが、本発明はこれに限らず、各セルをマス目以外の種々の形状によって表してもよい。たとえば、各セルを円や点や多角形などによって表してもよい。
【0064】
また、上記実施形態では、未知データをα、βおよびγの3つのクラスに分類する例について説明したが、本発明はこれに限らず、未知データを3つ以外のクラスに分類する場合にも、本発明を適用することができる。
【0065】
また、上記実施形態では、評価アルゴリズムにおいて、未知データの所属クラスの決定または未知データの各クラスに属する可能性割合の算出のいずれか一方を行う例について説明したが、本発明はこれに限らず、未知データの所属クラスの決定および未知データの各クラスに属する可能性割合の算出の両方を行ってもよい。
【0066】
また、上記実施形態では、ベクトルデータとして4個の要素からなるベクトルデータを用いたが、本発明はこれに限らず、2個以上の要素からなるベクトルデータであればよい。
【0067】
また、上記実施形態では、データ分類装置1は、ブロックデータを算出する算出部2aを備えているが、算出部2aは必ずしも必要ではなく、予め算出されたブロックデータを制御部2に記憶させるとともに、その記憶されたブロックデータを使用して決定部2bが未知データ対応ブロックを決定するようにデータ分類装置1を構成してもよい。
【0068】
また、上記実施形態では、ブロックデータとしてブロックに含まれる全てのセルの各要素の重みの平均値を用いたが、本発明はこれに限らず、ブロックデータとしてブロックに含まれる全てのセルの各要素の重みの標準偏差などを用いてもよい。
【0069】
また、上記実施形態では、未学習マップおよび擬似マップとして、縦横に同数のセルが配置されたマップを使用しているが、本発明はこれに限らず、未学習マップおよび擬似マップとして、縦横で配置されたセルの数が異なるマップを使用してもよい。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施形態によるデータ分類方法に用いるデータ分類装置の構成を説明するための模式図である。
【図2】本発明の一実施形態によるデータ分類方法に用いる自己組織化マップの構成を示した図である。
【図3】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するためのフローチャートである。
【図4】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図5】図3に示した一実施形態による学習アルゴリズムのサブルーチンを説明するためのフローチャートである。
【図6】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図7】本発明の一実施形態によるデータ分類方法の学習アルゴリズムを説明するための図である。
【図8】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するためのフローチャートである。
【図9】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図10】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図11】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図12】本発明の一実施形態によるデータ分類方法のクラス分けアルゴリズムを説明するための図である。
【図13】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するためのフローチャートである。
【図14】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。
【図15】本発明の一実施形態によるデータ分類方法の評価アルゴリズムを説明するための図である。
【符号の説明】
【0071】
1 データ分類装置
2 制御部
2a 算出部
2b 決定部(決定手段)
2c 分類部(分類手段)
3 自己組織化マップ(マップ)
4 セル
50 抽出ブロック(第2ブロック、第3ブロック)
57 抽出ブロック(第1ブロック)
Bi ブロック重みデータ(第2ブロックデータ、第3ブロックデータ)
Bk ブロック重みデータ(第1ブロックデータ)
【特許請求の範囲】
【請求項1】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してベクトルデータからなる未知データを分類するデータ分類方法であって、
前記マップから抽出される、前記セルの集合体からなる複数の第1ブロック毎に、前記第1ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記第1ブロックのベクトルデータとしての第1ブロックデータと、前記未知データとを比較して、前記複数の第1ブロックの中から前記未知データに対応する未知データ対応ブロックを決定するステップと、
前記未知データ対応ブロックに基づいて前記未知データを分類するステップとを備えた、データ分類方法。
【請求項2】
前記第1ブロックは、前記セルが縦横に同数ずつ配置された構成を有する、請求項1に記載のデータ分類方法。
【請求項3】
前記複数の第1ブロックは、前記マップから抽出し得る全てのブロックを含む、請求項1または2に記載のデータ分類方法。
【請求項4】
前記第1ブロックデータは、前記第1ブロックに含まれる前記複数のセルのベクトルデータの平均値である、請求項1〜3のいずれか1項に記載のデータ分類方法。
【請求項5】
前記未知データ対応ブロックを決定するステップは、
前記未知データを構成するベクトルデータと前記複数の第1ブロックの第1ブロックデータを構成するベクトルデータとのベクトル間の距離を算出するステップと、
算出された前記ベクトル間の距離に基づいて前記複数の第1ブロックの中から前記未知データに対応するブロックを決定するステップとを含む、請求項1〜4のいずれか1項に記載のデータ分類方法。
【請求項6】
前記未知データを分類するステップは、前記未知データ対応ブロックに含まれる複数の前記セルのクラス所属データに基づいて、前記未知データを所定のクラスに分類するステップを含む、請求項1〜5のいずれか1項に記載のデータ分類方法。
【請求項7】
前記未知データを分類するステップは、前記未知データ対応ブロックに含まれる複数の前記セルのクラス所属データに基づいて、前記未知データが所定のクラスに属する可能性割合を決定するステップを含む、請求項1〜6のいずれか1項に記載のデータ分類方法。
【請求項8】
前記未知データ対応ブロックを決定するステップに先立って、前記マップを作成するステップをさらに備え、
前記マップを作成するステップは、
未学習のベクトルデータを有する複数の前記セルを含む未学習マップを準備するステップと、
前記未学習マップから抽出される、前記セルの集合体からなる複数の第2ブロック毎に、前記第2ブロックに含まれる複数の前記セルの未学習のベクトルデータに基づいて、前記第2ブロックのベクトルデータとしての第2ブロックデータを算出するステップと、
学習データを前記複数の第2ブロックの第2ブロックデータと比較して、前記複数の第2ブロックの中から前記学習データを学習させる学習対象ブロックを決定するステップと、
前記学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む、請求項1〜7のいずれか1項に記載のデータ分類方法。
【請求項9】
前記複数の第2ブロック毎に前記第2ブロックデータを算出するステップと、前記学習対象ブロックを決定するステップと、前記学習対象ブロックに属する前記セルに前記学習データを学習させるステップとは、繰り返し実行される、請求項8に記載のデータ分類方法。
【請求項10】
前記マップを作成するステップは、
前記未学習マップから抽出されるM個以上の前記セルを含む複数の第3ブロック毎に、前記第3ブロックに含まれる前記セルの未学習のベクトルデータに基づいて、前記第3ブロックのベクトルデータとしての第3ブロックデータを算出するステップと、前記学習データを、前記複数の第3ブロックの前記第3ブロックデータと比較して、前記複数の第3ブロックの中から前記学習データを学習させる第1学習対象ブロックを決定するステップと、前記第1学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む第1のマップ作成ステップと、
前記第1のマップ作成ステップに続いて実行され、前記未学習マップから抽出されるN個(N<M)以上の前記セルを含む複数の第4ブロック毎に、前記第4ブロックに含まれる前記セルのベクトルデータに基づいて、前記第4ブロックのベクトルデータとしての第4ブロックデータを算出するステップと、前記学習データを、前記複数の第4ブロックの第4ブロックデータと比較して、前記複数の第4ブロックの中から前記学習データを学習させる第2学習対象ブロックを決定するステップと、前記第2学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む第2のマップ作成ステップとを含む、請求項8または9に記載のデータ分類方法。
【請求項11】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類方法を実行するためのプログラムであって、
前記マップから抽出される、前記セルの集合体からなる複数のブロック毎に、前記ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記ブロックのベクトルデータとしてのブロックデータと、前記未知データとを比較して、前記複数のブロックの中から前記未知データに対応する未知データ対応ブロックを決定するステップと、
前記未知データ対応ブロックに基づいて前記未知データを分類するステップとを備えたデータ分類方法を実行するためのプログラム。
【請求項12】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類装置であって、
前記マップから抽出される、前記セルの集合体からなる複数のブロック毎に、前記ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記ブロックのベクトルデータとしてのブロックデータと、前記未知データとを比較して、前記複数のブロックの中から前記未知データに対応する未知データ対応ブロックを決定する決定手段と、
前記未知データ対応ブロックに基づいて前記未知データを分類する分類手段とを備えた、データ分類装置。
【請求項1】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してベクトルデータからなる未知データを分類するデータ分類方法であって、
前記マップから抽出される、前記セルの集合体からなる複数の第1ブロック毎に、前記第1ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記第1ブロックのベクトルデータとしての第1ブロックデータと、前記未知データとを比較して、前記複数の第1ブロックの中から前記未知データに対応する未知データ対応ブロックを決定するステップと、
前記未知データ対応ブロックに基づいて前記未知データを分類するステップとを備えた、データ分類方法。
【請求項2】
前記第1ブロックは、前記セルが縦横に同数ずつ配置された構成を有する、請求項1に記載のデータ分類方法。
【請求項3】
前記複数の第1ブロックは、前記マップから抽出し得る全てのブロックを含む、請求項1または2に記載のデータ分類方法。
【請求項4】
前記第1ブロックデータは、前記第1ブロックに含まれる前記複数のセルのベクトルデータの平均値である、請求項1〜3のいずれか1項に記載のデータ分類方法。
【請求項5】
前記未知データ対応ブロックを決定するステップは、
前記未知データを構成するベクトルデータと前記複数の第1ブロックの第1ブロックデータを構成するベクトルデータとのベクトル間の距離を算出するステップと、
算出された前記ベクトル間の距離に基づいて前記複数の第1ブロックの中から前記未知データに対応するブロックを決定するステップとを含む、請求項1〜4のいずれか1項に記載のデータ分類方法。
【請求項6】
前記未知データを分類するステップは、前記未知データ対応ブロックに含まれる複数の前記セルのクラス所属データに基づいて、前記未知データを所定のクラスに分類するステップを含む、請求項1〜5のいずれか1項に記載のデータ分類方法。
【請求項7】
前記未知データを分類するステップは、前記未知データ対応ブロックに含まれる複数の前記セルのクラス所属データに基づいて、前記未知データが所定のクラスに属する可能性割合を決定するステップを含む、請求項1〜6のいずれか1項に記載のデータ分類方法。
【請求項8】
前記未知データ対応ブロックを決定するステップに先立って、前記マップを作成するステップをさらに備え、
前記マップを作成するステップは、
未学習のベクトルデータを有する複数の前記セルを含む未学習マップを準備するステップと、
前記未学習マップから抽出される、前記セルの集合体からなる複数の第2ブロック毎に、前記第2ブロックに含まれる複数の前記セルの未学習のベクトルデータに基づいて、前記第2ブロックのベクトルデータとしての第2ブロックデータを算出するステップと、
学習データを前記複数の第2ブロックの第2ブロックデータと比較して、前記複数の第2ブロックの中から前記学習データを学習させる学習対象ブロックを決定するステップと、
前記学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む、請求項1〜7のいずれか1項に記載のデータ分類方法。
【請求項9】
前記複数の第2ブロック毎に前記第2ブロックデータを算出するステップと、前記学習対象ブロックを決定するステップと、前記学習対象ブロックに属する前記セルに前記学習データを学習させるステップとは、繰り返し実行される、請求項8に記載のデータ分類方法。
【請求項10】
前記マップを作成するステップは、
前記未学習マップから抽出されるM個以上の前記セルを含む複数の第3ブロック毎に、前記第3ブロックに含まれる前記セルの未学習のベクトルデータに基づいて、前記第3ブロックのベクトルデータとしての第3ブロックデータを算出するステップと、前記学習データを、前記複数の第3ブロックの前記第3ブロックデータと比較して、前記複数の第3ブロックの中から前記学習データを学習させる第1学習対象ブロックを決定するステップと、前記第1学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む第1のマップ作成ステップと、
前記第1のマップ作成ステップに続いて実行され、前記未学習マップから抽出されるN個(N<M)以上の前記セルを含む複数の第4ブロック毎に、前記第4ブロックに含まれる前記セルのベクトルデータに基づいて、前記第4ブロックのベクトルデータとしての第4ブロックデータを算出するステップと、前記学習データを、前記複数の第4ブロックの第4ブロックデータと比較して、前記複数の第4ブロックの中から前記学習データを学習させる第2学習対象ブロックを決定するステップと、前記第2学習対象ブロックに属する前記セルに前記学習データを学習させるステップとを含む第2のマップ作成ステップとを含む、請求項8または9に記載のデータ分類方法。
【請求項11】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類方法を実行するためのプログラムであって、
前記マップから抽出される、前記セルの集合体からなる複数のブロック毎に、前記ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記ブロックのベクトルデータとしてのブロックデータと、前記未知データとを比較して、前記複数のブロックの中から前記未知データに対応する未知データ対応ブロックを決定するステップと、
前記未知データ対応ブロックに基づいて前記未知データを分類するステップとを備えたデータ分類方法を実行するためのプログラム。
【請求項12】
それぞれがベクトルデータを有する複数のセルを含むマップを使用してデータを分類するデータ分類装置であって、
前記マップから抽出される、前記セルの集合体からなる複数のブロック毎に、前記ブロックに含まれる複数の前記セルのベクトルデータに基づく、前記ブロックのベクトルデータとしてのブロックデータと、前記未知データとを比較して、前記複数のブロックの中から前記未知データに対応する未知データ対応ブロックを決定する決定手段と、
前記未知データ対応ブロックに基づいて前記未知データを分類する分類手段とを備えた、データ分類装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−53842(P2006−53842A)
【公開日】平成18年2月23日(2006.2.23)
【国際特許分類】
【出願番号】特願2004−236305(P2004−236305)
【出願日】平成16年8月16日(2004.8.16)
【出願人】(390014960)シスメックス株式会社 (810)
【Fターム(参考)】
【公開日】平成18年2月23日(2006.2.23)
【国際特許分類】
【出願日】平成16年8月16日(2004.8.16)
【出願人】(390014960)シスメックス株式会社 (810)
【Fターム(参考)】
[ Back to top ]