説明

次元圧縮装置、次元圧縮方法及び次元圧縮プログラム

【課題】高い近似計算の精度を維持しつつ、より計算コストが小さく、計算時間の増加を抑えた次元圧縮装置、次元圧縮方法及び次元圧縮プログラムを提供する。
【解決手段】ランダム系列の巡回行列又は逆巡回行列をランダム行列として採用する次元圧縮装置とする。また、擬似白色雑音ベクトル処理部と、データサンプルベクトル処理部と、乗算部と、を有する次元圧縮装置とする。なおこの場合において、擬似白色雑音ベクトル処理部は、擬似白色雑音ベクトルnを作成し、疑似白色雑音ベクトルnに対し前処理を行いベクトルrを作成し、ベクトルrに高速フーリエ変換を施しベクトルsを作成するようにすることが好ましい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、次元圧縮装置、次元圧縮方法及び次元圧縮プログラムに関する。
【背景技術】
【0002】
一般的な大規模データベースの多くは、大量のサンプル(例えば文書や画像)を蓄積したものであり、類似したサンプルの検索や分類のため、属性と呼ばれる数値(例えば文書の単語の出願頻度や画像の特徴量・画素値及び付加情報)の集合で各サンプルを表すことが多い。属性を成分とするベクトルで各サンプルを表し、ベクトルの内積やノルム等を利用した類似度計算や統計的な処理が必要とされる。
【0003】
しかしながら、実用上このベクトルの次元数(例えば辞書の単語数、画像の画素数等)は非常に高く、高次元に起因する検索効率等の低下は次元の呪いとして知られている。そこで、次元圧縮又は次元削減(本明細書では単に「次元圧縮」と表現する。)と呼ばれる技術による低次元化によって計算の効率化が図られている。
【0004】
ところで上記次元圧縮に関する技術の一つとしてランダム射影が知られている。ここで「ランダム射影」とは、ランダムな要素を持つ行列によって高次元ベクトルを低次元ベクトルに線形射影することをいう。公知のランダム射影に関する技術は、例えば下記非特許文献1、2に記載されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】S.S.Vempala,The Random Projection Method,Volume65 of Series in Discrete Mathematics and Theoretical Computer Science,American Mathematical Society,2004
【非特許文献2】D.Achlioptas,Database−friendly random projections: Johnson−Lindenstrauss with binary coins,Journal of Computer and System Sciences,66:671−687,2003
【非特許文献3】渡邉達也、瀧本英二、丸岡章,ランダムプロジェクションによる次元圧縮,信学技報COMP2001−92,pp.73−79,電子情報通信学会,2002
【非特許文献4】大内浩仁、三浦孝夫、塩谷勇,ランダムプロジェクションを用いたニュースストリームの検索,日本データベース学会論文誌(DBSJ Letters),Vol.3,No.3,pp.1−4,2004
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記非特許文献により例示されるランダム射影では、射影前後の次元の積のサイズのランダム行列を生成して記憶する必要があり、ランダム行列によるベクトル射影に必要な計算コストが大きくなってしまうといった課題がある。例えば100万次元、8000次元の場合、単精度でも約32GBの記憶領域を要し、その記憶領域は非現実的である。また、ランダム射影に必要な計算時間も射影前後の次元数の積に比例し、近似計算の精度を高めるために射影後の次元数を高くすると計算時間の増加を招いてしまう。
【0007】
そこで、本発明は、上記課題を鑑み、高い近似計算の精度を維持しつつ、より計算コストが小さく、計算時間の増加を抑えた次元圧縮装置、次元圧縮方法及び次元圧縮プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題について本発明者らが鋭意検討を行ったところ、ランダム系列の巡回行列又は逆巡回行列をランダム行列として採用することで上記課題を解決することができる点に想到し、本発明を完成させるに至った。
【0009】
即ち、本発明の一観点に係る次元圧縮装置は、ランダム系列の巡回行列又は逆巡回行列をランダム行列として採用する。
【0010】
また本発明のための一観点に係る次元圧縮装置は、擬似白色雑音ベクトル処理部と、データサンプルベクトル処理部と、乗算部と、を有する。
【発明の効果】
【0011】
以上本発明は、高い近似計算の精度を維持しつつ、より計算コストが小さく、計算時間の増加を抑えた次元圧縮装置、次元圧縮方法及び次元圧縮プログラムとなる。
【図面の簡単な説明】
【0012】
【図1】実施形態に係る機能ブロックを示す図である。
【図2】擬似白色雑音処理部における処理のフローを示す図である。
【図3】擬似処理雑音処理部における前処理のフローを示す図である。
【図4】データサンプルベクトル処理のフローを示す図である。
【図5】乗算部4の処理について示す図である。
【図6】ベクトルr、巡回行列R、ベクトルb、対角行列Bを示す図である。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施形態について図面を参照しつつ説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、以下に示す実施形態に限定されるものではない。
【0014】
(実施形態1)
図1は、本実施形態に係る次元圧縮装置の機能ブロックを示す図である。本図で示すように本実施形態に係る次元圧縮装置1は、擬似白色雑音ベクトル処理部2と、データサンプルベクトル処理部3と、乗算部4と、を有する。本実施形態に係る次元圧縮装置1は、様々な形で実現可能であり、例えばいわゆるコンピュータのハードディスク等の記録媒体に実行されることで上記各部として機能させるためのコンピュータプログラムを格納させ、これを実行させることで実現することができる。また特に、インターネット上のサーバーの記録媒体にこのプログラムを格納させ、実行することでも実現できる。
【0015】
擬似白色雑音ベクトル処理部2は、擬似白色雑音ベクトルの作成及び処理を行なうための部であって、限定されるわけではないが、具体的にはD次元(Dは正数)の疑似白色雑音ベクトルnを作成し(S21)、この疑似白色雑音ベクトルnに対し前処理を行いベクトルrを作成し(S22)、このベクトルrに高速フーリエ変換を施し(S23)ベクトルsを作成する。ここで「擬似白色雑音ベクトル」とは、成分の期待値と相互相関がゼロで、自己相関が定数であるベクトルをいう。また、この高速フーリエ変換が施された後のベクトルsは、ハードディスク等の記憶領域に記録される。なお、本実施形態に係る擬似白色雑音ベクトル処理部2においては、広く実用されている高速フーリエ変換を用いているが、
整数演算のため専用演算装置をシンプルに実装できる高速ウォルシュ・アダマール変換を利用することも可能である。また、上記いずれの変換において、高速でない場合であっても、計算時間が増大するものの巨大な行列を確保することなくランダム射影できるといった利点が残る。図2に、擬似白色雑音ベクトル処理部の処理のフローについて示す。
【0016】
ここで前処理(S22)とは、本実施形態で圧縮したベクトルを用いた近似計算の精度を改善するために擬似白色雑音ベクトルに施す事前の処理であって、本発明の適用対象に応じて省略可能であるが、一般的には正規化処理を含むことが好ましく、より好ましくは、例えば図3で示すように、平均値除去処理(S221)、第一の正規化処理(S222)、バイアス処理(S223)、第二の正規化処理(S224)を行うことが好ましい。
【0017】
ここで平均値除去処理(S221)は、ベクトルの成分の平均値が0となるよう各成分から平均値を除去する処理をいう。また第一の正規化処理(S222)は、ベクトルの二乗ノルムが1になるように行う正規化処理をいう。またバイアス処理(S223)は、ベクトルの各成分にDの平方根の逆数を加算する処理をいう。そして第二の正規化処理(S224)は、ベクトルの二乗ノルムがD/Kとなるように行う正規化処理をいう。なおここでKは、射影後の次元数をいう。
【0018】
また、本実施形態においてデータサンプルベクトル処理部3は、データサンプルに対して処理を行うための部であり、データサンプルを表す入力ベクトルxに対し、拡散符号bとの乗算処理(S31)を行なった後、高速フーリエ変換を行い(S32)、更に複素共役処理を行い(S33)、ベクトルzを作成する。なおここで「拡散符号」とは、データサンプルを表す入力ベクトルxと同じ長さのベクトルであって、±1の乱数を要素とするものをいう。図4に、データサンプルベクトル処理部3の処理について示す。
【0019】
また本実施形態において乗算部4は、上記擬似白色雑音ベクトル部2が作成したベクトルsと、上記データサンプル処理部3が作成したベクトルzを成分ごとに乗算し(S41)、高速逆フーリエ変換を行い(S42)、出力ベクトルyを作成する。そして、このベクトルyから任意にK個の成分を抽出すれば、ベクトルxをランダム射影したK次元ベクトルを得ることができる。図5に、乗算部4の処理について示す。
【0020】
ところで、図6で示すように、上記D次元のベクトルrを左に巡回して構築した行列(巡回行列)をR、D次元ベクトルbを要素にもつ対角行列をBとすると、出力ベクトルyは入力ベクトルxを行列BとRで射影したD次元ベクトルに等しい。なお、本実施形態の説明では左に巡回して構築した行列を用いているが、上記データサンプルベクトル処理部3における複素共役処理を省略した場合は、右に巡回した行列によるランダム射影となる。巡回の方向は右であっても左であっても良い。
【0021】
本次元圧縮装置は、白色雑音の性質から、前処理後のベクトルrとこれを巡回させたベクトルが無相関となる。ゆえに、行列Rから任意にK本の行ベクトルを取り出すと、サイズがK×Dのランダム行列となる。この原理によって、本実施形態に係る次元圧縮装置は従来のランダム射影に類似した性質を持つ次元圧縮を実現している。実用上は、ベクトルnの成分として疑似乱数や無相関な符号{−1,+1}、独立同型分布とみなせる数列等を使用することができる。また従来技術で用いられるランダム行列の任意の1行をベクトルnとして使用することができる。
【0022】
以上、本実施形態に係る次元圧縮装置は、ランダム射影で数理的に保証された近似精度について大きな犠牲を払うことなく高い近似計算の精度を維持することができ、更にランダム行列の記憶領域を大きく削減することが可能となり、従来はほぼ不可能であった規模の高次元データにランダム射影を適用することが可能となり、高い近似計算の精度を維持しつつ、より計算コストが小さく、計算時間の増加を抑えた次元圧縮装置、次元圧縮方法及び次元圧縮プログラムを提供することができるようになる。
【産業上の利用可能性】
【0023】
本次元圧縮装置、次元圧縮方法及び次元圧縮プログラムは、大量のサンプルを蓄積したデータベースにおける類似したサンプルの検索や分類に用いることが可能であり、産業上の利用可能性がある。
【符号の説明】
【0024】
1…次元圧縮装置、2…擬似白色雑音ベクトル処理部、3…データサンプルベクトル処理部、4…乗算部


【特許請求の範囲】
【請求項1】
ランダム系列の巡回行列又は逆巡回行列をランダム行列として採用する次元圧縮装置。
【請求項2】
擬似白色雑音ベクトル処理部と、
データサンプルベクトル処理部と、
乗算部と、を有する次元圧縮装置。
【請求項3】
前記擬似白色雑音ベクトル処理部は、擬似白色雑音ベクトルnを作成し、前記疑似白色雑音ベクトルnに対し前処理を行いベクトルrを作成し、前記ベクトルrに高速フーリエ変換を施しベクトルsを作成する請求項2記載の次元圧縮装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−77958(P2011−77958A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−229087(P2009−229087)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(304021831)国立大学法人 千葉大学 (601)
【Fターム(参考)】