"サンプルがいずれのグループに属するかを識別するための複数の識別因子のうち、識別に用いる識別因子のセットを示す情報を染色体とし、該染色体が示す識別因子を用いて識別を行ったときの識別率を適応度とし、遺伝的アルゴリズムを用いて前記識別率を最大化する識別因子のセットを探索する第1の探索部と、前記第1の探索部が探索した識別因子のセットを示す染色体と、全ての識別因子を用いないことを示す染色体とを用い、用いる識別因子の数を適応度として遺伝的アルゴリズムを用いて、前記用いる識別因子の数を最小化する識別因子のセットを探索する第2の探索部とを具備することを特徴とする識別因子選択装置。前記第2の探索部における遺伝的アルゴリズムでは、前の世代の染色体と、前記全ての識別因子を用いないことを示す染色体とを交叉させて、次の世代の染色体を生成することを特徴とする請求項1に記載の識別因子選択装置。前記第2の探索部は、前記交叉により生成した染色体のうち、前記第1の探索部が探索した識別因子のセットを用いたときの識別率に応じた条件を満たす染色体を、次の世代の染色体とすることを特徴とする請求項2に記載の識別因子選択装置。複数の前記サンプルについて、各識別因子の値と、属するグループを示す情報とを記憶する記憶部と、前記記憶部が記憶する情報を用いて、指定された識別因子のセットを用いたときの識別率を算出する染色体評価部とを具備し、前記第1の探索部および前記第2の探索部における遺伝的アルゴリズムを用いた探索は、前記染色体評価部を用いて行うことを特徴とする請求項1に記載の識別因子選択装置。識別因子選択装置における識別因子選択方法であって、前記識別因子選択装置が、サンプルがいずれのグループに属するかを識別するための複数の識別因子のうち、識別に用いる識別因子のセットを示す情報を染色体とし、該染色体が示す識別因子を用いて識別を行ったときの識別率を適応度とし、遺伝的アルゴリズムを用いて、識別率を最大化する識別因子のセットを探索する第1の探索過程と、前記識別因子選択装置が、前記第1の探索部が探索した識別因子のセットを示す染色体と、全ての識別因子を用いないことを示す染色体とを用い、用いる識別因子の数を適応度として遺伝的アルゴリズムを用いて、用いる識別因子の数を最小化する識別因子のセットを探索する第2の探索過程とを有することを特徴とする識別因子選択方法。前記第2の探索過程における遺伝的アルゴリズムでは、前の世代の染色体と、前記全ての識別因子を用いないことを示す染色体とを交叉させて、次の世代の染色体を生成することを特徴とする請求項5に記載の識別因子選択方法。前記第2の探索過程において、前記交叉により生成した染色体のうち、前記第1の探索部が探索した識別因子のセットを用いたときの識別率に応じた条件を満たす染色体を、次の世代の染色体とすることを特徴とする請求項6に記載の識別因子選択方法。複数の前記サンプルについて、各識別因子の値と、属するグループを示す情報とを記憶する記憶部が記憶する情報を用いて、指定された識別因子のセットを用いたときの識別率を算出する染色体評価過程を有し、前記第1の探索過程および前記第2の探索過程における遺伝的アルゴリズムを用いた探索は、前記染色体評価過程を含むことを特徴とする請求項5に記載の識別因子選択方法。コンピュータに、請求項5から請求項8のいずれか一項に記載の識別因子選択方法を実行させるためのプログラム。しかしながら、非特許文献1の技術においては、識別率を最大化する特徴のセットを選択することができるものの、次元数の最小化はされていないという問題がある。また、非特許文献2の技術においては、すべての特徴を用いた場合と比較して識別率が低下しない範囲で特徴の次元数を最小化することができるものの、識別率の最大化は行われないという問題がある。本発明は、このような事情に鑑みてなされたもので、その目的は、識別率を最大化しつつ、次元数を最小化する識別因子のセットを選択することができる識別因子選択装置、識別因子選択方法およびプログラムを提供することにある。1この発明は上述した課題を解決するためになされたもので、本発明の一態様は、サンプルがいずれのグループに属するかを識別するための複数の識別因子のうち、識別に用いる識別因子のセットを示す情報を染色体とし、該染色体が示す識別因子を用いて識別を行ったときの識別率を適応度とし、遺伝的アルゴリズムを用いて前記識別率を最大化する識別因子のセットを探索する第1の探索部と、前記第1の探索部が探索した識別因子のセットを示す染色体と、全ての識別因子を用いないことを示す染色体とを用い、用いる識別因子の数を適応度として遺伝的アルゴリズムを用いて、前記用いる識別因子の数を最小化する識別因子のセットを探索する第2の探索部とを具備することを特徴とする識別因子選択装置である。2また、本発明の他の態様は、上述の識別因子選択装置であって、前記第2の探索部における遺伝的アルゴリズムでは、前の世代の染色体と、前記全ての識別因子を用いないことを示す染色体とを交叉させて、次の世代の染色体を生成することを特徴とする。3また、本発明の他の態様は、上述の識別因子選択装置であって、前記第2の探索部は、前記交叉により生成した染色体のうち、前記第1の探索部が探索した識別因子のセットを用いたときの識別率に応じた条件を満たす染色体を、次の世代の染色体とすることを特徴とする。4また、本発明の他の態様は、上述の識別因子選択装置であって、複数の前記サンプルについて、各識別因子の値と、属するグループを示す情報とを記憶する記憶部と、前記記憶部が記憶する情報を用いて、指定された識別因子のセットを用いたときの識別率を算出する染色体評価部とを具備し、前記第1の探索部および前記第2の探索部における遺伝的アルゴリズムを用いた探索は、前記染色体評価部を用いて行うことを特徴とする。5また、本発明の他の態様は、識別因子選択装置における識別因子選択方法であって、前記識別因子選択装置が、サンプルがいずれのグループに属するかを識別するための複数の識別因子のうち、識別に用いる識別因子のセットを示す情報を染色体とし、該染色体が示す識別因子を用いて識別を行ったときの識別率を適応度とし、遺伝的アルゴリズムを用いて、識別率を最大化する識別因子のセットを探索する第1の探索過程と、前記識別因子選択装置が、前記第1の探索部が探索した識別因子のセットを示す染色体と、全ての識別因子を用いないことを示す染色体とを用い、用いる識別因子の数を適応度として遺伝的アルゴリズムを用いて、用いる識別因子の数を最小化する識別因子のセットを探索する第2の探索過程とを有することを特徴とする識別因子選択方法である。6また、本発明の他の態様は、上述の識別因子選択方法であって、前記第2の探索過程における遺伝的アルゴリズムでは、前の世代の染色体と、前記全ての識別因子を用いないことを示す染色体とを交叉させて、次の世代の染色体を生成することを特徴とする。7また、本発明の他の態様は、上述の識別因子選択方法であって、前記第2の探索過程において、前記交叉により生成した染色体のうち、前記第1の探索部が探索した識別因子のセットを用いたときの識別率に応じた条件を満たす染色体を、次の世代の染色体とすることを特徴とする。8また、本発明の他の態様は、上述の識別因子選択方法であって、複数の前記サンプルについて、各識別因子の値と、属するグループを示す情報とを記憶する記憶部が記憶する情報を用いて、指定された識別因子のセットを用いたときの識別率を算出する染色体評価過程を有し、前記第1の探索過程および前記第2の探索過程における遺伝的アルゴリズムを用いた探索は、前記染色体評価過程を含むことを特徴とする。9また、本発明の他の態様は、コンピュータに、上述の5から8のいずれか一項に記載の識別因子選択方法を実行させるためのプログラムである。この発明によれば、識別率を最大化しつつ、次元数を最小化する識別因子のセットを選択することができる。以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態による特徴選択装置10の構成を示す概略ブロック図である。本実施形態における識別因子選択装置である特徴選択装置100は、画像のパターン認識を行う際に用いる、画像の特徴識別因子を選択する。すなわち、特徴選択装置100は、サンプル画像がいずれのグループに属するかを識別するための複数の識別因子のうち、識別率を最大化しつつ、次元数使用する識別因子の数を最小化するような識別因子のセットを選択する。識別因子選択装置100は、学習パターン集合記憶部10、標準パターン作成部20、標準パターン記憶部30、染色体評価部40、識別率最大化探索部50、次元数最小化探索部60、染色体集合記憶部70、選択結果出力部80を含んで構成される。学習パターン集合記憶部10は、学習パターン学習サンプルの特徴の集合特徴ベクトルを記憶する。特徴の次元数をL、識別対象とするカテゴリー数をH、各カテゴリーをC1、C2、CHと表記する。学習パターンの数、すなわち学習サンプル数をN、第i学習サンプルの特徴ベクトルをVi=Vi1、Vi2、ViLと表記する。また、学習サンプルの集合をψで表わす。ここで、Vijは、第i学習サンプルのj番目の特徴の特徴量を示す。学習パターン集合記憶部10記憶部は、各学習サンプルの特徴ベクトルViと、その学習サンプルが属するカテゴリー名CViとを対応づけて記憶している。すなわち、学習パターン集合記憶部10は、各識別因子の値と、属するグループを示す情報とを記憶する。学習パターン集合記憶部10が記憶する、これらの情報は、標準パターン作成部20および染色体評価部40に対して提供される。なお、本実施形態では、学習パターン集合記憶部10は、学習パターンの特徴ベクトルを記憶するとして説明したが、学習パターンの画像を記憶しておき、該画像から特徴ベクトルの各値を算出するようにしてもよい。標準パターン作成部20は、カテゴリー毎に、該カテゴリーに属する学習パターンの特徴量の平均値をとり、それらの値からなる特徴ベクトルを該カテゴリーの標準パターンとする。具体的には、標準パターン作成部20は、以下の式1を用いて、学習パターン集合記憶部10が記憶する学習パターンの集合ψから、各カテゴリーCkk=1、2、Hの標準パターンWk=Wk1、Wk2、WkLを算出し、標準パターン記憶部30に記憶させる。なお、学習サンプルの集合ψのi番目のサンプルViにおけるj次元目の特徴量をVij、Viが属するカテゴリーをCViとする。式1におけるδは、クロネッカーのデルタである。標準パターン記憶部30は、各カテゴリーCkに対応付けて、該カテゴリーの標準パターンWkを記憶する。カテゴリーCkの標準パターンWkは、上述したように、カテゴリーCkに属する学習パターンの特徴毎に特徴量の平均をとった値を要素とする特徴ベクトルである。染色体評価部40は、指定された染色体が示す特徴を識別に用いて、学習パターン集合記憶部10が記憶する各学習パターンがいずれのカテゴリーに入るかを識別し、その識別結果の正答率である識別率を算出する。ここで、染色体とは、各特徴を、識別に用いるか否かを示す情報である。すなわち、識別に用いる識別因子のセットを示す情報である。また、染色体評価部40は、指定された染色体の非選択次元数を算出する。識別率最大化探索部50第1の探索部は、染色体の適応度として識別率を用いて、GAにより、識別率を最大化する識別因子のセットを探索する。次元数最小化探索部60第2の探索部は、染色体の適応度として識別率と非選択次元数を組み合わせて用いて、GAにより、識別率最大化探索部50により得られた識別率を保ちつつ次元数を最小化する識別因子の組み合わせを探索する。次元数最小化探索部60は、識別率最大化探索部50が探索した識別因子のセットを示す染色体と、全ての識別因子を用いないことを示す染色体とを用い、非選択次元数を適応度として遺伝的アルゴリズムを用いて、用いる識別因子の数を最小化する識別因子のセットを探索する。ここで、非選択次元数とは、その染色体で選択されていない特徴の数のことである。なお、非選択次元数を適応度とすることは、用いる識別因子の数が小さいほど適応度が高い、適応度とすることに相当する。また、識別率最大化探索部50および次元数最小化探索部60は、探索を行う際に、各染色体を染色体評価部40に指定して、該染色体を評価する。染色体集合記憶部70は、識別率最大化探索部50および次元数最小化探索部60が生成する各世代の染色体を記憶する。選択結果出力部80は、次元数最小化探索部60の探索結果、すなわち識別率が最大であり、かつ、次元数が最小である識別因子の組み合わせを示す情報を出力する。この出力は、表示デバイスによる表示や、印刷デバイスによる紙への印字、通信デバイスによるデータの出力などのいずれであってもよい。図2は、本実施形態における染色体を説明する概念図である。染色体は、特徴を選択するビット列である。このビット列のビット数は特徴ベクトルの次元数Lであり、図2はL7の場合の例である。このビット列は各ビットが対応する特徴を、識別因子として使用するか否かを示しており、1が使用する、0が使用しないを表わす。図2に示す染色体0101001の場合、7個の特徴のうち、破線で示された2、4、7番目の3つの特徴の値特徴量が使用される。図2にはカテゴリーがC1の学習パターンV1、V2と、カテゴリーがC2の学習パターンV3、V4とについて、染色体が0101001であるときに識別因子として使用される特徴量を、破線で囲んでいる。すなわt、学習パターンV18213527のうち、2、4、7番目の特徴量である2、3、7が識別因子として用いられる。同様に、学習パターンV27122636のうち、2、4、7番目の特徴量である1、2、6が識別因子として用いられる。学習パターンV38368213のうち、2、4、7番目の特徴量である3、8、3が識別因子として用いられる。学習パターンV49279121のうち、2、4、7番目の特徴量である2、9、1が識別因子として用いられる。また、染色体のビット列は記号β1、β2、βLで表わされる。図3は、染色体集合記憶部70が記憶する染色体集合の構成を示す図である。染色体は、GAの1つの世代GNで表すに対応してK個生成される。1つの世代GNの染色体集合をAGNで表す。染色体集合記憶部70は、識別率最大化探索部50および次元数最小化探索部60が生成した全世代0世代からGNe2世代の染色体集合A0、A1、AGNe2を記憶する。1つのGN世代に対応する染色体集合AGNにはK個の染色体が、各々の適応度の値とともに格納され、GNは0からGNe2までである。次に、染色体評価部40の詳細について説明する。染色体評価部40は、識別率最大化探索部50または次元数最小化探索部60から1個の染色体を与えられると、識別率Pαと非選択次元数Rαを以下のように算出する。1識別率Pαの算出識別手法には公知の種々の方法があり、いずれの方法を用いてもよい。本実施形態の染色体評価部40は、入力パターンと各カテゴリーの標準パターンとのユークリッド距離の中で、最小値をとる標準パターンに対応するカテゴリーを識別結果とする、最小距離識別を用いる。染色体評価部40は、標準パターン記憶部20に格納されている標準パターンWk=Wk1,Wk2,WkLを用いて学習パターン集合記憶部10に格納されている集合ψに属する学習サンプル各々について識別を行う。具体的には、まず、染色体評価部40は、学習サンプルの特徴ベクトルX=X1,X2,XLと、各カテゴリーCkの標準パターンWkとの距離Dkを式2を用いて算出する。式2の右辺は染色体のビット列によって選択された特徴のみを用いて算出したユークリッド距離である。染色体評価部40は、算出した距離D1、D2、DHの中で最小の距離に対応するカテゴリーを識別結果とする。そして、染色体評価部40は、学習サンプルの集合ψにおいて正しく識別されたパターン数をNcとして、識別率Pαを式3を用いて算出する。2非選択次元数Rαの算出また、染色体評価部40は、非選択次元数Rαを、式4を用いて算出する。なお、式4で示すように、非選択次元数Rαは、識別因子としてもちいられていない特徴の数である。したがって、非選択次元数Rαの値が大きいほど、小さな次元数が達成されていることを表す。図4は、識別率最大化探索部50の動作を説明するフローチャートである。ここではGAが用いられる。GAの世代数をGNと表記する。また、染色体集合記憶部70が記憶する世代GNにおける染色体集合とその個体数をそれぞれAGN、Kとし、最大世代数をGNe1とする。なお、ここで最大世代数GNe1とは、識別率最大化探索部50による生成される染色体の世代数の最大値であり、予め設定された数である。すなわち、識別率最大化探索部50は、世代0から世代GNe1の染色体を生成する。まず、識別率最大化探索部50は、世代数GNの初期値を0とするSa1。次に、識別率最大化探索部50は、世代数GN=0、すなわち初期の染色体集合A0を生成する。具体的には、識別率最大化探索部50は、K個の染色体の各個体の各ビットの値を一定確率Pf0で0に、1-Pf0で1に設定し、それらの個体をすべて初期の染色体集合A0の要素とする。識別率最大化探索部50は、初期の染色体集合A0に属する各染色体の評価を染色体評価部40に指示し、その結果に基づき、染色体集合A0を適応度の降順にソートするSa2。なお、このときの各染色体の評価は、識別率を適応度とする。また、識別率最大化探索部50は、ソート結果の染色体とその適応度識別率とを対応付けて、染色体集合記憶部70に記憶させる。次に、識別率最大化探索部50は、世代数GNに1を足すSa3。識別率最大化探索部50は、染色体集合AGN-1からK1/2組の染色体のペアを取り出して、交叉1の操作を行い、K1個の染色体を生成し、染色体集合AGNの要素とするSa4。この交叉1の操作の詳細については、後述する。次に、識別率最大化探索部50は、染色体集合AGN-1からK2個の染色体を取り出して、突然変異の操作を行い、K2個の染色体を生成し、染色体集合AGNの要素とするSa5。次に、識別率最大化探索部50は、染色体集合AGNに属する各染色体の評価を染色体評価部40に指示し、その結果に基づき、染色体集合AGNを適応度の降順にソートするSa6。なお、このときの各染色体の評価も、識別率を適応度とする。また、識別率最大化探索部50は、ソート結果の染色体とその適応度識別率とを対応付けて、染色体集合記憶部70に記憶させる。そして、識別率最大化探索部50は、世代数GNが最大世代数GNe1以上であるか否かを判定するSa7。世代数GNが最大世代数GNe1以上でないときはSa7-No、ステップSa3に戻って、処理を繰り返す。また、世代数GNが最大世代数GNe1以上であるときはSa7-Yes、処理を終了する。なお、ステップSa4、Sa5の処理により作成される染色体の個体数は、各々K1個、K2個であり、K1とK2は、これらの合計がKとなるように予め設定しておく。最大世代数GNe1の処理が完了した後は、最終世代のAGNe1の1位の個体の適応度である識別率を基準識別率Pα0として次元数最小化探索部60に渡す。そしてAGNe1の1位の個体によりAGNe1のすべての要素を置き換える処理を行い、次元数最小化探索部60に渡す。この渡されたAGNe1が後段の処理の初期染色体集合となる。1位の個体だけでAGNe1を構成するのは、次元数最小化探索部60の探索処理において、一般のGAとは異なり初期染色体集合の多様性にまったく頼らないことを意味する。1交叉1上述のステップSa4における交叉1の処理について説明する。交叉1において染色体が選択される確率は適応度の順位によって決まり、適応度が高いほど選択される確率も高い。ここでは、識別率最大化探索部50は、適応度の大きさが第n位の個体が選択される確率PSnを、式5により算出する。式5において、Maxx,yは2変数の中の最大値を出力する関数である。また、μとσは実験的に決める定数であり0≦μ≦1、0≦σ≦1である。式5におけるμnは、染色体の適応度の順位降下に伴い一定の比率μで選択の確率を低減するものである。また、σは順位の低い染色体に対しても最低限である一定の確率を与える作用を持つ。識別率最大化探索部50は、処理対象となる染色体を式5の確率で無作為に選択する。識別率最大化探索部50は、このようにして染色体集合AGN-1から染色体のペアを選択し、選択したペアで交叉を行なうことで2つの染色体を作成する。作成した染色体については、染色体評価部40が、識別率Pαを式3により算出して適応度とする。そして、識別率最大化探索部50は、これらの染色体と適応度とを、AGNの要素とする。この処理をK1/2回繰り返すことでK1個の個体が生成され、AGNの要素とされる。なお、交叉の方法としては、交叉点をランダムで2つ選び、2つの交叉点に挟まれている部分を入れ換える、二点交叉を用いる。2突然変異上述のステップSa5における突然変異の処理について説明する。識別率最大化探索部50は、AGN-1から1個の染色体を式5の確率で無作為に選択し、一定確率で染色体のビット列を反転して、1つの染色体を作成する。作成した染色体については、染色体評価部40が、識別率Pαを式3により算出して適応度とする。そして、識別率最大化探索部50は、これらの染色体と適応度とを、AGNの要素とする。この処理をK2回繰り返す。これにより、AGNの個体数は交叉1で生成されるK1個と合わせてK1K2=K個となる。ここでビットを反転させる確率はPfmとする。図5は、次元数最小化探索部60を動作するフローチャートである。GAの世代数は、前段識別率最大化探索部50と同じくGNで表し、世代数GNにおける染色体集合も前段と同じくAGNで表し、各世代における染色体集合の個体数は前段と同じKとする。また、この処理での最大世代数はGNe2で表わす。まず、次元数最小化探索部60は、GNの初期値を、前段の最大世代数GNe1とするSb1。次に、次元数最小化探索部60は、前段の探索から受け取ったAGNe1の1位の個体を、K個に複製する。次元数最小化探索部60は、このK個に複製した染色体の集合を、染色体集合AGNe1とするSb2。次元数最小化探索部60は、染色体集合AGNe1を染色体集合記憶部70に記憶させる。次に、次元数最小化探索部60は、世代数GNに1を足すSb3。そして、次元数最小化探索部60は、染色体集合AGN-1から染色体を取り出して、ヌル染色体との間で、交叉2の操作を行い、K3個の染色体を生成し、染色体集合AGNの要素とする。この交叉2の操作の詳細については、後述する。なお、ヌル染色体とは、全てのビットが0、すなわち全ての特徴を識別に用いないことを示す染色体である。さらに、次元数最小化探索部60は、染色体集合AGN-1からK4個の染色体を取り出して、複製し染色体集合AGNの要素とするSb4。次に、次元数最小化探索部60は、染色体集合AGNに属する各染色体の評価を染色体評価部40に指示し、その結果に基づき、染色体集合AGNを非選択次元数の降順にソートするSb5。なお、このときの各染色体の評価は、識別率と非選択次元数とを適応度とする。また、次元数最小化探索部60は、ソート結果の染色体とその適応度とを対応付けて、染色体集合記憶部70に記憶させる。そして、次元数最小化探索部60は、世代数GNが最大世代数GNe2以上であるか否かを判定するSb6。世代数GNが最大世代数GNe2以上でないときはSb6-No、ステップSb3に戻って、処理を繰り返す。また、世代数GNが最大世代数GNe2以上であるときはSb6-Yes、処理を終了する。なお、ステップSb4の交叉2と複製の処理により作成される染色体の個数は、各々K3個とK4個であり、K3とK4は、これらの合計がKとなるように予め設定しておく。そして最大世代数GNe2までが完了したのち、AGNe2の第1位の染色体を最終結果として、選択結果出力部80に出力する。1交叉2上述のステップSb4における交叉2の処理について説明する。本処理では、特別な染色体としてすべてのビットを0とした染色体ヌル染色体を用いる。これをλ0で表す。交叉2では、ひとつの世代数GNに対して以下のa~gの処理をAGNの要素数がK3に達するまで繰り返し行う。a次元数最小化探索部60は、2つの染色体をAGN-1から式5の確率で無作為に選択する。これらの染色体を、λ1とλ2とする。b次元数最小化探索部60は、一定の確率Phでλ1、λ2の片側の染色体をヌル染色体λ0で置き変える。c次元数最小化探索部60は、λ1、λ2から二点交叉により、新たな染色体λ1’、λ2’を生成する。d次元数最小化探索部60は、染色体λ1’、λ2’の評価を、染色体評価部40に指示する。染色体評価部40は、染色体λ1’、λ2’の識別率Pα1、Pα2を式3により算出する。e染色体評価部40は、染色体λ1’、λ2’を用いたときの非選択次元数Rα1、Rα2を、式4により算出し適応度とする。f次元数最小化探索部60は、Pα0≦Pα1であればλ1’をAGNの新たな要素とする。AGNの要素数がK3に達すれば処理を完了する。g次元数最小化探索部60は、Pα0≦Pα2であればλ2’をAGNの新たな要素とする。AGNの要素数がK3に達すれば処理を完了する。この交叉2の特徴は以下の2点である。1点目の特徴は、上記bの処理でヌル染色体を片方の親とする交叉を行うことである。ヌル染色体は次元数が0であり、適応度である非選択次元数Rαは理論的な最大値Lである。識別能力を持たないためそのままでは使えないが、このヌル染色体の局所的な領域には有効な情報が含まれており、それを取り込むために、ここでは染色体の中の部分ビット列を交換する働きを持つ二点交叉を用いる。2点目の特徴は、fとgの処理において、交叉により生成した新たな個体を採用する際に識別率を基準識別率Pα0を下回らないことをチェックすることである。2複製上述のステップSb4における複製の処理について説明する。次元数最小化探索部60は、染色体集合AGN-1から1個の染色体を式5の確率で無作為に選択し、そのままAGNの要素とする。この処理をK4回繰り返す。これにより、染色体集合AGNの個体数は交叉2で生成されるK3個と合わせてK3K4=K個となる。なお、上述の実施形態において、識別率最大化探索部50および次元数最小化探索部60は、それぞれ予め決められた世代数GNe1、GNe2まで、処理を繰り返すとして説明したが、これに限らず、適応度が所定の値以上となるまで、あるいは、適応度の前回値との差分が所定の値以下となるまで処理を繰り返すようにしてもよい。また、識別率最大化探索部50と次元数最小化探索部60とにおいて生成する各世代の染色体数を同一の値としたが、異なっていてもよい。また、上述の実施形態において、パターン認識において、特徴の各々を識別因子として用いるか否かを選択しているが、パターン認識に限らず、その他のものを識別対象とし、識別対象に関する情報の各々を識別因子として用いるか否かを選択するようにしてもよい。また、上述の実施形態において、交叉2の処理では、識別率が基準識別率以上であることを、次の世代の染色体とする条件としているが、基準識別率に応じた条件を満たすようにすればよく、例えば、基準識別率の所定の割合例えば90以上であることを条件にしてもよいし、基準識別率から当該識別率を引いた結果が所定の範囲内例えば5以上であることを条件にしてもよい。以上のように、GAを用いて識別率を最大化する特徴選択を行ってから、その結果を用いてGAを用いて次元数を最小化する特徴選択を行う処理をすることで、識別率を最大化しつつ、次元数を最小化することができる。さらに、該処理を行うにあたって、後段のGAを用いて次元数を最小化する特徴選択の中で一定の確率で、すべてのビットに使用しないを表す値を設定した染色体ヌル染色体を片方の親とする交叉を行うことにより、前段から与えられた初期染色体集合に多様性が不足していても、ヌル染色体から有効な情報を得ることで多様性の不足を補い、高速なGAによる特徴選択を行うことができる。また、図1における特徴選択装置100の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより特徴選択装置100機能を実現してもよい。なお、ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものとする。また、コンピュータシステムは、WWWシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。"