(57)【要約】【課題】  Ｍａｎｉｆｏｌｄ固有の表面形状を、許容できる程度に保存し、且つパターン分類に適した、データ表現方法、及びその表現方法を利用した、パターン識別方法に係る技術を提供すること。【解決手段】  それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する（Ｓ２０）。入力したそれぞれの処理データ間の距離関係を求める（Ｓ２２）。クラス間のクラス間分離度を設定する（Ｓ２３）。距離関係を示す情報を、ラベルデータと、クラス間分離度を示す情報と、に基づいて更新する（Ｓ２４）。更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める（Ｓ２５）。【選択図】  図２
2008287437.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が行う情報処理方法であって、
入力手段が、それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力工程と、
第１の計算手段が、前記入力工程で入力したそれぞれの処理データ間の距離関係を求める第１の計算工程と、
設定手段が、前記クラス間のクラス間分離度を設定する設定工程と、
更新手段が、前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新工程と、
第２の計算手段が、前記更新工程で更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算工程と
を備えることを特徴とする情報処理方法。
【請求項２】
前記距離関係は測地線距離関係であり、前記データ写像関係を示す情報を用いて近似される距離関係はユークリッド距離関係であることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
２つの処理データｘ１、ｘ２間のグラフ距離ｄＧ（ｘ１、ｘ２）が、ｘ１、ｘ２が近傍で無い場合は∞であるとした時、
２つの処理データξ、ζ間の測地線距離ｄＭ（ξ、ζ）は、ｄＧ（ξ、ζ）か、当該処理データとは異なる処理データａを経由するｄＧ（ξ、ａ）＋ｄＧ（ａ、ζ）の、何れか小さい方であることを特徴とする請求項２に記載の情報処理方法。
【請求項４】
前記２つの処理データｘ１、ｘ２間のグラフ距離ｄＧ（ｘ１、ｘ２）が、ｘ１、ｘ２が近傍である場合、ユークリッド距離であることを特徴とする請求項３に記載の情報処理方法。
【請求項５】
前記２つの処理データｘ１、ｘ２間のグラフ距離ｄＧ（ｘ１、ｘ２）が、ｘ１、ｘ２が近傍である場合、ミンコフスキー距離またはマハラノビス距離であることを特徴とする請求項３に記載の情報処理方法。
【請求項６】
前記設定工程では、予め定義されたクラス間の分離度に応じて前記クラス間分離度を設定することを特徴とする請求項１に記載の情報処理方法。
【請求項７】
前記設定工程では、前記分離度が大きい場合には前記クラス間分離度を大きく設定し、前記分離度が小さい場合には前記クラス間分離度を小さく設定することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記設定工程は、前記クラス間の距離を求める第１工程を有し、当該クラス間の距離に基づいて前記クラス間分離度を設定することを特徴とする請求項１に記載の情報処理方法。
【請求項９】
前記設定工程では、前記クラス間の距離が小さい場合、前記クラス間分離度を大きく設定することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記第１工程では、最短距離法、最長距離法、群平均法、重心法、メジアン法、ウォード法、可変法のいずれかを用いて前記クラス間の距離を求めることを特徴とする請求項８に記載の情報処理方法。
【請求項１１】
前記２つの処理データｘ１、ｘ２が近傍であるか否かは、処理データｘ１から距離の近いものから順番に予め設定された個数までの処理データに処理データｘ２が存在する場合に、前記２つのデータｘ１、ｘ２が近傍であると判定することを特徴とする請求項３乃至５の何れか１項に記載の情報処理方法。
【請求項１２】
前記２つの処理データｘ１、ｘ２が近傍であるか否かは、前記２つの処理データｘ１、ｘ２間の距離が予め設定された距離以内である場合に、前記２つの処理データｘ１、ｘ２が近傍であると判定することを特徴とする請求項３乃至５の何れか１項に記載の情報処理方法。
【請求項１３】
前記更新工程では、２つの処理データのそれぞれが属するクラスの前記クラス間分離度に比例して処理データ間の距離を更新するとともに、同クラスに属する処理データとの距離が、他クラスに属する処理データとの距離よりも小さくなるように更新することを特徴とする請求項１に記載の情報処理方法。
【請求項１４】
前記更新工程では、２つの処理データのそれぞれが属するクラスの前記クラス間分離度に比例して処理データ間の距離を更新するとともに、同クラスに属する処理データとの距離に１より小さい正の数を乗じることを特徴とする請求項１に記載の情報処理方法。
【請求項１５】
前記更新工程では、２つの処理データのそれぞれが属するクラスの前記クラス間分離度に比例して処理データ間の距離を更新するとともに、同クラスに属する処理データとの距離を、他クラスに属する処理データとの距離よりも小さくなるような正の数とすることを特徴とする請求項１に記載の情報処理方法。
【請求項１６】
前記第２の計算工程では、写像後の空間における距離関係と更新後の距離関係の誤差を最小にする写像を求めることを特徴とする請求項１に記載の情報処理方法。
【請求項１７】
前記第２の計算工程では、多次元尺度法を用いて処理データの写像後の対応関係を求めることを特徴とする請求項１に記載の情報処理方法。
【請求項１８】
前記第２の計算工程では、求めた前記対応関係を教師データとしてトレーニングしたニューラルネットワークを構築することを特徴とする請求項１７に記載の情報処理方法。
【請求項１９】
前記ニューラルネットワークは、多層フィードフォワード型ニューラルネットワークであることを特徴とする請求項１８に記載の情報処理方法。
【請求項２０】
前記第２の計算工程では、写像後の空間における距離関係と更新後の距離関係の誤差を最小にする線形写像を求めることを特徴とする請求項１に記載の情報処理方法。
【請求項２１】
前記第２の計算工程では、ｉ番目、ｊ番目の処理データをｘｉ、ｘｊとし、ｉ番目、及びｊ番目の処理データ間の更新後の距離関係をｄｄ（ｉ、ｊ）とした時、
2008287437.tif 000015
なる誤差関数Ｊ（Ａ）を最小化する線形写像行列Ａを求めることを特徴とする請求項２０に記載の情報処理方法。
【請求項２２】
前記第２の計算工程では、写像後の空間における距離関係と更新後の距離関係の誤差を最小にする非線形写像φ（ｘ）を求め、当該非線形写像φ（ｘ）は、半正定値性を満たす実対称関数であるカーネル関数Ｋ（ξ、ζ）と、処理データｘｉ（ｉ＝１、２、・・・）用いて、φ（ｘ）＝Σαｉ・Ｋ（ｘ、ｘｉ）と表されることを特徴とする請求項１に記載の情報処理方法。
【請求項２３】
前記第２の計算工程では、ベクトルκｉを、処理データｘｉに対する処理データｘｊとの前記カーネル関数値Ｋ（ｘｉ、ｘｊ）をｊ番目の要素とするベクトルとし、処理データｘｉと処理データｙｉと間の更新後の距離関係をｄｄ（ｉ、ｊ）とした時、
2008287437.tif 000016
なる誤差関数Ｊ（Γ）を最小化する行列Γを求め、求めた行列Γのｉ行目の行ベクトルを、前記αｉとすることを特徴とする請求項２２に記載の情報処理方法。
【請求項２４】
前記第２の計算工程では、ベクトルκｉを、処理データｘｉに対する処理データｘｊとの前記カーネル関数値Ｋ（ｘｉ、ｘｊ）をｊ番目の要素とするベクトルとし、処理データｘｉと処理データｙｉと間の更新後の距離関係をｄｄ（ｉ、ｊ）、λを正の定数、｜γｋ｜Ｌ１を行列Γのｋ番目の列ベクトルのＬ１ノルムとした時、
2008287437.tif 000017
なる誤差関数Ｊ（Γ）を最小化する行列Γを求め、求めた行列Γのｉ行目の行ベクトルを、前記αｉとすることを特徴とする請求項２２に記載の情報処理方法。
【請求項２５】
前記第２の計算工程では少なくとも、写像後の距離関係の順序が更新後の距離関係の順序を満たすことを特徴とする請求項１６乃至２４の何れか１項に記載の情報処理方法。
【請求項２６】
情報処理装置が行う情報処理方法であって、
入力手段が、それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力工程と、
第１の計算手段が、前記入力工程で入力したそれぞれの処理データ間の距離関係を求める第１の計算工程と、
設定手段が、前記クラス間のクラス間分離度を設定する設定工程と、
更新手段が、前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新工程と、
第２の計算手段が、前記更新工程で更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算工程と、
生成手段が、前記データ写像関係により写像される空間において定義可能な前記それぞれ異なるクラスを識別する識別規則を示す情報を生成する生成工程と、
第２の入力手段が、識別対象データを入力する第２の入力工程と、
写像手段が、前記識別対象データを、前記生成工程で生成した情報が示す前記データ写像規則を用いて写像する写像工程と、
識別手段が、前記写像工程で写像されたデータと、前記生成工程で生成した情報が示す前記データ写像規則を用いて、前記識別対象データのラベルを識別する識別工程と
を備えることを特徴とする情報処理方法。
【請求項２７】
コンピュータに請求項１乃至２６の何れか１項に記載の情報処理方法を実行させるためのコンピュータプログラム。
【請求項２８】
請求項２７に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【請求項２９】
情報処理装置であって、
それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力手段と、
前記入力手段が入力したそれぞれの処理データ間の距離関係を求める第１の計算手段と、
前記クラス間のクラス間分離度を設定する設定手段と、
前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新手段と、
前記更新手段によって更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算手段と
を備えることを特徴とする情報処理装置。
【請求項３０】
情報処理装置であって、
それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力手段と、
前記入力手段が入力したそれぞれの処理データ間の距離関係を求める第１の計算手段と、
前記クラス間のクラス間分離度を設定する設定手段と、
前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新手段と、
前記更新手段によって更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算手段と、
前記データ写像関係により写像される空間において定義可能な前記それぞれ異なるクラスを識別する識別規則を示す情報を生成する生成手段と、
識別対象データを入力する第２の入力手段と、
前記識別対象データを、前記生成手段が生成した情報が示す前記データ写像規則を用いて写像する写像手段と、
前記写像手段によって写像されたデータと、前記生成手段が生成した情報が示す前記データ写像規則を用いて、前記識別対象データのラベルを識別する識別手段と
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長性を削減した高効率なデータの表現技術、このデータを用いた処理技術に関するものである。
【背景技術】
【０００２】
近年、非特許文献１のＩｓｏｍａｐや、非特許文献２のＬｏｃａｌｌｙ  Ｌｉｎｅａｒ  Ｅｎｂｅｄｄｉｎｇ（ＬＬＥ）に代表される、非線形の次元圧縮手法が提案されている。これらは、高次元空間内で、より低次元の超曲面（Ｍａｎｉｆｏｌｄ）上にあると考えられるデータを、Ｍａｎｉｆｏｌｄ固有の表面形状が許容できる程度に保存された、新たな低次元の空間に写像する手法を提供する。
【０００３】
係る手法は、より低次元の空間でデータを表現できるという意味で、高効率なパターン表現には成功している。しかし、データが何れのクラスに属するかという情報は用いておらず、データの分類を効率的に表すという点では、最適であるとは言えない。
【０００４】
これに対し、特許文献１に開示されている手法では、カーネルフィッシャー線形識別関数、またはフィッシャー線形判別関数を用いて、従来のＩｓｏｍａｐ法を拡張することにより、パターン分類のための画像を表す方法を提供している。
【０００５】
また、非特許文献３においては、従来のＩｓｏｍａｐ法の改良として、他クラスに属するデータ間の測地線距離を強制的に増加させることにより、クラス間の分離度を高める写像を構築する手法が提案されている。
【０００６】
このように、Ｍａｎｉｆｏｌｄ固有の表面形状を許容できる程度に保存し、且つパターン分類のためのデータを表現できる方法が望まれている。
【特許文献１】特表２００５−５３５０１７号広報
【非特許文献１】Joshua B. Tenenbaum, Vin de Silva, John C. Langford, “A Global Geometric Framework for Nonlinear Dimensionality Reduction”, Science, Vol. 290, pp. 2319-2323, 2000
【非特許文献２】Sam T. Roweis, Lawrence K. Saul, “Nonlinear Dimensionality Reduction by Locally Linear Embedding”, Science, Vol. 290, pp. 2323-2326, 2000
【非特許文献３】Bisser Raytchev, Ikushi Yoda, Katsuhiko Sakaue, “Multi-View Face Recognition By Nonlinear Dimensionality Reduction And Generalized Linear Models”, Proceedings of the 7th International Conference on Automatic Face Gesture Recognition, pp. 625-630, 2006
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は以上の問題に鑑みてなされたものであり、Ｍａｎｉｆｏｌｄ固有の表面形状を、許容できる程度に保存し、且つパターン分類に適した、データ表現方法、及びその表現方法を利用した、パターン識別方法に係る技術を提供することを目的とする。
【０００８】
より具体的には、あるクラスにラベル付けされた複数のデータにおいて、同一のクラスのデータ集合が１つのクラスタとして表現され、且つ各クラスタ間の距離を所望の距離に設定可能なデータ表現方法、及びその表現方法を利用したパターン識別方法である。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１０】
即ち、情報処理装置が行う情報処理方法であって、
入力手段が、それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力工程と、
第１の計算手段が、前記入力工程で入力したそれぞれの処理データ間の距離関係を求める第１の計算工程と、
設定手段が、前記クラス間のクラス間分離度を設定する設定工程と、
更新手段が、前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新工程と、
第２の計算手段が、前記更新工程で更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算工程と
を備えることを特徴とする。
【００１１】
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
【００１２】
即ち、情報処理装置が行う情報処理方法であって、
入力手段が、それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力工程と、
第１の計算手段が、前記入力工程で入力したそれぞれの処理データ間の距離関係を求める第１の計算工程と、
設定手段が、前記クラス間のクラス間分離度を設定する設定工程と、
更新手段が、前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新工程と、
第２の計算手段が、前記更新工程で更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算工程と、
生成手段が、前記データ写像関係により写像される空間において定義可能な前記それぞれ異なるクラスを識別する識別規則を示す情報を生成する生成工程と、
第２の入力手段が、識別対象データを入力する第２の入力工程と、
写像手段が、前記識別対象データを、前記生成工程で生成した情報が示す前記データ写像規則を用いて写像する写像工程と、
識別手段が、前記写像工程で写像されたデータと、前記生成工程で生成した情報が示す前記データ写像規則を用いて、前記識別対象データのラベルを識別する識別工程と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００１４】
即ち、情報処理装置であって、
それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力手段と、
前記入力手段が入力したそれぞれの処理データ間の距離関係を求める第１の計算手段と、
前記クラス間のクラス間分離度を設定する設定手段と、
前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新手段と、
前記更新手段によって更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算手段と
を備えることを特徴とする。
【００１５】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
【００１６】
即ち、情報処理装置であって、
それぞれ異なるクラスに属する処理データと共に、当該処理データが属するクラスを示すラベルデータを入力する入力手段と、
前記入力手段が入力したそれぞれの処理データ間の距離関係を求める第１の計算手段と、
前記クラス間のクラス間分離度を設定する設定手段と、
前記距離関係を示す情報を、前記ラベルデータと、前記クラス間分離度を示す情報と、に基づいて更新する更新手段と、
前記更新手段によって更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める第２の計算手段と、
前記データ写像関係により写像される空間において定義可能な前記それぞれ異なるクラスを識別する識別規則を示す情報を生成する生成手段と、
識別対象データを入力する第２の入力手段と、
前記識別対象データを、前記生成手段が生成した情報が示す前記データ写像規則を用いて写像する写像手段と、
前記写像手段によって写像されたデータと、前記生成手段が生成した情報が示す前記データ写像規則を用いて、前記識別対象データのラベルを識別する識別手段と
を備えることを特徴とする。
【発明の効果】
【００１７】
本発明の構成によれば、Ｍａｎｉｆｏｌｄ固有の表面形状を、許容できる程度に保存し、且つパターン分類に適した、データ表現方法、及びその表現方法を利用した、パターン識別方法に係る技術を提供することができる。
【発明を実施するための最良の形態】
【００１８】
先ず、本実施形態の概要について説明する。
【００１９】
本実施形態は、それぞれ異なるクラスに属する処理データと共に、処理データが属するクラスを示すラベルデータを入力すると、入力したそれぞれの処理データ間の距離関係を求める（第１の計算）。そして、クラス間のクラス間分離度を設定し、距離関係を示す情報を、ラベルデータと、クラス間分離度を示す情報と、に基づいて更新すると、更新された情報が示す距離関係を近似するデータ写像関係を示す情報を求める（第２の計算）。
【００２０】
ここで、求める距離関係とは測地線距離関係であり、データ写像関係を示す情報を用いて近似される距離関係はユークリッド距離関係である。
【００２１】
２つの処理データｘ１、ｘ２間のグラフ距離ｄＧ（ｘ１、ｘ２）が、ｘ１、ｘ２が近傍で無い場合は∞であるとする。この時、２つの処理データξ、ζ間の測地線距離ｄＭ（ξ、ζ）は、ｄＧ（ξ、ζ）か、処理データとは異なる処理データａを経由するｄＧ（ξ、ａ）＋ｄＧ（ａ、ζ）の、何れか小さい方である。
【００２２】
ここで、グラフ距離とは、２つの処理データｘ１、ｘ２間のグラフ距離ｄＧ（ｘ１、ｘ２）が、ｘ１、ｘ２が近傍である場合、ユークリッド距離や、マンハッタン距離といった、いわゆるミンコフスキー距離である。または、マハラノビス距離といった統計的な距離である。
【００２３】
クラス間分離度は、予め定義されたクラス間の分離度に応じて設定すればよい。このクラス間分離度は、分離度が大きい場合、つまり、ある２つのクラスの差異を強調したいなど、クラスの関係を大きく分離して表現したい場合には、その２つのクラス間におけるクラス間分離度を大きくする。逆に、分離度が小さい場合、例えば、ある２つのクラスを明確に区別しなくてもよいような、クラスの関係を大きく分離して表現しなくてもよい場合には、その２つのクラス間におけるクラス間分離度を小さくする。
【００２４】
また、このクラス間分離度は、クラス間の距離を求め、このクラス間の距離に基づいて、クラス間分離度を設定するようにしてもよい。この場合は、クラス間の距離が小さい時に、クラス間分離度を大きく設定するのが好適である。このようにすることにより、分離表現が比較的困難な２つのクラスを、効率よく分離表現することが可能になる。クラス間の距離を求める手法としては、クラスタ分析において一般的な、最短距離法や、最長距離法、群平均法、重心法、メジアン法、ウォード法、可変法等を用いて、クラス間の距離を求めるようにすればよい。
【００２５】
また、２つの処理データｘ１、ｘ２が近傍であるか否かは、処理データｘ１から距離の近いものから順番に予め設定された個数までの処理データに処理データｘ２が存在する場合に、２つのデータｘ１、ｘ２が近傍であると判定することを特徴とする。または、２つの処理データｘ１、ｘ２間の距離が予め設定された距離以内である場合に、２つの処理データｘ１、ｘ２が近傍であると判定するようにしてもよい。
【００２６】
また、距離関係の更新では、２つの処理データのそれぞれが属するクラスのクラス間分離度に比例して処理データ間の距離を更新するとともに、同クラスに属する処理データとの距離が、他クラスに属する処理データとの距離よりも小さくなるように更新する。
【００２７】
同クラスに属する処理データとの距離が、他クラスに属する処理データとの距離よりも小さくなるように更新する方法としては、同クラスに属する処理データとの距離に１より小さい正の数を乗じる手法が挙げられる。また、同クラスに属する処理データとの距離を、他クラスに属する処理データとの距離よりも小さくなるような正の数とするようにしてもよい。
【００２８】
データ写像関係を求める手法は、写像後の空間における距離関係と更新後の距離関係の誤差を最小にする写像を求める手法である。このような手法として、多次元尺度法を用いて処理データの写像後の対応関係を求める手法が挙げられる。また、多次元尺度法を用いて処理データの写像後の対応関係を求め、その後、求めた対応関係を教師データとしてトレーニングしたニューラルネットワークを構築するような手法でもよい。このニューラルネットワークとしては、多層フィードフォワード型ニューラルネットワークを用いることができる。
【００２９】
また、データ写像関係を求める手法としては、写像後の空間における距離関係と更新後の距離関係の誤差を最小にする線形写像を求めるような手法でも構わない。このような手法としては次のようなものが挙げられる。即ち、ｉ番目、ｊ番目の処理データをｘｉ、ｘｊとし、ｉ番目、及びｊ番目の処理データ間の更新後の距離関係をｄｄ（ｉ、ｊ）とした時、
2008287437.tif 000003
なる誤差関数Ｊ（Ａ）を最小化する線形写像行列Ａを求める手法が挙げられる。
【００３０】
また、データ写像関係を求める手法としては、写像後の空間における距離関係と更新後の距離関係の誤差を最小にする非線形写像φ（ｘ）を求める手法が挙げられる。ここで非線形写像φ（ｘ）は、半正定値性を満たす実対称関数であるカーネル関数Ｋ（ξ、ζ）と、処理データｘｉ（ｉ＝１、２、・・・）用いて、φ（ｘ）＝Σαｉ・Ｋ（ｘ、ｘｉ）と表される。
【００３１】
この非線形写像φ（ｘ）は、ベクトルκｉを、処理データｘｉに対する処理データｘｊとのカーネル関数値Ｋ（ｘｉ、ｘｊ）をｊ番目の要素とするベクトルとし、処理データｘｉと処理データｙｉと間の更新後の距離関係をｄｄ（ｉ、ｊ）とした時、
2008287437.tif 000004
なる誤差関数Ｊ（Γ）を最小化する行列Γを求め、求めた行列Γのｉ行目の行ベクトルを、αｉとすることにより求められる。または、更に、λを正の定数、｜γｋ｜Ｌ１を行列Γのｋ番目の列ベクトルのＬ１ノルムとした時、
2008287437.tif 000005
なる誤差関数Ｊ（Γ）を最小化する行列Γを求め、求めた行列Γのｉ行目の行ベクトルを、αｉとするようにして求めてもよい。これらの写像を求める際に、少なくとも、写像後の距離関係の順序が、更新後の距離関係の順序を満たすようにしてもよい。
【００３２】
更に、パターン識別に適用するには、データ写像関係により写像される空間において定義可能なそれぞれ異なるクラスを識別する識別規則を示す情報を生成し、識別対象データを入力（第２の入力）して、生成した情報が示すデータ写像規則を用いて写像する。そして、写像されたデータと、生成した情報が示すデータ写像規則を用いて、識別対象データのラベルを識別する。
【００３３】
以下では、このような本発明の幾つかの実施形態について、添付図面を参照しながら詳細に説明する。なお、以下に説明する技術事項のうち幾つかを適宜選択し、適宜組み合わせて用いても良い。
【００３４】
［第１の実施形態］
本実施形態で取り扱う画像は、人物の顔を含む原画像からこの顔の領域を切り出すことで得られる、縦２０画素、横２０画素のサイズの抽出画像（パターン画像）であって、グレースケール画像であるとする。もちろん、複数の人物の顔が原画像中に含まれている場合には、パターン画像（データ）は複数存在する。また、それぞれのパターン画像中の顔領域（パターン）には、誰の顔であるのかを示すラベルが付けられている（ラベリング処理済み）。即ち、本実施形態で取り扱うこのパターン画像には、このラベルのデータも含まれているものとして説明する。
【００３５】
本実施形態では、係るパターンを新たな空間上にマッピングするデータ表現方法（技術）について説明する。
【００３６】
縦横２０画素のサイズの抽出画像は、各画素値をラスタスキャン的に要素として並べた２０×２０＝４００次元のベクトルと見なせる。この場合、１つのパターンは、４００次元空間内の１つの点となる。一般に、”人物の顔”といった特定のカテゴリであるパターンの集合は、４００次元の空間に比べて、より低次元の超曲面（Ｍａｎｉｆｏｌｄ）を形成する。つまり、“人物の顔”を表現するには、４００次元は冗長であり、より低い次元の空間で表現可能である。
【００３７】
この冗長性を削減するための、最も一般的な手法として、主成分分析（ＰＣＡ）を用いた手法がある。しかし、“人物の顔”のように、例えば顔の向きの変動等、本質的に非線形な変動を含むパターンの集合に対して、パターン分布が正規分布であることを仮定しているＰＣＡでは、充分な冗長性削減を期待できない。
【００３８】
そこで、非特許文献１で提案されているＩｓｏｍａｐでは、先ず、上記非線形な超曲面上にある任意の２点のデータについて、超曲面に沿った、この２点のデータの最短距離である測地線距離を近似的に推定する。そして、多次元尺度法（Ｍｕｌｔｉｄｉｍｅｎｓｉｎａｌ  Ｓｃａｌｉｎｇ：ＭＤＳ）を用いて、すべてのデータの組み合わせについて推定した測地線距離関係を、ユークリッド距離として近似する写像を求める。これにより、本質的に非線形な分布の集合を、冗長性を削減した、よりコンパクトな空間で表現することが可能になる。
【００３９】
しかし、ＰＣＡも同様であるが、Ｉｓｏｍａｐでは、”人物の顔”というカテゴリをコンパクトな空間で表現することを目的としているため、必ずしも、例えば、その画像が誰であるかといった分類を表現するのに適した空間になるとは限らない。そこで本実施形態では、１つのカテゴリ内を細分化する、例えば人物の種別のような分類に適した空間での表現を、データに予め付加されたラベルを用いて行う。
【００４０】
図１は、人物の顔の領域についてラベル付け（ラベリング）がなされたパターン画像を用いたデータ表現処理を行う情報処理装置の機能構成例を示すブロック図である。また、係る情報処理装置が係るパターン画像を用いて行うデータ表現処理のフローチャートを図２に示す。以下では、図１，２を用いて、係るデータ表現処理について説明する。なお、以下の説明は、パターン画像のサイズが他のサイズであっても、ラベリング対象が人物の顔以外であっても、実質的には同じである。
【００４１】
ステップＳ２０では、データ入力部１０は、以上説明したような１以上のパターン画像５を入力し、後段の画像正規化部１１に転送する。データ入力部１０によるパターン画像の入力は、インターネットなどのネットワークを介して外部から送信されたパターン画像を受信することで行うようにしても良い。また、ハードディスクドライブ装置などの大容量情報記憶装置に保存されているパターン画像を読み出すことで行うようにしても良い。何れにせよ、本情報処理装置にパターン画像を入力する形態については特に限定するものではない。
【００４２】
ここで、ｉ番目にデータ入力部１０に入力されたパターン画像を構成する各画素をラスタスキャン的に並べた４００次元のベクトルを~ｘｉとし、そのラベルをｙｉとする。従って、「Ｎ個のパターン画像をデータ入力部１０に入力する」とは、~ｘｉとｙｉのセットをＮセットデータ入力部１０に入力することに等価である（ｉ＝１、２、・・・、Ｎ）。
【００４３】
ラベルの値は、同一人物で同じ値になるように設定するのであれば、如何なる値であっても良い。ここでは説明を簡単にするために、ｍ人（ｍ＞１）の種別が存在するデータセットを用いる場合、ｙｉ∈｛１、２、・・・、ｍ｝と、ｍ個のクラスラベルを用いて表現するようにすればよい。
【００４４】
ここで、データ入力部１０に入力されたデータの内、このラベルが同一であるデータの集合を、１つのクラスと定義する。また以下では、ラベルがｃであるデータの集合をクラスｃとする。
【００４５】
次にステップＳ２１では、画像正規化部１１は、データ入力部１０から転送されたデータのうち、パターン画像に対応する~ｘｉを正規化したｘｉ＝（~ｘｉ−ｕｉ・１）／σｉを、全てのパターン画像（ｉ）について求める。そして、求めたそれぞれのｘｉを保持しておく。
【００４６】
ここで、ｕｉは、~ｘｉベクトルの、各要素の平均値である。また、１は、全ての要素が１である、~ｘｉと同次元、つまり４００次元のベクトルである。またσｉは、~ｘｉベクトルの、各要素の標準偏差である。ここでの正規化処理は必須では無いが、一般に、本実施形態のように、データ入力部１０に入力するデータが画像等の場合は、全体的な信号（ここでは各画素値）の強弱の変動による要因を排除する必要があるため、上記のような正規化を行うと良い。
【００４７】
ここまでの処理で、Ｎ組の、正規化後のパターン画像ｘｉと、そのラベルｙｉの組が、画像正規化部１１等が有するメモリに格納される。
【００４８】
次にステップＳ２２では、測地線距離関係行列生成部１２は先ず、画像正規化部１１が正規化したＮ個のパターン画像から２つのパターン画像を取り出す。Ｎ個のパターン画像から２つのパターン画像を選択する組み合わせ数はＮ！／２！（Ｎ−２）！（＝Ｍ）通りあるので、２つのパターン画像によるセットがＭセット得られる。そして、Ｍセットのそれぞれのセットについて、前述のＩｓｏｍａｐと同様に、２つのパターン画像間の測地線距離ｄＭ（ｉ、ｊ）（ここで、ｄＭ（ｉ、ｊ）は、ｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊとの間の測地線距離）を算出する。そして、Ｍ個の測地線距離ｄＭ（ｉ、ｊ）が得られると、測地線距離関係行列ＤＭを求める。
【００４９】
測地線距離関係行列ＤＭは、ｉ行ｊ列の成分が、ｄＭ（ｉ、ｊ）の行列であり、入力されたパターン画像数がＮ個であるため、Ｎ次正方行列となる。また、成分である測地線距離ｄＭ（ｉ、ｊ）は、ｄＭ（ｉ、ｊ）＝ｄＭ（ｊ、ｉ）なので、測地線距離関係行列ＤＭは対称行列となり、且つｄＭ（ｉ、ｉ）＝０なので、対角成分は全て０となる。
【００５０】
測地線距離は、前述のように、入力された多数のデータが構成するＭａｎｉｆｏｌｄの表面に沿った、データ間の最短距離である。ここで、ステップＳ２２において行われる、本実施形態における測地線距離の近似的な算出方法を、図３に示したフローチャートを用いて説明する。図３は、近似的な測地線距離算出の処理を示すフローチャートである。なお、図３のフローチャートに従った処理は、測地線距離関係行列生成部１２が行うものとする。
【００５１】
先ず、ステップＳ３２０では、Ｎ個のパターン画像のうち、任意の２点間のユークリッド距離ｄｘ（ｉ、ｊ）を、全ての組み合わせについて算出し、ユークリッド距離関係行列Ｄｘを求める。ここで、ｄｘ（ｉ、ｊ）は、ｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊとの間のユークリッド距離である。
【００５２】
ユークリッド距離関係行列Ｄｘは、ｉ行ｊ列の成分が、ｄｘ（ｉ、ｊ）の行列であり、測地線距離関係行列ＤＭと同様に、Ｎ次正方の対角成分が０である対称行列である。本実施形態では、ステップＳ３２０においてユークリッド距離を用いた。しかし、これに限るものではなく、例えばマンハッタン距離等のミンコフスキー距離や、マハラノビス距離といった統計的な距離等、対称性や、非負性といった、一般的な距離の公理を満たすものであれば、その他の指標を用いても構わない。
【００５３】
続いて、ステップＳ３２１において、今度は、入力されたＮ個のパターン画像のうち、任意の２点間のグラフ距離ｄＧ（ｉ、ｊ）を、全ての組み合わせについて算出し、グラフ距離関係行列ＤＧを求める。ここで、ｄＧ（ｉ、ｊ）は、ｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊとの間のグラフ距離である。
【００５４】
ここで、グラフ距離とは、例えば、ｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊと２点が近傍である場合は、ｄＧ（ｉ、ｊ）＝ｄｘ（ｉ、ｊ）であり、この２点が近傍でない場合は、ｄＧ（ｉ、ｊ）＝∞となる距離である。現実的な演算においては、∞という数値は利用できないので、∞の代わりに、任意の２つのパターン画像間のユークリッド距離に比べ、充分に大きい定数を利用すればよい。グラフ距離関係行列ＤＧは、ｉ行ｊ列の成分がｄＧ（ｉ、ｊ）の行列であり、やはり同様に、Ｎ次正方の対角成分が０である対称行列である。
【００５５】
２点が近傍であるか否かは、本実施形態では、それぞれのパターン画像自身から、ステップＳ３２０において求めた距離が近いものから順に、自身を除いたｋ個（ｋ≧１）のパターン画像（自身を含めると、（ｋ＋１）個のデータ）を近傍であると判定する。そして、ある２点のパターン画像で、どちらの点においても近傍であると判定されなかった場合、その２点は近傍ではないと判定する。このように本実施形態では、自身以外で、距離の近い順にｋ個のパターン画像を近傍としているが、例えば、距離が正の値ε以内である関係のパターン画像を近傍とするようにしても良い。この場合、εは、全てのパターン画像のそれぞれにおいて、少なくとも、自身を除く１つのパターン画像が近傍とみなされる程度に大きい値にする必要がある。しかしεが大きすぎると、本来近傍とみなすべきでないパターン画像までが、近傍とされてしまうため、あまり大きな値にすることは好ましくない。入力されたパターン画像の数等にも依存するが、通常このεは、数個程度のパターン画像が近傍とみなされる程度の大きさにしておくと良い。
【００５６】
ステップＳ３２２では、ステップＳ３２１で求めたグラフ距離関係行列ＤＧに対してＦｌｏｙｄ−Ｗａｒｓｈａｌｌ法を用い、入力されたＮ個のパターン画像のうち任意の２点間の前述の測地線距離ｄＭ（ｉ、ｊ）を、全ての組み合わせについて算出する。これにより、測地線距離関係行列ＤＭを求める。Ｆｌｏｙｄ−Ｗａｒｓｈａｌｌ法によりｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊの２点間の測地線距離ｄＭ（ｉ、ｊ）は、ｄＭ（ｉ、ｊ）＝ｍｉｎ｛ｄＧ（ｉ、ｊ）、ｄＧ（ｉ、ｋ）＋ｄＧ（ｋ、ｊ）｝、ｋ≠ｉ、ｊのように計算される。
【００５７】
以上のステップＳ３２０〜ステップＳ３２２までの処理により、測地線距離関係行列ＤＭを求めることができる。
【００５８】
次に、ステップＳ２３では、クラス間分離度設定部１３がクラス間分離度設定処理を行う。以下に、クラス間分離度設定部１３が行う処理について詳細に説明する。
【００５９】
クラス間分離度設定部１３は、クラス間分離度ν（ｃｐ、ｃｑ）を設定する。ここで、ｃｐ、及びｃｑは、クラスラベルであり、本実施形態では、ｍ人の種別が存在するパターン画像セットを用いるので、ｃｐ、ｃｑ∈｛１、２、・・・、ｍ｝となり、クラス間分離度ν（ｃｐ、ｃｑ）には、ｍ×ｍの組み合わせが存在する。このクラス分離度ν（ｃｐ、ｃｑ）は、クラスｃｐと、クラスｃｑ間の分離表現度合いを表しており、そのクラス間の所望の分離度合いに応じて設定する。具体的には、分離度合いを高めたい場合は、このクラス分離度を１より大きく設定し、分離度合いを下げたい場合は１より小さく設定する。また、特に分離度合いを変更する必要がない場合は、このクラス分離度は１に設定する。ここでの分離度合いとは、前述のように、クラス間の差異の強調度合いであり、例えばクラスｃｐと、クラスｃｑの差異を強調して表現したい場合には、この２つのクラス間のクラス間分離度ν（ｃｐ、ｃｑ）を１より大きく設定するようにすればよい。
【００６０】
この定義のように、クラス間分離度は、可換な２クラス間の関係により設定するものであるため、対称性ν（ｃｐ、ｃｑ）＝ν（ｃｑ、ｃｐ）を満たす。また、同クラス間のクラス間分離度ν（ｃｐ、ｃｐ）は、実際には用いないため任意であり、単純に１に設定しておけばよい。
【００６１】
次に、本実施形態におけるクラス分離度の設定方法について説明する。本実施形態では、各クラスの分離表現を促進するために、以下の手法により、類似したクラス間のクラス間分離度を１より大きく設定し、類似していないクラス間のクラス間分離度は１に設定する。
【００６２】
まず、全クラスから２クラスを選択する全ての組み合わせにおいて、その２クラスが類似しているか否かの判定を行う。２クラスが類似しているか否かの判定方法としては様々な方法が考えられるが、本実施形態では、クラスタ分析で一般的な最短距離法を用いてクラス間の距離を算出し、そのクラス間の距離が閾値より小さい場合に、その２クラスが類似していると判定する。そして、類似していると判定された２クラス間のクラス間分離度を１より大きく設定する。本実施形態では、具体的には、上記閾値を、求めたクラス間の距離で除算した値を、クラス間分離度として設定する。類似していると判定されるクラス間の距離は、上記閾値より小さいので、この値は必ず１より大きい値となる。また、類似していると判定されなかった２クラス間のクラス間分離度は１に設定する。
【００６３】
上記閾値は、例えば兄弟等の類似している人物の顔が類似していると判定されるような値を実験的に予め求めておき、それを用いるようにすればよい。また、本実施形態では、最短距離法を用いてクラス間の距離を算出するが、最長距離法や、群平均法、重心法、メジアン法、ウォード法、可変法等、その他のクラス間の距離を算出する手法を用いても構わない。更に、類似したクラス間のクラス間分離度として、上記閾値を、求めたクラス間の距離で除算した値を設定するが、例えば１以上の値を設定する等、１より大きくなるような設定方法であれば、その他の方法であっても構わない。
【００６４】
以上のように、本実施形態では、クラス間の距離に基づいてクラス間分離度を設定するが、これに限るものではなく、予めクラスラベルに与えられた情報に基づいて、クラス間分離度を設定するようにしても構わない。例えば、予めＡ氏とＢ氏が双子であるという情報が与えられていれば、Ａ氏とＢ氏という２つのクラス間のクラス間分離度を１より大きい適当な値に設定するようにしてもよい。
【００６５】
また、クラス間分離度の設定は、類似するクラス間のクラス間分離度を高めるという設定方法に限るものではなく、その他の設定方法を用いることも可能である。例えば、所定のクラスｃｐを、その他のクラスｃｑ（ｑ≠ｐ）と明確に分離表現したいような場合は、ν（ｃｐ、ｃｑ）［∀ｑ、ｑ≠ｐ］を全て１より大きい値に設定し、その他を全て１に設定するというような設定方法が挙げられる。また、クラスｃｐとｃｑを、明確に区別する必要がないような場合は、ν（ｃｐ、ｃｑ）のみを１より小さい値に設定し、その他は全て１に設定するというような設定方法でも構わない。このように、本実施形態で説明するデータ表現方法では、各クラス間の所望の分離度合いに応じて、任意にクラス間分離度を設定することが可能である。
【００６６】
次にステップＳ２４では、測地線距離関係行列更新部１４は、歪曲測地線距離ｄｄ（ｉ、ｊ）を算出し、歪曲測地線距離関係行列Ｄｄを算出する。ここで、ｄｄ（ｉ、ｊ）は、測地線距離関係行列生成部１２において求めたｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊとの間の歪曲測地線距離を示す。また、歪曲測地線距離ｄｄ（ｉ、ｊ）は、ｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊとの間の測地線距離ｄＭ（ｉ、ｊ）を、ラベルｙｉ及びｙｊと、クラス間分離度ν（ｙｉ、ｙｊ）に基づき更新したものである。
【００６７】
本実施形態では、この歪曲測地線距離ｄｄ（ｉ、ｊ）を、ｄｄ（ｉ、ｊ）＝ｄＭ（ｉ、ｊ）・［ν（ｙｉ、ｙｊ）−｛ν（ｙｉ、ｙｊ）−β｝・δｙｉ、ｙｊ］のように求める。ここで、δｉ、ｊは、クロネッカーのδ記号で、ｉ＝ｊの時、δｉ、ｊ＝１、ｉ≠ｊの時、δｉ、ｊ＝０である。また、係数βは、１より小さい正の数である。即ち、歪曲測地線距離ｄｄ（ｉ、ｊ）は、ｉ番目のデータｘｉと、ｊ番目のデータｘｊが、同一のラベル、つまり、同一のクラスに属する場合は、ｄｄ（ｉ、ｊ）＝β・ｄＭ（ｉ、ｊ）となり、測地線距離ｄＭ（ｉ、ｊ）より小さくなる。
【００６８】
一方、同一のラベルでない、つまり異なるクラスに属する場合は、ｄｄ（ｉ、ｊ）＝ｄＭ（ｉ、ｊ）・ν（ｙｉ、ｙｊ）となる。従って、歪曲測地線距離ｄｄ（ｉ、ｊ）は、測地線距離ｄＭ（ｉ、ｊ）に、クラス間分離度ν（ｙｉ、ｙｊ）を乗じたものになる。
【００６９】
また、２つのデータが同一クラスである場合に乗じる係数βは、以下の条件を満たす値を求め、それを設定する。この条件は、同一クラスである任意の２つのパターン画像ｘｉ、ｘｊと、この２つのパターン画像とは異なるクラスの任意のパターン画像ｘｃにおいて、ｄｄ（ｉ、ｊ）＝β・ｄＭ（ｉ、ｊ）＜ｄｄ（ｉ、ｃ）＝ｄＭ（ｉ、ｃ）・ν（ｙｉ、ｙｃ）を満たすことである。つまり、同クラスである２つのパターン画像間の歪曲測地線距離は、異なるクラスの任意のパターン画像との距離より小さくなるようにすれば良い。究極的には、β＝０とすることで、必ず上記関係を満たすことができるが、後述のデータ写像関係生成部１５における処理において不都合を生じさせる可能性が高くなるため、β＞０である値を設定するようにする。
【００７０】
本実施形態に係るデータ表現方法では、上記のように、同一のクラスであるパターン画像間の距離が、異なるクラスであるパターン画像との距離よりも小さくなるように、パターン画像間の距離関係を更新する。また、その上記条件において、異なるクラスのパターン画像間の距離は、設定したクラス間分離度に基づいて更新される。これにより、パターン画像のクラス内での連続的な変動、例えばパターン画像が“人物の顔”の画像であれば、正面向きから横向きに変化するような、原特徴空間における非線形で連続的な変動を変動の軸方向に凝集させた距離関係を構築することになる。また、各クラス間の関係については、所望のクラスの分離度合いに基づいた距離関係を構築することになる。本実施形態では、上記同一のクラスであるパターン画像間における距離関係の更新を、同一クラスであるパターン画像間距離に、係数βを乗じて更新することによって行う。
【００７１】
しかし、パターン画像間における距離関係の更新は、これに限るものではなく、同一のクラスであるパターン画像間の距離が、異なるクラスであるパターン画像との距離よりも小さくなるような更新手法であれば、その他の方法を用いても構わない。例えば、同一クラスである全てのパターン画像間の距離を、異なるクラスのパターン画像との距離より小さい、定数ρに更新するようにしても構わない。
【００７２】
次にステップＳ２５では、データ写像関係生成部１５は、測地線距離関係行列更新部１４が算出した歪曲測地線距離関係行列Ｄｄを用い、全てのパターン画像ｘｉそれぞれに対応する写像先である、出力ベクトルｚｉを求める。
【００７３】
以下では、測地線距離関係行列更新部１４が算出したｉ番目のパターン画像ｘｉに対応する出力ベクトルｚｉを、ｉ番目の出力ベクトルｚｉと表記する。ここで出力ベクトルは、ｉ番目の出力ベクトルｚｉと、ｊ番目の出力ベクトルｚｊのユークリッド距離ｄｚ（ｉ、ｊ）が、ｉ番目のパターン画像ｘｉと、ｊ番目のパターン画像ｘｊの歪曲測地線距離ｄｄ（ｉ、ｊ）の近似となるように求められる。本実施形態では、前述のＩｓｏｍａｐと同様に、多次元尺度法（ＭＤＳ）を用いて、このような出力ベクトルを求める（ＭＤＳを用いた出力ベクトルの算出法については、非特許文献１を参照）。
【００７４】
通常、可視化を目的としてＭＤＳを用いる場合、出力ベクトルを３次元以下とするが、本実施形態に係るデータ表現方法は、特に可視化を目的としているわけではないため、出力ベクトルは、４次元以上であっても構わない。この出力ベクトルの次元を非常に高くすれば、上記距離の近似を比較的厳密に行うことができる。しかし、データの冗長性を削減するという目的では、入力データ（パターン画像）の次元（本実施形態では、４００次元）より小さくなるように、可能な限り出力ベクトルの次元を小さくする方が良い。
【００７５】
そこで本実施形態では、入力された全パターン画像のペアの、それぞれの距離誤差率のうち、最大の距離誤差率が所定値以下である最小の次元で出力ベクトルを求めるようにする。ここで、ｉ番目のデータと、ｊ番目のデータの距離誤差率は、｜ｄｄ（ｉ、ｊ）−ｄｚ（ｉ、ｊ）｜／ｄｄ（ｉ、ｊ）である。ここで用いる最大の距離誤差率の許容範囲は、入力されたパターン画像のカテゴリ等に依存するが、例えば１０％以下というようにすれば良い。また、本実施形態では、最大の距離誤差率が、予め設定された値以下になるような最小の次元を出力ベクトルの次元として用いた。しかしながら、これに限るものではなく、例えば距離誤差率の総和が予め設定された値以下になるような最小の次元を、出力ベクトルの次元としても良い。
【００７６】
以上説明したデータ入力部１０からデータ写像関係生成部１５までの各部における処理により、ラベル付きの各パターン画像について、~ｘｉ→ｘｉ→ｚｉという対応関係を得ることができる。これにより、全パターン画像について、冗長性を削減した出力ベクトルｚｉの次元の空間において、出力ベクトルｚｉが、同クラスであるパターン画像間で近づく。つまり、１つのクラスタとして表現され、尚且つ、各クラスに対応するクラスタを、所望の分離度合いで表現することが可能になる。
【００７７】
そしてデータ写像関係生成部１５はその後、ラベル付きの各パターン画像について求めた~ｘｉ→ｘｉ→ｚｉという対応関係を示す情報をメモリ１６に格納する。係る情報の表現方法については特に限定するものではないが、例えば、~ｘｉのファイル名、ｘｉのファイル名、ｚｉのファイル名をこの順番で関連付けたファイルを作成しても良い。
【００７８】
本実施形態では、パターン画像として、人物の顔を切り出したグレースケール画像と、それが何れの人物であるのかのラベルを用いたが、これに限るものではない。例えば、パターン画像の代わりに、予め設定された単語を発話した音声データと、その単語をラベルとするデータを用いても良い。更には、ＨＴＭＬで記述されたＷｅｂページと、そのコンテンツカテゴリをラベルとしたものであっても良い。即ち、ラベル付けされた元のデータ間で、類似度を反映する何らか距離を定義できるものであれば、どのようなデータであっても、本実施形態は適用可能である。
【００７９】
［第２の実施形態］
本実施形態では、第１の実施形態で示したデータ表現方法を応用する。本実施形態では、人物の顔を含む原画像からこの顔の領域を切り出すことで得られる縦２０画素、横２０画素のサイズの抽出画像（パターン画像）であって、グレースケール画像であるパターン画像を入力し、それが何れの人物を含むものであるのかを識別する。もちろん、この入力するパターン画像には、第１の実施形態で説明したようなラベリング処理は行っていない。
【００８０】
本実施形態は、学習モードと識別モードの２つモードから構成される。
【００８１】
学習モードでは、第１の実施形態で取り扱ったパターン画像、即ち、ラベリング処理済みのパターン画像を用いてデータ写像関係を近似的に構築し、その写像先の空間で、各ラベルに対応するクラスのモデルを生成する。
【００８２】
識別モードでは先ず、学習モードで構築したデータ写像関係を用いて、ラベリング処理がなされていないパターン画像を写像する。そして写像先の空間で、学習モードで生成した、各ラベルに対応するクラスのモデルを用い、その画像が、何れの人物の顔画像であるかを識別する。
【００８３】
＜学習モード＞
図４は、本実施形態に係る情報処理装置を構成する各部のうち、学習モード時において動作する各部についてのみ、その機能構成を示したブロック図である。なお、図４において、図１に示した構成と共通の部分については、同じ番号を付けており、その説明は省略する。
【００８４】
図５は、本実施形態に係る情報処理装置が学習モード時に行う処理のフローチャートである。なお、図５において、図２に示した構成と共通の部分については、同じ番号を付けており、その説明は省略する。
【００８５】
以下、図４，５を用いて、学習モード時における処理について説明する。
【００８６】
本実施形態では、Ｎ個のパターン画像（第１の実施形態で取り扱ったパターン画像と同じで、ラベリング処理済みのパターン画像）を入力し、入力したそれぞれのパターン画像について第１の実施形態と同様の処理を行う。これにより、各パターン画像に対する出力ベクトル（本実施形態ではこの出力ベクトルの次元数がｈであったとする）を求める。ここまでの処理については、第１の実施形態での処理と同様であるので、説明を省略する。
【００８７】
データ写像関係生成部１５までの処理により、ｉ＝１、２、・・・、Ｎまでの任意のｉにおけるラベルｙｉ、正規化後ベクトルｘｉ、出力ベクトルｚｉの、３つから構成されるデータセット（トレーニングデータセット）が得られる。このトレーニングデータセットを用いて、近似システム構築処理部４６は、ｘｉ→ｚｉという写像を近似するシステムを構築する。本実施形態では、この写像を近似するシステムとして、３層のフィードフォワードニューラルネットワーク（３層ＮＮ）を用いる。
【００８８】
この３層ＮＮは、入力層、中間層、出力層の３層構造になっており、それぞれの層が複数のニューロンを有する。
【００８９】
入力層のニューロン数は、正規化後ベクトルの次元数４００次元と同一の４００個であり、これらの入力層のニューロンは、３層ＮＮへの入力データである４００次元のベクトルの各要素値を、それぞれの状態値とする。
【００９０】
中間層のニューロン数は、データ写像関係生成部１５での処理において決まり、これらの中間層のニューロンは、入力層の全ニューロンと結合する。
【００９１】
ここで結合とは、ある重みを持っており、結合先ニューロン（中間層のニューロンであれば、入力層のニューロン）の状態値に、その重みを乗じたものを入力として受け取るものである。中間層のニューロンは、受け取った全ての入力の総和を取り、そこから予め設定された値（閾値）を差し引いた値に、予め設定された非線形変換を行った値を状態値とする。これらの重みの値や閾値は、初期の状態ではランダムな値を設定しておき、後述する近似システム構築処理部４６での処理において値が確定する。また、上記非線形変換は、いわゆるシグモイド関数を用いた変換が一般的であり、本実施形態では、この非線形変換として、双曲線正接関数（ｆ（ｕ）＝ｔａｎｈ（ｕ））を用いる。
【００９２】
出力層のニューロン数は、出力ベクトルの次元数と同一の個数であり、これらの出力層のニューロンは、中間層の全ニューロンと結合する。出力ベクトルの次元数は前述のように、データ写像関係生成部１５における処理により決まり、ここでは上述のように、出力ベクトルの次元数がｈであったとしたので、出力層のニューロン数はｈ個となる。
【００９３】
出力層のニューロンは、中間層のニューロンと同様に、結合先のニューロン（ここでは中間層のニューロン）の状態値に、結合ごとの重みを乗じた値を入力として受け取る。そして、受け取った全ての入力の総和を取り、そこから閾値を差し引いた値を状態値、つまり出力値とする。このように、出力層のニューロンは、中間層のニューロンとは異なり、非線形変換を行わない。
【００９４】
中間層のニューロンからの結合の重みの値や閾値に関しても、中間層のニューロンと同様に、初期の状態ではランダムな値を設定しておき、この近似システム構築処理部４６での処理において値が確定する。
【００９５】
上記３層構造の演算システムを用い、４００次元のベクトルの各要素値を、入力層の４００個のニューロンのそれぞれの状態値として設定する（以下では単に、３層ＮＮへ入力すると記す）ことで、出力層の、ｈ個のニューロンの状態値が得られる。このｈ個のニューロンの状態値を、ｈ次元のベクトルの各要素値と考えると、この３層ＮＮを用いた演算により、４００次元ベクトルから、ｈ次元ベクトルへの写像が行われるとみなせる。
【００９６】
ここで、上述したように、結合の重みの値や閾値を様々に変更することで、中間層のニューロンの数にも依存するが、任意の写像を、任意の精度で近似できることが知られている。そこで本実施形態では、この３層ＮＮを用い、結合の重みの値や閾値を調整することで、上記トレーニングデータセットの、任意のｉにおけるｘｉ→ｚｉという写像、つまり、正規化後ベクトルから出力ベクトルへの写像を近似する。
【００９７】
図５において、ステップＳ５６では、近似システム構築処理部４６が写像を近似するシステムを構築する処理を行う。
【００９８】
以下では、ステップＳ５６において近似システム構築処理部４６が行う処理、即ち、３層ＮＮの結合の重みの値や閾値の調整、及び中間層のニューロン数の決定について、同処理のフローチャートを示す図６を用いて説明する。
【００９９】
先ず、ステップＳ６６０では、データ写像関係生成部１５までの処理により得られた前述のトレーニングデータセット（ラベル、正規化後ベクトル、出力ベクトルの３つを１組とするＮ組のデータセット）を、２つのセットに分割する。この２つのセットのうち、１つは、結合の重みの値や閾値の調整に用い、以下では、このセットを、調整用セットとする。もう１つのセットは、後述のステップＳ６６４における検定に用い、以下では、このセットを検定用セットとする。
【０１００】
分割の際には、Ｎ組のトレーニングデータから、Ｍ組（０＜Ｍ＜Ｎ）をランダムに選択し、それらを検定用セットとする。そして、残りの（Ｎ−Ｍ）組が、調整用セットとなる。Ｍの値は、任意であるが、本実施形態では、Ｎの３０％とする。ここで、この２つのセットの両方において、全てのラベルそれぞれのデータが、少なくとも１つ存在することが好ましい。そこで本実施形態では、もし、どちらかのセットにおいて、あるラベルのデータが１つも存在しない場合は、もう一度ランダムに選択をやり直すようにする。
【０１０１】
続いてステップＳ６６１では、中間層のニューロンの数を設定する。最初は中間層のニューロンの数を予め定めた数に設定する。そして、後述するステップＳ６６６における判定により、再度ステップＳ６６１に戻ってきた場合に、中間層のニューロンの数を１つ増加させる。最初に設定する中間層のニューロンの数は任意であるが、初めはできるだけ少ない数にしておくことが好ましい。そこで、本実施形態では、初期の中間層のニューロンの数を２とする。
【０１０２】
次に、ステップＳ６６２では、全ての結合の重みの値と閾値をランダムな値に初期化する。ここでは、後のステップＳ６６３での処理における初期値依存性を低減するために、全ての値をほぼ０とみなせる程度に小さな値にすることが好ましい。
【０１０３】
ステップＳ６６３では、ステップＳ６６２で初期化した結合の重みの値と閾値からスタートし、調整用セットを用いた結合の重みの値と閾値の調整を行い、調整用セット内の、正規化後ベクトルから出力ベクトルという写像を近似した３層ＮＮを構築する。ここでは、調整用セットの中の全ての正規化後ベクトルそれぞれを３層ＮＮに入力した時に、出力層のｈ個のニューロンのそれぞれの状態値が、それぞれに対応する出力ベクトルの各要素値に近づくように、結合の重みの値と閾値の調整を行う。この調整では、多層フィードフォワードニューラルネットワークの学習手法として一般的な、誤差逆伝播法を用いる。誤差逆伝播法を用いた、結合の重みの値と閾値の調整手法の詳細は、S. Haykin, “Neural Networks A Comprehensive Foundation 2nd Edition”, Prentice Hall, pp. 156-255, July 1998を参照されたい。
【０１０４】
そしてこの調整を、調整用セットの中の全ての正規化後ベクトルそれぞれを３層ＮＮに入力した時に得られる出力層のｈ個のニューロンの状態値と、それぞれに対応する出力ベクトルの各要素値との誤差が収束した段階で終了する。本実施形態では、この誤差として、出力層のｈ個のニューロンの状態値と、対応する出力ベクトルの各要素値の２乗誤差総和を用いる。また、誤差が収束したか否かの判定は、誤差逆伝播法を用いた、予め設定されたステップ数の調整において、ほぼ誤差が減少しなくなった時（例えば、誤差の減少率が１％以下であった時など）に、誤差が収束したと判定する。判定に用いる「予め設定されたステップ数」は任意に設定すればよいが、これが小さすぎると、本来は収束していないのに、誤って収束したと判定してしまう可能性が高くなる。しかし、これが大きすぎると、収束判定がなされない可能性が高くなるので、確実に収束判定がなされるような値を実験的に決めて設定するようにすれば良い。
【０１０５】
以上説明したステップＳ６６３における処理により、中間層のニューロン数が、ステップＳ６６１で設定した数の場合の３層ＮＮを用いた、調整用セット内の正規化後ベクトルから出力ベクトルという写像を近似する３層ＮＮの構築が完了する。
【０１０６】
ステップＳ６６４では、検定用セットを用いて、ステップＳ６６３において構築した３層ＮＮの写像性能を評価する。ここではまず、ステップＳ６６３において構築した３層ＮＮに、検定用セット内の全ての正規化後ベクトルをそれぞれ入力し、それぞれの入力に対応する出力層のｈ個のニューロンの状態値を得る。そして、得られた各ｈ個の状態値と、入力した正規化後ベクトルに対応する、検定用セット内の出力ベクトルの各要素値との２乗誤差総和を求める。この２乗誤差が小さい程、未知の正規化後データに対して所望の写像を行う性能が高いと言える。そこで、この２乗誤差総和を、ステップＳ６６３において構築した３層ＮＮの写像性能の評価値として用いる。つまり、この評価値が小さいほど、写像性能が高いと判断できる。
【０１０７】
ステップＳ６６５では、ステップＳ６６３にて構築した３層ＮＮの中間層のニューロン数、全ての結合の重みの値、閾値、及びステップＳ６６４で求めた写像性能の評価値を、それぞれデータとして近似システム構築処理部４６が有するメモリに記録する。
【０１０８】
ステップＳ６６６では、これまでにメモリ内に記録した評価値を用いて、３層ＮＮの写像性能が悪化しているか否かを判定する。係る判定の結果、悪化したと判定した場合は、処理をステップＳ６６７に進める。一方、悪化していないと判定した場合は、処理をステップＳ６６１に戻し、上述のように、中間層のニューロンの数を１つ増加させ、ステップＳ６６２以降の処理を行う。
【０１０９】
ここで、ステップＳ６６６では、予め設定されたステップ数分前にステップＳ６６５で記録された３層ＮＮの評価値に比べ、それ以降の３層ＮＮの評価値が全て悪化、つまり２乗誤差総和が大きい場合に、写像性能が悪化していると判定する。「予め設定されたステップ数」は小さすぎると、悪化したか否かの判定を誤る可能性が高くなるので、現実的な程度に大きい値を設定しておけば良い。初期の段階では、「予め設定されたステップ数」分前の評価値が無いため、悪化の判断はできない。その場合は、必ずステップＳ６６１に戻るようにする。
【０１１０】
ステップＳ６６７では、これまでにステップＳ６６５で記録された写像性能の評価値のうち最も評価値が小さいものを選択する。そして選択した評価値と共にステップＳ６６５で記録された中間層のニューロン数、全ての結合の重みの値、閾値を、後述するクラスモデル生成部４７に出力する。
【０１１１】
以上説明したステップＳ６６０からステップＳ６６７までの処理により、汎化性能の高い、正規化後ベクトルから出力ベクトルへの写像を近似するシステムとして、適切な中間層のニューロン数を有する３層ＮＮが構築される。
【０１１２】
本実施形態では、上記手法を用いて、正規化後ベクトルから出力ベクトルへの写像を近似する３層ＮＮを構築した。しかし、本実施形態はこれに限るものではなく、その他、一般的な３層ＮＮの構築方法を用いても構わない。更に、本実施形態では、正規化後ベクトルから出力ベクトルへの写像を近似するシステムとして、３層ＮＮを用いたが、これに限るものではない。例えば、３層以上のフィードフォワードニューラルネットワークや、カーネル法を用いたサポートベクター回帰法等の非線形な写像システムにより、上記非線形な写像を近似するようにしても構わない。
【０１１３】
次にステップＳ５７では、クラスモデル生成部４７が、近似システム構築処理部４６での処理において構築した３層ＮＮと、トレーニングデータセットを用いて、各ラベルに対応するクラスモデルを生成する。ここで生成するクラスモデルとは、後述の識別モードにおいて用いるものであり、３層ＮＮにより写像される先の空間において、クラスの識別を行うための識別器のパラメータ生成に対応する。例えば、識別モードにおいて、線形識別関数を用いたクラス識別を行う場合、線形識別関数の係数ベクトルｗｃと、バイアス値ｂｃ（ｃはクラスラベル）を生成すればよい。
【０１１４】
本実施形態では、識別モードでのクラス識別において最近傍法を用いるため、各クラスについて少なくとも１つのプロトタイプデータを生成する。具体的には先ず、構築した３層ＮＮにトレーニングデータセット内の正規化後ベクトルを入力し、その時の３層ＮＮの出力層のｈ個のニューロンの状態値を算出する。そして、その状態値を各要素値とするｈ次元の写像後ベクトルと、対応するラベルのセット、つまり３層ＮＮにより写像された後のデータとそのラベルを、プロトタイプデータとして、メモリ４８に記録する処理を行う。このプロトタイプデータの記録は、トレーニングデータセット内からランダムに選択したデータに対して行ってもよいが、本実施形態では、全てのデータに対して行うようにする。
【０１１５】
以上の処理により、近似システム構築処理部４６での処理において構築した３層ＮＮと、クラスモデル生成部４７において記録した複数のプロトタイプデータが得られ、これをもって、学習モードでの処理が終了する。つまり学習モードでは、入力されたデータが冗長性が削減された同一クラスのデータであれば近づき、クラス間の分離度度合いが所望の分離度合いとなるような空間に写像され、その写像を近似するシステムを構築する。そして、その写像先で、各クラスのモデルを生成する。
【０１１６】
＜識別モード＞
図７は、本実施形態に係る情報処理装置を構成する各部のうち、識別モード時において動作する各部についてのみ、その機能構成を示したブロック図である。
【０１１７】
図８は、本実施形態に係る情報処理装置が識別モード時に行う処理のフローチャートである。
【０１１８】
以下、図７，８を用いて、識別モード時における処理について説明する。
【０１１９】
先ずステップＳ８０では、データ入力部７０によって、誰の画像であるのかを識別する対象であるパターン画像７５（ラベリング処理がなされていないパターン画像）を入力する。
【０１２０】
次にステップＳ８１では、画像正規化部７１がパターン画像７５に対して、第１の実施形態において説明した画像正規化部１１と同様の画像正規化処理を行い、正規化後の画像の各画素値をラスタスキャン的に並べた４００次元のベクトルを生成する。ここで得られたこのベクトルを、正規化後ベクトルｘとする。
【０１２１】
ステップＳ８７では、データ写像処理部７７が、学習モードにおいて得られた３層ＮＮを用いて、写像後ベクトルｚを算出する。写像後ベクトルｚは、学習モードにおいて得られた３層ＮＮに、正規化後ベクトルｘを入力し、その時の３層ＮＮの出力層のｈ個のニューロンの状態値を各要素値としたｈ次元のベクトルである。
【０１２２】
次にステップＳ８８では、識別処理部７８が、最近傍法を用いたクラス識別を行うため、先ず、データ写像処理部７７が算出した写像後ベクトルｚと、学習モードで記録した全プロトタイプデータの写像後ベクトルとのユークリッド距離を算出する。そして、算出した距離が、最も小さかった写像後ベクトルを選択し、それに対応して記録されているラベルを求める。
【０１２３】
次にステップＳ８９では、識別結果出力部７９は、識別処理部７８が求めたラベルに対応する人物の種別を示す情報を出力する。ラベルに対応する人物の種別は、予めテーブルとして識別結果出力部７９が有するメモリ内に保持しておけばよい。係る情報については特に限定するものではないが、例えば、人物名など、人物に関する情報を記したテキスト文章データでも良い。また、本情報処理装置に人物名を発声させるための音声データであっても良い。この場合、情報処理装置には、この音声データに基づいて音声信号を生成する為の構成と、この音声信号に従った音声を出力する音声スピーカとを設ける必要がある。
【０１２４】
以上説明した処理により、識別対象のパターン画像から、それが誰の顔画像であるのかを識別する処理が可能になる。本実施形態では、入力されるパターン画像（顔の画像）は、予め学習モードで用いたデータ内に含まれる人物である場合を想定しているため、識別結果は、必ず学習モードで用いたデータ内に含まれる人物の何れかとなる。もし、学習モードで用いたデータ内に含まれない人物の画像が入力されるような場合は、識別処理部７８において求めた最も小さい距離が予め設定された値以上であった場合、それは不明な人物の画像であるという識別結果にすればよい。ここで用いる「予め設定された値」は、データ内に含まれない人物の画像を入力し、それが不明な人物の画像であると判定されるように、実験的に求めてやればよい。
【０１２５】
以上説明した、学習モード、及び識別モードの処理により、ラベルの付与されていないパターン画像を入力し、それが何れの人物であるかを識別する処理が可能になる。本実施形態では、識別モードにおける識別処理部７８による識別処理に最近傍法を用いたが、これに限るものではなく、ｋ−最近傍法や、サポートベクターマシン等、その他の一般的な識別方法を用いても実現できることは明らかである。その場合、学習モードのクラスモデル生成部４７における、各クラスのモデル化の処理も、用いる識別処理において必要な、いわゆるパラメータの学習や、データの収集といった処理に変更すればよい。
【０１２６】
このように、本実施形態に係るパターン識別方法では先ず、同クラスのデータ同士ならば、そのデータ間の距離が他のクラスのデータとの距離よりも近づけ、クラス間の関係が所望の分離度合いで表現されるようなデータ写像システムが構築される。そして、この構築されたデータ写像システムにより写像される写像先の空間において、クラス識別を行う識別器を生成しておく。このデータ写像システムを用いて新たに入力されたデータを写像し、写像後のデータを、生成した識別器を用いて識別することで、所望のクラス分離度合いに応じた識別特性を有し、データの本質的に非線形な変動に対して頑健なパターン識別を行うことができる。
【０１２７】
第１の実施形態と同様の手法で、クラス間分離度を設定した場合、類似したクラス間の分離度合いが高まるようになるため、類似したクラスの分離度が高まるような識別特性を得ることができる。これは、類似したクラス間の差異が強調されるような空間への写像システムを構築したことにより実現される特性である。これにより、識別が比較的困難な対象であっても、良好な識別結果を得ることが可能になる。
【０１２８】
また、第１の実施形態における説明で述べた、クラス間分離度の設定方法により、様々な識別特性を得ることが可能になる。例えば、クラスｃｐと、その他のクラスｃｑ（ｑ≠ｐ）のクラス間分離度を全て１より大きい値に設定し、その他を全て１に設定したような場合、新しく入力したクラスｃｑ（ｑ≠ｐ）のデータを、クラスｃｐであると誤って判定する確率を低くすることができる。
【０１２９】
以上のような特性は、例えば、顔画像を用いた強固なセキュリティーシステムの構築等において有用である。具体的には、上位の権限を有する人物のクラスを、上記クラスｃｐのように扱うことで、一般の人物が誤って上位の権限を有する人物であると判定される可能性を低くすることができ、信頼性の高いセキュリティーシステムを構築することができる。また、同様のセキュリティーシステムを考えた場合、同程度の権限を有する人物同士であれば、誤ってそれらの人物を取り違えて判定したとしても実害は少ない。そのため、そのような人物のクラスは、明確に区別する必要がないため、それらのクラス間分離度を１より小さい値に設定してもよい。このようにすることにより、相対的に、権限が異なるクラス間での分離度合いを高めることができ、権限の異なる人物を取り違えて判定する確率を低くできる。このように、本実施形態に係るパターン識別方法では、クラス間分離度の設定により、所望の識別特性を有したパターン識別方法を実現することができる。
【０１３０】
［第３の実施形態］
本実施形態では、第２の実施形態で示したパターン識別方法の変形として、第２の実施形態と同様に、ラベリング処理がなされていないパターン画像を入力し、それが何れの人物であるかを識別する、パターン識別方法の例を示す。
【０１３１】
本実施形態も第２の実施形態と同様に、学習モードと識別モードの２つモードから構成される。本実施形態において各モードで行う処理は、第２の実施形態とほぼ同様であるが、データ写像関係生成部１５、近似システム構築処理部４６、クラスモデル生成部４７での処理に対応する部分、及びデータ写像処理部７７での処理に対応する部分のみが異なる。そのため、以下ではこの異なる部分のみについて説明し、処理が同様の部分は、説明を割愛する。
【０１３２】
＜学習モード＞
図９は、本実施形態に係る情報処理装置を構成する各部のうち、学習モード時において動作する各部についてのみ、その機能構成を示したブロック図である。なお、図９において、図１に示した構成と共通の部分については、同じ番号を付けており、その説明は省略する。
【０１３３】
図１０は、本実施形態に係る情報処理装置が学習モード時に行う処理のフローチャートである。なお、図１０において、図２に示した構成と共通の部分については、同じ番号を付けており、その説明は省略する。
【０１３４】
以下、図９，１０を用いて、学習モード時における処理について説明する。
【０１３５】
本実施形態でも、Ｎ個のパターン画像（第１の実施形態で取り扱ったパターン画像と同じで、ラベリング処理済みのパターン画像）を入力し、入力したそれぞれのパターン画像について第１の実施形態と同様の処理を行う。これにより、各パターン画像に対する出力ベクトル（本実施形態ではこの出力ベクトルの次元数がｈであったとする）を求める。ここまでの処理については、第１の実施形態での処理と同様であるので、説明を省略する。
【０１３６】
第２の実施形態では、この求めた歪曲測地線距離関係を近似的に保存する、新たな空間への写像システムを、ＭＤＳと３層ＮＮの構築の、２段階のステップにより構築した。
【０１３７】
本実施形態では、この写像システムとして線形写像システムを用い、線形写像システム構築処理部９６において、歪曲測地線距離関係行列と、画像正規化部１１において正規化した正規化後ベクトルのセットから、この線形写像システムを構築する。ここでの処理は、図１０のステップＳ１０６に対応する。
【０１３８】
先ず、ステップＳ１０６において線形写像システム構築処理部９６が行う処理について説明する。ここで、構築すべき線形システムを、行列表記としてＡとする。Ａは、入力が正規化後ベクトルの次元、つまり、ここでは４００次元であるので、写像後の空間の次元をｈとすると、４００×ｈの行列となる。このシステムに、４００次元のベクトルｘを入力した時に、出力として得られるベクトルｚは、ｚ＝ＡＴｘと表せ、これはｈ次元のベクトルとなる。ここで、ＡＴは、Ａの転置行列である。この時、任意のｉ、ｊ番目の、それぞれの正規化後ベクトルｘｉ、ｘｊを写像した出力ベクトルｚｉ、ｚｊ（＝ＡＴｘｉ、ＡＴｘｊ）間のユークリッド距離が、歪曲測地線距離ｄｄ（ｉ、ｊ）を近似するような線形写像システムを構築する。そこで、本実施形態では、以下の式１に示す誤差関数Ｊ（Ａ）の最小化問題として、この線形写像Ａを求める。
【０１３９】
【数１】
2008287437.tif 000006
【０１４０】
本実施形態では、これを最小化するＡを、最急降下法により求める。ここで、Ａのｋ列目の列ベクトルをａｋ（ａｋは４００次元のベクトルで、ｋ＝１、２、・・・、ｈ）とする。最急降下法では、まずＡの全成分をランダムに初期化する。そして、式２に基づき、Ａの成分を逐次更新していく。
【０１４１】
【数２】
2008287437.tif 000007
【０１４２】
ここでａ’ｋは、１回更新した後の、Ａのｋ列目の列ベクトルであり、ηは、１回更新における更新量を決める正の比例定数である。また、∇ａｋは、ベクトルａｋでの偏微分であり、∇ａｋＪ（Ａ）は、式３により求められる。
【０１４３】
【数３】
2008287437.tif 000008
【０１４４】
本実施形態では、式２に示した更新を、式１の誤差関数Ｊ（Ａ）の値が収束するまで逐次行い、収束後の行列Ａを得る。ここでの収束は、第２の実施形態における、３層ＮＮの誤差収束判定と同様に、予め設定されたステップ数分の更新において、ほぼ誤差が減少しなくなった時に、誤差が収束したと判定すればよい。ηの値はこの収束と関わっており、これが大きすぎると、誤差がうまく収束しない可能性が高くなるが、小さすぎると、収束までに多くの更新を要する。そこでこのηは、現実的に許される程度の更新回数で収束する程度に小さい値に設定しておくことが好ましい。
【０１４５】
上記手法により、誤差関数Ｊ（Ａ）の最小化問題として、線形写像行列Ａを求めることができる。上記説明ではこのＡの列数をｈとして一般化したが、このｈの値を定める必要がある。一般に、このｈが大きい方が近似性能が高い、即ち、誤差関数Ｊ（Ａ）の値を小さくすることができる。しかし、ｈが小さい方が冗長性を削減した空間に写像できる。そこで本実施形態では、様々な値のｈにおいて上記手法によりＡを求め、その中で予め設定された条件を満たすもののうち、ｈが最も小さい値であるＡを選択するようにする。具体的には先ず、ｈの値の初期値を１とし、Ａを求めるごとにｈの値を１ずつ増加させる。そして、各ｈの値で求めたＡにおいて、次の式４に示す条件を満たすかどうかを検証する。
【０１４６】
【数４】
2008287437.tif 000009
【０１４７】
式４は、写像後の空間における任意の３点の距離関係が、少なくとも歪曲測地線距離関係の順序を満たすか否かの条件を意味する。ｈを１つずつ増加させてＡを求め、上記式４の関係を満たすＡが求められた場合、そこで演算を終了し、その時のＡを、この線形写像システム構築処理部９６において求めるべき線形写像システムとして自身が有するメモリ内に記録し、保持しておく。本実施形態では、上記式１のような誤差関数を定義し、それを最小化する線形写像Ａを、最急降下法により求めた。しかし、これに限るものではなく、歪曲測地線距離関係をできるだけ保存、特に順序を保存するような線形写像を求める方法であれば、その他の誤差関数を利用したり、解析的にＡを求めたりしても構わない。
【０１４８】
次にステップＳ１０７では、クラスモデル生成部９７により、線形写像システム構築処理部９６の処理において構築した線形写像システムと、画像正規化部１１により正規化された全正規化後ベクトルとを用い、各ラベルに対応するクラスモデルを生成する。
【０１４９】
ここでは、第２の実施形態と同様に、先ず、構築した線形写像システムＡに、正規化後ベクトルを入力し、その時の線形写像システムの出力ベクトルを算出する。そして、そのｈ次元の出力ベクトルを写像後ベクトルとし、対応するラベルと共に、後述の識別モード時に用いるプロトタイプデータとして、メモリ９８に記録する処理を行う。このプロトタイプデータの記録についても第２の実施形態と同様に、トレーニングデータセット内からランダムに選択したデータに対して行ってもよいが、本実施形態でも全てのデータに対して行うようにする。
【０１５０】
以上の処理により、線形写像システム構築処理部９６での処理において構築した線形写像システムＡと、クラスモデル生成部９７において記録した複数のプロトタイプデータが得られ、これをもって、学習モードでの処理が終了する。つまり学習モードでは、入力されたデータが、冗長性が削減された同一クラスのデータであれば近づき、クラス間の分離度合いが所望の分離度合いとなるような空間に写像する線形写像システムＡを構築し、その写像先で各クラスのモデルを生成することになる。
【０１５１】
＜識別モード＞
本実施形態に係る識別モードは、処理部の基本的な構成は、第２の実施形態における識別モードの構成と同様であり、図７のデータ写像処理部７７に対応する処理部における処理の内容のみが異なる。そのため、ここでは特に処理部の構成を図示せず、データ写像処理部７７に対応する処理部における処理の内容のみ説明し、その他の処理については、説明を省略する。
【０１５２】
本実施形態も第２の実施形態と同様に、データを入力し、画像の正規化を行う。そして、本実施形態のデータ写像処理部では、学習モードにおいて得られた線形写像システムＡを用いて写像後ベクトルｚを算出する。写像後ベクトルｚは、学習モードにおいて得られた線形写像システムＡに、正規化後ベクトルｘを入力した時に得られるｈ次元のベクトルである。つまり、第２の実施形態においては、３層ＮＮを用いて写像後ベクトルを求めたところを、線形写像システムを用いて求めるという部分が異なるのみである。この後の第２の実施形態における識別処理部７８、識別結果出力部７９に対応する処理は、第２の実施形態と同様に、最近傍のプロトタイプを検索し、その結果を出力する。
【０１５３】
以上、第３の実施形態における処理の、第２の実施形態における処理との差異について説明した。識別処理において用いる手法に関しては第２の実施形態と同様に様々な手法が適用可能であり、また、想定外の入力パターンに対する対応も、第２の実施形態において説明した方法と同様にすればよい。
【０１５４】
［第４の実施形態］
本実施形態では、第３の実施形態で示したパターン識別方法の変形として、第３の実施形態における線形写像を、カーネル関数を用いて非線形写像に拡張した場合のパターン識別方法の例を示す。
【０１５５】
第３の実施形態では、線形写像を用いてデータ間の歪曲測地線距離関係をできるだけ保存（特に距離の順序において）し、且つ冗長性を削減できる写像を構築した。線形写像を用いた場合、データの分布が比較的単純な形状（非線形であっても）であれば、上記目的を達成できる。しかし、データの分布が非常に複雑な形状である場合は、目標となる写像を構築できない可能性が高くなる。
【０１５６】
そこで、本実施形態では、第３の実施形態における線形写像部分、つまり線形写像行列Ａを用いて入力データを写像する部分を、カーネル関数を用いた非線形な写像に変更する。ここでカーネル関数とは、ある集合χを対象とした時に、χ×χを定義域とする実対称関数で、半正定値性を満たす関数である。このようなカーネル関数の例として、多項式カーネルＫ（ｘ、ｘ’）＝（ｘ・ｘ’＋１）ｐや、ガウシアンカーネルＫ（ｘ、ｘ’）＝ｅｘｐ（−｜ｘ−ｘ’｜２／σ２）が一般的である。
【０１５７】
本実施形態では、このようなカーネル関数を用い、入力データｘから出力データｚへの非線形写像システムを構築する。このように本実施形態は、第３の実施形態とは、写像システムの部分が線形写像であるのかカーネル関数を用いた非線形写像であるのかが異なるのみである。そこで、本実施形態の説明では、カーネル関数を用いた非線形線形写像の構築と、それを用いた非線形写像のみを説明し、その他の部分に関しては説明を省略する。
【０１５８】
第３の実施形態では、入力データｘから出力データｚへの写像システムとして、ｚ＝ＡＴｘという線形写像を用いた。これに対し、本実施形態の非線形写像は、入力されたデータ数Ｎ個のｈ次元ベクトルαｎ（ｎ＝１、２、・・・、Ｎ）と、それぞれに対応する入力ベクトルｘｎ、及びカーネル関数Ｋ（ｘ、ｘ’）用い、ｚ＝Σαｎ・Ｋ（ｘ、ｘｎ）と表される。ここで、Σは、ｎ＝１からｎ＝Ｎまでの総和を意味する。
【０１５９】
この写像は、どのようなカーネル関数を用いるか（関数自体の選択や、上記カーネル関数例でのｐやσ等のパラメータ）にも依存するが、それを固定して考えると、Ｎ個のｈ次元ベクトルαｎのみにより決まる。そこで本実施形態ではカーネル関数として上記ガウシアンカーネルを用い、データ間の歪曲測地線距離関係をできるだけ保存し、且つ冗長性を削減できる写像の構築を、Ｎ個のｈ次元ベクトルαｎを最適化することにより行う。ガウシアンカーネルのパラメータσは任意の定数で構わないが、凡そ入力データ間のユークリッド距離オーダーの定数にしておくことが好ましい。
【０１６０】
このＮ個のｈ次元ベクトルαｎの最適化は、式５に示す誤差関数Ｊ（Γ）の最小化問題の解として得られる。
【０１６１】
【数５】
2008287437.tif 000010
【０１６２】
ここでΓはｋ列目の列ベクトルがＮ次元ベクトルγｋ（ｋ＝１、２、・・・、ｈ）のＮ行ｈ列の行列である。また式中のκｉは、Ｋ（ｘｉ、ｘｋ）をｋ番目の要素とするＮ次元のベクトルであり、κｉ＝｛Ｋ（ｘｉ、ｘ１）、Ｋ（ｘｉ、ｘ２）、・・・、Ｋ（ｘｉ、ｘＮ）｝Ｔである。本実施形態においてもこの誤差関数を最小化するΓを、最急降下法により求める。そこでまず、Γの全成分をランダムに初期化する。そして、式６に基づき、Γの成分を逐次更新していく。
【０１６３】
【数６】
2008287437.tif 000011
【０１６４】
ここでγ’ｋは、１回更新した後のΓのｋ列目の列ベクトルであり、ηは第３の実施形態と同様に、１回更新における更新量を決める正の比例定数である。また、∇γｋは、ベクトルγｋでの偏微分であり、∇γｋＪ（Γ）は第３の実施形態と同様に、式７により求められる。
【０１６５】
【数７】
2008287437.tif 000012
【０１６６】
本実施形態でも、第３の実施形態と同様に、式６に示した更新を、式５の誤差関数Ｊ（Γ）の値が収束するまで逐次行い、収束後の行列Γを得る。この収束後の行列Γのｎ行目の行ベクトルが、求めるｈ次元ベクトルαｎとなる。収束の判定や、ηの設定も、第３の実施形態と同様にすればよいので、説明を省略する。
【０１６７】
Γの列数ｈは、第３の実施形態と同様の手法で求めてもよいが、第２の実施形態において用いた３層ＮＮの中間層のニューロン数決定手法と同様の交差検定法を用いる方が好適である。この場合、まずデータを調整用セットと、検定用セットに分割し、調整用セットを用いて、第３の実施形態と同様に、様々なｈの値において上記手法によりΓを求める。そして、各ｈの値で得られたΓで決まる写像ｚ＝Σαｋ・Ｋ（ｘ、ｘｋ）を、検定用セットに対して適用し、それらが予め設定された条件を満たすもののうち、ｈが最も小さい値であるΓを選択するようにすればよい。ここで用いる条件としては、第３の実施形態において示した式４の条件や、第１の実施形態において用いた入力された全データのペアの、それぞれの距離誤差率の内、最大の距離誤差率が、予め設定された値以下であるといった条件を用いればよい。
【０１６８】
本実施形態も、上記式５のような誤差関数を定義し、それを最小化する行列Γを、最急降下法により求めた。しかし、これに限るものではなく、歪曲測地線距離関係を、特に順序を保存するように、写像する非線形変換を決定する行列Γを求める方法であれば、その他の誤差関数を利用したり、解析的に行列Γを求めたりしても構わない。特に、式５に示した誤差関数に関しては、よりスパースな解を得るため、Γに関するＬ１ノルムを正則化項として付加し、式８のようにしてもよい。
【０１６９】
【数８】
2008287437.tif 000013
【０１７０】
ここで、｜γｋ｜Ｌ１はγｋのＬ１ノルムであり、第２項のΣｋは、ｋ＝１からｋ＝ｈまでの総和を意味する。また、λは正則化の効果を決める正のパラメータであり、正則化の効果を決める定数である。このλの値を大きくすることで正則化の効果が強まるが、実際に用いる値としては、求めるスパースネスと、最終的な写像性能に応じて実験的に決めてやればよい。誤差関数を式８とした場合には、式７に示した、∇γｋＪ（Γ）は、式９のようになる。
【０１７１】
【数９】
2008287437.tif 000014
【０１７２】
ここでΛｋは、γｋのｎ番目の要素をγｋｎとした場合、この行列Λｋの、ｎ行ｎ列目の対角成分がλ／｜γｋｎ｜で、それ以外の成分は全て０となる、Ｎ次の対角行列である。よって、よりスパースな解を得るためには、この式９を用い、式６に示した更新を、式８の誤差関数Ｊ（Γ）の値が収束するまで逐次行い、収束後の行列Γを得るようにすればよい。
【０１７３】
第３の実施形態におけるクラスモデル生成部９７や、データ写像処理部７７に対応する本実施形態での処理では、第３の実施形態における線形写像ｚ＝ＡＴｘを、学習モード時のカーネル関数Ｋを用いて、ｚ＝Σαｋ・Ｋ（ｘ、ｘｋ）と置き換えるだけでよい。
【０１７４】
上記手法により、第３の実施形態における線形写像を、カーネル関数を用いた非線形な写像に置き換えることができ、より複雑なパターンの分布に対応可能となる。本実施形態では、カーネル関数を固定として説明したが、様々なカーネル関数（関数自体の選択や、上記カーネル関数例でのｐやσ等のパラメータも含めて）を用いて上記写像を構築し、その中で、交差検定における誤差関数の値が最小のものを選ぶようにしてもよい。
【０１７５】
上記説明した、第２から第４の実施形態のパターン識別方法の例では、人物の顔を切り出したグレースケール画像を入力データとして用いた。しかし、これに限るものではなく、その他のカテゴリの画像データや、音声データに対しても適用可能であることは明らかである。また、例えばＷｅｂコンテンツ等の一般的なデータであっても、各データの距離、及びいくつかのパラメータによって定まるそのデータに対する多次元空間への写像が定義できれば、第２から第４の実施形態における入力データとして用いることができる。この場合、式１、５、又は式８に示したような誤差関数を用い、写像を決めるパラメータを、この誤差関数が最小になるように定めてやればよい。
【０１７６】
［第５の実施形態］
図１，４，７，９に示した各部（メモリを除く）は、上記実施形態では全てハードウェアでもって構成されているものとして説明した。しかしこれら各部をソフトウェアでもって実装しても良い。即ち、各部に対応する処理をコンピュータに実行させるためのコンピュータプログラムとして実装しても良い。
【０１７７】
図１１は、図１，４，７，９に示した各部をコンピュータプログラムでもって実装した場合に、このコンピュータプログラムを実行するコンピュータのハードウェア構成例を示すブロック図である。
【０１７８】
ＣＰＵ１１０１は、ＲＡＭ１１０２やＲＯＭ１１０３に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、図１，４，７，９に示した各部が行う各処理を実行する。
【０１７９】
ＲＡＭ１１０２は、外部記憶装置１１０６からロードされたプログラムやデータ、Ｉ／Ｆ１１０７を介して外部から受信したプログラムやデータを一時的に記憶するためのエリアを有する。また、ＲＡＭ１１０２は、ＣＰＵ１１０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１１０２は、各種のエリアを適宜提供することができる。また、ＲＡＭ１１０２は、メモリ１６，４８，９８としても機能する。
【０１８０】
ＲＯＭ１１０３には、本コンピュータの設定データやブートプログラムなどが格納されている。
【０１８１】
操作部１１０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示やデータを入力することができる。例えば、上記各説明における「設定する処理」では、ユーザが操作部１１０４を用いて入力したものを受け付ける、というようにしても良い。
【０１８２】
表示部１１０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１１０１による処理結果を画像や文字などでもって表示することができる。例えば、上記識別モードにおける処理結果としての識別結果を画像や文字などでもって表示することができる。また、パターン画像の一覧をこの表示部１１０５の表示画面上に表示させ、本コンピュータにおいて処理すべき対象としてのパターン画像をこの一覧表示されたパターン画像群から操作部１１０４でもって選択させるようにしても良い。
【０１８３】
外部記憶装置１１０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。ここには、ＯＳ（オペレーティングシステム）や、図１，４，７，９に示した各部の機能をＣＰＵ１１０１に実行させるためのプログラムやデータ、また、予め設定されているものとして説明した関数プログラムやデータなども保存されている。また、パターン画像など、処理対象のデータについてもこの外部記憶装置１１０６に保存されている。なお、外部記憶装置１１０６は、メモリ１６，４８，９８の機能をも兼ねても良い。
【０１８４】
外部記憶装置１１０６に保存されているプログラムやデータはＣＰＵ１１０１による制御に従って適宜ＲＡＭ１１０２にロードされる。そしてＣＰＵ１１０１はこのロードされたプログラムやデータを用いて処理を実行する。これにより本コンピュータは、図１，４，７，９に示した各部による処理を実行することができる。
【０１８５】
Ｉ／Ｆ１１０７は、本コンピュータを外部の機器と接続するためのものである。例えば、このＩ／Ｆ１１０７をＬＡＮやインターネット等のネットワークに接続することで、例えば、ネットワーク上の機器からパターン画像などをこのＩ／Ｆ１１０７を介してダウンロードすることができる。また、本コンピュータによる処理結果をこのＩ／Ｆ１１０７を介してネットワーク上の機器に対して送信することもできる。
【０１８６】
１１０８は上述の各部を繋ぐバスである。なお、図１１に示した構成は一例であり、以上説明したコンピュータプログラムを実行可能な構成であれば、コンピュータは如何なる構成を有していても良い。
【０１８７】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読み取り可能な記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１８８】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８９】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９０】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１９１】
【図１】人物の顔の領域についてラベル付け（ラベリング）がなされたパターン画像を用いたデータ表現処理を行う情報処理装置の機能構成例を示すブロック図である。
【図２】パターン画像を用いて行うデータ表現処理のフローチャートである。
【図３】近似的な測地線距離算出の処理を示すフローチャートである。
【図４】本発明の第２の実施形態に係る情報処理装置を構成する各部のうち、学習モード時において動作する各部についてのみ、その機能構成を示したブロック図である。
【図５】本発明の第２の実施形態に係る情報処理装置が学習モード時に行う処理のフローチャートである。
【図６】ステップＳ５６において近似システム構築処理部４６が行う処理のフローチャートである。
【図７】本発明の第２の実施形態に係る情報処理装置を構成する各部のうち、識別モード時において動作する各部についてのみ、その機能構成を示したブロック図である。
【図８】本発明の第２の実施形態に係る情報処理装置が識別モード時に行う処理のフローチャートである。
【図９】本発明の第３の実施形態に係る情報処理装置を構成する各部のうち、学習モード時において動作する各部についてのみ、その機能構成を示したブロック図である。
【図１０】本発明の第３の実施形態に係る情報処理装置が学習モード時に行う処理のフローチャートである。
【図１１】図１，４，７，９に示した各部をコンピュータプログラムでもって実装した場合に、このコンピュータプログラムを実行するコンピュータのハードウェア構成例を示すブロック図である。
【図１】
2008287437.tif 000018
【図２】
2008287437.tif 000019
【図３】
2008287437.tif 000020
【図４】
2008287437.tif 000021
【図５】
2008287437.tif 000022
【図６】
2008287437.tif 000023
【図７】
2008287437.tif 000024
【図８】
2008287437.tif 000025
【図９】
2008287437.tif 000026
【図１０】
2008287437.tif 000027
【図１１】
2008287437.tif 000028