(57)【特許請求の範囲】
【請求項１】
学習用の特徴量ベクトルから１つ以上の特徴量ベクトルをサンプル組としてランダムに選択し、
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから、前記サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均に基づいて、いずれかの特徴量ベクトルを基準ベクトルとして選択し、
前記学習用の特徴量ベクトルのうち、前記基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、前記選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて、特徴量ベクトル空間を分割する超平面を学習する
処理を情報処理装置が実行することを特徴とする学習方法。
【請求項２】
前記サンプル組に含まれる各特徴量ベクトルと前記基準ベクトルとをそれぞれ組み合わせた特徴量ベクトルのペアを用いて前記超平面を学習することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記学習用の特徴量ベクトルのうち、前記基準ベクトルとは異なるラベルが付与された特徴量ベクトルであって、当該基準ベクトルとの距離が最も近い特徴量ベクトルと、当該基準ベクトルとのペアを用いて前記超平面を学習することを特徴とする請求項１に記載の学習方法。
【請求項４】
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した各距離について重み付けを考慮した一般化平均を算出し、
前記算出した一般化平均が最小となる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項１〜３のいずれか１つに記載の学習方法。
【請求項５】
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した各距離について重み付けを考慮した一般化平均を算出し、
前記算出した一般化平均の値が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項１〜３のいずれか１つに記載の学習方法。
【請求項６】
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれない各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した距離のうち、付与されたラベルが同じ特徴量ベクトル同士の距離については、符号を反転させて前記算出した各距離について重み付けを考慮した算術平均を算出し、
前記算出した一般化平均が最小となる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項１〜３のいずれか１つに記載の学習方法。
【請求項７】
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれない各特徴量ベクトルについて、前記サンプル組に含まれる各特徴量ベクトルとの距離をそれぞれ算出し、
前記算出した距離のうち、付与されたラベルが同じ特徴量ベクトル同士の距離については符号を反転させて、前記算出した各距離について重み付けを考慮した算術平均を算出し、
前記算出した一般化平均の値が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとすることを特徴とする請求項１〜３のいずれか１つに記載の学習方法。
【請求項８】
学習用の特徴量ベクトルから、１つ以上の特徴量ベクトルをサンプル組としてランダムに選択する第１の選択部と、
前記学習用の特徴量ベクトルのうち、前記第１の選択部が選択したサンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから、前記サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均に基づいて、いずれかの特徴量ベクトルを基準ベクトルとして選択する第２の選択部と、
前記学習用の特徴量ベクトルのうち、前記第２の選択部が選択した基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、前記第２の選択部が選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて特徴量ベクトル空間を分割する超平面を学習する学習部と
を有することを特徴とする情報処理装置。
【請求項９】
特徴量ベクトル空間を分割する超平面を学習するコンピュータに
学習用の特徴量ベクトルから１つ以上の特徴量ベクトルをサンプル組としてランダムに選択し、
前記学習用の特徴量ベクトルのうち、前記サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから、前記サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均に基づいて、いずれかの特徴量ベクトルを基準ベクトルとして選択し、
前記学習用の特徴量ベクトルのうち、前記基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、前記選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて前記超平面を学習する
処理を実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法、情報処理装置および学習プログラムに関する。
【背景技術】
【０００２】
従来、指紋、画像、音声などのデータの特徴を示す特徴量ベクトルを用いて類似するデータを検索する際に、厳密性を緩和することで、検索処理を高速化する技術が知られている。このような技術の一例として、特徴量ベクトル間の距離関係を保持したまま特徴量ベクトルをバイナリ列に変換し、バイナリ列同士のハミング距離を計算することで、計算コストを削減する方法が知られている。【０００３】
また、特徴量ベクトル間の距離関係を保持しつつ特徴量ベクトルをバイナリ列に変換する手法の一例として、ＬＳＨ（Locality-Sensitive  Hashing）の技術が知られている。例えば、情報処理装置は、特徴量ベクトル空間を分割する複数の超平面を設定し、各超平面の法線ベクトルと特徴量ベクトルとの内積がそれぞれ正であるか負であるかを示すバイナリ列に特徴量ベクトルを変換する。すなわち、情報処理装置は、超平面を用いて特徴量ベクトル空間を複数の領域に分割し、分割された領域のうちどの領域に特徴量ベクトルが属するかを示すバイナリ列に特徴量ベクトルを変換する。【０００４】
ここで、データの登録を行った個人を特定するＩＤ等、各データに類似性を示すラベルが付与される場合は、新たに登録されるデータの分類を容易にするため、各データをラベルごとに分類する超平面を設定するのが望ましい。このため、異なるラベルが付与されたデータペアを用いて、各データをラベルごとに分類する超平面の組を学習する技術が知られている。【０００５】
例えば、情報処理装置は、１つの特徴量ベクトルを基準ベクトルとして無作為に選択し、基準ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、基準ベクトルに最も類似する特徴量ベクトルを選択する。そして、情報処理装置は、選択した２つの特徴量ベクトルを分割する超平面を学習することで、異なるラベルが付与されたデータ同士の境界付近に超平面を設定する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】M.  Datar,  N.  Immorlica,  P.  Indyk,  V.  S.  Mirrokni:  Locality-Sensitive  Hashing  Scheme  Based  on  p-Stable  Distributions,  Proceedings  of  the  twentieth  annual  symposium  on  Computational  geometry  (SCG  2004)
【非特許文献２】M.  Norouzi  and  D.  Fleet:  Minimal  Loss  hashing  for  compact  binary  codes,  Proceedings  of  the  28th  International  Conference  on  Machine  Learning  (ICML  '11)
【非特許文献３】Ran  Gilad-Bachrachy  Amir  Navotz  Naftali  Tishbyy:  Margin  Based  Feature  Selection  -  Theory  and  Algorithms  (ICML  2004)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上述した超平面を学習する技術では、無作為に選択した基準ベクトルと、基準ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、基準ベクトルに最も類似する特徴量ベクトルとを分割する超平面を学習する。この結果、特徴量ベクトルを大局的に分類する超平面を学習できないという問題がある。【０００８】
例えば、基準ベクトルと同じラベルをもつデータ全てからなるグループを基準グループとする。すると、情報処理装置は、基準グループに含まれるデータとは異なるラベルが付与されたデータからなるグループのうち、基準集合に隣接するグループと基準グループとを局所的に分類する超平面を学習する。しかしながら、基準グループに含まれるデータとは異なるラベルが付与されたデータからなるグループが他にも存在する場合は、特徴量ベクトル空間をより大局的に分割することで、多くのグループを分類する超平面を学習するのが望ましい。【０００９】
１つの側面では、本発明は、大局的にデータの分類を行う超平面を学習することを目的とする。
【課題を解決するための手段】
【００１０】
１つの側面では、特徴量ベクトル空間を分割する超平面を学習する情報処理装置である。情報処理装置は、学習用の特徴量ベクトルから１つ以上の特徴量ベクトルをサンプル組としてランダムに選択する。また、情報処理装置は、サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルであって、サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報処理装置は、学習用の特徴量ベクトルのうち、基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、選択した基準ベクトルとを組み合わせた特徴量ベクトルのペアを用いて超平面を学習する。
【発明の効果】
【００１１】
１つの側面では、大局的にデータの分類を行う超平面を学習することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る検索システムを説明するための図である。
【図２】図２は、生体認証の一例を説明するための図である。
【図３】図３は、大局的な超平面を説明するための図である。
【図４】図４は、大局的な超平面を設定する処理を説明するための図である。
【図５】図５は、学習データ記憶部が記憶するデータの一例を説明するための図である。
【図６】図６は、情報変換装置が実行する処理の流れを説明するためのフローチャートである。
【図７】図７は、負例ペアを生成するバリエーションを説明するための第１の図である。
【図８】図８は、負例ペアを生成するバリエーションを説明するための第２の図である。
【図９】図９は、データ集合の境界付近に超平面を設定する処理の流れを説明するためのフローチャートである。
【図１０】図１０は、超平面を設定する処理のバリエーションを説明するための第１のフローチャートである。
【図１１】図１１は、超平面を設定する処理のバリエーションを説明するための第２のフローチャートである。
【図１２】図１２は、超平面を設定する処理のバリエーションを説明するための第３のフローチャートである。
【図１３】図１３は、学習プログラムを実行するコンピュータの一例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して本願に係る学習方法、情報処理装置および学習プログラムについて説明する。
【実施例１】
【００１４】
以下の実施例１では、図１を用いて、学習方法を実行する検索システムの一例を説明する。図１は、実施例１に係る検索システムを説明するための図である。図１に示すように、検索システム１は、クライアント装置２、情報変換装置１０、情報検索装置２０を有する。【００１５】
また、情報変換装置１０は、学習データ記憶部１１、サンプル組選択部１２、基準ベクトル選択部１３、データ対生成部１４、超平面学習部１５を有する。また、情報検索装置２０は、検索対象データベース記憶部２１、バイナリ変換部２３、バイナリデータベース記憶部２２、検索処理部２４を有する。【００１６】
図１に示す検索システム１は、クライアント装置２からクエリデータを受信すると、検索対象データベース記憶部２１から、クエリデータの近傍データを検索する。そして、検索システム１は、クエリデータの近傍に類似するデータが登録されているか否かをクライアント装置２へ通知する。具体的には、検索システム１は、情報変換装置１０が生成した変換行列を用いて、情報検索装置２０が検索対象となるデータをバイナリ列に変換し、変換後のバイナリ列を用いて、クエリデータの近傍データを検索する。【００１７】
ここで、検索システム１が検索対象とするデータは、例えば、画像や音声などのデータであり、指紋のパターンや静脈のパターンを用いた生体認証における生体データである。すなわち、検索システム１は、クライアント装置２に入力された利用者の生体データをクエリデータとして受信すると、利用者の生体データが登録されているか否かを判別する。【００１８】
なお、画像や音声の特徴量は様々なものが提案されているが、検索システム１は、特定の特徴量に依存するものではないため、任意の特徴量を用いることができる。例えば、画像の特徴量として一般的に用いられているＳＩＦＴ特徴量やＳＵＲＦ特徴量などを用いることもできる。これらの特徴量は画像中の局所的な情報を特徴量ベクトルとして用いることで、隠れや変動に対してロバストな特徴量であることが知られているが、このような特徴量を示す任意の形式の特徴量ベクトルを用いてよい。【００１９】
図２は、生体認証の一例を説明するための図である。なお、図２に示す例では、利用者のＩＤ（Identification）等の情報が入力されず、利用者のＩＤを用いた生体データの絞込みを行わないＩＤレスの１：Ｎ認証における処理を示す。図２に示すように、検索システム１は、複数の利用者が登録した登録生体データを複数記憶する。【００２０】
そして、検索システム１は、クライアント装置２からクエリデータとして、生体データを受信すると、入力された生体データの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルと類似する特徴量ベクトルを有する登録生体データを検索する。すなわち、検索システム１は、クエリデータを入力した利用者の登録生体データが登録されているか否かを判別する。【００２１】
また、検索システム１は、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換行列を生成し、生成した変換行列を用いて、登録生体データの特徴量ベクトルをバイナリ列に変換する。また、検索システム１は、クエリデータとして入力された生体データにおける特徴量ベクトルを所定のビット長のバイナリ列に変換し、登録生体データの特徴量ベクトルを変換したバイナリ列とのハミング距離を算出する。【００２２】
そして、検索システム１は、ハミング距離が所定の閾値以下となる登録生体データを検索対象の候補として抽出する。その後、情報検索装置１は、検索した登録生体データとクエリデータとして入力された生体データとの厳密なマッチング処理を実行し、実行結果をクライアント装置２に出力する。【００２３】
なお、入力された生体データや登録生体データが画像である場合には、特徴量ベクトルは、例えば、画像中の特定領域における隆線の方向や長さ、勾配、隆線の終端や分岐などの特徴的な点の密度や座標の数値をベクトル化したものとなる。また、入力された生体データや登録生体データが音声である場合には、特徴量ベクトルは、例えば、周波数成分の分布、強度、ピーク値などの数値をベクトル化したものとなる。【００２４】
以下、情報変換装置１０が実行する処理、および情報検索装置２０が実行する処理について説明する。図１に戻り、情報変換装置１０は、学習データ記憶部１１が記憶する学習データを用いて、特徴量ベクトルを所定のビット長のバイナリ列に変換する変換行列を生成し、生成した変換行列を情報検索装置２０に通知する。【００２５】
ここで、変換行列とは、特徴量ベクトル空間を複数の領域に分割する超平面の法線ベクトルを行成分として有する行列であり、情報検索装置２０が特徴量ベクトルをバイナリ列に変換する際に用いる行列である。例えば、情報検索装置２０は、変換行列と特徴量ベクトルとの積を算出する。そして、情報検索装置２０は、算出した積の各成分について、値が正であるか負であるかを判別し、正の値である場合は「１」、負の値である場合は「０」としたバイナリ列を生成する。つまり、情報検索装置２０は、変換行列を用いて、各特徴量ベクトルが、超平面によって複数の領域に分割された特徴量ベクトル空間のうち、どの領域に属しているかを示すバイナリ列に特徴量ベクトルを変換する。【００２６】
ここで、新たに登録されるデータの分類を容易にするため、各データをラベルごとに分類する超平面を設定するのが望ましい。このため、情報変換装置１０は、学習データ記憶部１１が記憶する特徴量ベクトルから、同じラベルが付与された特徴量ベクトルの組である正例ペアと、異なるラベルが付与された特徴量ベクトルの組である負例ペアとを生成する。そして、情報変換装置１０は、生成した正例ペアと負例ペアとを用いて、設定した複数の超平面を同時に評価することで、超平面を最適化する。【００２７】
また、各特徴量ベクトルに付与されるラベルの種類が複数存在する場合は、多くのラベルを分類する大局的な超平面を設定するのが望ましい。例えば、図３は、大局的な超平面を説明するための図である。なお、図３に示す例では、各特徴量ベクトルを丸印、もしくは三角印で示し、同一のラベルが付与された特徴量ベクトルの集合、すなわちデータ集合をそれぞれ点線で囲んだ。【００２８】
例えば、従来の技術では、図３中（Ａ）に示す特徴量ベクトルと、図３中（Ａ）とは異なるラベルが付与された特徴量ベクトルのうち、図３中（Ａ）に示す特徴量ベクトルと最も類似する特徴量ベクトル（Ｂ）とを負例ペアとして超平面を学習する。この結果、従来の技術では、図３中（Ｃ）に示すように、図３中（Ａ）に示す特徴量ベクトルを含むデータ集合と、図３中（Ｂ）に示す特徴量ベクトルを含むデータ集合との境界付近に超平面を設定する。【００２９】
しかしながら、図３に示すように、それぞれ異なるラベルが付与されたデータ集合が他にも存在する場合は、図３中（Ｄ）で示すように、大局的な分類を行う超平面を設定するのが望ましい。すなわち、特徴量ベクトルを変換したバイナリ列の各ビットは、特徴量ベクトルが各超平面のどちら側に位置するかを示す情報である。このため、それぞれ異なるラベルが付与された１００組のデータ集合が存在する場合は、１組のデータ集合と他の９９組とを分類する超平面よりも、５０組のデータ集合と他の５０組とを大局的に分類する超平面の方がより有用な超平面である。【００３０】
そこで、情報変換装置１０は、学習データ記憶部１１が記憶する特徴量ベクトルから、複数の特徴量ベクトルをサンプル組としてランダムに選択する。次に、情報変換装置１０は、学習データ記憶部１１が記憶する特徴量ベクトルのうち、サンプル組に含まれる各特徴長ベクトルとは異なるラベルが付与された特徴量ベクトルを識別する。そして、情報変換装置１０は、識別した特徴量ベクトルごとに、サンプル組に含まれる特徴量ベクトルとの距離をそれぞれ算出し、重み付きを考慮して、算出した距離の一般化平均を算出する。その後、情報変換装置１０は、一般化平均の値が最も小さい特徴量ベクトルを特定し、特定した特徴量ベクトルを基準ベクトルとする。【００３１】
また、情報変換装置１０は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルを選択し、選択した特徴量ベクトルと基準ベクトルとを含む負例ペアを生成する。そして、情報変換装置１０は、生成した負例ペアを用いて、超平面の学習を行う。【００３２】
ここで、図４を用いて、情報変換装置１０が実行する処理の一例を説明する。図４は、大局的な超平面を設定する処理を説明するための図である。例えば、情報変換装置１０は、図４中（Ｅ）、（Ｆ）、（Ｇ）に示す特徴量ベクトルをサンプル組として選択する。次に、情報変換装置１０は、図４中（Ｅ）、（Ｆ）、（Ｇ）に示す特徴量ベクトルとは、異なるラベルが付与された特徴量ベクトルを全て識別する。【００３３】
そして、情報変換装置１０は、識別した特徴量ベクトルごとに、図４中（Ｅ）、（Ｆ）、（Ｇ）との距離を算出し、重み付けを考慮して、算出した距離の一般化平均を算出する。例えば、情報変換装置１０は、任意の実数ｍを用いて、各距離のｍ乗の合計をサンプル数に含まれる特徴量ベクトルの数ｎで除算した値のｍ乗根を取った値を算出する。そして、情報変換装置１０は、算出した一般化平均の値が最小となる特徴量ベクトルを基準ベクトルとする。【００３４】
例えば、図４に示す例では、図４中（Ｈ）に示す特徴量ベクトルを基準ベクトルとして算出する。そして、情報変換装置１０は、図４中（Ｈ）に示す基準ベクトルと、他のラベルが付与された特徴量ベクトル、例えば図４中（Ｅ）に示す特徴量とを負例ペアとして選択する。この結果、情報変換装置１０は、一般化平均を算出する際に使用する重みにもよるが、全特徴量ベクトルからランダムに選択したサンプル組によって、データ集合の境界線よりも全特徴量ベクトルの重心方向に引かれた基準ベクトルを選択する。そして、情報変換装置１０は、基準ベクトルを含む負例ペアを用いて超平面を設定するので、大局的にデータの分類を行う超平面を設定することができる。【００３５】
なお、情報変換装置１０は、任意の手法を用いて、超平面の学習を行うことができる。例えば、情報変換装置１０は、正例ペアに含まれる特徴量ベクトルを分割せず、負例ペアに含まれる特徴量ベクトルを分割するように、超平面を最適化することで超平面を学習してもよい。【００３６】
次に、図１に戻って、情報変換装置１０が有する学習データ記憶部１１、サンプル組選択部１２、基準ベクトル選択部１３、データ対生成部１４、超平面学習部１５が実行する処理について説明する。学習データ記憶部１１は、情報変換装置が超平面を学習するための学習データを記憶する。【００３７】
具体的には、学習データ記憶部１１は、学習データとして、利用者ごとに、複数の特徴量ベクトルを記憶する。ここで、学習データ記憶部１１が記憶する特徴量ベクトルは、後述する検索対象データベース記憶部２１が記憶する特徴量ベクトルの一部である。すなわち、学習データ記憶部１１は、検索システム１に登録された登録生体データの特徴量ベクトルの一部を記憶する。【００３８】
ここで、図５は、学習データ記憶部が記憶するデータの一例を説明するための図である。図５に示すように、学習データ記憶部１１は、データＩＤ（Identification）と特徴量ベクトルとラベルとを対応付けて記憶する。ここで、データＩＤとは、各データに付与されるデータの識別子である。また、ラベルとは、各特徴量ベクトルの類似性を示す情報であり、例えば、各特徴量ベクトルの元となる生体データ等を登録した利用者を示す情報である。【００３９】
例えば、図５に示す例では、学習データ記憶部１１は、データＩＤ「１」で示される特徴量ベクトルであって、ラベル「Ａ」が付与された４０００次元の浮動小数点データ「ａ、ｂ、ｃ…」を記憶する。また、学習データ記憶部１１は、データＩＤ「２」で示される特徴量ベクトルであって、ラベル「Ｂ」が付与された４０００次元の浮動小数点データ「ｄ、ｅ、ｆ…」を記憶する。【００４０】
図１に戻り、サンプル組選択部１２は、学習データ記憶部１１が記憶する特徴量ベクトルから、複数の特徴量ベクトルをランダムに選択する。そして、サンプル組選択部１２は、選択した複数の特徴量ベクトルをサンプル組とし、基準ベクトル選択部１３にサンプル組を通知する。なお、サンプル組選択部１２は、情報変換装置１０が超平面を学習する際に許容される計算量にもよるが、任意の数の特徴量ベクトルをサンプル組として選択することができる。【００４１】
基準ベクトル選択部１３は、サンプル組選択部１２からサンプル組の通知を受信すると、受信したサンプル組に含まれる特徴量ベクトルのラベルを識別する。次に、基準ベクトル選択部１３は、学習データ記憶部１１が記憶する特徴量ベクトルのうち、識別したラベルとは異なるラベルが付与された特徴量ベクトルを抽出する。そして、基準ベクトル選択部１３は、抽出した特徴量ベクトルごとに、以下の処理を実行する。【００４２】
まず、基準ベクトル選択部１３は、抽出した特徴量ベクトルとサンプル組に含まれる各特徴量ベクトルとの距離を算出する。次に、基準ベクトル選択部１３は、算出した距離の一般化平均を算出する。この際、基準ベクトル選択部１３は、各距離に任意の重みを考慮して一般化平均を算出してもよい。【００４３】
そして、基準ベクトル選択部１３は、抽出した特徴量ベクトルのうち、算出した一般化平均が最小となる特徴量ベクトルを特定する。そして、基準ベクトル選択部１３は、特定した特徴量ベクトルを基準ベクトルとしてデータ対生成部１４に通知する。なお、負例ペアの生成を容易にするため、基準ベクトル選択部１３は、サンプル組に含まれる特徴量ベクトルも、データ対生成部１４に通知する。【００４４】
データ対生成部１４は、基準ベクトル選択部１３から基準ベクトルの通知を受信すると、受信した基準ベクトルを含む負例ペアを生成し、生成した負例ペアを超平面学習部１５に通知する。例えば、データ対生成部１４は、基準ベクトルとサンプル組に含まれる特徴量ベクトルとをそれぞれ組み合わせた負例ペアを生成する。また、データ対生成部１４は、基準ベクトルと同じラベルが付与された特徴量ベクトルを学習データ記憶部１１からランダムに選択し、選択した特徴量ベクトルと基準ベクトルとを対応付けた正例ペアを生成する。そして、データ対生成部１４は、生成した正例ペア、および負例ペアを超平面学習部１５に通知する。【００４５】
なお、データ対生成部１４は、基準ベクトルを含む負例ペアであれば、任意の手法を用いて負例ペアを生成してよい。例えば、データ対生成部１４は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、最近傍の特徴量ベクトル（最も類似する特徴量ベクトル）を選択し、選択した特徴量ベクトルと基準ベクトルとを含む負例ペアを生成してもよい。【００４６】
また、データ対生成部１４は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルをランダムに選択し、選択した特徴量ベクトルと基準ベクトルとを含む負例ペアを生成してもよい。また、データ対生成部１４は、サンプル組に含まれる特徴量ベクトルから、距離の一般化平均を算出する際に用いた重みの値が大きい順に所定の数の特徴量ベクトルを選択し、選択した各特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成してもよい。【００４７】
超平面学習部１５は、データ対生成部１４から受信した正例ペア、および負例ペアを用いて、最適化された超平面を学習する。例えば、超平面学習部１５は、データ対生成部１４から正例ペア、および負例ペアを受信する。また、超平面学習部１５は、ランダムに設定した超平面によって異なる領域に分割されなかった正例ペアの数と、超平面によって異なる領域に分割された負例ペアの数との和を評価値とする。【００４８】
そして、超平面学習部１５は、所定のアルゴリズム、たとえば超平面の位置をランダムに変更して評価値の値を再度算出する。このような処理を所定の回数だけ繰り返し実行した後、超平面学習部１５は、最も評価値の値が高かった超平面を最適化された超平面とする。その後、超平面学習部１５は、最適化された超平面の法線ベクトルを各行ベクトルとする行列、すなわち変換行列を生成し、生成した変換行列をバイナリ変換部２３に通知する。【００４９】
次に、情報検索装置２０が実行する処理について説明する。検索対象データベース記憶部２１は、検索対象となるデータ、すなわち、登録生体データの特徴量ベクトルを記憶する。具体的には、検索対象データベース記憶部２１は、学習データ記憶部１１と同様のデータを記憶する。なお、検索対象データベース記憶部２１は、学習データ記憶部１１が記憶するデータを含む、より多くのデータを記憶しても良い。【００５０】
また、バイナリデータベース記憶部２２は、所定の変換行列を用いて特徴量ベクトルを変換したバイナリ記号と、変換前のデータＩＤとを対応付けて記憶する。【００５１】
図１に戻って、バイナリ変換部２３は、情報変換装置１０の超平面学習部１５から変換行列を受信した場合は、受信した変換行列を用いて、検索対象データベース記憶部２１が記憶する特徴量ベクトルをバイナリ列に変換する。そして、バイナリ変換部２３は、変換後のバイナリ列を、変換元の特徴量ベクトルと対応付けられたデータＩＤと対応付けて、バイナリデータベース記憶部２２に格納する。【００５２】
検索処理部２４は、クライアント装置２からクエリデータを受信すると、受信したクエリデータの特徴量を示す特徴量ベクトルを抽出し、抽出した特徴量ベクトルを所定の変換行列でバイナリ列に変換する。そして、検索処理部２４は、バイナリデータベース記憶部２２が記憶するバイナリ列のうち、ハミング距離が所定の値以下となるバイナリ列、すなわち、クエリデータの近傍候補となる特徴量ベクトルのバイナリ列を検索する。【００５３】
その後、検索処理部２４は、検索したバイナリ列の変換元である特徴量ベクトルを検索対象データベース記憶部２１から取得する。そして、検索処理部２４は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在する場合は、以下の処理を実行する。すなわち、検索処理部２４は、クエリデータが登録生体データに一致する旨をクライアント装置２へ送信する。【００５４】
一方、検索処理部２４は、取得した特徴量ベクトルに、クエリデータから抽出した特徴量ベクトルと一致する特徴量ベクトルや、ユークリッド距離が所定の閾値以下となる特徴量ベクトルが存在しない場合は、以下の処理を実行する。すなわち、検索処理部２４は、クエリデータが登録生体データに一致しない旨をクライアント装置２へ送信する。この結果、クライアント装置２は、クエリデータを入力した利用者の生体認証を行うことができる。【００５５】
例えば、サンプル組選択部１２、基準ベクトル選択部１３、データ対生成部１４、超平面学習部１５は、電子回路である。ここで、電子回路の例として、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などを適用する。【００５６】
また、学習データ記憶部１１、検索対象データベース記憶部２１、バイナリデータベース記憶部２２とは、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（flash  memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。【００５７】
次に、図６を用いて、情報変換装置１０が実行する処理の流れについて説明する。図６は、情報変換装置が実行する処理の流れを説明するためのフローチャートである。なお、図６に示す例では、情報変換装置１０は、ｎ−１個の特徴量ベクトルａ１〜ａｎをサンプル組として選択する例について記載した。【００５８】
まず、情報変換装置１０は、ランダムにサンプル組（ａ１，ａ２…，ａｎ）を選択する（ステップＳ１０１）。次に、情報変換装置１０は、サンプル組（ａ１，ａ２…，ａｎ）とは異なるラベルが付与された特徴量ベクトルの全てについて、サンプル組（ａ１，ａ２…，ａｎ）の各特徴量ベクトルとの距離を算出する。【００５９】
そして、情報変換装置１０は、算出した距離の重み付き一般化された平均を算出する（ステップＳ１０２）。次に、情報変換装置１０は、重み付き一般化された平均が最小となる特徴量ベクトルを基準ベクトルｂとして選択する（ステップＳ１０３）。また、情報変換装置１０は、サンプル組（ａ１，ａ２…，ａｎ）の距離を算出する際に用いた重みを基準に、所定の数の特徴量ベクトルをサンプル組（ａ１，ａ２…，ａｎ）から選択する。【００６０】
そして、情報変換装置１０は、選択した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成する（ステップＳ１０４）。その後、情報変換装置１０は、超平面を学習し（ステップＳ１０５）、処理を終了する。【００６１】
［情報変換装置１０の効果］
上述したように、情報変換装置１０は、学習データ記憶部１１から複数の特徴量ベクトルをサンプル組としてランダムに選択する。また、情報変換装置１０は、サンプル組に含まれる特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルであって、サンプル組に含まれる各特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報変換装置１０は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルと、基準ベクトルとを組み合わせた負例ペアを用いて、超平面を学習する。このため、情報変換装置１０は、特徴量ベクトル空間を大局的に分割する超平面を設定することができる。【００６２】
また、情報変換装置１０は、サンプル組に含まれる各特徴量ベクトルと基準ベクトルとをそれぞれ組み合わせた負例ペアを用いて超平面を学習する。このため、情報変換装置１０は、特徴量ベクトル空間を大局的に分割する超平面を学習するための負例ペアを容易に生成することができる。【００６３】
また、情報変換装置１０は、サンプル組に含まれる各特徴量ベクトルとは異なるラベルが付与された全特徴量ベクトルについて、サンプル組に含まれる各特徴量ベクトルとの距離を算出する。また、情報変換装置１０は、算出した各距離について重み付けを考慮した一般化平均を特徴量ベクトルごとに算出する。そして、情報変換装置１０は、算出した重み付き一般化平均が最小となる特徴量ベクトルを基準ベクトルとする。このため、情報変換装置１０は、一般化平均を算出する際の重みに応じた位置に超平面を設定することができる。
【実施例２】
【００６４】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。【００６５】
（１）局所的な補正について
上述した情報変換装置１０は、大局的にデータを分類する超平面を設定した。しかしながら、実施例はこれに限定されるものではなく、例えば、情報変換装置１０は、大局的にデータを分類する超平面を、異なるラベルが付与されたデータ集合の境界付近に設定してもよい。【００６６】
例えば、基準ベクトル選択部１３は、全特徴量ベクトルの中からランダムに１つ以上の特徴量ベクトルをサンプル組として選択する。次に、基準ベクトル選択部１３は、サンプル組特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、重み付を考慮した一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、基準ベクトル選択部１３は、選択した基準ベクトルをデータ対生成部１４に通知する。【００６７】
なお、基準ベクトル選択部１３は、１つの特徴量ベクトルをサンプル組としてもよい。このような場合は、基準ベクトル選択部１３は、サンプル組に含まれる特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルの最近傍に位置する特徴量ベクトルを基準ベクトルして選択する。【００６８】
データ対生成部１４は、基準ベクトルの通知を受信すると、受信した基準ベクトルと異なるラベルが付与された特徴量ベクトルのうち、最も近傍の特徴量ベクトルを検索する。そして、データ対生成部１４は、検索した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成し、生成した負例ペアを超平面学習部１５に通知する。この結果、情報変換装置１０は、ラベルが異なるデータ集合の境界付近に超平面を設定することができる。なお、データ対生成部１４は、サンプル組と同じラベルが付与された特徴量ベクトルのうち、基準ベクトルに最も近い特徴量ベクトルを選択し、選択した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペアを生成してもよい。【００６９】
ここで、図７は、負例ペアを生成するバリエーションを説明するための第１の図である。なお、図７に示す例では、特徴量ベクトルを丸印、または三角印で示し、同一のラベルが付与されたデータ集合を点線で囲んだ。例えば、情報変換装置１０は、特徴量ベクトルから図７中（Ｈ）に示す特徴量ベクトルをサンプル組として選択する。そして、情報変換装置１０は、図７中（Ｈ）に示す特徴量ベクトルとは異なるラベルが付与された最近傍の特徴量ベクトル、すなわち、図７中（Ｉ）に示す特徴量ベクトルを基準ベクトルとして選択する。【００７０】
また、情報変換装置１０は、図７中（Ｉ）に示す特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、最近傍の特徴量ベクトル、すなわち図７中（Ｊ）に示す特徴量ベクトルを選択する。そして、情報変換装置１０は、図７中（Ｉ）に示す特徴量ベクトルと図７中（Ｊ）に示す特徴量ベクトルとを負例ペアとして選択する。この結果、情報変換装置１０は、図７中（Ｋ）に示すように、異なるラベルが付与されたデータ集合の境界に超平面を選択することができる。【００７１】
なお、情報変換装置１０は、最初にサンプル組をランダムに選択している。このため、基準ベクトルの位置が全特徴量ベクトルの重心付近に引かれやすいので、情報変換装置１０は、特徴量ベクトルを大局的に分類する超平面を設定することができる。【００７２】
ここで、図８は、負例ペアを生成するバリエーションを説明するための第２の図である。ここで、図８中の四角印で示す特徴量ベクトルは、三角印で示す特徴量ベクトル、および丸印で示す特徴量ベクトルに付与された両方のラベルが付与された特徴量ベクトルである。【００７３】
例えば、情報変換装置１０は、特徴量ベクトルから図８中（Ｌ）に示す特徴量ベクトルをサンプル組として選択する。そして、情報変換装置１０は、図８中（Ｌ）に示す特徴量ベクトルとは異なるラベルが付与された最近傍の特徴量ベクトル、すなわち、図８中（Ｍ）に示す特徴量ベクトルを基準ベクトルとして選択する。なお、四角印で示す特徴量ベクトルは、図８中（Ｌ）に示す特徴量ベクトルと同じラベルが付与されているため、基準ベクトルとしては選択されない。【００７４】
また、情報変換装置１０は、図８中（Ｍ）に示す特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルのうち、最近傍の特徴量ベクトル、すなわち図８中（Ｎ）に示す特徴量ベクトルを選択する。そして、情報変換装置１０は、図８中（Ｍ）に示す特徴量ベクトルと図８中（Ｎ）に示す特徴量ベクトルとを負例ペアとして選択する。この結果、情報変換装置１０は、図８中（Ｏ）に示すように、異なるラベルが付与されたデータ集合の境界に超平面を選択することができる。【００７５】
次に、図９を用いて、データ集合の境界付近に超平面を設定する処理の流れについて説明する。図９は、データ集合の境界付近に超平面を設定する処理の流れを説明するためのフローチャートである。なお、図９に示す例では、情報変換装置１０は、ｎ−１個の特徴量ベクトルａ１〜ａｎをサンプル組として選択する例について記載した。また、図９中のステップＳ１０１〜Ｓ１０３は、図６に示すステップＳ１０１〜Ｓ１０３と同じ処理であるものとし、説明を省略する。【００７６】
まず、情報変換装置１０は、基準ベクトルｂとは異なるラベルが付与された特徴量ベクトルのうち、基準ベクトルｂに最も近い特徴量ベクトルａを検索する（ステップＳ２０１）。次に、情報変換装置１０は、特徴量ベクトルａと基準ベクトルｂとを組み合わせた負例ペアを生成し（ステップＳ２０２）、生成した負例ペアを用いて超平面を学習し（ステップＳ２０３）、処理を終了する。【００７７】
上述したように、情報変換装置１０は、ランダムに選択したサンプル組と異なるラベルが付与された特徴量ベクトルのうち、サンプル組の特徴量ベクトルとの距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとして選択する。そして、情報変換装置１０は、基準ベクトルとは異なるラベルが付与された特徴量ベクトルであって、基準ベクトルとの距離が最も近い特徴量ベクトルと、基準ベクトルとを含む負例ペアを用いて超平面を学習する。このため、情報変換装置１０は、大局的にデータを分類する超平面を、異なるラベルが付与されたデータ集合の境界付近に設定することができる。すなわち、情報変換装置１０は、大局的、かつ局所的に最適化された特徴量ベクトルを設定することができる。【００７８】
（２）基準ベクトルの選択について
上述した情報変換装置１０は、サンプル組の特徴量ベクトルとの距離の重み付を考慮した一般化平均が最小となる特徴量ベクトルを選択した。しかし、実施例はこれに限定されるものではない。例えば、情報変換装置１０は、重み付けを考慮した一般化平均が、所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとしてもよい。例えば、基準ベクトル選択部１３は、算出した一般化平均を値が少ない順に並べ、順番が所定のパーセント目に該当する特徴量ベクトルを基準ベクトルとする。【００７９】
次に、図１０を用いて、パーセンタイルに従って基準ベクトルを選択する処理の流れについて説明する。図１０は、超平面を設定する処理のバリエーションを説明するための第１のフローチャートである。なお、図９中のステップＳ１０１、Ｓ１０２、Ｓ１０４、Ｓ１０５は、図６に示すステップＳ１０１、Ｓ１０２、Ｓ１０４、Ｓ１０５と同じ処理であるものとし、説明を省略する。【００８０】
例えば、情報変換装置１０は、重み付き一般化された平均を小さい値から順にならべ、ｙパーセント目となる特徴量ベクトル、すなわちｙパーセンタイルとなる特徴量ベクトルを基準ベクトルｂとして選択する（ステップＳ３０１）。そして、情報変換装置１０は、選択した基準ベクトルを含む負例ペアを用いて、超平面を学習する。【００８１】
上述したように、情報変換装置１０は、サンプル組に含まれる各特徴量ベクトルと、サンプル組とは異なるラベルが付与された特徴量ベクトルとの距離の重み付けを考慮した一般化平均を算出する。そして、情報変換装置１０は、算出した一般化平均が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルにする。この結果、情報変換装置１０は、超平面が特徴量ベクトル空間内をどれくらい大局的に分類するかを自由に設定することができる。【００８２】
（３）基準ベクトルの選択対象について
上述した情報変換装置１０は、サンプル組の特徴量ベクトルとは異なるラベルが付与された特徴量ベクトルから基準ベクトルを選択した。しかしながら、実施例はこれに限定されるものではない。すなわち、情報変換装置１０は、サンプル組以外の全ての特徴量ベクトルから基準ベクトルを選択してもよい。【００８３】
例えば、基準ベクトル選択部１３は、サンプル組に含まれる特徴量ベクトル以外の特徴量ベクトル全てについて、サンプル組に含まれる各特徴量ベクトルとの距離を算出する。また、基準ベクトル選択部１３は、算出した距離のうち、同じラベルが付与された特徴量ベクトル間の距離を負の値として、重み付き算術平均を算出する。そして、基準ベクトル選択部１３は、算出した重み付き算術平均が最小となる特徴量ベクトルを基準ベクトルとしてもよい。【００８４】
次に、図１１を用いて、サンプル組以外の全ての特徴量ベクトルから基準ベクトルを選択する処理の流れについて説明する。図１１は、超平面を設定する処理のバリエーションを説明するための第２のフローチャートである。【００８５】
まず、情報変換装置１０は、ランダムにサンプル組（ａ１，ａ２…，ａｎ）を選択する（ステップＳ４０１）。次に、情報変換装置１０は、ある特徴量ベクトルｃについて、サンプル組（ａ１，ａ２…，ａｎ）との距離をそれぞれ算出する（ステップＳ４０２）。また、情報変換装置１０は、算出した距離のうち、特徴量ベクトルａｉと特徴量ベクトルｃとに同じラベルが付与されている場合は、特徴量ベクトルａｉと特徴量ベクトルｃとの距離にマイナス符号をつける（ステップＳ４０３）。そして、情報変換装置１０は、重み付き算術平均を算出する（ステップＳ４０４）。【００８６】
また、情報変換装置１０は、全ての特徴量ベクトルについて、重み付き算術平均の算出を行い（ステップＳ４０５）、算出した重み付き算術平均が最小となる基準ベクトルｂを選択する（ステップＳ４０６）。また、情報変換装置１０は、サンプル組（ａ１，ａ２…，ａｎ）の距離を算出する際に用いた重みを基準に、所定の数の特徴量ベクトルをサンプル組（ａ１，ａ２…，ａｎ）から選択する。そして、情報変換装置１０は、選択した特徴量ベクトルと基準ベクトルとを組み合わせた負例ペア、または正例ペアを生成する（ステップＳ４０７）。その後、情報変換装置１０は、超平面を学習し（ステップＳ４０８）、処理を終了する。【００８７】
このように、情報変換装置１０は、サンプル組に含まれる各特徴量ベクトルについて、サンプル組に含まれる特徴量ベクトルとの距離をそれぞれ算出する。そして、情報変換装置１０は、同じラベルが付与された特徴量ベクトル同士の距離については、負の値として、重み付けを考慮した算術平均を算出する。そして、情報変換装置１０は、算出した算術平均が最小となる特徴量ベクトルを基準ベクトルとする。このため、情報変換装置１０は、サンプル組に含まれる特徴量ベクトルと同じラベルが付与された特徴量ベクトルも、基準ベクトルの対象にすることができる。【００８８】
なお、情報変換装置１０は、算出した算術平均が最小となる特徴量ベクトルではなく、算術平均が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとしてもよい。例えば、図１２は、超平面を設定する処理のバリエーションを説明するための第３のフローチャートである。なお、図１２に示すステップＳ４０１〜Ｓ４０５、Ｓ４０７、Ｓ４０８は、図１１に示すステップＳ４０１〜Ｓ４０５、Ｓ４０７、Ｓ４０８と同じ処理であるため、説明を省略する。【００８９】
例えば、図１２に示すように、情報変換装置１０は、算出した算術平均の値がｙパーセンタイルとなる特徴量ベクトルを基準ベクトルｂとする（ステップＳ５０１）。このように、情報変換装置１０は、同じラベルが付与された特徴量ベクトル同士の距離については、負の値として、重み付けを考慮した算術平均を算出し、算出した算術平均が所定のパーセンタイルとなる特徴量ベクトルを基準ベクトルとする。このため、情報変換装置１０は、さらに、超平面が特徴量ベクトル空間内をどれくらい大局的に分類するかを自由に設定することができる。【００９０】
また、情報変換装置１０は、サンプル組との距離の一般化平均が最小となる特徴量ベクトルを基準ベクトルとしたが、実施例はこれに限定されるものではない。すなわち、情報処理装置１０は、学習用のデータセットの性質に応じて、サンプル組との距離の一般化平均が所定の値となる特徴量ベクトルを選択してもよい。【００９１】
（４）特徴量ベクトルの選択について
上述した情報変換装置１０は、任意の数の特徴量ベクトルを含む正例ペア、および負例ペアを選択することができる。また、情報変換装置１０は、３以上の特徴量ベクトルを含むデータセットを学習データ記憶部１１から取得する。そして、情報変換装置１０は、取得したデータセットから正例ペアおよび負例ペアを生成し、生成した正例ペアおよび負例ペアを用いて評価関数の値を算出してもよい。【００９２】
また、上述した情報変換装置１０は、超平面を評価するたびに、正例ペアと負例ペアとを選択しなおしてもよい。【００９３】
（５）実施形態について
上述した情報変換装置１０は、情報検索装置２０とは独立した装置である。しかし、実施例はこれに限定されるものではなく、例えば、情報検索装置２０に情報変換装置１０の機能を含めることとしてもよい。また、情報変換装置１０は、情報検索装置２０のバイナリ変換部２３が実行する機能を有し、稼働中の情報検索装置が記憶する特徴量ベクトルについて、変換行列を生成し、生成した変換行列を用いてバイナリ列を生成する処理を実行してもよい。また、情報変換装置１０が発揮する機能は、いわゆるクラウドシステムによって発揮されてもよい。【００９４】
（６）重み付けについて
情報変換装置１０は、重み付けを考慮した距離の一般化平均にしたがって、基準ベクトルを選択した。しかし、実施例はこれに限定されるものではなく、例えば、情報変換装置１０は、重み付けを考慮せずとも良い。また、情報変換装置１０は、任意の方法で重み付けを設定することができる。例えば、情報変換装置１０は、外部に対し、各重みの値をパラメータとして、入力要求してもよい。【００９５】
（７）プログラム
ところで、実施例１に係る情報変換装置１０は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを情報変換装置１０が有するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１３を用いて、実施例１に示した情報変換装置１０と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１３は、学習プログラムを実行するコンピュータの一例を説明するための図である。【００９６】
図１３に例示されたコンピュータ１００は、ＲＯＭ（Read  Only  Memory）１１０、ＨＤＤ（Hard  Disk  Drive）１２０、ＲＡＭ（Random  Access  Memory）１３０、ＣＰＵ（Central  Processing  Unit）１４０がバス１６０で接続される。また、図１３に例示されたコンピュータ１００は、パケットを送受信するためのＩ／Ｏ（Input  Output）１５０を有する。【００９７】
ＨＤＤ１２０は、学習データ記憶部１１と同様のデータが格納された特徴量ベクトルテーブル１２１を記憶する。また、ＲＡＭ１３０には、学習プログラム１３１があらかじめ保持される。ＣＰＵ１４０が学習プログラム１３１をＲＡＭ１３０から読み出して実行することによって、図１３に示す例では、学習プログラム１３１は、学習プロセス１４１として機能するようになる。なお、学習プロセス１４１は、図１に示したサンプル組選択部１２、基準ベクトル選択部１３、データ対生成部１４、超平面学習部１５と同様の機能を発揮する。【００９８】
なお、本実施例で説明した学習プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）、ＭＯ（Magneto  Optical  Disc）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００９９】
１  検索システム
２  クライアント装置
１０  情報変換装置
１１  学習データ記憶部
１２  サンプル組選択部
１３  基準ベクトル選択部
１４  データ対生成部
１５  超平面学習部
２０  情報検索装置
２１  検索対象データベース記憶部
２２  バイナリデータベース記憶部
２３  バイナリ変換部
２４  検索処理部
【図１】
0006004015.tif 000002
【図２】
0006004015.tif 000003
【図３】
0006004015.tif 000004
【図４】
0006004015.tif 000005
【図５】
0006004015.tif 000006
【図６】
0006004015.tif 000007
【図７】
0006004015.tif 000008
【図８】
0006004015.tif 000009
【図９】
0006004015.tif 000010
【図１０】
0006004015.tif 000011
【図１１】
0006004015.tif 000012
【図１２】
0006004015.tif 000013
【図１３】
0006004015.tif 000014