(57)【要約】【課題】  傾向の異なるデータが入力された場合でも，適切にデータを分析することの可能なデータ分析装置およびデータ分析方法を提供する。【解決手段】  データ分析装置１００は，参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップＭを記憶する参照ベクトル記憶部１８３と，学習係数を記憶する学習係数記憶部１８５と，特徴ベクトルを含む入力データが入力されるデータ入力部１１０と，参照ベクトル記憶部１８３を参照して，各セルと入力データとの類似度をそれぞれ算出し，入力データの特徴ベクトルと最も類似する参照ベクトルを含むセルを最適セルとして決定する最適セル決定部１３０と，最適セルと入力データとの類似度と，類似度の閾値とを比較する類似度比較部１４０と，類似度に基づいて学習係数記憶部１８５に記憶された学習係数を修正する学習係数修正部１５０と，学習対象セルを決定し，学習を実行する学習部１６０とを備える。【選択図】    図１
2007241895.tif 000002
【特許請求の範囲】
【請求項１】
複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部と；
前記参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部と；
複数の特徴量からなる特徴ベクトルを含む入力データが入力されるデータ入力部と；
前記参照ベクトル記憶部を参照して，前記各セルの前記参照ベクトルと前記入力データの前記特徴ベクトルとの類似度をそれぞれ算出し，前記入力データの前記特徴ベクトルと最も類似する前記参照ベクトルを含む前記セルを最適セルとして決定する最適セル決定部と；
前記最適セル決定部により算出された前記最適セルと前記入力データとの類似度と，前記類似度の大小を判断するための閾値とを比較する類似度比較部と；
前記類似度に基づいて，前記学習係数記憶部に記憶された前記学習係数を修正する学習係数修正部と；
前記学習係数と前記最適セルに基づいて，前記複数のセルのうち学習対象セルを決定し，前記学習係数に基づいて，前記学習対象セルの前記参照ベクトルの学習を実行する学習部と；
を備えることを特徴とする，データ分析装置。
【請求項２】
前記類似度比較部により比較された前記類似度が前記閾値より低い場合，
前記学習係数修正部は，前記類似度に基づいて，前記学習係数記憶部に記憶された前記学習係数を，前記参照ベクトルの学習が収束していない状態に適した学習係数に修正することを特徴とする，請求項１に記載のデータ分析装置。
【請求項３】
前記類似度比較部により比較された前記類似度が前記閾値より低いと一定の回数以上判定された場合に，
前記学習係数修正部は，前記類似度に基づいて前記学習係数記憶部に記憶された前記学習係数を修正することを特徴とする，請求項１または２に記載のデータ分析装置。
【請求項４】
前記学習部は，前記データ入力部により一定期間に入力された前記入力データ，または一定個数の前記入力データの特徴ベクトルを，前記参照ベクトルの学習に用いることを特徴とする，請求項１〜３のいずれかに記載のデータ分析装置。
【請求項５】
前記最適セル決定部に入力された前記入力データの入力回数に応じて，前記学習係数修正部により，前記学習係数記憶部に記憶された前記学習係数を修正するか否かを決定する制御部をさらに備えることを特徴とする，請求項１〜４のいずれかに記載のデータ分析装置。
【請求項６】
複数の特徴量からなる特徴ベクトルを含む入力データを入力する入力ステップと；
複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部を参照して，前記各セルの前記参照ベクトルと前記入力データの前記特徴ベクトルとの類似度をそれぞれ算出し，前記入力データの前記特徴ベクトルと最も類似する前記参照ベクトルを含む前記セルを最適セルとして決定する最適セル決定ステップと；
前記最適セル決定ステップにおいて算出された前記最適セルと前記入力データとの類似度と，前記類似度の大小を判断するための閾値とを比較する類似度比較ステップと；
前記類似度に基づいて，前記参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部に記憶された前記学習係数を修正する学習係数修正ステップと；
前記学習係数と前記最適セルに基づいて，前記複数のセルのうち学習対象セルを決定し，前記学習係数に基づいて，前記学習対象セルの前記参照ベクトルを学習する学習ステップと；
を含むことを特徴とする，データ分析方法。
【請求項７】
前記類似度比較ステップにおいて，前記類似度が前記閾値より低いと判定された場合，
前記学習係数修正ステップにおいて，前記類似度に基づいて，前記学習係数記憶部に記憶された前記学習係数を，前記参照ベクトルの学習が収束していない状態に適した学習係数に修正することを特徴とする，請求項６に記載のデータ分析方法。
【請求項８】
前記類似度比較ステップにおいて，前記類似度が前記閾値より低いと一定の回数以上判定された場合に，
前記学習係数修正ステップにおいて，前記類似度に基づいて，前記学習係数記憶部に記憶された前記学習係数を修正することを特徴とする，請求項６または７に記載のデータ分析方法。
【請求項９】
前記学習ステップにおいて，前記データ入力部により一定期間に入力された前記入力データ，または一定個数の前記入力データの特徴ベクトルを，前記参照ベクトルの学習に用いることを特徴とする，請求項６〜８のいずれかに記載のデータ分析方法。
【請求項１０】
前記入力データの入力回数に応じて，前記類似度比較ステップおよび前記学習係数修正ステップを実行するか否かを決定する制御ステップをさらに備えることを特徴とする，請求項６〜９のいずれかに記載のデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，データ分析装置およびデータ分析方法に関し，より詳細には，自己組織化マップを用いたデータ分析装置およびデータ分析方法関する。
【背景技術】
【０００２】
入力されたデータ群が，どのような傾向のデータからなるか分析することは，多様な目的で行われる。例えば，特許文献１では，データ群中の複数の傾向を有するデータを自動的にそれぞれの傾向ごとにまとめ，検索要求と近い傾向のデータのみを検索対象とすることにより，検索処理の高速化を図っている。この際，データの傾向が事前にわからないデータを自動的に分類するための１つの手法として，例えば自己組織化マップがある（例えば，特許文献１）。
【０００３】
自己組織化マップ（Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐ；ＳＯＭ）は，教師なし競合学習により，高次元データを低次元データに写像するニューラルネットワークのひとつである。自己組織化マップでは，類似する特徴を有するデータは近くに，そうでないデータは離れた位置に配置されるようなマップを生成する。生成されたマップは，それぞれのデータの位置関係によって，データの類似関係を直感的にできるという点から，情報の視覚化に利用することができる。
【０００４】
例えば，ｎ次元の入力データを二次元平面に配置する自己組織化ネットワークを図８に示す。ネットワークの入力層は，二次元平面上に配置されたすべてのセルと結合されており，各セルには，入力層に入力されるデータと同じ次元数の参照ベクトルｍ１〜ｍ６が対応している。学習の過程では，入力層に入力された入力ベクトルｘに最も近い参照ベクトルを有するセルを決定した後，このセルとその近傍に位置するセルの参照ベクトルとを入力ベクトルｘに近づけるという操作を繰り返す。このようにして，同じような特徴を有するセルが近くに集まり，結果的に入力データの特徴を反映した自己組織化マップが生成される。
【０００５】
次に，図９に基づいて，自己組織化マップの学習アルゴリズムを説明する。まず，各分類に相当するセルの参照ベクトルｍｉを，乱数を割り当てるなどして初期化する（ステップＳ１０）。次いで，入力ベクトルｘに最も近い参照ベクトルｍｃを含むセルである最適セルｃを決定する（ステップＳ２０）。すなわち，参照ベクトルｍｃは，‖ｘ−ｍｃ‖が最小となるベクトルである。さらに，学習係数に基づいて，最適セルｃとその近傍の参照ベクトルｍｉを以下の数式１のように更新する（ステップＳ３０）。
【０００６】
ｍｉ＝ｍｉ＋ｈｃｉ（ｘ−ｍｉ）  ・・・（数式１）
ここで，ｈｃｉは，最適セルｃから離れるにつれて小さい値となるように設定される。また，ｈｃｉは，学習が進むにつれ，単調に減少するように設定される。その後，参照ベクトルの学習が収束したかを判断し，収束していない場合は，ステップＳ２０に戻って処理を繰り返す（ステップＳ４０）。
【０００７】
このように，参照ベクトルを入力データの特徴ベクトルに近づけるように繰り返し学習することによって，入力データ群の各データが類似する傾向を有するデータ同士が自動的に近くに配置されるようになる。この学習では，最初に乱数により与えられた参照ベクトルを，学習の過程において次第に学習範囲を狭めて弱く学習するように単調に修正させることによって，次第に細部の自己組織化が行われて学習が収束するようになる。
【０００８】
【特許文献１】特開２００４−０４６６１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の自己組織化マップを用いた学習では，学習したいデータが事前にすべて与えられており，かかるデータが時間の経過とともに変化しない場合に有効である。しかしながら，時間の経過とともに新たなデータが与えられることにより変化するデータ群の傾向を分析する場合には，一旦学習が収束してしまった自己組織化マップに新しいデータを追加しても，適切な学習が行うことができなかった。
【００１０】
これは，学習が収束しているときの学習係数が小さいために生じる。すなわち，学習対象セルの範囲が狭く，学習の強度が弱くなるために，新しいデータに対して自己組織化マップ上で大局的な関係によるセルの再配置が行われず，学習回数も少ないために，新しいデータについてあまり学習されない。
【００１１】
さらに，初期化した乱数の部分が，学習が進むことによって微少になっており，揺らぎがないため，局所解から抜け出せないという問題がある。学習が進むと，参照ベクトルが学習データの特徴ベクトルに近づけられるため，学習初期に乱数により得た揺らぎが減少し，学習されたベクトル成分が強くなる。このため，新しい傾向のデータが入力された場合，すでに学習された傾向に似た，ごく一部の情報のみに基づいて最適セルを選択する傾向が強くなる。したがって，自己組織化マップが新しい傾向のデータにしにくくなる。
【００１２】
このように，時間の経過とともに新しいデータが入力される場合，従来のデータ分析装置では，傾向の異なるデータが増加した場合でも広範囲の学習がされないため，データの分析が適切に行われなかった。
【００１３】
かかる問題を解決するために，新しいデータが入力される毎に学習を最初からやり直すことが考えられるが，処理効率が低い。これは，新しいデータがすでに入力されたデータと同じ傾向を有するものであれば，学習結果により自己組織化マップが大きく変わることはないので再学習の必要はなく，無駄な処理を行うことになるからである。
【００１４】
そこで，本発明は，上記問題に鑑みてなされたものであり，本発明の目的とするところは，継続的に学習データが入力される中で，新たな傾向に適応して，適切にデータを分析することの可能な，新規かつ改良されたデータ分析装置およびデータ分析方法を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために，本発明のある観点によれば，複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部と，参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部と，複数の特徴量からなる特徴ベクトルを含む入力データが入力されるデータ入力部と，参照ベクトル記憶部を参照して，各セルの参照ベクトルと入力データの特徴ベクトルとの類似度をそれぞれ算出し，入力データの特徴ベクトルと最も類似する参照ベクトルを含むセルを最適セルとして決定する最適セル決定部と，最適セル決定部により算出された最適セルと入力データとの類似度と，類似度の大小を判断するための閾値とを比較する類似度比較部と，類似度に基づいて，学習係数記憶部に記憶された学習係数を修正する学習係数修正部と，学習係数と最適セルに基づいて，複数のセルのうち学習対象セルを決定し，学習係数に基づいて，学習対象セルの参照ベクトルの学習を実行する学習部とを備えるデータ分析装置が提供される。
【００１６】
本発明によれば，学習対象セルを学習する前に，入力データと最適セルとの類似度に基づいて，学習係数修正部により学習係数が修正されることを特徴とする。これにより，類似度が入力データの傾向を有する参照ベクトルが自己組織化マップに存在しない場合にも，自動的に学習係数が修正されることにより，一旦広い範囲の学習からやり直すことができる。
【００１７】
ここで，類似度比較部により比較された類似度が閾値より低い場合，学習係数修正部によって，類似度に基づき，学習係数記憶部に記憶された学習係数を参照ベクトルの学習が収束していない状態に適した学習係数に修正してもよい。ここで，参照ベクトルの学習が収束していない状態に適した学習係数とは，一般に，広範囲のセルに対して強い学習を行うような学習係数であり，例えば，学習するセルの範囲を拡張し，学習の重みを大きくし，または学習回数を増加させることなどにより実現できる。このような学習係数に修正することにより，多くのセルが学習され，また，新たな傾向を有する入力データにより近づくように学習されるので，大局的に学習させることができる。
【００１８】
また，類似度比較部により比較された類似度が閾値より低いと一定の回数以上判定された場合に，学習係数修正部により，類似度に基づいて学習係数記憶部に記憶された学習係数を修正してもよい。これにより，一時的に不適切なデータが入力された場合には，学習係数は修正されないため，学習結果に悪影響が生じることを防止することができる。
【００１９】
さらに，学習部は，データ入力部により一定期間に入力された入力データ，または一定個数の入力データの特徴ベクトルを，参照ベクトルの学習に用いてもよい。
【００２０】
最適セル決定部に入力された入力データの入力回数に応じて，学習係数修正部により学習係数記憶部に記憶された学習係数を修正するか否かを決定する制御部をさらに備えることを特徴とする。例えば，一度入力され，その入力データの傾向についてすでに自己組織化マップが学習されている場合，かかる入力データについて，改めて再学習をする必要はなく，学習係数を修正しなくともよい。そこで，類似度比較部，学習係数修正部による処理を，入力データの入力回数に応じて実行するか否かを決定することにより，不要な処理を行うことがなく，処理効率を向上させることができる。
【００２１】
また，上記課題を解決するために，本発明の別の観点によれば，複数の特徴量からなる特徴ベクトルを含む入力データを入力する入力ステップと，複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部を参照して，各セルの参照ベクトルと入力データの特徴ベクトルとの類似度をそれぞれ算出し，入力データの特徴ベクトルと最も類似する参照ベクトルを含むセルを最適セルとして決定する最適セル決定ステップと，最適セル決定ステップにおいて算出された最適セルと入力データとの類似度と，類似度の大小を判断するための閾値とを比較する類似度比較ステップと，類似度に基づいて，参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部に記憶された学習係数を修正する学習係数修正ステップと，学習係数と最適セルに基づいて複数のセルのうち学習対象セルを決定し，学習係数に基づいて学習対象セルの参照ベクトルを学習する学習ステップとを含むデータ分析方法が提供される。
【００２２】
本発明によれば，学習対象セルを学習する前に，入力データと最適セルとの類似度に基づいて，学習係数修正ステップにおいて学習係数を修正することを特徴とする。これにより，類似度が入力データの傾向を有する参照ベクトルが自己組織化マップに存在しない場合にも，自動的に学習係数が修正されることにより，一旦広い範囲の学習からやり直すことができる。
【００２３】
ここで，類似度比較ステップにおいて，類似度が閾値より低いと判定された場合，学習係数修正ステップにおいて，類似度に基づいて学習係数記憶部に記憶された学習係数を，参照ベクトルの学習が収束していない状態に適した学習係数に修正する。例えば，学習するセルの範囲を拡張し，学習の重みを大きくし，または学習回数を増加させることなどの修正を行うことにより，多くのセルが学習され，また，新たな傾向を有する入力データにより近づくように学習されるので，大局的に学習させることができる。
【００２４】
また，類似度比較ステップにおいて，類似度が閾値より低いと一定の回数以上判定された場合に，学習係数修正ステップにおいて，類似度に基づいて，学習係数記憶部に記憶された学習係数を修正してもよい。これにより，一時的に不適切なデータが入力された場合には，学習係数は修正されないため，学習結果に悪影響が生じることを防止することができる。
【００２５】
さらに，学習ステップにおいて，データ入力部により一定期間に入力された入力データ，または一定個数の入力データの特徴ベクトルを，参照ベクトルの学習に用いてもよい。
【００２６】
また，入力データの入力回数に応じて，類似度比較ステップおよび学習係数修正ステップを実行するか否かを決定する制御ステップをさらに備えることもできる。これにより，類似度比較ステップおよび学習係数修正ステップの実行が不要な場合には，かかる処理を行わないので，処理効率を向上させることができる。
【発明の効果】
【００２７】
以上説明したように本発明によれば，継続的に学習データが入力される中で，新たな傾向に適応して，適切にデータを分析することの可能な，データ分析装置およびデータ分析方法を提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００２９】
（本発明の実施形態）
まず，図１に基づいて，本発明の実施形態にかかるデータ分析装置の構成を説明する。ここで，図１は，本実施形態にかかるデータ分析装置１００の構成を示すブロック図である。
【００３０】
本実施形態にかかるデータ分析装置１００は，図１に示すように，データ入力部１１０と，制御部１２０と，最適セル決定部１３０と，類似度比較部１４０と，学習係数修正部１５０と，学習部１６０と，初期化部１７０と，データ記憶部１８１と，参照ベクトル記憶部１８３と，学習係数記憶部１８５とを有して構成される。
【００３１】
データ記憶部１８１は，後述するデータ入力部１１０から制御部１２０に入力された入力データを記憶する。データ記憶部１８１は，例えばＲＡＭやハードディスク等のメモリを含んで構成される。なお，後述の参照ベクトル記憶部１８３および学習係数記憶部１８５も，同様に構成することができる。
【００３２】
また，参照ベクトル記憶部１８３は，自己組織化マップ上に配列される複数のセルについて，各セルの有する特徴ベクトルを参照ベクトルとして記憶する。参照ベクトル記憶部１８３には，各セルの参照ベクトルの成分および成分値などが関連づけて記憶されている。
【００３３】
学習係数記憶部１８５は，自己組織化マップの学習時における，学習データ数などの収束条件や学習対象セルの範囲，参照ベクトルを入力データの特徴ベクトルに近づけるための重み等の学習パラメータ（学習係数）を記憶する。
【００３４】
データ入力部１１０は，外部からの入力データを受け入れる。一般的に，自己組織化マップでは，事前にすべての入力データが入力されているが，本実施形態にかかるデータ入力装置１００は，入力データを逐次受け入れる。また，データ入力部１１０は，入力データが，例えば文書のように特徴ベクトルを構成していない場合には，特徴ベクトルを生成する処理も行う。例えば，データ入力部１１０に文書が入力データとして入力された場合，かかる文書から，例えば形態素解析などの手法を用いて名詞を抽出し，抽出された各名詞を特徴ベクトルの成分，名詞の出現回数などを特徴ベクトルの成分の値として，特徴ベクトルを生成することができる。
【００３５】
制御部１２０は，後述する最適セル決定部１３０，類似度比較部１４０，学習係数修正部１５０および学習部１６０を，入力データに基づいて実行する制御を行う。また，本実施形態にかかる制御部１２０は，データ量が学習の収束に必要な回数に満たない場合は，すでに入力された一定期間あるいは一定個数のデータについて複数回処理を行う。このとき，制御部１２０は，入力データがすでに入力されたデータである場合，後述する最適セル決定部１３０および学習部１６０のみを実行するように制御する。
【００３６】
最適セル決定部１３０は，データ入力部１１０から入力された入力データの特徴ベクトルについて，参照ベクトル記憶部１８３に記憶された参照ベクトルから，最も類似する参照ベクトルを有するセルである最適セルを決定する。入力データの特徴ベクトルとセルの参照ベクトルとの類似度（ベクトル間の距離）は，例えばユークリッド距離や内積など，目的に応じて任意の手法を用いて算出することができる。
【００３７】
類似度比較部１４０は，入力データについて，最適セル決定部１３０で決定された最適セルとの類似度を，学習係数記憶部１８５に記憶された学習係数に依存して決定される閾値（以下，「類似度の閾値」とする。）と比較し，学習係数修正部１５０を実行するか否かを決定する。例えば，学習するセルの範囲が２以下，重みが０．１以下のときには，類似度が０．５以下であった場合に学習係数修正部１５０を実行すると判定する。類似度の閾値は，例えば，実験等によりチューニングして得ることができる。また，学習係数は，一般的に，最適セルと学習データとの間の類似度が低いほど，学習が進んでいない場合と等価の値に設定される。
【００３８】
学習係数修正部１５０は，学習係数記憶部１８５に記憶された学習係数を修正する。類似度比較部１４０で比較された類似度が類似度の閾値に比べて低いほど，学習係数記憶部１８５に記憶された学習係数を大きく修正する。例えば，学習が収束するまでの回数を大きくしたり，学習対象セルと決定する範囲を拡大する。また，参照ベクトルを入力データの特徴ベクトルに近づける重みを大きくしたり，参照ベクトル記憶部１８３に記憶された各セルの参照ベクトルにランダムノイズを印加することもできる。これらの組み合わせや，類似度の低さと学習係数の修正の強さとの関係は，目的に応じて決定することができる。
【００３９】
学習部１６０は，最適セル決定部１３０により決定された最適セルと，学習係数記憶部１８５に記憶された学習係数と，参照ベクトル記憶部１８３に記憶された参照ベクトルとより決定された学習対象セルについて，学習係数記憶部１８５に記憶された重みだけ入力データの特徴ベクトルに近づける。また，学習対象セルについて，学習係数記憶部１８５に記憶された学習の重みだけ入力データの特徴ベクトルに近づけた後，学習対象セルの範囲を狭めて，入力データの特徴ベクトルに近づける重みを小さくするように，学習係数記憶部１８５に記憶された学習係数を修正する。
【００４０】
初期化部１７０は，データ分析装置１００を用いたデータ分析処理を行う際，最初に参照ベクトル記憶部１８３および学習係数記憶部１８５を初期化する。これは，参照ベクトル記憶部１８３および学習係数記憶部１８５にデータが入力されていない状態とするために実行され，データ入力部１１０に継続的に入力データが入力される前に実行される。また，入力データが入力され続けている間，または学習結果を利用する間は実行されない。
【００４１】
以上，データ分析装置１００の概略構成について説明した。次に，図２および図３に基づいて，本実施形態にかかるデータ分析方法について説明する。ここで，図２は，本実施形態にかかるデータ分析方法を示すフローチャートである。図３は，学習部１６０による学習処理を示すフローチャートである。
【００４２】
本実施形態にかかるデータ分析方法は，図２に示すように，まず，初期化部１７０により，参照ベクトル記憶部１８３および学習係数記憶部１８５を初期化する（ステップＳ１０１；初期化ステップ）。
【００４３】
次いで，入力データを，制御部１２０に入力する（ステップＳ１０３；入力ステップ）。このとき，制御部１２０は，新規に入力されたデータである場合，データ記憶部１８１にこの入力データを記憶する。そして，制御部１２０により，最適セル決定部１３０を実行する。
【００４４】
さらに，最適セル決定部１３０により，参照ベクトル記憶部１８３に記憶されたセルの中から，入力データの特徴ベクトルに最も類似する参照ベクトルを有するセルを最適セルとして決定する（ステップＳ１０５；最適セル決定ステップ）。最適セルは，例えば，入力データの特徴ベクトルと各セルの参照ベクトルとの内積を用いて，入力データと各セルとの類似度を計ることができる。そして，算出された入力データと各セルとの類似度のうち，最大の類似度を有するセルを最適セルとして決定する。
【００４５】
最大セルが決定すると，制御部１２０は，入力データが新規データであるかを判断する（ステップＳ１０７；新規データ判断ステップ）。ここで，新規データとは，初めて学習に用いるデータであり，自己組織化マップの学習データ数が不足している場合に学習データとして２回以上用いられたデータは該当しない。入力データが初めてデータ分析装置１００に入力された新規データである場合，後述する類似度比較ステップ（ステップＳ１０９）および学習係数修正ステップ（ステップＳ１１１）を実行した後，学習ステップ（ステップＳ１１３）を実行する。一方，入力データがデータ分析装置１００にすでに入力されたことのあるデータである場合，類似度比較ステップ（ステップＳ１０９）および学習係数修正ステップ（ステップＳ１１１）は実行せず，学習ステップ（ステップＳ１１３）を実行する。本実施形態にかかるデータ分析方法では，このように，入力データの入力回数に応じて後のステップを省略することにより，処理効率を向上させることができる。
【００４６】
ここで，入力データが新規データである場合，類似度比較部１４０により，最適セル決定部１３０にて算出された入力データと最適セルとの類似度と，類似度の大小を判断するための閾値（類似度の閾値）とを比較する（ステップＳ１０９；類似度比較ステップ）。類似度の閾値は，学習係数記憶部１８５に記憶された学習係数に依存して決定される値であり，類似度比較部１４０は，かかる類似度の閾値に基づいて，学習係数修正部１５０を実行するか否かを決定する。例えば，学習するセルの範囲が２以下，重みが０．１以下のときには，類似度が０．５以下であった場合に学習係数修正部１５０を実行すると判定する。
【００４７】
類似度比較ステップにおいて，入力データと最適セルの類似度が類似度の閾値より低いと判定されると，学習係数修正部１５０により，学習係数記憶部１８５に記憶されている学習係数を修正する（ステップＳ１１１；学習係数修正ステップ）。ステップＳ１１１では，学習係数記憶部１８５に記憶された学習係数を，参照ベクトルの学習が収束していない状態に適した学習係数に修正する。
【００４８】
より詳細に説明すると，入力データと最適セルとの類似度が類似度の閾値より低い場合，現状の自己組織化マップでは，入力データを適切に分類することができないので，再学習させる必要があるため学習係数が修正される。学習係数は，収束に影響を与えるパラメータであり，例えば，学習するセルの範囲を決定する半径，重み，学習回数などを含む。ここで，参照ベクトルの学習が収束していない状態に適した学習係数とは，一般に，広範囲のセルに対して強い学習を行うような学習係数であり，例えば，学習するセルの範囲を拡張し，学習の重みを大きくし，または学習回数を増加させることなどにより実現できる。この際，入力データと最適セルとの類似度が類似度の閾値と比較して低いほど，学習係数を大きく修正することにより，より強い学習を行うことができる。
【００４９】
一方，類似度比較ステップにおいて，入力データと最適セルの類似度が類似度の閾値以上であると判定された場合には，学習係数記憶部１８５に記憶された学習係数は修正されず，学習係数修正ステップを実行せずに，学習ステップ（ステップＳ１１３）を行う。
【００５０】
なお，ここで，類似度比較ステップにおいて，入力データと最適セルとの類似度が，一定の回数以上類似度の閾値よりも低いと判断された場合に，学習係数修正ステップを行うようにすることもできる。これにより，一時的に，不適切なデータが入力された場合に，学習結果に悪影響を及ぼすことを防止することができる。
【００５１】
次いで，ステップＳ１０７において入力データがすでに入力されたデータであると制御部１２０により判定されたとき，ステップＳ１０９において入力データと最適セルの類似度が類似度の閾値以上であると判断されたとき，またはステップＳ１１１において学習係数が修正された後，学習係数記憶部１８５に記憶された学習係数に基づいて，参照ベクトル記憶部１８３に記憶された参照ベクトルを学習する（ステップＳ１１３；学習ステップ）。以下，図３に基づいて，学習ステップにおける学習処理について説明する。
【００５２】
図３に示すように，まず，複数のセルのうち，学習させる学習対象セルを決定する（ステップＳ２０１；学習対象セル決定ステップ）。学習対象セルは，学習係数記憶部１８５に記憶された学習係数の１つである学習の半径に基づいて決定される。学習対象セルは，最適セル決定部１３０にて決定された最適セルを中心として学習の半径により規定される最適セルの周囲に位置するセルと，最適セルとからなる。学習の半径が大きいほど，セルの学習はより広範囲に行われる。
【００５３】
次いで，学習対象セルの参照ベクトルを入力データの特徴ベクトルに近づけるように更新する（ステップＳ２０３；参照ベクトル更新ステップ）。学習対象セルの参照ベクトルを入力データの特徴ベクトルに近づける度合いは，学習係数記憶部１８５に記憶された学習の重みによって決定される。学習の重みが大きいほど，学習対象セルの参照ベクトルは入力データの特徴ベクトルに大きく近づく。
【００５４】
以上，学習ステップ（ステップＳ１１３）について説明した。図２のフローチャートの説明に戻ると，学習ステップを終えると，学習対象セルの参照ベクトルの学習が終了したかを判断する（ステップＳ１１５；学習終了判断ステップ）。学習の終了判断は，例えば参照ベクトルの学習が収束したか否かによって行われる。学習の収束は，一般的な自己組織化マップの収束条件に基づいて判断され，例えば，学習の収束に必要な学習回数だけ学習されたかによって判断することができる。
【００５５】
ステップＳ１１５において，学習が終了していないと判断された場合は，学習係数記憶部１８５に記憶された学習係数を修正する（ステップＳ１１７；学習係数修正ステップ）。このとき，学習係数記憶部１８５に記憶された学習回数を減らし，学習対象セルの範囲を狭め，参照ベクトルを入力データの特徴ベクトルに近づける重みを小さくする。このように，学習の強さを徐々に弱めていく。
【００５６】
さらに，新規入力データのみでなく，データ記憶部１８１に記憶された既入力データについても学習するように，制御部１２０は再学習指示を出す（ステップＳ１１９；再学習指示ステップ）。ステップＳ１０３に戻って，学習が収束するまで同様の処理を繰り返す。
【００５７】
以上，本実施形態にかかるデータ分析方法について説明した。このデータ分析方法では，時間の経過とともに新しいデータが入力部１１０に入力される場合，自己組織化マップにすでに似たような傾向を有するセルが存在しているときには学習係数を修正せずに学習処理を続ける。一方，異なる傾向のデータが入力された場合には，学習が進行した状態では適切な学習がされないので，再学習するために一旦広い範囲の学習からやり直すことができるように，学習係数を自動的に修正した後，学習処理を行う。これにより，自己組織化マップに新しいデータの傾向を適切に反映させることができる。
【００５８】
（実施例）
以下に，図４Ａ〜図７に基づいて，本実施形態にかかるデータ分析装置１００を用いたデータ分析の実施例について説明する。以下では，データＤ１，Ｄ２の２種類のデータが入力された場合について考える。ここで，図４Ａは，データＤ１が入力された場合の処理フローを，図４Ｂは，データＤ２が入力された場合の処理フローを示す。図５は，自己組織化マップＭのセルの配置例を示す説明図である。図６は，自己組織化マップＭの学習対象セルの範囲を示す説明図である。図７は，本実施例における参照ベクトルの例を示す表である。
【００５９】
本実施例では，例えば文書に出現する名詞の頻度について分析する場合を考える。本実施例では，図５に示すような二次元の自己組織化マップＭを有する。ここで，隣接するセルは，上下左右斜めの８方向とする。
【００６０】
かかる自己組織化マップＭは，Ｔ１時点までの学習処理によって学習が十分に進んだ状態であり，このときの参照ベクトルは，図７に示すＴ１時点のセルＣ１〜Ｃ４に表されるように参照ベクトル記憶部１８３に記憶されている。セルＣ１〜Ｃ４の参照ベクトルは，ベクトル成分に文書中の単語を，ベクトル成分の値に文書中に出現する頻度を用いている。例えば，Ｔ１時点のセルＣ１は，「写真」，「フィルム」，「スキャナ」の３成分からなり，成分の値が最大の「写真」が最も文書中に出現する頻度が高いとなる。すなわち，「写真」という単語が多く出現するデータと適合するセルＣ１となっている。
【００６１】
また，Ｔ１時点での学習係数記憶部１８５に記憶された学習係数について，学習対象セルの範囲を決定する学習の半径１，学習の重みは０．０５，学習の収束までに必要な学習回数は１，そして類似度の閾値は０．４であるとする。なお，本実施例における学習の半径は，一方向について自己のセルから最外位置のセルまでの隣り合うセルの数であり，図６に示すように，学習の半径が１の場合には自己のセルのみ，学習の半径が２の場合には自己のセルの隣に位置するセル（上下左右斜めの８個のセル），学習の半径が３の場合には自己のセルの隣の隣に位置するセル（上下左右斜めの２４個のセル）を指す。以下学習の半径が大きくなる毎に，学習対象セルの範囲は拡大する。
【００６２】
＜１．参照ベクトルと類似する傾向を有するデータが入力された場合＞
まず，図４Ａに基づいて，参照ベクトルと類似する傾向を有するデータが入力された場合のデータ分析処理について説明する。ここで，入力されるデータＤ１は，「写真」０．９６，「フィルム」０．１９，「スキャナ」０．１９という特徴ベクトルを有するデータであるとする。
【００６３】
まず，データＤ１がデータ分析装置１００の入力部１１０に入力される（ステップＳ３０１）。入力されたデータＤ１は，制御部１２０に入力される（ステップＳ３０３）。データＤ１は初めて処理されるデータであるので，制御部１２０はデータＤ１をデータ記憶部１８１に記憶し，また，最適セル決定部１３０にデータＤ１を入力する（ステップＳ３０５）。
【００６４】
次いで，データＤ１が入力された最適セル決定部１３０は，参照ベクトル記憶部１８３を参照して（ステップＳ３０７），Ｔ１時点の各セルＣ１〜Ｃ４の参照ベクトル情報を取得する（ステップＳ３０９）。そして，最適セル決定部１３０は，データＤ１と各セルＣ１〜Ｃ４との類似度を算出する（ステップＳ３１１）。かかる類似度は，例えばデータＤ１と各セルＣ１〜Ｃ４との内積の大きさとすることができる。これにより類似度を算出すると，データＤ１とセルＣ１との類似度は約０．９９（０．９６×０．９６＋０．１９×０．１９＋０．１９＋０．１９＝０．９９），データＤ１とセルＣ２との類似度は約０．１８，データＤ１とセルＣ３との類似度は約０．９３，データＤ１とセルＣ４との類似度は約０．６０となる。したがって，類似度が最大のセルＣ１が最適セルとして決定される（ステップＳ３１３）。
【００６５】
さらに，データＤ１は新規入力データであるので，類似度比較部１４０により類似度と類似度の閾値とが比較される（ステップＳ３１５）。データＤ１と最適セルＣ１との類似度は０．９９と類似度の閾値０．４以上であるため，学習係数を修正することなく，学習部１６０による学習処理を行う（ステップＳ３１７）。すなわち，データＤ１に類似する傾向を有する参照ベクトルはすでに自己組織化マップＭ上に存在していると判断し，現状の学習係数に基づいて学習処理が行われる。
【００６６】
その後，学習部１６０は，学習係数記憶部１８５を参照し（ステップＳ３１９），学習係数記憶部１８５に記憶されている学習係数を取得する（ステップＳ３２１）。ここで，学習の範囲は半径が１であることから，自己のみを学習させる。すなわち，セルＣ１のみが学習対象セルとなり，この学習対象セルについてデータＤ１に学習の重み０．０５だけ近づける（ステップＳ３２３）。そして，セルＣ１の参照ベクトルを，ベクトルの大きさが１となるように正規化する（ステップＳ３２５）。なお，データＤ１と学習前のセルＣ１とは同じベクトルを有するので，この場合，学習後のセルＣ１の参照ベクトルは学習前の値から変化しない。したがって，データＤ１に基づく学習後の各セルＣ１〜Ｃ４の参照ベクトルは，図７に示すＴ１時点の状態のままである。
【００６７】
このように，すでに学習された自己組織化マップＭに存在する傾向のデータが入力された場合には，従来の自己組織化マップと同様に動作する。
【００６８】
＜２．類似する参照ベクトルが見つからないようなデータが入力された場合＞
次に，図４Ｂに基づいて，自己組織化マップＭ上に類似する参照ベクトルが見つからないようなデータが入力された場合のデータ分析処理について説明する。ここで，入力されるデータＤ２，「デジカメ」０．９５，「写真」０．３０，「プリンタ」０．１０という特徴ベクトルを有するデータであるとする。なお，データＤ２が入力される時点において自己組織化マップＭは，学習が十分に進んだ状態である。
【００６９】
まず，データＤ２がデータ分析装置１００の入力部１１０に入力される（ステップＳ４０１）。入力されたデータＤ２は，制御部１２０に入力される（ステップＳ４０３）。データＤ２は初めて処理されるデータであるので，制御部１２０はデータＤ２をデータ記憶部１８１に記憶し，また，最適セル決定部１３０にデータＤ２を入力する（ステップＳ４０５）。
【００７０】
次いで，データＤ２が入力された最適セル決定部１３０は，参照ベクトル記憶部１８３を参照して（ステップＳ４０７），Ｔ１時点の各セルＣ１〜Ｃ４の参照ベクトル情報を取得する（ステップＳ４０９）。そして，最適セル決定部１３０は，データＤ２と各セルＣ１〜Ｃ４との類似度を算出する（ステップＳ４１１）。かかる類似度は，データＤ１と各セルＣ１〜Ｃ４との類似度を算出したときと同様，データＤ２と各セルＣ１〜Ｃ４との内積の大きさとすることができる。これにより類似度を算出すると，データＤ２とセルＣ１との類似度は約０．２９，データＤ２とセルＣ２との類似度は約０．１５，データＤ２とセルＣ３との類似度は約０．３１，データＤ２とセルＣ４との類似度は約０．２２となる。したがって，類似度が最大のセルＣ３が最適セルとして決定される（ステップＳ４１３）。
【００７１】
さらに，データＤ２は新規入力データであるので，類似度比較部１４０により類似度と類似度の閾値とが比較される（ステップＳ４１５）。データＤ２と最適セルＣ１との類似度は０．３１であり，類似度の閾値０．４よりも小さい。そこで，学習係数修正部１５０により，学習係数記憶部１８５に記憶された学習係数を修正する（ステップＳ４１７）。学習係数修正部１５０は，学習係数を参照ベクトルの学習が進んでいない状態に適した値に修正し，例えば，学習するセルの範囲の半径を３，学習の重みを０．４，収束までの学習回数を７に修正し（ステップＳ４１９），修正した学習係数の値を学習係数記憶部１８５に反映する（ステップＳ４２１）。このように，多くのセルを強く学習させるような値とすることで，自己組織化マップＭがこれまで有していなかったデータＤ２の傾向についても有するように，参照ベクトルを学習させることができる。
【００７２】
学習係数が修正されると，学習部１６０は，修正された学習係数に基づいて，学習対象セルを決定する（ステップＳ４２３）。学習するセルの範囲は３であるので，最適セルＣ３の隣の隣に位置するセルまで学習させる。すなわち，学習対象セルは，Ｃ１，Ｃ３そしてＣ４となる。学習対象セルが決定すると，学習対象セルＣ１，Ｃ３，Ｃ４についてデータＤ２に学習の重み０．４だけ近づけるように学習する（ステップＳ４２５）。例えば，セルＣ４は，「デジカメ」０．３８（０．９５×０．４＋０×０．６＝０．３８），「写真」０．４５，「プリンタ」０．３７，「スキャナ」０．２４，「インク」０．１２となる。同様に，セルＣ１，Ｃ３についても学習させる。
【００７３】
そして，学習対象セルＣ１，Ｃ３，Ｃ４の参照ベクトルを，それぞれベクトルの大きさが１となるように正規化する（ステップＳ４２７）。これにより，各セルは，図７に示す表のＴ２時点の参照ベクトルを有する。そして，参照ベクトル記憶部１８３にＴ２時点の参照ベクトルが記憶される（ステップＳ４２９）。
【００７４】
その後，学習係数記憶部１８５を修正する（ステップＳ４３１）。この修正は，参照ベクトルの学習が進むにつれて学習を弱めるための処理である。すなわち，学習係数を学習するセルの範囲を縮小し，学習の重みを小さくし，または学習回数を減少させることなどにより実現できる。例えば，学習部１６０は，学習係数記憶部１８５に記憶された学習するセルの範囲を半径３から２，学習の重みを０．４から０．３５，そして学習回数を７から６に減じる。これは，従来の自己組織化マップと同様の処理である。そして，修正された学習係数の学習回数が，制御部１２０に入力される（ステップＳ４３３）。
【００７５】
次いで，学習係数記憶部１８５に記憶されている学習回数が６と残っているので，制御部１２０は，すでに入力されたデータＤ１およびＤ２について繰り返し処理を行う（ステップＳ４３５）。まず，データＤ１について最適セル決定部３００により最適セルを決定する。上述したステップＳ４１１と同に，データＤ１の特徴ベクトルとセルＣ１〜Ｃ４の参照ベクトルとの内積を算出すると，セルＣ１との類似度が約０．８８で最大となり，最適セルがＣ１に決定される。ここで，データＤ１は２度目の入力となるので，類似度比較部１４０は実行されず，学習部１６０による学習処理が実行される。
【００７６】
学習部１６０は，学習係数記憶部１８５に記憶された学習の範囲の半径が２であることから，学習対象セルをＣ１，Ｃ３と決定する。そして，学習対象セルＣ１，Ｃ３をデータＤ１の特徴ベクトルに重み０．３５だけ近づけた後，参照ベクトルの大きさが１となるように正規化する。この結果，参照ベクトル記憶部１８３に記憶された参照ベクトルは，図７の表に示す，Ｔ３時点の値に修正される。
【００７７】
次に，データＤ２について最適セル決定部１３０により最適セルを決定する。上述したステップＳ４１１と同に，データＤ２の特徴ベクトルとセルＣ１〜Ｃ４の参照ベクトルとの内積を算出すると，セルＣ４との類似度が約０．７１４で最大となり，最適セルがＣ４に決定される。データＤ２は２度目の入力となるので，類似度比較部１４０は実行されず，学習部１６０による学習処理が実行される。以後，同様の学習処理を行う。
【００７８】
ここで，データＤ２の入力時の最適セルはセルＣ３であったが，データＤ１が最も適合するセルＣ１より遠い位置のセルへと移動している。このように，新たに入力され，かつすでに学習された自己組織化マップＭ上に十分類似した参照ベクトルが見つからないデータＤ２が投入された場合も，新しい情報が他の情報から遠くに配置されるように自動的に大局的な組織化が行われ，データの傾向の分析を正しく行うことができる。
【００７９】
以上，参照ベクトルと類似する傾向を有するデータが入力された場合と，自己組織化マップにおいて類似する参照ベクトルが見つからないようなデータが入力された場合の実施例について説明した。
【００８０】
（本発明の実施形態における効果）
従来の自己組織化マップの場合，各学習係数が収束へと単調に減少するため，例えば本実施例の場合，データＤ２が入力の最適セルがセルＣ３に決定されたとき，学習対象セルの範囲が小さくなっているため，最適セルＣ３のみしかデータＤ２に近づけない。また，その重みも小さいので，セルＣ３はほとんど変化しない。このため，新たに入力されたデータＤ２の主成分である「デジカメ」に関しては，僅かにセルＣ３に反映されるに留まり，「デジカメ」に関するデータ全体の傾向を読み取ることができない。
【００８１】
このような問題を回避するために，従来手法では，新しいデータが投入された時点で学習を最初からやり直す必要があったが，データＤ１のように，学習済みの自己組織化マップにすでに存在する傾向のデータが入力された場合には，再学習を行うことは無駄な処理となってしまう。
【００８２】
本実施形態では，上記実施例において説明したように，新たに入力されたデータの特徴ベクトルと，すでに学習された，あるいは学習途中の自己組織化マップＭ上で最も適合する参照ベクトルとの類似度に応じて学習係数を修正し，学習の度合いを制御することにより，新たなデータの傾向を読み取ることが可能となる。また，すでに学習済みのデータについては，類似度比較部１４０および学習係数修正部１５０による処理を省略することから，処理効率もよくなる。
【００８３】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【００８４】
例えば，上記実施形態において，類似度比較部１４０は，学習係数記憶部１８５が記憶する類似度の閾値に基づいて学習係数の修正を行うか否かを判断したが，本発明はかかる例に限定されず，例えば，数式などで多段に比較する値を決定することもできる。例えば，収束回数であれば，以下の数式２を用いて決定することができる。
【数１】
2007241895.tif 000003
・・・（数式２）
（ここで，Ｎは収束回数，ｎは任意の正数である。）
数式２では，類似度が低いほど，再度収束するまでの回数が多くなるように学習回数を設定することができる。ここで，ｎの値は，最適な結果が得られるように実験的に決定されるパラメータである。また，学習するセルの半径，学習の重みも数式２と同様の式で表すことができる。なお，上記数式は学習係数を決定するための一例であり，本発明はかかる例に限定されない。
【産業上の利用可能性】
【００８５】
本発明は，データ分析装置およびデータ分析方法に適用可能であり，特に自己組織化マップを用いたデータ分析装置およびデータ分析方法に適用可能である。例えばデータ群の分類など，データ群の傾向を自動的に分析する必要のあるシステムにおいて適用することができる。特に，データ群の傾向の学習を終了した後に，あるいは学習の途中で新たなデータが入力されることを前提としたシステムにおいて，システムを新しいデータに出現した傾向に適応させるために用いることができる。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態にかかるデータ分析装置の構成を示すブロック図である。
【図２】同実施形態にかかるデータ分析方法を示すフローチャートである。
【図３】同実施形態にかかる学習部による学習処理を示すフローチャートである。
【図４Ａ】データＤ１が入力された場合の処理フローを示す。
【図４Ｂ】データＤ２が入力された場合の処理フローを示す。
【図５】自己組織化マップのセルの配置例を示す説明図である。
【図６】自己組織化マップの学習対象セルの範囲を示す説明図である。
【図７】参照ベクトルの例を示す表である。
【図８】自己組織化ネットワークの一例を示す概念図である。
【図９】自己組織化マップの学習アルゴリズムの一例を示すフローチャートである。
【符号の説明】
【００８７】
１００      データ分析装置
１１０      入力部
１２０      制御部
１３０      最適セル決定部
１４０      類似度比較部
１５０      学習係数修正部
１６０      学習部
１８１      データ記憶部
１８３      参照ベクトル記憶部
１８５      学習係数記憶部
【図１】
2007241895.tif 000004
【図２】
2007241895.tif 000005
【図３】
2007241895.tif 000006
【図４Ａ】
2007241895.tif 000007
【図４Ｂ】
2007241895.tif 000008
【図５】
2007241895.tif 000009
【図６】
2007241895.tif 000010
【図７】
2007241895.tif 000011
【図８】
2007241895.tif 000012
【図９】
2007241895.tif 000013