説明

データ分析装置およびデータ分析方法

【課題】 傾向の異なるデータが入力された場合でも,適切にデータを分析することの可能なデータ分析装置およびデータ分析方法を提供する。
【解決手段】 データ分析装置100は,参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップMを記憶する参照ベクトル記憶部183と,学習係数を記憶する学習係数記憶部185と,特徴ベクトルを含む入力データが入力されるデータ入力部110と,参照ベクトル記憶部183を参照して,各セルと入力データとの類似度をそれぞれ算出し,入力データの特徴ベクトルと最も類似する参照ベクトルを含むセルを最適セルとして決定する最適セル決定部130と,最適セルと入力データとの類似度と,類似度の閾値とを比較する類似度比較部140と,類似度に基づいて学習係数記憶部185に記憶された学習係数を修正する学習係数修正部150と,学習対象セルを決定し,学習を実行する学習部160とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,データ分析装置およびデータ分析方法に関し,より詳細には,自己組織化マップを用いたデータ分析装置およびデータ分析方法関する。
【背景技術】
【0002】
入力されたデータ群が,どのような傾向のデータからなるか分析することは,多様な目的で行われる。例えば,特許文献1では,データ群中の複数の傾向を有するデータを自動的にそれぞれの傾向ごとにまとめ,検索要求と近い傾向のデータのみを検索対象とすることにより,検索処理の高速化を図っている。この際,データの傾向が事前にわからないデータを自動的に分類するための1つの手法として,例えば自己組織化マップがある(例えば,特許文献1)。
【0003】
自己組織化マップ(Self−Organizing Map;SOM)は,教師なし競合学習により,高次元データを低次元データに写像するニューラルネットワークのひとつである。自己組織化マップでは,類似する特徴を有するデータは近くに,そうでないデータは離れた位置に配置されるようなマップを生成する。生成されたマップは,それぞれのデータの位置関係によって,データの類似関係を直感的にできるという点から,情報の視覚化に利用することができる。
【0004】
例えば,n次元の入力データを二次元平面に配置する自己組織化ネットワークを図8に示す。ネットワークの入力層は,二次元平面上に配置されたすべてのセルと結合されており,各セルには,入力層に入力されるデータと同じ次元数の参照ベクトルm1〜m6が対応している。学習の過程では,入力層に入力された入力ベクトルxに最も近い参照ベクトルを有するセルを決定した後,このセルとその近傍に位置するセルの参照ベクトルとを入力ベクトルxに近づけるという操作を繰り返す。このようにして,同じような特徴を有するセルが近くに集まり,結果的に入力データの特徴を反映した自己組織化マップが生成される。
【0005】
次に,図9に基づいて,自己組織化マップの学習アルゴリズムを説明する。まず,各分類に相当するセルの参照ベクトルmを,乱数を割り当てるなどして初期化する(ステップS10)。次いで,入力ベクトルxに最も近い参照ベクトルmを含むセルである最適セルcを決定する(ステップS20)。すなわち,参照ベクトルmは,‖x−m‖が最小となるベクトルである。さらに,学習係数に基づいて,最適セルcとその近傍の参照ベクトルmを以下の数式1のように更新する(ステップS30)。
【0006】
=m+hci(x−m) ・・・(数式1)
ここで,hciは,最適セルcから離れるにつれて小さい値となるように設定される。また,hciは,学習が進むにつれ,単調に減少するように設定される。その後,参照ベクトルの学習が収束したかを判断し,収束していない場合は,ステップS20に戻って処理を繰り返す(ステップS40)。
【0007】
このように,参照ベクトルを入力データの特徴ベクトルに近づけるように繰り返し学習することによって,入力データ群の各データが類似する傾向を有するデータ同士が自動的に近くに配置されるようになる。この学習では,最初に乱数により与えられた参照ベクトルを,学習の過程において次第に学習範囲を狭めて弱く学習するように単調に修正させることによって,次第に細部の自己組織化が行われて学習が収束するようになる。
【0008】
【特許文献1】特開2004−046612号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
従来の自己組織化マップを用いた学習では,学習したいデータが事前にすべて与えられており,かかるデータが時間の経過とともに変化しない場合に有効である。しかしながら,時間の経過とともに新たなデータが与えられることにより変化するデータ群の傾向を分析する場合には,一旦学習が収束してしまった自己組織化マップに新しいデータを追加しても,適切な学習が行うことができなかった。
【0010】
これは,学習が収束しているときの学習係数が小さいために生じる。すなわち,学習対象セルの範囲が狭く,学習の強度が弱くなるために,新しいデータに対して自己組織化マップ上で大局的な関係によるセルの再配置が行われず,学習回数も少ないために,新しいデータについてあまり学習されない。
【0011】
さらに,初期化した乱数の部分が,学習が進むことによって微少になっており,揺らぎがないため,局所解から抜け出せないという問題がある。学習が進むと,参照ベクトルが学習データの特徴ベクトルに近づけられるため,学習初期に乱数により得た揺らぎが減少し,学習されたベクトル成分が強くなる。このため,新しい傾向のデータが入力された場合,すでに学習された傾向に似た,ごく一部の情報のみに基づいて最適セルを選択する傾向が強くなる。したがって,自己組織化マップが新しい傾向のデータにしにくくなる。
【0012】
このように,時間の経過とともに新しいデータが入力される場合,従来のデータ分析装置では,傾向の異なるデータが増加した場合でも広範囲の学習がされないため,データの分析が適切に行われなかった。
【0013】
かかる問題を解決するために,新しいデータが入力される毎に学習を最初からやり直すことが考えられるが,処理効率が低い。これは,新しいデータがすでに入力されたデータと同じ傾向を有するものであれば,学習結果により自己組織化マップが大きく変わることはないので再学習の必要はなく,無駄な処理を行うことになるからである。
【0014】
そこで,本発明は,上記問題に鑑みてなされたものであり,本発明の目的とするところは,継続的に学習データが入力される中で,新たな傾向に適応して,適切にデータを分析することの可能な,新規かつ改良されたデータ分析装置およびデータ分析方法を提供することにある。
【課題を解決するための手段】
【0015】
上記課題を解決するために,本発明のある観点によれば,複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部と,参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部と,複数の特徴量からなる特徴ベクトルを含む入力データが入力されるデータ入力部と,参照ベクトル記憶部を参照して,各セルの参照ベクトルと入力データの特徴ベクトルとの類似度をそれぞれ算出し,入力データの特徴ベクトルと最も類似する参照ベクトルを含むセルを最適セルとして決定する最適セル決定部と,最適セル決定部により算出された最適セルと入力データとの類似度と,類似度の大小を判断するための閾値とを比較する類似度比較部と,類似度に基づいて,学習係数記憶部に記憶された学習係数を修正する学習係数修正部と,学習係数と最適セルに基づいて,複数のセルのうち学習対象セルを決定し,学習係数に基づいて,学習対象セルの参照ベクトルの学習を実行する学習部とを備えるデータ分析装置が提供される。
【0016】
本発明によれば,学習対象セルを学習する前に,入力データと最適セルとの類似度に基づいて,学習係数修正部により学習係数が修正されることを特徴とする。これにより,類似度が入力データの傾向を有する参照ベクトルが自己組織化マップに存在しない場合にも,自動的に学習係数が修正されることにより,一旦広い範囲の学習からやり直すことができる。
【0017】
ここで,類似度比較部により比較された類似度が閾値より低い場合,学習係数修正部によって,類似度に基づき,学習係数記憶部に記憶された学習係数を参照ベクトルの学習が収束していない状態に適した学習係数に修正してもよい。ここで,参照ベクトルの学習が収束していない状態に適した学習係数とは,一般に,広範囲のセルに対して強い学習を行うような学習係数であり,例えば,学習するセルの範囲を拡張し,学習の重みを大きくし,または学習回数を増加させることなどにより実現できる。このような学習係数に修正することにより,多くのセルが学習され,また,新たな傾向を有する入力データにより近づくように学習されるので,大局的に学習させることができる。
【0018】
また,類似度比較部により比較された類似度が閾値より低いと一定の回数以上判定された場合に,学習係数修正部により,類似度に基づいて学習係数記憶部に記憶された学習係数を修正してもよい。これにより,一時的に不適切なデータが入力された場合には,学習係数は修正されないため,学習結果に悪影響が生じることを防止することができる。
【0019】
さらに,学習部は,データ入力部により一定期間に入力された入力データ,または一定個数の入力データの特徴ベクトルを,参照ベクトルの学習に用いてもよい。
【0020】
最適セル決定部に入力された入力データの入力回数に応じて,学習係数修正部により学習係数記憶部に記憶された学習係数を修正するか否かを決定する制御部をさらに備えることを特徴とする。例えば,一度入力され,その入力データの傾向についてすでに自己組織化マップが学習されている場合,かかる入力データについて,改めて再学習をする必要はなく,学習係数を修正しなくともよい。そこで,類似度比較部,学習係数修正部による処理を,入力データの入力回数に応じて実行するか否かを決定することにより,不要な処理を行うことがなく,処理効率を向上させることができる。
【0021】
また,上記課題を解決するために,本発明の別の観点によれば,複数の特徴量からなる特徴ベクトルを含む入力データを入力する入力ステップと,複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部を参照して,各セルの参照ベクトルと入力データの特徴ベクトルとの類似度をそれぞれ算出し,入力データの特徴ベクトルと最も類似する参照ベクトルを含むセルを最適セルとして決定する最適セル決定ステップと,最適セル決定ステップにおいて算出された最適セルと入力データとの類似度と,類似度の大小を判断するための閾値とを比較する類似度比較ステップと,類似度に基づいて,参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部に記憶された学習係数を修正する学習係数修正ステップと,学習係数と最適セルに基づいて複数のセルのうち学習対象セルを決定し,学習係数に基づいて学習対象セルの参照ベクトルを学習する学習ステップとを含むデータ分析方法が提供される。
【0022】
本発明によれば,学習対象セルを学習する前に,入力データと最適セルとの類似度に基づいて,学習係数修正ステップにおいて学習係数を修正することを特徴とする。これにより,類似度が入力データの傾向を有する参照ベクトルが自己組織化マップに存在しない場合にも,自動的に学習係数が修正されることにより,一旦広い範囲の学習からやり直すことができる。
【0023】
ここで,類似度比較ステップにおいて,類似度が閾値より低いと判定された場合,学習係数修正ステップにおいて,類似度に基づいて学習係数記憶部に記憶された学習係数を,参照ベクトルの学習が収束していない状態に適した学習係数に修正する。例えば,学習するセルの範囲を拡張し,学習の重みを大きくし,または学習回数を増加させることなどの修正を行うことにより,多くのセルが学習され,また,新たな傾向を有する入力データにより近づくように学習されるので,大局的に学習させることができる。
【0024】
また,類似度比較ステップにおいて,類似度が閾値より低いと一定の回数以上判定された場合に,学習係数修正ステップにおいて,類似度に基づいて,学習係数記憶部に記憶された学習係数を修正してもよい。これにより,一時的に不適切なデータが入力された場合には,学習係数は修正されないため,学習結果に悪影響が生じることを防止することができる。
【0025】
さらに,学習ステップにおいて,データ入力部により一定期間に入力された入力データ,または一定個数の入力データの特徴ベクトルを,参照ベクトルの学習に用いてもよい。
【0026】
また,入力データの入力回数に応じて,類似度比較ステップおよび学習係数修正ステップを実行するか否かを決定する制御ステップをさらに備えることもできる。これにより,類似度比較ステップおよび学習係数修正ステップの実行が不要な場合には,かかる処理を行わないので,処理効率を向上させることができる。
【発明の効果】
【0027】
以上説明したように本発明によれば,継続的に学習データが入力される中で,新たな傾向に適応して,適切にデータを分析することの可能な,データ分析装置およびデータ分析方法を提供することができる。
【発明を実施するための最良の形態】
【0028】
以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
【0029】
(本発明の実施形態)
まず,図1に基づいて,本発明の実施形態にかかるデータ分析装置の構成を説明する。ここで,図1は,本実施形態にかかるデータ分析装置100の構成を示すブロック図である。
【0030】
本実施形態にかかるデータ分析装置100は,図1に示すように,データ入力部110と,制御部120と,最適セル決定部130と,類似度比較部140と,学習係数修正部150と,学習部160と,初期化部170と,データ記憶部181と,参照ベクトル記憶部183と,学習係数記憶部185とを有して構成される。
【0031】
データ記憶部181は,後述するデータ入力部110から制御部120に入力された入力データを記憶する。データ記憶部181は,例えばRAMやハードディスク等のメモリを含んで構成される。なお,後述の参照ベクトル記憶部183および学習係数記憶部185も,同様に構成することができる。
【0032】
また,参照ベクトル記憶部183は,自己組織化マップ上に配列される複数のセルについて,各セルの有する特徴ベクトルを参照ベクトルとして記憶する。参照ベクトル記憶部183には,各セルの参照ベクトルの成分および成分値などが関連づけて記憶されている。
【0033】
学習係数記憶部185は,自己組織化マップの学習時における,学習データ数などの収束条件や学習対象セルの範囲,参照ベクトルを入力データの特徴ベクトルに近づけるための重み等の学習パラメータ(学習係数)を記憶する。
【0034】
データ入力部110は,外部からの入力データを受け入れる。一般的に,自己組織化マップでは,事前にすべての入力データが入力されているが,本実施形態にかかるデータ入力装置100は,入力データを逐次受け入れる。また,データ入力部110は,入力データが,例えば文書のように特徴ベクトルを構成していない場合には,特徴ベクトルを生成する処理も行う。例えば,データ入力部110に文書が入力データとして入力された場合,かかる文書から,例えば形態素解析などの手法を用いて名詞を抽出し,抽出された各名詞を特徴ベクトルの成分,名詞の出現回数などを特徴ベクトルの成分の値として,特徴ベクトルを生成することができる。
【0035】
制御部120は,後述する最適セル決定部130,類似度比較部140,学習係数修正部150および学習部160を,入力データに基づいて実行する制御を行う。また,本実施形態にかかる制御部120は,データ量が学習の収束に必要な回数に満たない場合は,すでに入力された一定期間あるいは一定個数のデータについて複数回処理を行う。このとき,制御部120は,入力データがすでに入力されたデータである場合,後述する最適セル決定部130および学習部160のみを実行するように制御する。
【0036】
最適セル決定部130は,データ入力部110から入力された入力データの特徴ベクトルについて,参照ベクトル記憶部183に記憶された参照ベクトルから,最も類似する参照ベクトルを有するセルである最適セルを決定する。入力データの特徴ベクトルとセルの参照ベクトルとの類似度(ベクトル間の距離)は,例えばユークリッド距離や内積など,目的に応じて任意の手法を用いて算出することができる。
【0037】
類似度比較部140は,入力データについて,最適セル決定部130で決定された最適セルとの類似度を,学習係数記憶部185に記憶された学習係数に依存して決定される閾値(以下,「類似度の閾値」とする。)と比較し,学習係数修正部150を実行するか否かを決定する。例えば,学習するセルの範囲が2以下,重みが0.1以下のときには,類似度が0.5以下であった場合に学習係数修正部150を実行すると判定する。類似度の閾値は,例えば,実験等によりチューニングして得ることができる。また,学習係数は,一般的に,最適セルと学習データとの間の類似度が低いほど,学習が進んでいない場合と等価の値に設定される。
【0038】
学習係数修正部150は,学習係数記憶部185に記憶された学習係数を修正する。類似度比較部140で比較された類似度が類似度の閾値に比べて低いほど,学習係数記憶部185に記憶された学習係数を大きく修正する。例えば,学習が収束するまでの回数を大きくしたり,学習対象セルと決定する範囲を拡大する。また,参照ベクトルを入力データの特徴ベクトルに近づける重みを大きくしたり,参照ベクトル記憶部183に記憶された各セルの参照ベクトルにランダムノイズを印加することもできる。これらの組み合わせや,類似度の低さと学習係数の修正の強さとの関係は,目的に応じて決定することができる。
【0039】
学習部160は,最適セル決定部130により決定された最適セルと,学習係数記憶部185に記憶された学習係数と,参照ベクトル記憶部183に記憶された参照ベクトルとより決定された学習対象セルについて,学習係数記憶部185に記憶された重みだけ入力データの特徴ベクトルに近づける。また,学習対象セルについて,学習係数記憶部185に記憶された学習の重みだけ入力データの特徴ベクトルに近づけた後,学習対象セルの範囲を狭めて,入力データの特徴ベクトルに近づける重みを小さくするように,学習係数記憶部185に記憶された学習係数を修正する。
【0040】
初期化部170は,データ分析装置100を用いたデータ分析処理を行う際,最初に参照ベクトル記憶部183および学習係数記憶部185を初期化する。これは,参照ベクトル記憶部183および学習係数記憶部185にデータが入力されていない状態とするために実行され,データ入力部110に継続的に入力データが入力される前に実行される。また,入力データが入力され続けている間,または学習結果を利用する間は実行されない。
【0041】
以上,データ分析装置100の概略構成について説明した。次に,図2および図3に基づいて,本実施形態にかかるデータ分析方法について説明する。ここで,図2は,本実施形態にかかるデータ分析方法を示すフローチャートである。図3は,学習部160による学習処理を示すフローチャートである。
【0042】
本実施形態にかかるデータ分析方法は,図2に示すように,まず,初期化部170により,参照ベクトル記憶部183および学習係数記憶部185を初期化する(ステップS101;初期化ステップ)。
【0043】
次いで,入力データを,制御部120に入力する(ステップS103;入力ステップ)。このとき,制御部120は,新規に入力されたデータである場合,データ記憶部181にこの入力データを記憶する。そして,制御部120により,最適セル決定部130を実行する。
【0044】
さらに,最適セル決定部130により,参照ベクトル記憶部183に記憶されたセルの中から,入力データの特徴ベクトルに最も類似する参照ベクトルを有するセルを最適セルとして決定する(ステップS105;最適セル決定ステップ)。最適セルは,例えば,入力データの特徴ベクトルと各セルの参照ベクトルとの内積を用いて,入力データと各セルとの類似度を計ることができる。そして,算出された入力データと各セルとの類似度のうち,最大の類似度を有するセルを最適セルとして決定する。
【0045】
最大セルが決定すると,制御部120は,入力データが新規データであるかを判断する(ステップS107;新規データ判断ステップ)。ここで,新規データとは,初めて学習に用いるデータであり,自己組織化マップの学習データ数が不足している場合に学習データとして2回以上用いられたデータは該当しない。入力データが初めてデータ分析装置100に入力された新規データである場合,後述する類似度比較ステップ(ステップS109)および学習係数修正ステップ(ステップS111)を実行した後,学習ステップ(ステップS113)を実行する。一方,入力データがデータ分析装置100にすでに入力されたことのあるデータである場合,類似度比較ステップ(ステップS109)および学習係数修正ステップ(ステップS111)は実行せず,学習ステップ(ステップS113)を実行する。本実施形態にかかるデータ分析方法では,このように,入力データの入力回数に応じて後のステップを省略することにより,処理効率を向上させることができる。
【0046】
ここで,入力データが新規データである場合,類似度比較部140により,最適セル決定部130にて算出された入力データと最適セルとの類似度と,類似度の大小を判断するための閾値(類似度の閾値)とを比較する(ステップS109;類似度比較ステップ)。類似度の閾値は,学習係数記憶部185に記憶された学習係数に依存して決定される値であり,類似度比較部140は,かかる類似度の閾値に基づいて,学習係数修正部150を実行するか否かを決定する。例えば,学習するセルの範囲が2以下,重みが0.1以下のときには,類似度が0.5以下であった場合に学習係数修正部150を実行すると判定する。
【0047】
類似度比較ステップにおいて,入力データと最適セルの類似度が類似度の閾値より低いと判定されると,学習係数修正部150により,学習係数記憶部185に記憶されている学習係数を修正する(ステップS111;学習係数修正ステップ)。ステップS111では,学習係数記憶部185に記憶された学習係数を,参照ベクトルの学習が収束していない状態に適した学習係数に修正する。
【0048】
より詳細に説明すると,入力データと最適セルとの類似度が類似度の閾値より低い場合,現状の自己組織化マップでは,入力データを適切に分類することができないので,再学習させる必要があるため学習係数が修正される。学習係数は,収束に影響を与えるパラメータであり,例えば,学習するセルの範囲を決定する半径,重み,学習回数などを含む。ここで,参照ベクトルの学習が収束していない状態に適した学習係数とは,一般に,広範囲のセルに対して強い学習を行うような学習係数であり,例えば,学習するセルの範囲を拡張し,学習の重みを大きくし,または学習回数を増加させることなどにより実現できる。この際,入力データと最適セルとの類似度が類似度の閾値と比較して低いほど,学習係数を大きく修正することにより,より強い学習を行うことができる。
【0049】
一方,類似度比較ステップにおいて,入力データと最適セルの類似度が類似度の閾値以上であると判定された場合には,学習係数記憶部185に記憶された学習係数は修正されず,学習係数修正ステップを実行せずに,学習ステップ(ステップS113)を行う。
【0050】
なお,ここで,類似度比較ステップにおいて,入力データと最適セルとの類似度が,一定の回数以上類似度の閾値よりも低いと判断された場合に,学習係数修正ステップを行うようにすることもできる。これにより,一時的に,不適切なデータが入力された場合に,学習結果に悪影響を及ぼすことを防止することができる。
【0051】
次いで,ステップS107において入力データがすでに入力されたデータであると制御部120により判定されたとき,ステップS109において入力データと最適セルの類似度が類似度の閾値以上であると判断されたとき,またはステップS111において学習係数が修正された後,学習係数記憶部185に記憶された学習係数に基づいて,参照ベクトル記憶部183に記憶された参照ベクトルを学習する(ステップS113;学習ステップ)。以下,図3に基づいて,学習ステップにおける学習処理について説明する。
【0052】
図3に示すように,まず,複数のセルのうち,学習させる学習対象セルを決定する(ステップS201;学習対象セル決定ステップ)。学習対象セルは,学習係数記憶部185に記憶された学習係数の1つである学習の半径に基づいて決定される。学習対象セルは,最適セル決定部130にて決定された最適セルを中心として学習の半径により規定される最適セルの周囲に位置するセルと,最適セルとからなる。学習の半径が大きいほど,セルの学習はより広範囲に行われる。
【0053】
次いで,学習対象セルの参照ベクトルを入力データの特徴ベクトルに近づけるように更新する(ステップS203;参照ベクトル更新ステップ)。学習対象セルの参照ベクトルを入力データの特徴ベクトルに近づける度合いは,学習係数記憶部185に記憶された学習の重みによって決定される。学習の重みが大きいほど,学習対象セルの参照ベクトルは入力データの特徴ベクトルに大きく近づく。
【0054】
以上,学習ステップ(ステップS113)について説明した。図2のフローチャートの説明に戻ると,学習ステップを終えると,学習対象セルの参照ベクトルの学習が終了したかを判断する(ステップS115;学習終了判断ステップ)。学習の終了判断は,例えば参照ベクトルの学習が収束したか否かによって行われる。学習の収束は,一般的な自己組織化マップの収束条件に基づいて判断され,例えば,学習の収束に必要な学習回数だけ学習されたかによって判断することができる。
【0055】
ステップS115において,学習が終了していないと判断された場合は,学習係数記憶部185に記憶された学習係数を修正する(ステップS117;学習係数修正ステップ)。このとき,学習係数記憶部185に記憶された学習回数を減らし,学習対象セルの範囲を狭め,参照ベクトルを入力データの特徴ベクトルに近づける重みを小さくする。このように,学習の強さを徐々に弱めていく。
【0056】
さらに,新規入力データのみでなく,データ記憶部181に記憶された既入力データについても学習するように,制御部120は再学習指示を出す(ステップS119;再学習指示ステップ)。ステップS103に戻って,学習が収束するまで同様の処理を繰り返す。
【0057】
以上,本実施形態にかかるデータ分析方法について説明した。このデータ分析方法では,時間の経過とともに新しいデータが入力部110に入力される場合,自己組織化マップにすでに似たような傾向を有するセルが存在しているときには学習係数を修正せずに学習処理を続ける。一方,異なる傾向のデータが入力された場合には,学習が進行した状態では適切な学習がされないので,再学習するために一旦広い範囲の学習からやり直すことができるように,学習係数を自動的に修正した後,学習処理を行う。これにより,自己組織化マップに新しいデータの傾向を適切に反映させることができる。
【0058】
(実施例)
以下に,図4A〜図7に基づいて,本実施形態にかかるデータ分析装置100を用いたデータ分析の実施例について説明する。以下では,データD1,D2の2種類のデータが入力された場合について考える。ここで,図4Aは,データD1が入力された場合の処理フローを,図4Bは,データD2が入力された場合の処理フローを示す。図5は,自己組織化マップMのセルの配置例を示す説明図である。図6は,自己組織化マップMの学習対象セルの範囲を示す説明図である。図7は,本実施例における参照ベクトルの例を示す表である。
【0059】
本実施例では,例えば文書に出現する名詞の頻度について分析する場合を考える。本実施例では,図5に示すような二次元の自己組織化マップMを有する。ここで,隣接するセルは,上下左右斜めの8方向とする。
【0060】
かかる自己組織化マップMは,T1時点までの学習処理によって学習が十分に進んだ状態であり,このときの参照ベクトルは,図7に示すT1時点のセルC1〜C4に表されるように参照ベクトル記憶部183に記憶されている。セルC1〜C4の参照ベクトルは,ベクトル成分に文書中の単語を,ベクトル成分の値に文書中に出現する頻度を用いている。例えば,T1時点のセルC1は,「写真」,「フィルム」,「スキャナ」の3成分からなり,成分の値が最大の「写真」が最も文書中に出現する頻度が高いとなる。すなわち,「写真」という単語が多く出現するデータと適合するセルC1となっている。
【0061】
また,T1時点での学習係数記憶部185に記憶された学習係数について,学習対象セルの範囲を決定する学習の半径1,学習の重みは0.05,学習の収束までに必要な学習回数は1,そして類似度の閾値は0.4であるとする。なお,本実施例における学習の半径は,一方向について自己のセルから最外位置のセルまでの隣り合うセルの数であり,図6に示すように,学習の半径が1の場合には自己のセルのみ,学習の半径が2の場合には自己のセルの隣に位置するセル(上下左右斜めの8個のセル),学習の半径が3の場合には自己のセルの隣の隣に位置するセル(上下左右斜めの24個のセル)を指す。以下学習の半径が大きくなる毎に,学習対象セルの範囲は拡大する。
【0062】
<1.参照ベクトルと類似する傾向を有するデータが入力された場合>
まず,図4Aに基づいて,参照ベクトルと類似する傾向を有するデータが入力された場合のデータ分析処理について説明する。ここで,入力されるデータD1は,「写真」0.96,「フィルム」0.19,「スキャナ」0.19という特徴ベクトルを有するデータであるとする。
【0063】
まず,データD1がデータ分析装置100の入力部110に入力される(ステップS301)。入力されたデータD1は,制御部120に入力される(ステップS303)。データD1は初めて処理されるデータであるので,制御部120はデータD1をデータ記憶部181に記憶し,また,最適セル決定部130にデータD1を入力する(ステップS305)。
【0064】
次いで,データD1が入力された最適セル決定部130は,参照ベクトル記憶部183を参照して(ステップS307),T1時点の各セルC1〜C4の参照ベクトル情報を取得する(ステップS309)。そして,最適セル決定部130は,データD1と各セルC1〜C4との類似度を算出する(ステップS311)。かかる類似度は,例えばデータD1と各セルC1〜C4との内積の大きさとすることができる。これにより類似度を算出すると,データD1とセルC1との類似度は約0.99(0.96×0.96+0.19×0.19+0.19+0.19=0.99),データD1とセルC2との類似度は約0.18,データD1とセルC3との類似度は約0.93,データD1とセルC4との類似度は約0.60となる。したがって,類似度が最大のセルC1が最適セルとして決定される(ステップS313)。
【0065】
さらに,データD1は新規入力データであるので,類似度比較部140により類似度と類似度の閾値とが比較される(ステップS315)。データD1と最適セルC1との類似度は0.99と類似度の閾値0.4以上であるため,学習係数を修正することなく,学習部160による学習処理を行う(ステップS317)。すなわち,データD1に類似する傾向を有する参照ベクトルはすでに自己組織化マップM上に存在していると判断し,現状の学習係数に基づいて学習処理が行われる。
【0066】
その後,学習部160は,学習係数記憶部185を参照し(ステップS319),学習係数記憶部185に記憶されている学習係数を取得する(ステップS321)。ここで,学習の範囲は半径が1であることから,自己のみを学習させる。すなわち,セルC1のみが学習対象セルとなり,この学習対象セルについてデータD1に学習の重み0.05だけ近づける(ステップS323)。そして,セルC1の参照ベクトルを,ベクトルの大きさが1となるように正規化する(ステップS325)。なお,データD1と学習前のセルC1とは同じベクトルを有するので,この場合,学習後のセルC1の参照ベクトルは学習前の値から変化しない。したがって,データD1に基づく学習後の各セルC1〜C4の参照ベクトルは,図7に示すT1時点の状態のままである。
【0067】
このように,すでに学習された自己組織化マップMに存在する傾向のデータが入力された場合には,従来の自己組織化マップと同様に動作する。
【0068】
<2.類似する参照ベクトルが見つからないようなデータが入力された場合>
次に,図4Bに基づいて,自己組織化マップM上に類似する参照ベクトルが見つからないようなデータが入力された場合のデータ分析処理について説明する。ここで,入力されるデータD2,「デジカメ」0.95,「写真」0.30,「プリンタ」0.10という特徴ベクトルを有するデータであるとする。なお,データD2が入力される時点において自己組織化マップMは,学習が十分に進んだ状態である。
【0069】
まず,データD2がデータ分析装置100の入力部110に入力される(ステップS401)。入力されたデータD2は,制御部120に入力される(ステップS403)。データD2は初めて処理されるデータであるので,制御部120はデータD2をデータ記憶部181に記憶し,また,最適セル決定部130にデータD2を入力する(ステップS405)。
【0070】
次いで,データD2が入力された最適セル決定部130は,参照ベクトル記憶部183を参照して(ステップS407),T1時点の各セルC1〜C4の参照ベクトル情報を取得する(ステップS409)。そして,最適セル決定部130は,データD2と各セルC1〜C4との類似度を算出する(ステップS411)。かかる類似度は,データD1と各セルC1〜C4との類似度を算出したときと同様,データD2と各セルC1〜C4との内積の大きさとすることができる。これにより類似度を算出すると,データD2とセルC1との類似度は約0.29,データD2とセルC2との類似度は約0.15,データD2とセルC3との類似度は約0.31,データD2とセルC4との類似度は約0.22となる。したがって,類似度が最大のセルC3が最適セルとして決定される(ステップS413)。
【0071】
さらに,データD2は新規入力データであるので,類似度比較部140により類似度と類似度の閾値とが比較される(ステップS415)。データD2と最適セルC1との類似度は0.31であり,類似度の閾値0.4よりも小さい。そこで,学習係数修正部150により,学習係数記憶部185に記憶された学習係数を修正する(ステップS417)。学習係数修正部150は,学習係数を参照ベクトルの学習が進んでいない状態に適した値に修正し,例えば,学習するセルの範囲の半径を3,学習の重みを0.4,収束までの学習回数を7に修正し(ステップS419),修正した学習係数の値を学習係数記憶部185に反映する(ステップS421)。このように,多くのセルを強く学習させるような値とすることで,自己組織化マップMがこれまで有していなかったデータD2の傾向についても有するように,参照ベクトルを学習させることができる。
【0072】
学習係数が修正されると,学習部160は,修正された学習係数に基づいて,学習対象セルを決定する(ステップS423)。学習するセルの範囲は3であるので,最適セルC3の隣の隣に位置するセルまで学習させる。すなわち,学習対象セルは,C1,C3そしてC4となる。学習対象セルが決定すると,学習対象セルC1,C3,C4についてデータD2に学習の重み0.4だけ近づけるように学習する(ステップS425)。例えば,セルC4は,「デジカメ」0.38(0.95×0.4+0×0.6=0.38),「写真」0.45,「プリンタ」0.37,「スキャナ」0.24,「インク」0.12となる。同様に,セルC1,C3についても学習させる。
【0073】
そして,学習対象セルC1,C3,C4の参照ベクトルを,それぞれベクトルの大きさが1となるように正規化する(ステップS427)。これにより,各セルは,図7に示す表のT2時点の参照ベクトルを有する。そして,参照ベクトル記憶部183にT2時点の参照ベクトルが記憶される(ステップS429)。
【0074】
その後,学習係数記憶部185を修正する(ステップS431)。この修正は,参照ベクトルの学習が進むにつれて学習を弱めるための処理である。すなわち,学習係数を学習するセルの範囲を縮小し,学習の重みを小さくし,または学習回数を減少させることなどにより実現できる。例えば,学習部160は,学習係数記憶部185に記憶された学習するセルの範囲を半径3から2,学習の重みを0.4から0.35,そして学習回数を7から6に減じる。これは,従来の自己組織化マップと同様の処理である。そして,修正された学習係数の学習回数が,制御部120に入力される(ステップS433)。
【0075】
次いで,学習係数記憶部185に記憶されている学習回数が6と残っているので,制御部120は,すでに入力されたデータD1およびD2について繰り返し処理を行う(ステップS435)。まず,データD1について最適セル決定部300により最適セルを決定する。上述したステップS411と同に,データD1の特徴ベクトルとセルC1〜C4の参照ベクトルとの内積を算出すると,セルC1との類似度が約0.88で最大となり,最適セルがC1に決定される。ここで,データD1は2度目の入力となるので,類似度比較部140は実行されず,学習部160による学習処理が実行される。
【0076】
学習部160は,学習係数記憶部185に記憶された学習の範囲の半径が2であることから,学習対象セルをC1,C3と決定する。そして,学習対象セルC1,C3をデータD1の特徴ベクトルに重み0.35だけ近づけた後,参照ベクトルの大きさが1となるように正規化する。この結果,参照ベクトル記憶部183に記憶された参照ベクトルは,図7の表に示す,T3時点の値に修正される。
【0077】
次に,データD2について最適セル決定部130により最適セルを決定する。上述したステップS411と同に,データD2の特徴ベクトルとセルC1〜C4の参照ベクトルとの内積を算出すると,セルC4との類似度が約0.714で最大となり,最適セルがC4に決定される。データD2は2度目の入力となるので,類似度比較部140は実行されず,学習部160による学習処理が実行される。以後,同様の学習処理を行う。
【0078】
ここで,データD2の入力時の最適セルはセルC3であったが,データD1が最も適合するセルC1より遠い位置のセルへと移動している。このように,新たに入力され,かつすでに学習された自己組織化マップM上に十分類似した参照ベクトルが見つからないデータD2が投入された場合も,新しい情報が他の情報から遠くに配置されるように自動的に大局的な組織化が行われ,データの傾向の分析を正しく行うことができる。
【0079】
以上,参照ベクトルと類似する傾向を有するデータが入力された場合と,自己組織化マップにおいて類似する参照ベクトルが見つからないようなデータが入力された場合の実施例について説明した。
【0080】
(本発明の実施形態における効果)
従来の自己組織化マップの場合,各学習係数が収束へと単調に減少するため,例えば本実施例の場合,データD2が入力の最適セルがセルC3に決定されたとき,学習対象セルの範囲が小さくなっているため,最適セルC3のみしかデータD2に近づけない。また,その重みも小さいので,セルC3はほとんど変化しない。このため,新たに入力されたデータD2の主成分である「デジカメ」に関しては,僅かにセルC3に反映されるに留まり,「デジカメ」に関するデータ全体の傾向を読み取ることができない。
【0081】
このような問題を回避するために,従来手法では,新しいデータが投入された時点で学習を最初からやり直す必要があったが,データD1のように,学習済みの自己組織化マップにすでに存在する傾向のデータが入力された場合には,再学習を行うことは無駄な処理となってしまう。
【0082】
本実施形態では,上記実施例において説明したように,新たに入力されたデータの特徴ベクトルと,すでに学習された,あるいは学習途中の自己組織化マップM上で最も適合する参照ベクトルとの類似度に応じて学習係数を修正し,学習の度合いを制御することにより,新たなデータの傾向を読み取ることが可能となる。また,すでに学習済みのデータについては,類似度比較部140および学習係数修正部150による処理を省略することから,処理効率もよくなる。
【0083】
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
【0084】
例えば,上記実施形態において,類似度比較部140は,学習係数記憶部185が記憶する類似度の閾値に基づいて学習係数の修正を行うか否かを判断したが,本発明はかかる例に限定されず,例えば,数式などで多段に比較する値を決定することもできる。例えば,収束回数であれば,以下の数式2を用いて決定することができる。
【数1】

・・・(数式2)
(ここで,Nは収束回数,nは任意の正数である。)
数式2では,類似度が低いほど,再度収束するまでの回数が多くなるように学習回数を設定することができる。ここで,nの値は,最適な結果が得られるように実験的に決定されるパラメータである。また,学習するセルの半径,学習の重みも数式2と同様の式で表すことができる。なお,上記数式は学習係数を決定するための一例であり,本発明はかかる例に限定されない。
【産業上の利用可能性】
【0085】
本発明は,データ分析装置およびデータ分析方法に適用可能であり,特に自己組織化マップを用いたデータ分析装置およびデータ分析方法に適用可能である。例えばデータ群の分類など,データ群の傾向を自動的に分析する必要のあるシステムにおいて適用することができる。特に,データ群の傾向の学習を終了した後に,あるいは学習の途中で新たなデータが入力されることを前提としたシステムにおいて,システムを新しいデータに出現した傾向に適応させるために用いることができる。
【図面の簡単な説明】
【0086】
【図1】本発明の実施形態にかかるデータ分析装置の構成を示すブロック図である。
【図2】同実施形態にかかるデータ分析方法を示すフローチャートである。
【図3】同実施形態にかかる学習部による学習処理を示すフローチャートである。
【図4A】データD1が入力された場合の処理フローを示す。
【図4B】データD2が入力された場合の処理フローを示す。
【図5】自己組織化マップのセルの配置例を示す説明図である。
【図6】自己組織化マップの学習対象セルの範囲を示す説明図である。
【図7】参照ベクトルの例を示す表である。
【図8】自己組織化ネットワークの一例を示す概念図である。
【図9】自己組織化マップの学習アルゴリズムの一例を示すフローチャートである。
【符号の説明】
【0087】
100 データ分析装置
110 入力部
120 制御部
130 最適セル決定部
140 類似度比較部
150 学習係数修正部
160 学習部
181 データ記憶部
183 参照ベクトル記憶部
185 学習係数記憶部

【特許請求の範囲】
【請求項1】
複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部と;
前記参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部と;
複数の特徴量からなる特徴ベクトルを含む入力データが入力されるデータ入力部と;
前記参照ベクトル記憶部を参照して,前記各セルの前記参照ベクトルと前記入力データの前記特徴ベクトルとの類似度をそれぞれ算出し,前記入力データの前記特徴ベクトルと最も類似する前記参照ベクトルを含む前記セルを最適セルとして決定する最適セル決定部と;
前記最適セル決定部により算出された前記最適セルと前記入力データとの類似度と,前記類似度の大小を判断するための閾値とを比較する類似度比較部と;
前記類似度に基づいて,前記学習係数記憶部に記憶された前記学習係数を修正する学習係数修正部と;
前記学習係数と前記最適セルに基づいて,前記複数のセルのうち学習対象セルを決定し,前記学習係数に基づいて,前記学習対象セルの前記参照ベクトルの学習を実行する学習部と;
を備えることを特徴とする,データ分析装置。
【請求項2】
前記類似度比較部により比較された前記類似度が前記閾値より低い場合,
前記学習係数修正部は,前記類似度に基づいて,前記学習係数記憶部に記憶された前記学習係数を,前記参照ベクトルの学習が収束していない状態に適した学習係数に修正することを特徴とする,請求項1に記載のデータ分析装置。
【請求項3】
前記類似度比較部により比較された前記類似度が前記閾値より低いと一定の回数以上判定された場合に,
前記学習係数修正部は,前記類似度に基づいて前記学習係数記憶部に記憶された前記学習係数を修正することを特徴とする,請求項1または2に記載のデータ分析装置。
【請求項4】
前記学習部は,前記データ入力部により一定期間に入力された前記入力データ,または一定個数の前記入力データの特徴ベクトルを,前記参照ベクトルの学習に用いることを特徴とする,請求項1〜3のいずれかに記載のデータ分析装置。
【請求項5】
前記最適セル決定部に入力された前記入力データの入力回数に応じて,前記学習係数修正部により,前記学習係数記憶部に記憶された前記学習係数を修正するか否かを決定する制御部をさらに備えることを特徴とする,請求項1〜4のいずれかに記載のデータ分析装置。
【請求項6】
複数の特徴量からなる特徴ベクトルを含む入力データを入力する入力ステップと;
複数の特徴量からなる参照ベクトルをそれぞれ含む複数のセルが配列されてなる自己組織化マップを記憶する参照ベクトル記憶部を参照して,前記各セルの前記参照ベクトルと前記入力データの前記特徴ベクトルとの類似度をそれぞれ算出し,前記入力データの前記特徴ベクトルと最も類似する前記参照ベクトルを含む前記セルを最適セルとして決定する最適セル決定ステップと;
前記最適セル決定ステップにおいて算出された前記最適セルと前記入力データとの類似度と,前記類似度の大小を判断するための閾値とを比較する類似度比較ステップと;
前記類似度に基づいて,前記参照ベクトルの学習処理に用いられる学習係数を記憶する学習係数記憶部に記憶された前記学習係数を修正する学習係数修正ステップと;
前記学習係数と前記最適セルに基づいて,前記複数のセルのうち学習対象セルを決定し,前記学習係数に基づいて,前記学習対象セルの前記参照ベクトルを学習する学習ステップと;
を含むことを特徴とする,データ分析方法。
【請求項7】
前記類似度比較ステップにおいて,前記類似度が前記閾値より低いと判定された場合,
前記学習係数修正ステップにおいて,前記類似度に基づいて,前記学習係数記憶部に記憶された前記学習係数を,前記参照ベクトルの学習が収束していない状態に適した学習係数に修正することを特徴とする,請求項6に記載のデータ分析方法。
【請求項8】
前記類似度比較ステップにおいて,前記類似度が前記閾値より低いと一定の回数以上判定された場合に,
前記学習係数修正ステップにおいて,前記類似度に基づいて,前記学習係数記憶部に記憶された前記学習係数を修正することを特徴とする,請求項6または7に記載のデータ分析方法。
【請求項9】
前記学習ステップにおいて,前記データ入力部により一定期間に入力された前記入力データ,または一定個数の前記入力データの特徴ベクトルを,前記参照ベクトルの学習に用いることを特徴とする,請求項6〜8のいずれかに記載のデータ分析方法。
【請求項10】
前記入力データの入力回数に応じて,前記類似度比較ステップおよび前記学習係数修正ステップを実行するか否かを決定する制御ステップをさらに備えることを特徴とする,請求項6〜9のいずれかに記載のデータ分析方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−241895(P2007−241895A)
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願番号】特願2006−66619(P2006−66619)
【出願日】平成18年3月10日(2006.3.10)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】