"登録用データからpivotを決定するpivot決定部と、生データを取得する生データ取得部と、前記生データから特徴量を抽出する特徴量抽出部と、前記特徴量同士の距離或いは類似度としてスコアを計算するスコア計算部と、前記pivotに対する前記スコアを用いて索引用ベクトルを生成する索引用ベクトル生成部と、前記索引用ベクトル同士の距離或いは類似度としてΔスコアを計算するΔスコア計算部と、学習用データを用いて、回帰係数を含むnon-pivot毎のパラメータを学習するnon-pivot毎パラメータ学習部と、検索用データと前記non-pivotとの前記Δスコアと前記回帰係数を用いて、ロジスティック回帰により事後確率の大きい順に前記non-pivotの選択順序を決定するnon-pivot選択順序決定部と、前記検索用データと前記登録用データとの前記スコアを基に、検索結果を出力する検索結果出力部と、前記登録用データの前記特徴量と、前記登録用データのうちどれが前記pivotであるかが記されたpivot情報と、前記non-pivot毎の前記索引用ベクトルから構成されるインデックスと、前記non-pivot毎のパラメータを保持するデータベースを持つことを特徴とする類似検索システム。前記non-pivot毎パラメータ学習部は、索引用ベクトルサイズを含むnon-pivot毎のパラメータを学習することを特徴とする請求項1に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、誤差関数がなるべく小さくなるように、前記索引用ベクトルサイズを含むnon-pivot毎の前記パラメータを学習することを特徴とする請求項2に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、前記インデックスのサイズがある一定値以下となるうち、誤差関数の前記non-pivotに対する総和がなるべく小さくなるように、前記索引用ベクトルサイズを含むnon-pivot毎の前記パラメータを学習することを特徴とする請求項2に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、最大事後確率推定により前記non-pivot毎の前記パラメータを学習することを特徴とする請求項1ないし4に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、最尤推定により前記non-pivot毎の前記パラメータを学習することを特徴とする請求項1ないし5に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、前記non-pivot毎に、前記学習用データとのΔスコアを計算し、前記Δスコアを用いて学習に用いる前記学習用データを選択することを特徴とする請求項1ないし6に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、前記学習用データとして前記登録用データを用いることを特徴とする請求項1ないし7に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、前記学習用データとして前記登録用データとは別にあらかじめ用意しておいたデータを用いることを特徴とする請求項1ないし7に記載の類似検索システム。前記non-pivot毎パラメータ学習部は、前記non-pivotに対してクラスタリングを行い、得られたクラスタ毎に前記パラメータの一部或いは全部が共通となるように、前記non-pivot毎の前記パラメータを学習することを特徴とする請求項1ないし9に記載の類似検索システム。前記索引用ベクトル生成部は、前記索引用ベクトルとして順列ベクトルを生成することを特徴とする請求項1ないし10に記載の類似検索システム。前記索引用ベクトル生成部は、前記索引用ベクトルとしてスコアベクトルを生成することを特徴とする請求項1ないし10に記載の類似検索システム。グループIDを用いて前記登録用データの絞込みを行うグループ絞込み部を持ち、前記データベースは、前記グループIDを保持することを特徴とする請求項1ないし12に記載の類似検索システム。登録端末によって、クライアント端末から送信された生データに対して類似検索を行うサーバ端末における高精度な類似検索方法において、前記生データから抽出した特徴量で構成される登録用データを生成し、前記登録用データからpivotを選択し、前記特徴量同士の距離或いは類似度として定義したスコアを計算し、前記pivotに対する前記スコアを用いて索引用ベクトルを生成し、前記索引用ベクトル同士の距離或いは類似度として定義したΔスコアを計算し、予め用意された学習用データを用いて、前記登録用データから前記pivotとして選択されなかったnon-pivot毎の回帰係数を含むパラメータを学習し、入力された検索用データと前記non-pivotとの前記Δスコアと前記回帰係数を用いて、ロジスティック回帰により事後確率の大きい順に前記non-pivotの選択順序を決定し、前記検索用データと前記登録用データとの前記スコアを基に、検索結果を出力し、前記登録用データの前記特徴量と、前記登録用データのうちどれが前記pivotであるかが記されたpivot情報と、前記non-pivot毎の前記索引用ベクトルから構成されるインデックスと、前記non-pivot毎のパラメータをデータベースに保持することを特徴とする高精度な類似検索方法。前記選択順序の決定の際に、前記学習用データを用いて、前記回帰係数を含むnon-pivot毎のパラメータを学習し、前記検索用データと前記non-pivotとの前記Δスコアと前記回帰係数を用いて、ロジスティック回帰により事後確率の大きい順に前記non-pivotの選択順序を決定することを特徴とする請求項14に記載の高精度な類似検索方法。非特許文献1では、第1と第2の索引用ベクトル同士の距離の小さい順となるようにnon-pivotとの選択順序を決定している。しかしながら、この方法では、途中でnon-pivotとのスコアの計算を止めたときに、検索用データからのスコアが閾値rより小さいにも関わらず、スコアが計算されずに終わる即ち、検索漏れとなるnon-pivotの個数の期待値を減らすという観点、即ち、検索の精度という観点で改良の余地があった。本発明の目的は、スコアが計算されずに検索漏れとなるnon-pivotの個数の期待値を理論的に最小化することにある。上記目的を達成するために、登録用データからpivotを決定するpivot決定部と、生データを取得する生データ取得部と、前記生データから特徴量を抽出する特徴量抽出部と、前記特徴量同士の距離或いは類似度としてスコアを計算するスコア計算部と、前記pivotに対する前記スコアを用いて索引用ベクトルを生成する索引用ベクトル生成部と、前記索引用ベクトル同士の距離或いは類似度としてΔスコアを計算するΔスコア計算部と、学習用データを用いて、回帰係数を含むnon-pivot毎のパラメータを学習するnon-pivot毎パラメータ学習部と、入力された検索用データと前記non-pivotとの前記Δスコアと前記回帰係数を用いて、ロジスティック回帰により事後確率の大きい順に前記non-pivotの選択順序を決定するnon-pivot選択順序決定部と、前記検索用データと前記登録用データとの前記スコアを基に、検索結果を出力する検索結果出力部と、前記登録用データの前記特徴量と、前記登録用データのうちどれが前記pivotであるかが記されたpivot情報と、前記non-pivot毎の前記索引用ベクトルから構成されるインデックスと、前記non-pivot毎のパラメータを保持するデータベースを持つことを特徴とする。本発明によれば、non-pivot毎の回帰係数を用いて、ロジスティック回帰により、事後確率の大きい順にnon-pivotの選択順序を決定する。このようにすることで、検索用データからのスコアが閾値rより小さいにも関わらず、スコアが計算されずに検索漏れとなるnon-pivotの個数の期待値を理論的に最小化することが可能となる。その結果、精度が大幅に向上するという効果が得られる。以下、図面を参照して、1つ目の実施形態について説明する。本実施形態の類似検索システムは、ユーザが画像を入力し、システムがサーバ端末内のデータベースから類似する画像を検索する類似画像検索システムである。画像の代わりに動画、音楽、文書、バイナリデータなどの非構造化データを用いるようにしても良い。本実施形態の類似検索システムでは、画像の特徴量としてカラーヒストグラムを用い、スコアとして特徴量同士のユークリッド距離を用いる。本実施形態の類似検索システムでは、あらかじめN個の登録データからM個をpivotとして選択する。pivotの選択方法としては、例えばランダムに選ぶ方法がある。次に、残りの各登録データ各non-pivotと各pivotとのスコアを計算し、これを基に検索時に用いる第1の索引用ベクトルをnon-pivot毎に求める。検索時には、入力された検索用データと各pivotとのスコアを計算し、これを基に検索用データの第2の索引用ベクトルを求める。索引用ベクトルは、各non-pivotと検索用データの位置関係を、直接スコアを求めることなく知る手がかりとなるベクトルである。一般に、検索用データと各登録用データとのスコア計算には大きな時間が必要とされるが、索引用ベクトル同士の距離或いは類似度以後、Δスコアと呼ぶを用いてnon-pivotの選択順序を決定し、non-pivotとのスコア計算をT<N-M回行った後Tは、あらかじめシステム管理者などが定めた上限値、non-pivotとのスコア計算を途中で止めることで、スコアを計算する回数を削減する即ち高速に検索を行うことが可能となる。索引用ベクトルとしては、各pivotとのスコアで構成されるベクトル以後、スコアベクトルと呼ぶであっても良いし、距離或いは類似度の小さい順或いは大きい順にpivotのIDを並べたベクトル以後、順列ベクトルと呼ぶであっても良い。各non-pivotの第1の索引用ベクトルをまとめたものを、インデックスと呼ぶ。図6に、特徴量空間における検索用データQと各登録用データX1、X2、、XNの例を示す。但し、X1、X2、、XMはpivot、XM1、XM2、、XNはnon-pivotを表す。ここでは2つのクラスタが形成されており、お互いのクラスタは大きく離れている。また、特徴量の次元数は非常に高く、特徴量同士のスコアを計算するのに大きな時間がかかる。図6a1a2に、索引用ベクトルとしてそれぞれスコアベクトル、順列ベクトルを用いた場合における検索用データの第2の索引用ベクトルと、インデックスの例を示す。但し、スコアとしては特徴量同士のユークリッド距離を用いている。例えば、図6a1では、XM1とX1とのスコアは70となっており、XM1のスコアベクトルSM1は、SM1=70,28,1053,,43Tとなっている。また、図6a2では、XM1と各pivotとのスコアの中で、最も小さいスコアを実現したpivotがX2となっており、XM1のは、TM1=X2,XM-1,,X3Tとなっている。また、Δスコア索引用ベクトル同士の距離或いは類似度としては、索引用ベクトルとしてスコアベクトルを用いた場合では、例えば市街地距離、ユークリッド距離などが考えられ、順列ベクトルを用いた場合では、例えばSpearmanRhoなどが考えられる。また、上述した距離を距離としてとり得る値の最大値から差し引いたものなどを、類似度として用いるようにしても良い。例えば、索引用ベクトルとしてスコアベクトルを用い、Δスコアとしてユークリッド距離を用いた場合、検索用データのスコアベクトルSq、登録用データXiのスコアベクトルSiとのユークリッド距離をDeSq,Siとすると、で表される。ここで、SizはスコアベクトルSiにおけるz番目の要素を表す。図6a1の場合では、DeSq,SM1=78-70295-28239-432と計算できる。また、索引用ベクトルとして順列ベクトルを用い、ΔスコアとしてSpearmanRhoを用いた場合、検索用データの順列ベクトルTq、登録用データXiの順列ベクトルTiとのSpearmanRhoをDρTq,Tiとすると、で表される。ここで、Tizは順列ベクトルTiにおけるz番目の要素の添え字の数字を表す。例えば、Ti=X2,XM,X1,,X3Tであれば、Ti1=2、Ti2=M、Ti3=1、、TiM=3である。また、Tq-1iは要素Xiが順列ベクトルTqの中で何番目の要素であるかを表す。例えば、Tq=XM,X1,X2,,X3Tであれば、Tq-11=2、Tq-12=3、Tq-13=M、、Tq-1M=1である。図6a2の場合では、DρTq,TM1=1-322-12M-M2と計算できる。本実施形態の類似検索システムの第1の特徴は、各non-pivotの索引用ベクトルサイズ索引用ベクトルの次元数を、あらかじめ用意しておいたデータ学習用データを用いて、検索前に一意に決定学習する点にある。但し、索引用ベクトルサイズを学習する方法の詳細については、後述する。図6b1b2に、索引用ベクトルとしてそれぞれスコアベクトル、順列ベクトルを用いた場合において、学習したnon-pivot毎の索引用ベクトルサイズの分だけ、索引用ベクトルを持つようにしたときのインデックスの例を示す。このとき、索引用ベクトルとしてスコアベクトルを用いる場合は、スコアベクトルとしてはスコアの小さい順、或いは大きい順にスコアベクトルサイズ分の要素を持つように配列し直し、該当するスコアがどのpivotに対するものかが分かるように、同じ長さの順列ベクトルも保持するようにしておく。例えば、図6b1では、XM1のスコアベクトルサイズは3と学習されており、スコアベクトルSM1=28,43,70Tを順列ベクトルTM1=X2,XM,X1Tと合わせて保持しておく。図6b2では、XM1の順列ベクトルサイズは2と学習されており、順列ベクトルTM1は、TM1=X2,XMTとなっている。図6b1b2において、塗り潰されている箇所はデータベースに保存しない。このように、本実施例では、学習用データを用いて、non-pivot毎に索引用ベクトルサイズを学習し、各non-pivotの索引用ベクトルは、当該non-pivotの索引用ベクトルサイズの分だけ保存する。このようにすることで、non-pivot毎に索引用ベクトルサイズを減らすことが可能となる。その結果、データベースに保存するインデックスのサイズを減らすことができるため、システムの軽量化が実現できるという効果が得られる。但し、索引用ベクトルサイズを学習する方法の詳細については、後述する。尚、この場合におけるΔスコアは、索引用ベクトルとしてスコアベクトルを用い、Δスコアとしてユークリッド距離を用いた場合、検索用データのスコアベクトルSq、登録用データXiのスコアベクトルSi順列ベクトルはTi、スコアベクトルサイズはZiとのユークリッド距離をDeSq,Si,Ti,Ziとすると、で表される。図6b1の場合では、DeSq,SM1,Ti,Zi=95-28239-43278-702と計算できる。また、索引用ベクトルとして順列ベクトルを用い、ΔスコアとしてSpearmanRhoを用いた場合、検索用データの順列ベクトルTq、登録用データXiの順列ベクトルTi順列ベクトルサイズはZiとのSpearmanRhoをDρTq,Ti,Ziとすると、で表される。図6a2の場合では、DρTq,TM1,Zi=1-322-12と計算できる。このように、本実施例では検索用データとnon-pivotとの、索引用ベクトルサイズ分のΔスコア即ち、Zi次元ベクトル同士の距離を計算する。このようにすることで、pivotの数M個分のΔスコア即ち、M次元ベクトル同士の距離を計算する場合と比べて、Δスコアの計算時間が短くて済む。その結果、速度が向上するという効果が得られる。本実施形態の類似検索システムの第2の特徴は、このようにして各non-pivotに対するΔスコアΔSq,M1、、ΔSq,Nが得られた後、ロジスティック回帰を用いて、検索用データからのスコアsq,iが閾値rより小さいという事後確率Psq,i<r|ΔSq,iM1≦i≦Nの大きい順にnon-pivotの選択順序を決定する点にある。事後確率Psq,i<r|ΔSq,iは、ベイズの定理を用いて以下のように変形できる。但し、σはロジスティックシグモイド関数であり、aiは、である。ロジスティックシグモイド関数σは単調増加の関数であるため、aiの大きい順にnon-pivotの選択順序を決定すれば、事後確率Psq,i<r|ΔSq,iの大きい順にnon-pivotの選択順序を決定できることになる。aiは、ロジスティック回帰を用いて求めることができる。ロジスティック回帰では、aiを、と近似的に求める。wi,1とwi,0は、non-pivot毎のロジスティック回帰の回帰係数であるM1≦i≦N。回帰係数としては、non-pivot共通の値を用いる方法も考えられるが、回帰係数は厳密にはnon-pivot毎に異なる値をとるため、non-pivot毎の回帰係数を用いた方が、aiをより厳密に求めることが可能となる。また、数7より、aiはΔスコアΔSq,iに対して1回の掛け算と1回の足し算を行うことで近似的に求めることができるので、aiの計算にはほとんど時間がかからない。回帰係数は、索引用ベクトルサイズと同様、あらかじめ用意しておいたデータ学習用データを用いて、検索前に一意に決定学習しておく。但し、回帰係数を学習する方法の詳細については、後述する。ここで、各non-pivotに対するΔスコアΔSq,M1、、ΔSq,Nの集合をΔSqとし、その後、選択順序がe1≦e≦N-M番目と決定されたnon-pivotをXmeM1≦me≦Nとすると、non-pivotとのスコアをT<N-M回計算した後、検索用データからのスコアが閾値rより小さいにも関わらず、スコアが計算されずに終わる即ち、検索漏れとなるnon-pivotの個数の期待値は、と表せる。但し、2行目から3行目の近似は、non-pivotXmeの事後確率に最も大きな影響を与えるのは、Xmeに対するΔスコアΔSq,meであることを用いている。数8は、まだスコアの計算を行っていないnon-pivotXmeの事後確率Psq,me<r|ΔSq,meの総和で近似できているが、この総和は事後確率Psq,me<r|ΔSq,meの大きい順にnon-pivotとのスコアをT回計算したときに最小化することができる。従って、本実施例では、non-pivot毎の回帰係数を用いて、ロジスティック回帰により、事後確率の大きい順にnon-pivotの選択順序を決定するが、このようにすることで、検索用データからのスコアが閾値rより小さいにも関わらず、スコアが計算されずに検索漏れとなるnon-pivotの個数の期待値を理論的に最小化することが可能となる。その結果、精度が大幅に向上するという効果が得られる。但し、回帰係数を学習する方法の詳細については、後述する。図1に本実施形態の類似検索システムの構成例を示す。本実施形態では、生データは画像である。このシステムは、ユーザから取得した登録情報をサーバ端末へ送信する登録端末100と、登録情報を保存し、登録情報から補助情報を生成し、登録情報と補助情報を用いて検索用の生データに対する類似検索を行なうサーバ端末200と、ユーザが入力した検索用の生データをサーバ端末200に送信するクライアント端末300と、ネットワーク400から構成される。登録端末100とサーバ端末200とクライアント端末300は、それぞれ1台でも良いし、複数台存在しても良い。また、登録端末100はサーバ端末200と同一の端末であっても良いし、クライアント端末300と同一の端末であっても良い。また、登録端末100は無くても良い。また、サーバ端末200はクライアント端末300と同一の端末であっても良い。ネットワーク400は、WANやLANなどのネットワーク、USBやIEEE1394などを用いた機器間の通信、或いは携帯電話網やBlueToothなどの無線通信を用いても良い。例えば、登録端末100は企業内の複数のPC、サーバ端末200は企業が運用するデータセンタ内の1台のサーバ、クライアント端末300は複数のユーザの個人PC、ネットワーク400はインターネットとする構成にし、企業内の従業員が画像の登録を行うようにする運用が考えられる。このとき、登録端末100をデータセンタ内のサーバにして、サーバ管理者が画像の登録を行うようにしても良い。または、登録端末100をユーザの個人PCにして、ユーザが画像の登録を行うようにしても良い。または、登録端末100を持たずに、サーバ端末200がインターネットから自動的に収集するようにしても良い。または、登録端末100とサーバ端末200とクライアント端末300をユーザの個人PCにして、個人PC内で画像の登録、補助情報生成、検索を行うようにしても良い。登録端末100は、生データを取得する生データ取得部101と、通信I/F102とから構成される。サーバ端末200は、N個の登録用データの中からM個のpivotを決定するpivot決定部201と、生データから特徴量を抽出する特徴量抽出部202と、特徴量同士の距離或いは類似度としてスコアを計算するスコア計算部203と、non-pivotまたは検索用データのpivotに対するスコアを用いて索引用ベクトルを生成する索引用ベクトル生成部204と、索引用ベクトル同士の距離或いは類似度以後、Δスコアと呼ぶを計算するΔスコア計算部205と、学習用データを用いて、non-pivot毎のパラメータを学習するnon-pivot毎パラメータ学習部206と、入力された検索用データとnon-pivotとのΔスコアを用いて前記non-pivotの選択順序を決定するnon-pivot選択順序決定部207と、検索用データと登録用データとのスコアを基に、検索結果を出力する検索結果出力部208と、通信I/F209と、データベース210とから構成される。データベース210は、マスタデータ220を保持する。マスタデータ220は、各登録ユーザの登録情報230と、補助情報240を保持する。登録情報230は、登録用データ毎に、登録用データID231と、生データ232と、特徴量233を保持する。補助情報240は、登録用データのうちどれがpivotであるかが記されたpivot情報241と、インデックス242と、non-pivot毎のパラメータ250を保持する。インデックス242は、non-pivot毎に、索引用ベクトル243を保持する。non-pivot毎のパラメータ250は、non-pivot毎に、索引用ベクトルサイズ251と、ロジスティック回帰で用いる回帰係数252を保持する。クライアント端末300は、生データを取得する生データ取得部301と、通信I/F302とから構成される。図2に、本実施形態における登録端末100、サーバ端末200、クライアント端末300のハードウェア構成を示す。これらの端末は、図のようにCPU500と、メモリ501と、HDD502と、入力装置503と、出力装置504と、通信装置505とから構成することができる。図3に、本実施形態における登録の処理手順およびデータの流れを示す。登録端末100は、ユーザから登録用の生データを取得するステップS101。登録端末100は、登録用の生データをサーバ端末200に送信するステップS102。サーバ端末200は、登録用の生データから登録用の特徴量を抽出するステップS103。サーバ端末200は、登録用データに固有の登録用データID231と、登録用の生データ232と、登録用の特徴量233とから構成される登録情報230を、データベース210に保存するステップS104。図4に、本実施形態における補助情報生成の処理手順およびデータの流れを示す。本処理は、登録処理を行なってから検索処理を行なうまでの間に行なう。例えば、登録直後、或いは登録を行なった日の夜間に行なうなどの方法が考えられる。また、本処理は補助情報を新規生成する場合と、前回の補助情報生成時以来、追加された登録用データの分について補助情報を更新する場合の2通りの場合がある。サーバ端末200は、補助情報を新規生成する場合は各登録用ユーザの登録情報230を、補助情報を更新する場合は追加された登録情報230をデータベース210から取得するステップS201。サーバ端末200は、補助情報を新規生成する場合、N個の登録情報230の生データ232の中からM個のpivotを新たに決定するステップS202。補助情報を更新する場合は、このステップを省略し、追加された登録情報230の生データ232をnon-pivotとする。pivotの決定方法は、ランダムに選択する方法や、pivotを選択するたびに、それまでに決定したpivotとのスコア或いはΔスコアの総和が最小或いは最大となるものをpivotとする、などの方法がある。サーバ端末200は、補助情報を新規生成する場合はN-M個の各non-pivotに対して、補助情報を更新する場合は追加された各non-pivotに対して、各pivotとのスコアを求めて索引用ベクトル243を生成する。ステップS203。サーバ端末200は、補助情報を新規生成する場合はN-M個の各non-pivotに対して、補助情報を更新する場合は追加された各non-pivotに対して、索引用ベクトルサイズ251とロジスティック回帰で用いる回帰係数252で構成されるパラメータ250を、あらかじめ用意しておいたデータ学習用データを用いて一意に決定学習するステップS204。索引用ベクトルサイズ251と回帰係数252で構成されるパラメータ250の学習方法の詳細は後述する。サーバ端末200は、補助情報を新規生成する場合は登録用データのうちどれがpivotであるかが記されたpivot情報241と、N-M個の各non-pivotの索引用ベクトル243から構成されるインデックス242と、学習したnon-pivot毎の索引用ベクトルサイズ251と回帰係数252で構成されるパラメータ250とを補助情報240として、データベース210に保存する。補助情報を更新する場合は生成された索引用ベクトル243をデータベース210のインデックス242に追加し、学習したnon-pivot毎の索引用ベクトルサイズ251と回帰係数252をパラメータ250に追加する。このとき、各non-pivotの索引用ベクトル243は、当該non-pivotの索引用ベクトルサイズ251の分を保存、或いは追加するステップS205。図5に、本実施形態における検索の処理手順およびデータの流れを示す。サーバ端末200は、データベース210からマスタデータ220を取得するステップS301。クライアント端末300は、ユーザから検索用の生データを取得するステップS302。クライアント端末300は、検索用の生データをサーバ端末200に送信するステップS303。サーバ端末200は、検索用の生データから検索用の特徴量を抽出するステップS304。サーバ端末200は、検索用データと各pivotとのスコアを計算するステップS305。サーバ端末200は、検索用データと各pivotとのスコアを基に、検索用データの索引用ベクトルを生成するステップS306。サーバ端末200は、検索用データの索引用ベクトルと、non-pivot毎の索引用ベクトルから構成されるインデックス242と、non-pivot毎の索引用ベクトルサイズ251を用いて、検索用データとnon-pivotとのΔスコアを、各non-pivotに対して計算するステップS307。サーバ端末200は、各non-pivotに対するΔスコアΔSq,M1、、ΔSq,Nを基に、non-pivot毎のロジスティック回帰の回帰係数wi,1とwi,0を用いて、検索用データからのスコアsq,iが閾値rより小さい事後確率Psq,i<r|ΔSq,iM1≦i≦Nと単調増加の関係にある値aiを数7によって求め、aiの大きい順にnon-pivotの選択順序を決定する。ステップS308。サーバ端末200は、検索用データとnon-pivotとのスコア計算回数tを0に初期化するステップS309。サーバ端末200は、検索用データとステップS308で決定したnon-pivotの選択順序に従って選択したnon-pivotとのスコアを計算するステップS310。サーバ端末200は、検索用データとnon-pivotとのスコア計算回数tを1増やすステップS311。サーバ端末200は、検索用データとnon-pivotとのスコア計算回数tが上限値T以下であればステップS310に、上限値Tより大きければステップS313に進むステップS312。サーバ端末200は、クライアント端末300に検索結果の生データ232を送信するステップS313。このとき、スコアの小さい順或いは大きい順にk個登録用データを選択し、それらを検索結果とする方法k-NearestNeighborSearchを採用しても良いし、スコアが閾値rより小さい或いは大きい登録用データを検索結果とする方法RangeSearchを採用しても良い。クライアント端末300は、検索結果の生データ232を表示するステップS314。以下、ステップS204において、各non-pivotに対して索引用ベクトルサイズ251と回帰係数252で構成されるパラメータ250を学習データを用いて学習する方法について、その詳細を述べる。学習用データとしては、パラメータを学習する当該non-pivot以外のN-1個のnon-pivotを用いても良いし、或いは登録用データとは別にあらかじめ用意しておいたデータを用いても良い。まず、索引用ベクトルサイズZiをある値に固定したときの回帰係数wi,1、wi,0の学習方法を述べる。学習用データをQ1、Q2、、QN’とするN’は学習用データの個数。また、学習用データQj1≦j≦N’とnon-pivotXiM1≦i≦NとのΔスコアをΔSj,iとし、各学習用データQj1≦j≦N’のnon-pivotXiに対するΔスコアの集合を、とする。例えば、索引用ベクトルとしてスコアベクトルを用い、Δスコアとしてユークリッド距離を用いた場合は、ΔSj,iはDeSqj,Si,Ti,Ziと表すことができSqjは学習用データQjのスコアベクトル、数3によって計算できる。索引用ベクトルとして順列ベクトルを用い、ΔスコアとしてSpearmanRhoを用いた場合、ΔSj,iはDρTqj,Ti,ZiでありTqjは学習用データQjの順列ベクトル、数4によって計算できる。さらに、学習用データQj1≦j≦N’とnon-pivotXiM1≦i≦Nとのスコアsj,iが閾値rより小さい場合に1、それ以外の場合に0をとるラベルをLjiとし、各学習用データQj1≦j≦N’のnon-pivotXiに対するラベルの集合を、とする。またさらに、non-pivotXiの回帰係数を、wi,1、wi,0を並べて、とベクトルの形で表すことにする。本実施例では、non-pivotXiに対するΔスコアの集合ΔSiとラベルの集合Liを回帰係数wiの学習に用いる。回帰係数の学習方法としては、最大事後確率MaximumAPosterior推定、最尤MaximumLikelihood推定を用いる方法がある。non-pivotXiに対するΔスコアの集合ΔSiとラベルの集合Liを用いて、最大事後確率推定により回帰係数wiを学習する場合、とパラメータwiMAPを求め、これを学習結果とする。但し、2行目から4行目の変形にかけてはベイズの定理を用いており、4行目から5行目の変形にかけてはΔSiとwiが互いに独立である即ち、PΔSi|wi=PΔSiと仮定している。5行目から6行目の変形にかけてはPΔSiがwiによらず一定であることを用いている。また、argmaxfxはfxを最大にするxを示す。最尤推定により回帰係数wiを学習する場合、とパラメータwiMLを求め、これを学習結果とする。数12と数13に示されているように、最大事後確率推定では、回帰係数wiの事前確率Pwiも考慮して回帰係数を学習する点が最尤推定と異なる。このように、最大事後確率推定では回帰係数の事前確率を考慮することで、学習用データの数が少ない場合においても、最尤推定より頑健に回帰係数を学習できるという特長を持っている。特に、本実施例では、1をとるラベルLjiの数即ち、non-pivotXiと類似している学習用データQjの数が一般には非常に少ないため、最尤推定では回帰係数を適切に学習できない可能性がある。このような場合でも、最大事後確率推定であれば回帰係数をより適切に学習できる。PLi|ΔSi,wiは、と求めることができる。但し、1行目から2行目にかけてはラベルLjiが、学習用データQjとnon-pivotXiとのスコアsj,iが閾値rより小さい場合に1、それ以外の場合に0をとり、ΔスコアΔSj,iに依存することを用いている。また、aj,iは、であり、前述のロジスティック回帰を用いることで、と求めることができる。Pwiは、例えば平均ベクトル0、分散共分散行列Σ0の正規分布を仮定し、と求める方法がある。Σ0は適当な値をあらかじめ設定する方法や、学習用データを基に経験ベイズ法を用いて自動的に決定する方法などがある。また、0以外の平均ベクトルを用いても良いし、分布モデルとして指数分布やガンマ分布など、正規分布以外のものを用いても良い。このとき、最大事後確率推定或いは最尤推定によって求める即ち、数16或いは数17を最大化する回帰係数wiMAP或いはwiMLは、例えばニュートン-ラフソン法を用いて算出できる。これは、回帰係数wiの最大事後確率推定値wiMAP或いは最尤推定値wiMLを、以下の手順で逐次的に求める手法である。1.wiの初期値wi0を適当に設定する。例えば、wi0=0とする。τ←0とする。2.以下のようにwiτ1を求める。τは逐次計算の回数である。但し、Ewiτは事後確率、或いは尤度の負の対数をとったものである。∇は微分演算子ベクトルである。これを誤差関数と呼ぶ。最大事後確率推定の場合は、であり、最尤推定の場合は、である。また、∇Ewiτ、∇∇EwiτはそれぞれEwiτの1階微分の列ベクトル、2階微分の行列である。例えば、最大事後確率推定の場合において、数14、数16、数17を用いた場合、のように求めることができる。但し、である。3.wiτ1とwiτとの差が十分小さい、或いはτがある一定値を超えたらwiτ1をwiMAP或いはwiMLとして終了する。そうでなければ、τ←τ1として、2.に戻る。次に、索引用ベクトルサイズZiの学習方法を述べる。これは、索引用ベクトルサイズZiを様々な値例えば、1からMまでの値に変えて上記の操作を行い、その中で誤差関数がなるべく小さくなるwiMAP或いはwiMLとそれを実現したZiを、学習結果とすれば良い。このようにすれば、精度の観点で最も優れたパラメータを求めることが可能となる。或いは、インデックスのサイズがある一定値以下となるうち、誤差関数のnon-pivotに対する総和がなるべく小さくなるように、non-pivot毎のパラメータを学習するようにしても良い。これは、インデックスのサイズがある一定値以下となる範囲内で、各non-pivotのZiを様々な値に変えてみて、誤差関数のnon-pivotに対する総和が最も大きくなるときのwiMAPとそれを実現したZiを学習結果とすれば良いM1≦i≦N。このようにすることで、補助情報のサイズに要求値を設けたとき、それを満たす範囲内で精度の観点で最も優れた性能を実現することが可能となる。また、本実施例では、ラベルLji1≦j≦N’,M1≦i≦Nを求めるために計N-M×N’個のスコアを計算する必要があり、一般にはこれに大きな時間がかかる。そこで、non-pivot毎に、各学習用データN’個とのΔスコアを求め、その小さい順にν’<N’個の学習用データを選択しν’は、あらかじめシステム管理者などが定めた値、それらを学習に用いるようにしても良い。Δスコアが小さい学習用データはnon-pivotと類似している可能性が高いため、このようにすることでラベルLjiの数が1をとる即ち、non-pivotXiと類似している学習用データQjがなるべく減らないようにしつつ、学習に必要なスコアの計算回数を計N-M×ν’個まで減らすことが可能となる。その結果、学習が高速に行えるようになる、という効果が得られる。また、例えば図6のように登録用データが特徴量空間上で幾つかのクラスタを形成している場合、索引用ベクトルサイズなどのパラメータは各クラスタで似た、或いは同じ値をとる可能性がある。従って、本実施例では、non-pivotに対してクラスタリングを行い、得られたクラスタ毎にパラメータの一部或いは全部が共通となるように、non-pivot毎のパラメータを学習するようにしても良い。クラスタリングの手法としては、最短距離法、最長距離法、群平均法、ウォード法などの階層的手法を用いても良いし、K平均法などの非階層的手法を用いても良い。このようにクラスタ毎に共通のパラメータを学習することで、パラメータのサイズを減らすことが可能となる。その結果、システムのさらなる軽量化が実現できるという効果が得られる。また、本実施例において登録用データを学習用データとして用いる場合、登録用データが追加されたとき、学習用データの索引用ベクトルサイズが小さいためにパラメータの学習がうまく行えなくなる可能性がある。しかしながら、上記のようにクラスタ毎に共通のパラメータを学習すれば、登録用データが追加されたときにおいても、当該登録用データが属するクラスタに共通のパラメータを用いることで、容易にパラメータの学習を行うことが可能となる。以下、図面を参照して、2つ目の実施形態について説明する。本実施形態の類似検索システムは、認証を試みるユーザ以後、認証ユーザが生体情報を入力し、システムがクライアント端末内のデータベースから類似する生体情報を検索することで、認証ユーザがデータベースに登録されているユーザ以後、登録ユーザのうち誰か或いは誰でもないかを識別し、その結果に基づいて認証を行なう生体識別システムである。図7に本実施形態の生体識別システムの構成例を示す。ここでは、図1と異なる点について述べる。本実施形態では、生データは生体情報である。このシステムは、ユーザから取得した生体情報の特徴量をサーバ端末へ送信する登録端末100と、登録情報を保存し、登録情報から補助情報を生成し、登録情報と補助情報を用いて認証用の特徴量に対する生体識別を行なうサーバ端末200と、グループIDとユーザが入力した認証用の特徴量をサーバ端末200に送信するクライアント端末300と、ネットワーク400から構成される。例えば、企業内の情報アクセス制御システム、或いは勤怠管理システムであれば、登録端末100は企業内の複数のPC、サーバ端末200は企業が運用するデータセンタ内の1台のサーバ、クライアント端末300は複数の従業員のPC、ネットワーク400はインターネットとする構成にする方法が考えられる。また、企業内の入退室管理システムであれば、登録端末100とサーバ端末200とクライアント端末300を同一の入退室管理装置とする構成にする方法が考えられる。グループID221は、ユーザの所属する事業所に固有の値となるようにしても良いし、クライアント端末300毎、或いは拠点毎に固有の値となるように設定しても良い。前者の場合、ユーザが認証時にグループIDを入力する運用が考えられる。後者の場合、ユーザは認証時にグループIDを入力しなくても良い。登録端末100は、グループIDとユーザ名を取得するグループIDユーザ名取得部103と、生データから特徴量を抽出する特徴量抽出部104をさらに持つ。サーバ端末200は、特徴量抽出部202を持たず、グループ絞込み部209aを持ち、グループID毎にマスタデータ220を持つ。マスタデータ220は、グループID221を持つ。登録情報230は、生データ232を持たず、登録用データ毎にユーザ名234を持つ。生体情報の特徴量としては、例えば指紋であればマニューシャ、虹彩であれば虹彩コード、声紋であればケプストラムなどが考えられる。また、2つの生体情報同士のスコアとしては、指紋であれば対応するマニューシャの数や割合、虹彩であればハミング距離、声紋であればマハラノビス距離などが考えられる。クライアント端末300は、グループIDを取得するグループID取得部303と、生データから特徴量を抽出する特徴量抽出部304をさらに持つ。本実施形態における登録端末100、サーバ端末200、クライアント端末300のハードウェア構成は図2と同じである。図8に、本実施形態における登録処理の処理手順およびデータの流れを示す。図8のステップS101は、図3のステップS101と同じである。登録端末100は、ユーザからグループIDとユーザ名を取得するステップS101a。登録端末100は、登録用の生データから登録用の特徴量を抽出するステップS102a。登録端末100は、グループIDとユーザ名と登録用の特徴量をサーバ端末200に送信するステップS103a。サーバ端末200は、当該グループIDに対応するマスタデータ220がデータベース210にあれば、登録用データに固有の登録用データID231と、ユーザ名234と、登録用の特徴量233とから構成される登録情報230を、そのマスタデータ220に追加する。マスタデータ220がなければ、当該グループID221と、登録用データに固有の登録用データID231と、ユーザ名234と、登録用の特徴量233とから構成される登録情報230を新しく作成するステップS104a。本実施形態における補助情報生成処理の処理手順およびデータの流れは図4と同じである。但し、グループID毎に本処理を行う。登録情報230の数Nと、pivotの数MはグループID毎に異なっていても良い。図9に、本実施形態における検索処理の処理手順およびデータの流れを示す。図9のステップS302、S305~S312、S314は、図3のステップS302、S305~S312、S314と同じである。サーバ端末200は、データベース210からグループID毎にマスタデータ220を取得するステップS301a。クライアント端末300は、ユーザからグループIDを取得するステップS302a。グループIDは、クライアント端末300毎、或いは拠点毎に固有の値になるようにしても良く、この場合はユーザから取得しなくても良い。クライアント端末300は、検索用の生データから検索用の特徴量を抽出するステップS303a。クライアント端末300は、グループIDと検索用の特徴量をサーバ端末200に送信するステップS304a。サーバ端末200は、取得したグループIDに対応するマスタデータを検索対象とする。以後のステップでは検索対象としたマスタデータについて行うステップS305a。このように、本実施例ではグループIDを用いた登録用データの絞込みを行う。これによって、スコアを計算する登録用データの数を大幅に減らすことが可能となる。その結果、速度が一層向上するという効果が得られる。サーバ端末200は、クライアント端末300に検索結果の登録用データに対応するユーザ名234を送信するステップS313a。クライアント端末300は、検索結果の登録用データに対応するユーザ名234を表示するステップS314a。"