Cluster classifying device

阅读:106发布:2021-12-09

专利汇可以提供Cluster classifying device专利检索,专利查询,专利分析的服务。并且PURPOSE:To properly classify clusters without any previous knowledge of the number, positions, distribution shape, etc., of the clusters and without depending upon processing procedures, to visually see the process and result of the processing to facilitate processing by computing and to obtain the hierarchical structure of the clusters. CONSTITUTION:The device consists of a map generation part 11 which generates a map consisting of a prototype group for input data by using linear self- structured feature mapping, a hierarchical structure generation part 12 which generates the hierarchical structure of the clusters from the map, and a labeling part 13 which classifies the input data according to the obtained map and hierarchical structure, and, the hierarchical structure generation part 12 consists of a map analysis part 121 which calculates a quantity showing the degree of integration of the clusters from the obtained map and generates a data sequence and a data sequence merging part 122 which generates the hierarchical structure of the clusters from the obtained data sequence.,下面是Cluster classifying device专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 1次元の自己組織化特徴マッピングを用いて、入力データに対するプロトタイプ群からなるマップを作成するマップ作成部と、そのマップからクラスタの階層構造を作成する階層構造作成部と、得られたマップと階層構造に従って入力データを分類するラベル付け部とからなることを特徴とするクラスタ分類装置。
  • 【請求項2】 請求項1において、階層構造作成部が、
    得られたマップからクラスタの集積度を表す量を計算し、データ列を作成するマップ解析部と、得られたデータ列からクラスタの階層構造を作成するデータ列融合部とからなることを特徴とするクラスタ分類装置。
  • 【請求項3】 請求項1において、階層構造作成部が、
    得られたマップからクラスタの集積度を表す量を計算する集積度計算部と、クラスタの階層構造を作成するプロトタイプ融合部とからなることを特徴とするクラスタ分類装置。
  • 【請求項4】 請求項1において、階層構造作成部が、
    得られたマップからクラスタの階層構造を作成するプロトタイプ融合部のみからなることを特徴とするクラスタ分類装置。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明は、クラスタ分類装置に関し、特に、複数個のデータをその類似性によってクラスタとしてまとめることにより複数個のクラスタに分類する装置に関する。

    【0002】

    【従来の技術】複数個のデータをその類似性により複数個のクラスタに分類する方法としては、代表的には最尤推定法がある。 この方法は、クラスタ数が既知で、それぞれのクラスタの大まかな位置が分かっている場合に用いることができる。 まず、それぞれのクラスタ内のデータの分布を例えば正規分布等と仮定し、平均、分散等のパラメータを近似的に計算する。 次に、あるデータがそのクラスタに所属する確率(この場合は正規分布)から識別関数を定義する。 そして、パラメータから求められる識別関数の大小によりデータをクラスタに割り当てることによってクラスタ分類を行う。

    【0003】クラスタ数が既知で、分布の形を仮定しない方法としては、K−means法、LBG法がある。
    これは、分類の良さに関する評価基準を定義し、1)各クラスタの代表点の選出、2)その代表点を基にしたクラスタ分類、という操作を逐次繰り返すことにより評価基準を最適化し、クラスタ分類を行う方法であり、非階層的方法と呼ばれる。

    【0004】クラスタ数が未知で、分布の形も仮定できない場合、すなわち、データに関する前知識が全然ない場合は、階層的方法がある。 これは、データ間及びクラスタ間に何らかの距離を定義して、それを基にデータを逐次的に統合・分割し、クラスタ分類を行うものである。

    【0005】また、データを自己組織化特徴マッピングニューラルネットワークに入し、2次元のマップ上の素子にデータを割り当て、その素子に対応するデータの数からクラスタ分けをする手法が提案されている(Xueg
    ong Zhang,Yanda Li,"SELF-ORGANIZING MAP AS A NEW M
    ETHOD FOR CLUSTERING AND DATA ANALYSIS",Proceeding
    s of the International Joint Conference on Neural
    Networks,vol.3,pp.2448-2451,1993) 。

    【0006】

    【発明が解決しようとする課題】上記のように、データをクラスタリングする従来の方法は、クラスタの数や位置、分布の形を仮定しているものがほとんどである。 ところが、一般的にクラスタ分類を行う場合、分類前はクラスタの数や分布の形は未知であることが多い。 例えば、画像の領域分割を行うために特徴ベクトルをクラスタ分類しようとした場合、分類前にクラスタの数や分布の形状は未知である。

    【0007】前述の、最尤推定法やK−means法、
    LBG法は、クラスタの数、位置、分布の形状を仮定して行う方法であり、この場合、その仮定を間違えたり、
    初期値としての与え方が不適当な場合、本来クラスタを構成しているのにクラスタ分類されなかったり(過統合)、1つのクラスタとされるべきものが複数のクラスタに分類されたり(過分割)、本来所属すべきクラスタに分類されなかったり(誤分類)して、適正な結果は得られなくなる。 クラスタの数を順次変化させてそれぞれの場合を調べる方法が、特開平5−205058号に開示されているが、分類処理をクラスタの数だけ繰り返さなければならず、アルゴリズムが複雑になる。 かつ、その場合、クラスタの数を正しく推定したとしても、その位置、分布の仮定を間違えると、誤分類を生じ、適正な分類はできない。

    【0008】また、従来のクラスタの数や分布の形状を仮定しない階層的手法には、以下の問題点がある。 A−1)分割・統合処理の手順、及び、アルゴリズムの初期状態の設定によって結果が大きく変化する。 A−2)統合されない(すなわち、クラスタ分類されない)データが残ってしまうことがある。 A−3)処理の経過、結果を表すことが難しく、何時処理を終了するかを明確に判断できないため、過統合、過分割が起こりやすい。

    【0009】前述のデータを自己組織化特徴マッピングニューラルネットワークに入力し、2次元のマップ上の素子にデータを割り当て、その素子に対応するデータの数からクラスタ分けをする方法では、処理の経過、結果を表示することができる。 しかし、この方法は2次元のマップを用いており、視覚的には表示できるが、その結果から、視覚的にではなく、計算的にクラスタを見つける処理をするのは、大きな工数と複雑なアルゴリズムを必要とする。

    【0010】以上の課題を整理すると、本発明のクラスタ分類装置に求められる条件は、以下の通りである。 B−1)クラスタの数、位置、分布の形等の前知識なしに、過統合や過分割のない適正なクラスタ分類ができる。 B−2)処理の手順に依存しないクラスタ分類ができる。 B−3)処理の経過や結果を視覚的に見ることができ、
    しかもその結果を計算的に処理することが容易である。

    【0011】また、クラスタ分類においては、その応用目的によって、分類後、さらに特定のデータに関して分割したり統合すべき場合がある。 このとき、クラスタの階層構造が得られていれば、再統合、再分割は容易である。 よって、上記のB−1)、B−2)、B−3)の条件に次のB−4)を加える。 B−4)クラスタの階層構造を得ることができる。

    【0012】本発明はこのような状況に鑑みてなされたものであり、その目的は、上記のB−1)、B−2)、
    B−3)、B−4)の条件を満たして、クラスタの数、
    位置、分布の形等の前知識なしに、過統合や過分割のない適正なクラスタ分類ができ、処理の手順に依存しないで分類でき、処理の経過や結果を視覚的に見ることができ、しかもその結果を計算的に処理することが容易で、
    かつ、クラスタの階層構造を得ることができるクラスタ分類装置を提供することにある。

    【0013】

    【課題を解決するための手段】上記の目的を達成する本発明のクラスタ分類装置は、1次元の自己組織化特徴マッピングを用いて、入力データに対するプロトタイプ群からなるマップを作成するマップ作成部と、そのマップからクラスタの階層構造を作成する階層構造作成部と、
    得られたマップと階層構造に従って入力データを分類するラベル付け部とからなることを特徴とするものである。

    【0014】この場合、階層構造作成部は、得られたマップからクラスタの集積度を表す量を計算し、データ列を作成するマップ解析部と、得られたデータ列からクラスタの階層構造を作成するデータ列融合部とからなる場合と、得られたマップからクラスタの集積度を表す量を計算する集積度計算部と、クラスタの階層構造を作成するプロトタイプ融合部とからなる場合と、得られたマップからクラスタの階層構造を作成するプロトタイプ融合部のみからなる場合とが考えられる。

    【0015】

    【作用】以下、上記のような構成を採用する理由と作用について説明する。 まず、本発明の構成の概略とその作用を、図1のブロック図と、クラスタ分類の過程を簡単に示す図2〜図6を参照にして説明する。 まず、本発明の構成の概略を示すと、図1に示したように、入力データを入力してマップを作成するマップ作成部11と、クラスタの階層構造を作成する階層構造作成部12と、階層構造によってラベル付けされたマップと入力データから入力データのラベル付けを行うラベル付け部13からなっている。

    【0016】階層構造作成部12は、その一例として、
    マップからクラスタの集積度に関係する量を計算し、データ列を作成するマップ解析部121と、そのデータ列に基づいてクラスタの階層構造を作成するデータ列融合部122から構成する。 階層構造作成部12についての他の例は後述する。

    【0017】この構成のクラスタ分類装置の作用を示す一例として、2次元のデータを3つのクラスタに分類することを考える。 その中の1つのクラスタは、さらに2
    つのサブクラスタからなっているとする。 ここでは、その階層構造も得ることを考える。 もちろん、クラスタ分類前は、クラスタ数や分布の形状は未知である。

    【0018】まず、マップ作成部11について説明する。 マップ作成部11は、データ入力部111とマップ部112から構成される。 データ入力部111において、入力データ群21を入力する。 入力データ群21
    は、図2に示すような2次元ベクトルであり、大きく分けて3つのクラスタ21A、21B、21Cを形成し、
    その1つの21Aは2つのサブクラスタ21A1、21
    A2からなっている。 ただし、階層構造作成部12の説明までは、21Aが2つのサブクラスタ21A1、21
    A2からなることは考慮しないこととする。

    【0019】次に、マップ部112で、入力データ群2
    1を用いて、図3のマップ31を作成する。 マップ31
    は、複数個(k個と置く。)の素子群32によって構成される。 入力データ群21のそれぞれのデータは、素子群32の何れかの素子に対応するようにする。 具体的な対応方法を述べる。 まず、入力データ群21に対するプロトタイプ群33を素子数個(k個)だけ作成する。 そして、各素子にそれぞれプロトタイプ群33の1つを割り当てる。 そして、入力データ群21の各々に対しその入力データと最も類似しているプロトタイプを持つ素子を対応させればよい。 そのとき、入力データ群21の中、類似しているデータはそれぞれマップ31上で近い素子に対応し、類似していないデータはそれぞれマップ31上で遠い素子に対応するように、素子にプロトタイプを割り当てる。 つまり、入力データ群21の各データの位相情報をマップ31に反映させるのである。

    【0020】このようにして、入力データ群21から、
    クラスタ21A〜Cに属するベクトルにそれぞれ対応する素子群32A〜Cからなるマップ31を作成する。

    【0021】ここで注意しなくてはならないのは、クラスタ21A〜Cの記号は説明の便宜上付けたものであり、入力データ群21は、クラスタ分類前に全くラベル付けされていないことである。 もし、クラスタ分類前にいくつかの入力データがラベル付けされている場合は、
    ラベル付けされていないデータに対して、マップ作成後に簡単にクラスタ分類ができる。 この方法を述べておく。 1)あるラベル(例えばA)のクラスタ21Aに属するデータに対応するマップ31上の素子を選び、その素子にラベルAを与える。 2)1)の操作を21B、2
    1Cのクラスタに属するデータに対しても行い、マップ31上の素子群にそれぞれA〜Cのラベルの何れかを与える。 3)ラベル付けしていない入力データ群21に対応するマップ上の素子を見つけ、その素子のラベルをそのデータのラベルとする。 1)から3)の操作を行うことにより、全ての入力データをラベル付けでき、クラスタ分類が終了する。 マップ31をみると、上記の2)の操作が終了しているようにも思われるが、入力データ群21は全くラベル付けされていないので、マップ31のどこにクラスタが存在しているかはまだ不明である。 よって、マップ31上のどこにクラスタが存在するかを見つけるために、マップを解析しなくてはならない。

    【0022】そこで、マップ上のどこにクラスタが存在するかを見つけるために、マップ作成部11で作成されたマップ31をマップ解析部121で解析する。 以下、
    マップ解析部121について説明する。 マップ解析部1
    21は、各素子に対しクラスタの集積度に関する量を計算する集積度計算部121Aと、その結果に従ってデータ列を作成するデータ列作成部121Bからなる。 クラスタの集積度を示す量としては、以下のような量が挙げられる。

    【0023】C−1)マップ31上の素子群32の各素子に対応する入力データ群の数。

    【0024】C−2)マップ31上のある1つの素子に割り当てられたプロトタイプと、その素子とマップ31
    上で隣接する素子に割り当てられたプロトタイプとの類似性。 クラスタは、データ群の空間において類似しているデータが集まったものである。 この性質を用いて、上記のC−1)、C−2)の量がクラスタの集積度を示す理由を説明する。

    【0025】クラスタ内のデータは、クラスタ外に比べて多いという性質から、素子に対応する入力データの数を比較すれば、クラスタ中心付近のデータに対応する素子の場合は、対応するデータ数は多くなり、クラスタ中心から外れたデータに対応する素子の場合は対応するデータ数は少なくなるはずである。 よって、C−1)の量を用いれば、図4(a)のように、山の部分がクラスタを示すヒストグラムが作成される。 以下、この量を勝利数Vとも表記する。

    【0026】次に、C−2)の量について説明する。 前述のように、マップ上で隣接する素子のそれぞれのプロトタイプは、入力データ空間でも類似している。 また、
    クラスタ内のデータは類似しているという類似性から、
    そのプロトタイプの類似度は、クラスタ内では高く、クラスタ外では低いといえる。 この2つのことから、マップ上で隣接するそれぞれの素子のプロトタイプ同志を比較することにより、その類似度からその素子の対応する入力データがクラスタ中心かクラスタ外かを区別できることが分かる。 具体的に述べると、マップ上で隣接するそれぞれの素子のプロトタイプ同志の類似度が高ければ、その素子はクラスタ中心付近のデータに対応する素子であり、逆に、マップ上で隣接するそれぞれの素子のプロトタイプ同志の類似度が低ければ、その素子はクラスタ中心から外れたデータに対応する素子である。 類似度として、例えば2次元ベクトルデータの場合、そのユークリッド距離を選べば、距離が大きければ類似度は低く、距離が小さければ類似度は高くなる。 このとき、C
    −2)の量を用いてヒトスグラムを作成すれば、図4
    (b)のように、山から山までがクラスタを表すようになる。 以下、この量を隣接素子間の類似度dMとも表記する。

    【0027】なお、勝利数Vと隣接素子間の類似度dM
    の定義から、V/dMの量もクラスタの集積度を表すことが分かる。 このときは、谷から谷までの山がクラスタを表す。

    【0028】このようなヒストグラムの性質から、図4
    (a)の場合は山、図4(b)の場合は谷を分割することがマップをクラスタ毎に分割することに相当する。 よって、このヒストグラムの山あるいは谷の数がクラスタ数に対応する。 各山あるいは谷に相当するマップ上の素子がクラスタのプロトタイプに相当するので、この時点で適当な数のクラスタ分類ができたことになる(この場合は、3つ)が、階層構造を求めるために、次の操作を行う。

    【0029】まず、ヒストグラムの諸量から、データ列作成部121Bでデータ列を作成する。 このデータ列について説明する。 素子iに対応する勝利数、隣接素子間の類似度をそれぞれV i 、dM iとする。 そして、式(1)のようなデータ列{X k }を作成する。

    【0030】

    図4のようなヒストグラムの場合、データ列{X

    k }を数直線上にプロットしたのが図5である。 このように、


    データ列{X

    k }は、図4(a)では山、図4(b)では谷に相当する部分に、数直線上でクラスタを形成していることが分かる。 {X

    k }を定性的に説明する。 まず、素子kの重みベクトルの座標をn次元空間上で折れ線でつなぐ。 そして、X

    kは、折れ線を一直線に伸ばしたときの線上での素子kの座標であるといえる。 このとき、データ列{X

    k }のi番目の点は、マップ31のi


    番目の素子に対応していることになる。 つまり、複数のクラスタからなるn次元ベクトル入力データを、クラスタが抽出しやすいように、1次元データ集合に変換したと考えることができる。

    【0031】また、V iはマップ31上のi素子に対応する入力データ群の数であることから、図5のデータ列{X k }において、各点の個数がV kであるという情報を付加すれば、さらにクラスタを抽出しやすくすることができる。

    【0032】次に、データ列作成部121Bで作成したデータ列{X k }を用いて、データ列融合部122で階層構造を作成する。 この階層構造は、データ列{X k
    において近い値は逐次融合しながら最終的に一つになるまで融合し、その過程を表示することによって作成する。 例えば、この場合、階層構造は図5のようになる。
    融合過程については、詳しく後述する。

    【0033】前述のように、ヒストグラムの分割によって、大きく分けてクラスタの数は3であることは判明していたが、その階層構造は図5のようになっていることが分かる。

    【0034】以上のデータ列融合部122で作成された階層構造に基づいて、ラベル付け部13で入力データにラベル付けする。 ラベル付け部13は、階層構造に基づいてマップにラベルを付けるマップラベル部131と、
    ラベル付けするデータを入力するデータ入力部132
    と、その入力データにラベルを付けるデータラベル部1
    33によって構成される。

    【0035】マップラベル部131では、階層構造に基づいてマップにラベル付けを行う。 階層構造に基づいて、例えば図6に示すように、マップにA、B、Cというラベルを与えて、マップ61とする。 次に、入力データ群21を再びデータ入力部132によって入力し、その入力データ群21のラベル付けを行う。 ラベル付けには、その入力データ群21と、ラベル付けをしたマップ61を用いる。 具体的には、入力データ群21に対応するマップ61上の素子を見つけ、その素子のラベルをそのデータのラベルとすればよい。 全てのデータ群21に対し、ラベル付けが終了すれば、図6に示すように、入力データ群21がA、B、Cの3つのクラスタに分類されたことになる。 図6では、A、B、Cそれぞれのクラスタに所属するデータを丸で囲んである。 ここで、この丸は、説明の便宜上、データのあるところを囲むためにつけたもので、厳密な分離境界線を示している訳ではない。 なお、前述のように、図2の入力データは予めラベル付けされていない。 ラベル付け部13で初めてラベル付けされることに注意する。 ここで、便宜上、図2のラベルと図6のラベルは一致させてある。

    【0036】なお、さらに特定の部分だけ再分割、統合する場合は、階層構造に基づいて行えばよい。 図5の階層構造から、マップ61a)のように、A、Bは1つのクラスタとして再統合させてもよいことが分かるし、さらに、Aを再分類するには、マップ61b)のように、
    A1、A2として分類することが可能である。 このことは、後の実施例で示す。

    【0037】以上が本発明のクラスタ分類装置の作用の概略であり、図2のデータ群21が、図6のように大きく分けてA、B、Cの3つのクラスタに分類され、階層構造が図5のように求められたことになる。 本作用は、
    クラスタの数、位置、分布の形等の前知識を必要としていないことは明らかであり、本発明のクラスタ分類装置に求められる条件のB−1)を満たしている。

    【0038】続いて、B−2)…処理の手順に依存しないクラスタ分類ができる…ことと、B−3)…処理の経過や結果を視覚的に見ることができ、しかもその結果を計算的に処理することが容易である…という条件を本発明が満たすことを示す。 そのために、マップ作成部11
    についてさらに詳しく説明する。

    【0039】前述のように、マップ作成部11では、データ群のプロトタイプを作成し、入力データの位相を反映するように、そのプロトタイプをマップの素子に割り当てることを行う。 プロトタイプの作成は、ベクトル量子化法を用いれば可能だが、入力データの位相を反映するようにそのプロトタイプをマップの素子に割り当てることはできない。 プロトタイプの作成と入力データの位相を反映するためのプロトタイプの割り当てを同時に行う方法は、コホーネンによる自己組織化特徴マッピング(以下、SOMと表記する。)のアルゴリズムがある(T.Kohonen,"Self-Organization and Associative Mem
    ory",Third Edition,Springer-Verlag,Berlin,1989) 。
    以下、このSOMについて説明する。

    【0040】SOMは、図7に模式的に示すように、2
    次元に並ぶ素子群の層ML(以下、マップ層MLと表記する。)と、データを入力する入力層IPから構成される。 このマップ層MLは、図7では2次元に並ぶ素子を示したが、1次元に並ぶ素子を用いてもよい。 入力層I
    Pは、マップ層MLの全ての素子と結合しており、入力データをマップ層MLの全ての素子に与えることができる。 入力データは、スカラーでもベクトルでもかまわないが、ここでは一般的に、ベクトルx(n次元)とおく。 マップ層MLの素子i(iはマップ上の順番とし、
    全素子数をk個とする。 )は、全て重みベクトルm i
    (n次元)を持つことにする。 SOMのアルゴリズムは、入力ベクトルxと各素子の重みベクトルm iとの類似性から更新すべき重みベクトルを決定する<類似性マッチング>と、その重みベクトルm iを入力ベクトルx
    の方に近付ける<更新>とに分けられる。 そして、両者の作用を繰り返すことにより、入力ベクトルxの分布を反映する重みベクトルm i (1≦i≦k)が生成する。
    <類似性マッチング>と<更新>の具体的な表式を以下に示す。

    【0041】<類似性マッチング>

    <更新> m

    i (t+1)=m

    i (t)+α(t){x(t)−m

    i (t)}i∈N

    c

    i (t+1)=m

    i (t) その他 ・・・(3) ここで、|x−m

    i |はxとm

    iのユークリッド距離、


    Cはその距離が最も小さかった素子(勝利素子)、N

    c


    はその勝利素子Cのマップ層MLでの近傍、α(t)は正の定数、tは時刻を示す。 更新を繰り返しながら、N


    cとα(t)の大きさは徐々に小さくする。 また、α


    (t)は勝利素子Cから離れるに従い、小さくなるように選ぶこともできる。

    【0042】入力ベクトルxの集合からランダムにxを選んで逐次入力し、重みベクトルm iの更新を繰り返すことにより、入力ベクトルxの分布を反映する重みベクトルm i (1≦i≦k)が生成する。 すなわち、重みベクトルm i (1≦i≦k)が入力ベクトルxの分布のプロトタイプになっている。 そして、ある素子の重みベクトルを入力ベクトルに近付けるように更新するとき、マップ上のその素子の近傍の素子も同様に更新するので、
    マップ上で隣接する素子同志は、それぞれ、入力ベクトルの空間上でも近いベクトルに対応するようになる。 よって、SOMアルゴリズムは、入力データ空間の位相を反映したプロトタイプの集合を作成することができる。
    SOMアルゴリズムには、次のような特長がある。

    【0043】D−1)重みベクトルm i (1≦i≦k)
    の初期状態によらず、適正なマップが作成できる。 D−2)入力ベクトルxの入力順によらず、適正なマップが作成できる。 D−3)マップが1次元か2次元であるので、入力データの位相を視覚的に見ることができる。 D−4)<類似性マッチング>と<更新>という単純な操作の繰り返しなので、アルゴリズムが簡単である。

    【0044】ここで、適正なマップとは、プロトタイプの集合が入力データの位相をよく反映しているものをいう。 D−1)、D−2)の特長は、本発明のクラスタ分類装置に求められる、B−2)…処理の手順に依存しないクラスタ分類ができる…という条件を満たすものである。 D−3)の特長は、B−3)…処理の経過や結果を視覚的に見ることができ、しかもその結果を計算的に処理することが容易である…という条件に寄与する。

    【0045】しかし、マップが2次元の場合は、視覚的に見ることができるが、その結果を計算的に処理することは容易ではない。 マップを1次元にすると、1次元のヒストグラムは2次元以上のヒストグラムに比べ、計算処理がかなり容易になる。 よって、B−3)の条件を満たすことができる。

    【0046】SOMアルゴリズムのこのような有効性より、マップ作成部11では、この1次元のSOMアルゴリズムを採用する。 すなわち、マップ作成部11のデータ入力部111をSOMの入力層IP、マップ部112
    をSOMのマップ層MLとする。 この構成により、入力データの位相を反映するプロトタイプの集合を作成し、
    そのプロトタイプを持つ素子からなる1次元マップを作成する。 このマップ作成部11を具備した本発明のクラスタ分類装置は、前述のように、B−2)、B−3)の条件を満たすことが可能である。

    【0047】なお、マップ作成部11で行うSOMアルゴリズムにおいては、ヒストグラムの山と谷がはっきりした時点でマップ31の作成が終了となる。 このとき、
    入力データ群21の全てのデータを入力していなくても、作成を終了してよい。 もし、入力データ群21の全てのデータを入力した時点でヒストグラムの山と谷がはっきりしていない場合は、再び入力データ群21を入力して、山と谷がはっきりしたときにマップ作成を終了すればよい。 ヒストグラムの山と谷がはっきりしたかどうかの判断は、視覚的に容易にできるが、ヒストグラムの山と谷がはっきりしたかどうかを表す評価基準(グラフの平滑度、最大値と最小値の相対比等)を用意すれば、
    自動的に判断することも可能である。 この場合も、明らかに1次元のヒストグラムの方が2次元のヒストグラムより処理が容易である。 なお、ヒストグラムを用いなくても、SOMアルゴリズムが進むにつれて入力データ群21とそれに対応するプロトタイプの差が次第に小さくなることを利用し、その値またはその変化率があるしきい値より小さくなったときにマップ31の作成を終了してもよい。

    【0048】続いて、B−4)…クラスタの階層構造を得ることができる…という条件を本発明が満たすことを示す。 そのために、階層構造作成部12について、さらに詳しく説明する。 階層構造作成部12では、前述のように、複数のクラスタからなるn次元ベクトル入力データをクラスタが抽出しやすいように、図5のような1次元データ集合に変換してから、そのデータの階層構造を得る。

    【0049】このような階層構造を得る手法として、メルティングアルゴリズムがある(Kenneth Rose et a
    l.,"Statistical Mechanics and Phase Transition in
    Clustering",Phys.Rev.Lett.65,pp.945-948(1990))。
    このアルゴリズムは、あるベクトルデータとそれに対するプロトタイプの集合からエネルギー関数を定義し、そのエネルギーの局所極小解(ここでは、プロトタイプの集合を解とする。)が、クラスタを表すことを利用する。 エネルギー関数の形は、温度パラメータによって変更され、一般に温度が上昇するにつれて滑らかになり、
    かつ、局所解の数は少なくなる。 つまり、温度が上昇するにつれて、プロトタイプの数が減少する。 プロトタイプはクラスタを代表するものと考えてよいので、プロトタイプの座標と温度の関係を表示すれば、階層構造が分かる。

    【0050】メルティングアルゴリズムの更新則について、式を用いて説明する。 データをx、プロトタイプをyとし、分配関数Z、フリーエネルギーFを次式で表す。 ここで、Σ、Πの下の添字はそれぞれその記号による和、及び、積を示す。

    FにZを代入し、Fの極小値を求めるために、∂F/∂


    y=0を解く。 この結果、プロトタイプyは次式のようになる。

    【0051】

    この式がメルティングアルゴリズムのプロトタイプyの更新則である。 ある温度Tにおいて、この更新則を行い、yを求める。 そして、温度Tを上昇させ、再びこの更新則を行い、yを求める。 温度Tが上昇するにつれて、Fの局所極小値の数は次第に減少し、最終的には1


    つになる。 Fの局所極小値は、クラスタのプロトタイプに相当している。 温度Tを低温から高温に上昇させるにつれて、クラスタのプロトタイプは近いもの同志が融合する。 そこで、温度Tとクラスタのプロトタイプyの関係をグラフに表せば、クラスタの階層構造が得られることになる。 プロトタイプの表示は、y座標をそのまま表示してもよいし、1次元に並んだSOMのプロトタイプと対応付けて表してもよい。

    【0052】メルティングアルゴリズムは、データxが2次元以上になると、プロトタイプの表示が困難になる、孤立点が融合し難い、等の欠点がある。 しかし、マップ解析部121で作成されたデータ集合は1次元であり、また、マップ作成部11で作成されたn次元ベクトルデータのプロトタイプ群から生成されているので、孤立点は生成され難い。 また、メルティングアルゴリズムは、入力データの次元が大きくなると計算量が増すが、
    この場合のデータ列は、本クラスタ分類装置が分類すべき入力データの次元にかかわらず、1次元なので、計算量は一定である。 以上のことから、メルティングアルゴリズムの欠点は解決できる。

    【0053】よって、階層構造作成部12では、このメルティングアルゴリズムを用いて、1次元データ集合からそのデータの階層構造を得る。 階層構造作成部12にこのメルティングアルゴリズムを用いた本発明は、B−
    4)…クラスタの階層構造を得ることができる…という条件を満たしている。

    【0054】なお、適当なクラスタ数は、集積度計算部121Aでヒストグラムを解析することによって分かるが、データ列融合部122においても求めることができる。 適当なクラスタ程、メルティングアルゴリズムにおいて、そのプロトタイプが生じている温度範囲が長いといえる。 よって、プロトタイプが融合されずに残っている温度範囲が長いときのクラスタの数を適当なクラスタの数とすればよい。 ノイズ等でヒストグラムの山谷が微妙になり解析困難な場合、データ列融合部122でクラスタ数を求めればよい。

    【0055】以上、本発明のクラスタ分類装置の構成と作用を説明した。 本発明のクラスタ分類装置は、次のB
    −1)、B−2)、B−3)、B−4)の条件を満たす、以下のようなクラスタ分類装置である。

    【0056】すなわち、1次元の自己組織化特徴マッピングを用いて、入力データに対するプロトタイプ群からなるマップを作成するマップ作成部と、そのマップからクラスタの階層構造を作成する階層構造作成部と、得られたマップと階層構造に従って入力データを分類するラベル付け部とからなることを特徴とするクラスタ分類装置である。

    【0057】この場合、階層構造作成部は、図1のように、得られたマップからクラスタの集積度を表す量を計算し、データ列を作成するマップ解析部と、得られたデータ列からクラスタの階層構造を作成するデータ列融合部とからなる場合と、後記する図11(b)のように、
    得られたマップからクラスタの集積度を表す量を計算する集積度計算部と、クラスタの階層構造を作成するプロトタイプ融合部とからなる場合と、後記の図11(a)
    のように、得られたマップからクラスタの階層構造を作成するプロトタイプ融合部のみからなる場合とが考えられる。

    【0058】B−1)クラスタの数、位置、分布の形等の前知識なしに、過統合や過分割のない適正なクラスタ分類ができる。 B−2)処理の手順に依存しないクラスタ分類ができる。 B−3)処理の経過や結果を視覚的に見ることができ、
    しかもその結果を計算的に処理することが容易である。

    【0059】B−4)クラスタの階層構造を得ることができる。

    【0060】

    【実施例】以下、本発明のクラスタ分類装置の実施例について説明する。 クラスタ分類の表示を簡単にするために、再び、図2のような2次元ベクトルデータをクラスタに分け、かつ、階層構造を求める場合の実施例を示す。 まず、本発明の第1実施例として、図2と同じ2次元ベクトルデータを入力する場合を示す。 本実施例は、
    マップ部112のマップ31の素子の数を30にしている。

    【0061】まず、図4(a)に相当するヒストグラムを図8に示す。 図8によると、3つの山が形成されており、入力データ群21が3つのクラスタからなることが視覚的に明確である。 次に、階層構造作成部12で求めた階層構造を図9に示す。 この図から、分類(a)、
    (b)、(c)の3種類でプロトタイプを分け、マップ61a)、61、61b)により、入力データ群21を分割した結果を図10に示す。

    【0062】なお、マップ部112の1次元マップは、
    マップの素子が両側でつながるリング状にしても、切り離した紐状にしてもよい。 両者は、素子の重みの更新の際の近傍の概念が異なる。 リング状の場合は、マップの両側を近傍としてつなぐことに相当し、紐状の場合はマップの両側を近傍としないことに相当する。 リング状の場合は、マップの両側で、入力データの位相関係の反映が歪む<BorderEffects>(T.Kohonen,"Th
    ings You Haven't Heard about the Self-Organizing M
    ap",Proc. IEEE Int. Conf. on Neural Network,vol.3,
    pp.1147-1156,1993)を除くことができる。 紐状の場合は、両側が必ず切れているので、ヒストグラムで表したり、階層構造を表す際、便利である。 この場合、境界効果を除くためには、両側の素子は、メルティングアルゴリズムの入力データとしない、ヒストグラムの横軸から除く、等をすればよい。

    【0063】メルティングアルゴリズムにおいて、データ{X k }を(6)式のxに代入することによりyを求めた。 ここで、k番目のデータの個数がV kである、という付加情報を更新式に入れることができる。 このとき、更新式は(7)式のようになる。

    【0064】

    更新式を、(6)式の代わりに(7)式のようにした場合、Vのヒストグラムの山谷の大小がクラスタの階層構造の決定に寄与することになる。 したがって、Vの小さな孤立点はプロトタイプになり難くなり、前述のようなメルティングアルゴリズムの欠点である、孤立点がクラスタになりやすいという問題を解決できる。 ただし、データ列は、その作成過程より、孤立点が生じ難くなっているので、特に、入力データの分布がノイズが少ない滑らかな場合は、(6)式、(7)式の何れを用いてもよいが、入力データの分布にノイズが多く、データ列に孤立点が生じやすいときは(7)式を用いると効果がある。 本実施例では(7)式を使った。

    【0065】また、(6)式において、P(x∈y)をyに代入し、xの依存性を無視して、P(x∈y)の分母をはらうと、(8)式のようになる(Yui-fai Wong,"
    Clustering Data by Melting",Nural Computation,5,89
    -104(1993))。

    【0066】

    (8)式は(6)式に比べて、指数関数の和の回数が少ないので、計算量が少なくなり、アルゴリズムを高速化することができる。 よって、階層構造作成部12では、


    (8)式のメルティングアルゴリズムを用いてもよい。


    また、(8)式に(7)式と同様にVの項を加えてもよい。 上記の実施例の階層構造作成部12は、図1のように、まず、データ列を作成して、そのデータの融合により階層構造を作成した。

    【0067】階層構造作成部12では、この他に、図1
    1(a)のように、マップ部112で作成したSOMのプロトタイプが1次元で配列していることを利用して、
    そのn次元ベクトルのプロトタイプから、直接、階層構造を作成してもよい。 この場合は、マップ層のn次元プロトタイプのベクトルを、直接プロトタイプ融合部15
    1のメルティングアルゴリズムの入力とし、融合して得られたプロトタイプを表示すればよい。 プロトタイプの表示は、1次元に並んだSOMのプロトタイプと対応づけることにする。 図11(a)は、メルティングアルゴリズムの更新として(6)式あるいは(8)式を用いた場合であり、Vを用いた(7)式を使う場合は、図11
    (b)のように、階層構造作成部12でプロトタイプ融合部151の前に集積度計算部152を備えればよい。

    【0068】なお、図1と図11(a)、(b)の何れの構成にしても、メルティングアルゴリズムの次元が異なるが、そのアルゴリズムの本質は同様であるので、融合過程は同様の結果を得ることができる。 よって、本実施例の結果は、図1の構成の場合のみを示した。 図1の場合は、本クラスタ分類装置が分類すべき入力データの次元にかかわらず、メルティングアルゴリズムの次元数を1次元とすることができ、また、図11(a)、
    (b)では、プロトタイプをそのまま融合するので、データ列作成部121Bを省略することができる。

    【0069】上記の実施例の入力データは、全て2次元のベクトルであったが、データ入力部111、132とマップ部112のプロトタイプ33の次元数を変えることにより、多次元ベクトルにもスカラーにもすることができる。

    【0070】次元を変えた場合の例として、図12に3
    次元ベクトル5クラスタの場合のヒストグラムと得られた階層構造を示す。 また、次元とヒストグラムの量を変えた場合として、図13に4次元4クラスタの場合のV、dM、V/dMのヒストグラムと得られた階層構造の例を示す。 図13のヒストグラムによると、適当なクラスタ数を見つける場合は、dMあるいはV/dMを用いると、解析しやすいことが分かる。 これは、前記の境界効果と、SOMのもう1つの性質である、アルゴリズムが進むにつれて勝つ数が均等化する等確率性によるものである。

    【0071】多次元ベクトルの場合、データをそのまま座標軸上に表すことが困難であるため、本発明のように、視覚的にクラスタが発見でき、かつ、階層構造が分かることは有効である。

    【0072】本発明の入力データとしては、任意の大きさのスカラー、ベクトルを選んでよい。 すなわち、SO
    Mアルゴリズムは、D−1)…重みベクトルm i (1≦
    i≦k)の初期状態によらず、適正なマップが作成できる…という特長があるので、データを予め規格化したり、データの特徴(クラスタ数、クラスタ位置等)を知る必要がない。 よって、画像情報、音声情報、通信記号、時系列データ等、あらゆる入力データに対し、クラスタ分類が可能である。

    【0073】

    【発明の効果】以上述べたように、本発明によると、以下の条件を満たすクラスタ分類装置を提供することができる。

    【0074】B−1)クラスタの数、位置、分布の形等の前知識なしに、過統合や過分割のない適正なクラスタ分類ができる。 B−2)処理の手順に依存しないクラスタ分類ができる。 B−3)処理の経過や結果を視覚的に見ることができ、
    しかもその結果を計算的に処理することが容易である。

    【0075】B−4)クラスタの階層構造を得ることができる。

    【図面の簡単な説明】

    【図1】本発明の基本的な構成の概略を示す図である。

    【図2】本発明によりクラスタ分類するデータの例を示す図である。

    【図3】図1のマップ作成部で作成するマップを示す図である。

    【図4】図1の集積度計算部で計算する勝利数と隣接素子間の類似度の分布図である。

    【図5】図1のデータ列作成部で作成したデータ列とデータ列融合部で作成したクラスタの階層構造を示す図である。

    【図6】ラベル付け部でラベル付けしたマップとデータを示す図である。

    【図7】自己組織化特徴マッピングの構造を示す図である。

    【図8】本発明の1実施例の勝利数のヒストグラムを示す図である。

    【図9】本発明の1実施例のクラスタの階層構造を示す図である。

    【図10】本発明の1実施例でラベル付けしたデータを示す図である。

    【図11】本発明の階層構造作成部の別の構成例を示す図である。

    【図12】3次元ベクトル5クラスタの場合の勝利数のヒストグラムとクラスタの階層構造を示す図である。

    【図13】4次元ベクトル4クラスタの場合の勝利数と隣接素子間の類似度とそれらの比のヒストグラムとクラスタの階層構造を示す図である。

    【符号の説明】

    11…マップ作成部 12…階層構造作成部 13…ラベル付け部 21…入力データ群 21A、21B、21C…クラスタ 21A1、21A2…サブクラスタ 31…マップ 32…素子群 32A、32B、32C…素子群 33…プロトタイプ群 61、61a)、61b)…マップ 111…データ入力部 112…マップ部 121…マップ解析部 122…データ列融合部 121A…集積度計算部 121B…データ列作成部 122…データ列融合部 131…マップラベル部 132…データ入力部 133…データラベル部 151…プロトタイプ融合部 152…集積度計算部 V…勝利数 dM…隣接素子間の類似度 ML…マップ層 IP…入力層

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈