【文献】
Hui Zou, Trevor Hastie,Regularization and variable selection via the elastic net,J. R. Statist. Soc. B(2005) 67, Part 2,2005年,Vol.67, Part2,pp. 301-320
(58)【調査した分野】(Int.Cl.,DB名)
前記特徴変換行列は、入力ベクトルの要素を選択することにより次元を減らす特徴選択と、前記入力ベクトルを線形変換して次元を減らす特徴変換と、を行なう行列である、請求項1に記載のパターン学習装置。
分子をLvノルムとし、分母をLwノルムとする場合(v, wは実数)、wがvより大きいノルムの比を前記正則化項とする、請求項1乃至4のいずれか1項に記載のパターン学習装置。
【発明を実施するための形態】
【0015】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。なお、本明細書で使用する「特徴変換行列」は認識対象パターンを表わす入力ベクトルの次元数を特徴選択と特徴変換とをまとめて行ない認識精度次元数を減らすための行列である。
[第1実施形態]
本発明の第1実施形態としてのパターン学習装置100について、
図1を用いて説明する。パターン学習装置100は、パターン認識に用いる識別関数のパラメータを更新する装置である。
【0016】
図1に示すように、パターン学習装置100は、初期値入力部101と、損失計算部102と、正則化計算部103と、パラメータ更新部104と、パラメータ出力部105と、を含む。初期値入力部101は、パターン認識に用いる識別関数のパラメータの初期値を入力する。損失計算部102は、学習用の入力ベクトルに基づいて、識別関数を評価する評価関数における認識誤りに相当する損失項を計算する。正則化計算部103は、評価関数における正則化項を計算する。パラメータ更新部104は、損失項と正則化項との総和が減少するように、識別関数のパラメータを更新する。パラメータ出力部105は、パラメータ更新部104による更新後の識別関数のパラメータを出力する。ここで、正則化計算部103は、識別関数の特徴変換行列を用いたノルムの比103aで定義される正則化項を計算する。
【0017】
本実施形態によれば、損失項の形によらず評価関数を最小化する解に到達させ、特徴選択と特徴変換との同時適正化を行なって、パターン認識精度を向上することができる。
【0018】
[第2実施形態]
次に、本発明の第2実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部は、評価関数の正則化項を識別関数の特徴変換行列を用いたノルムの比で定義することにより、特徴変換行列の適正化、すなわち、認識精度を向上し、かつ、特徴変換行列のスパース化を行なう。本実施形態においては、評価関数の正則化項を識別関数の特徴変換行列の列を用いたノルムの比で定義する。
【0019】
《前提技術》
本実施形態の特徴を明瞭にするため、パターン学習の前提技術について簡単に説明する。まず、特徴選択と特徴変換とについて具体的に説明する。
【0020】
(特徴選択)
図6Aは、前提技術における特徴選択610を説明するための図である。特徴選択610は、d次元の入力ベクトルxの要素のうち、いくつかの要素を抜きだしたq次元(q<d)のベクトルzを作る処理であり、q×d行列Sで記述できる。ただし、行列Sの各行は1つの要素のみ“1”であり、他の要素は“0”である。
【0021】
(特徴変換)
図6Bは、前提技術における特徴選択後の特徴変換620を説明するための図である。特徴変換620は、q次元のベクトルzをさらに低次元のp次元(p<q)に線形変換する処理であり、p×q行列Aで記述される。
【0022】
(特徴変換行列)
図6Cは、前提技術における特徴選択および特徴変換を行なう特徴変換行列630を説明するための図である。
図6Cに示すように、
図6Bの行列Sと行列Aとはまとめることができ、これを特徴変換行列Bと表記すると、
図6Cに黒で示したように、いくつかの列ベクトルについては要素の値が全て“0”となっている。これは、行列Sのスパース性に起因しており、ベクトルyはその列ベクトルに対応するベクトルxの要素値の影響を受けない、つまり特徴選択によって選ばれないことを意味する。
【0023】
この場合に、行列Sを求めてから行列Aを設計すると、認識に重要な特徴が特徴選択で選ばれなかった場合は認識精度が低下する。したがって、特徴変換行列Bを直接、最適化することが望ましい。前提技術では、“Group Lasso”によってこれを実現している。すなわち、認識誤りに相当する損失項と特徴変換行列Bのパラメータからなる正則化項を合わせた評価関数の値が小さくなるように、特徴変換行列Bを更新する。
【0024】
具体的には(数式1)を最小化する。
【数1】
ここで、第1項は損失項、第2項は正則化項であって、Nはサンプル数、x
nは入力ベクトル、loss(x)はベクトルxに対する間違いやすさに相当する量(=損失)、λ>0は正則化の重みである。||θ||
1はパラメータθに対するL1ノルムであり、(数式2)で定義される。
【0025】
【数2】
L1ノルムが小さくなるようにパラメータを更新すると、いくつかの要素については値が“0”となり、スパースな解が得られる。Group Lassoでは、いくつかの要素をまとめてパラメータθ
jを定義することで、グループに含まれる要素値をまとめて“0”にすることができる。例えば、行列Bの要素b
ijを用いて、パラメータθ
jを(数式3)のように定義する。
【0026】
【数3】
このようにすれば、行列Bのj番目の列ベクトルの大きさを“0”にすることができ、特徴選択として作用する。
【0027】
(パターン学習)
図6Dは、前提技術におけるパターン学習部640の機能構成を示すブロック図である。
【0028】
パターン学習部640は、初期値入力部601と、損失計算部602と、正則化計算部603と、評価値算出部(加算部)604と、パラメータ更新部605と、パラメータ出力部606と、を備える。
【0029】
初期値入力部601は、特徴変換行列の初期値(および、参照ベクトル)を入力する。損失計算部602は、選択部621と、識別関数演算部622と、損失算出部623とを有し、評価関数の損失項を計算する。選択部621は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。識別関数演算部622は、特徴変換行列および参照ベクトルを使用して、学習用の入力ベクトルから最小距離の参照ベクトルに基づいて識別クラスを判別する。そして、損失算出部623は、識別クラスの判別の正否と間違いの程度を累積した、損失項の値を算出する。
【0030】
正則化計算部603は、選択部631とL1ノルム算出部635とを有し、特徴変換行列の列ベクトルを用いたL1ノルムを計算する。選択部631は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。L1ノルム算出部635は、特徴変換行列の列ベクトルを累積したL1ノルムを正則化項の値として算出する。
【0031】
評価関数値算出部(加算部)604は、損失項の値と正則化項の値とを加算して、評価関数の値を算出する。パラメータ更新部605は、終了条件を満たさなければ、評価関数の値が減るように特徴変換行列を更新して、再度、評価関数の値を算出する。パラメータ更新部605は、終了条件を満たせば、パラメータ出力部606を経由して最適化されスパース化された特徴変換行列を出力する。
【0032】
(前提技術の課題)
ところが、上記前提技術では、識別関数のパラメータの1つである特徴変換行列を更新するたびに各要素が際限なくゼロに近づくため、評価関数の最小解に到達できない。例えば、識別関数の損失項が特徴変換行列を定数倍しても同じ値をとるように定義されている場合には、特徴変換行列が安定して求まらないため、パターン認識精度の向上には限界がある。
【0033】
すなわち、損失項がパラメータの定数倍に対して不変ということは、パラメータθを用いて計算した損失項の値と、パラメータをk倍したθ’を用いて計算した損失項の値が等しいということである。その場合のL1ノルムは、
【0034】
【数4】
となるため、kが小さければ小さいほど正則化項の値は小さくなる。したがって、前提技術において、損失項と正則化項との和である評価関数値を最小化するようパラメータを更新すると、正則化項の値が定数倍小さくなっても損失項の値が変わらない。そのため、パラメータは際限なく小さくなり続ける。
【0035】
《本実施形態における解決策》
本実施形態においては、ノルム比で正則化項を定義する。例えば、L1ノルム(数式4)とL2ノルム(数式5)とを用いると、
【0037】
【数6】
となって、正則化項もパラメータの定数倍に対して不変な量になる。したがって、評価関数の最小化によってパラメータが際限なく小さくなりつづけるという現象は生じないため、安定して最小解に向かうことができる。
【0038】
《本実施形態のパターン学習部を有するパターン認識装置》
図2は、本実施形態に係るパターン学習部240を含むパターン認識装置200の機能構成を示すブロック図である。なお、本実施形態においては、パターン認識装置200を独立した装置として説明するが、情報処理装置内にパターン認識部として組み込まれた構成でもよい。
【0039】
パターン認識装置200は、パラメータ初期値生成部210と、認識辞書220と、クラス識別部230と、パターン学習部240と、を備える。
【0040】
パラメータ初期値生成部210は、初期値生成用の入力ベクトルに基づいて、パラメータの初期化、本実施形態の識別関数では特徴変換行列と参照ベクトルとの初期値を生成する。なお、初期値生成用の入力ベクトルは本パターン認識装置200によってクラス識別する対象パターンに対応する典型的な入力ベクトルが望ましいが、それに限定されない。認識辞書220は、パターン認識装置200で使用する、識別関数や評価関数、あるいは、初期パラメータや更新パラメータを格納する。クラス識別部230は、識別関数を用いて、パターン学習中は学習用入力ベクトルに基づいて、パターン認識中は認識対象パターンの入力ベクトルに基づいて、距離が最短の参照ベクトルを含むクラスへのクラス識別を行なう。クラス識別部230は、パターン学習中はパターン学習部240のクラス識別結果と損失とを通知する。一方、クラス識別部230は、パターン認識中はクラス識別結果を外部に出力する。
【0041】
パターン学習部240は、認識辞書220からパラメータである特徴変換行列の初期値を取得して、クラス識別部230からのクラス識別結果と損失とを取得する。そして、繰り返し特徴変換行列の要素を評価関数値が小さくなるように変更し、収束した時点における特徴変換行列を求めて認識辞書220に保存する。
【0042】
なお、
図2においては、認識対象パターンの入力ベクトルはパターン認識装置200の外部で生成される構成としたが、パターン認識装置200内において取得したパターン情報(画像や音声など)から特徴抽出と量子化や正規化などを行なって入力ベクトルを生成してもよい。
【0043】
(認識辞書)
図3は、本実施形態に係る認識辞書220の構成を示す図である。なお、
図3には、識別関数のパラメータのみを図示し、識別関数や評価関数などは省略する。
【0044】
認識辞書220には、特徴変換行列と参照ベクトルとを含むパラメータ初期値301と、パターン学習部240で最適化した特徴変換行列からなるパラメータ更新値302と、終了条件の正否303と、を記憶する。なお、終了条件は、パラメータの更新回数や更新による評価関数値の変化量などを条件とする。
【0045】
《パターン学習部の機能構成》
図4は、本実施形態に係るパターン学習部240の機能構成を示すブロック図である。なお、パターン学習部240は、単独でも装置あるいはICチップとして製造して市場に提供可能であり、独立したパターン学習装置と称してもよい。パターン学習部240は、パターン認識装置200のパラメータ生成指示に基づいて、動作する。
【0046】
図4を参照すると、パターン学習部240は、初期値入力部401と、損失計算部402と、正則化計算部403と、評価値算出部(加算部)404と、パラメータ更新部405と、パラメータ出力部406と、を備える。
【0047】
初期値入力部401は、特徴変換行列の初期値(および、参照ベクトル)を入力する。損失計算部402は、選択部421と、識別関数演算部422と、損失算出部423とを有し、評価関数の損失項を計算する。選択部421は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。識別関数演算部422は、特徴変換行列および参照ベクトルを使用して、学習用の入力ベクトルから最小距離の参照ベクトルに基づいて識別クラスを判別する。そして、損失算出部423は、識別クラスの判別の正否と間違いの程度を累積した、損失項の値を算出する。
【0048】
正則化計算部403は、選択部431と、Lvノルム算出部432と、Lwノルム算出部433と、Lv/Lw算出部434とを有し、特徴変換行列の列ベクトルを用いた正則化項を計算する。選択部431は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。Lvノルム算出部432は、特徴変換行列の列ベクトルの長さ(ノルム)をv乗して累積した後に(1/v)乗したLvノルムを算出する。Lwノルム算出部433は、特徴変換行列の列ベクトルの長さ(ノルム)をw乗して累積した後に(1/w)乗したLwノルムを算出する(v,wは実数、v<w)。Lv/Lw算出部434は、正則化項の値として、(Lvノルム/Lwノルム)を算出する。
【0049】
評価関数値算出部(加算部)404は、損失項の値と正則化項の値とを加算して、評価関数の値を算出する。パラメータ更新部405は、終了条件を満たさなければ、評価関数の値が減るように特徴変換行列を更新して、再度、評価関数の値を算出する。パラメータ更新部405は、終了条件を満たせば、パラメータ出力部406を経由して最適化されスパース化された特徴変換行列を出力する。
【0050】
(パラメータ更新部)
図5Aは、本実施形態に係るパラメータ更新部405の構成を示すブロック図である。なお、
図5Aは、評価関数値の変化値が閾値より小さい場合に、最適値に収束した終了条件とする構成を示す。しかしながら、終了条件がこれに限らず、更新回数を終了条件としてもよい。
【0051】
パラメータ更新部405は、特徴変換行列更新部501と、評価関数値記憶部502と、評価関数変化値算出部503と、終了条件判定部504と、を有する。特徴変換行列更新部501は、初期値または学習中の特徴変換行列を受信して、評価関数の値が小さくなるように特徴変換行列の要素を更新する。評価関数値記憶部502は、更新前の評価関数値を記憶する。評価関数変化値算出部503は、更新前の評価関数値から更新後の評価関数値への変化値(減少値)を算出する。終了条件判定部504は、変化値(減少値)を閾値αと比較して、変化値(減少値)が閾値αより小さければパラメータ更新終了として、更新した特徴変換行列をパラメータ出力部406に送出する。一方、評価関数値の変化値(減少値)が閾値α以上の場合は、更新した特徴変換行列を損失計算部402および正則化計算部403に戻して、パターン学習処理を継続する。
【0052】
(パラメータテーブル)
図5Bは、本実施形態に係るパラメータ更新部405におけるパラメータテーブル510の構成を示す図である。パラメータテーブル510は、パラメータ更新部405において学習中にデータ保持のために使用される。
【0053】
パラメータテーブル510は、前の特徴変換行列511と、更新した特徴変換行列512と、前の評価関数算出値513と、新しい評価関数算出値514と、評価関数値の変化値515と、閾値α516と、終了条件正否517と、を記憶する。
【0054】
《パターン認識装置のハードウェア構成》
図7は、本実施形態に係るパターン学習部240を含むパターン認識装置200のハードウェア構成を示すブロック図である。なお、
図7において、パターン学習部240に関連する要素のみを選択すれば、パターン学習装置として動作する。
【0055】
図7で、CPU(Central Processing Unit)710は演算制御用のプロセッサであり、プログラムを実行することで
図2のパターン認識装置200の機能構成部、あるいは、パターン学習部240の機能構成部を実現する。ROM(Read Only Memory)720は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部730は、ネットワークを介して認識対象のパターンを受信し、認識結果を送信する。あるいは、通信制御部730は、識別関数や評価関数、あるいは、プログラムを取得するために使用される。なお、CPU710は1つに限定されず、複数のCPUであっても、あるいは画像処理用のGPU(Graphic Processin Unit)を含んでもよい。また、通信制御部730は、CPU710とは独立したCPUを有して、RAM(Random Access Memory)740の領域に送受信データを書き込みあるいは読み出しするのが望ましい。また、RAM740とストレージ750との間でデータを転送するDMAC(Direct Memory Access Unit)を設けるのが望ましい(図示なし)。さらに、入出力インタフェース760は、CPU710とは独立したCPUを有して、RAM740の領域に入出力データを書き込みあるいは読み出しするのが望ましい。したがって、CPU710は、RAM740にデータが受信あるいは転送されたことを認識してデータを処理する。また、CPU710は、処理結果をRAM740に準備し、後の送信あるいは転送は通信制御部730やDMAC、あるいは入出力インタフェース760に任せる。
【0056】
RAM740は、CPU710が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM740には、本実施形態の実現に必要なデータを記憶する領域が確保されている。学習用入力ベクトル741は、パターン認識装置200のパターン学習部240が使用する学習用のベクトルである。新しい評価関数算出値514は、更新中の現在パラメータ744に基づいて算出された評価関数値であり、損失値と正規化値とを含む。前の評価関数算出値513は、更新前の識別関数のパラメータに基づいて算出された評価関数値である。現在パラメータ744は、更新中の識別関数のパラメータであり、終了条件を満足した場合には最終の最適パラメータとなる。評価関数変化値745は、前の評価関数算出値513から評価関数算出値514への変化値(減少値)である。閾値746は、終了条件として評価関数変化値745と比較する値である。終了条件フラグ747は、評価関数変化値745が閾値746より小さい場合に終了を示し、評価関数変化値745が閾値746以上の場合に継続を示す、フラグである。なお、終了条件を回数とする場合には、更新回数と、閾値としての回数とが記憶されることになる。
【0057】
ストレージ750には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。識別関数751は、本パターン認識装置200が使用する、特徴変換行列と参照ベクトルとを含むクラス識別用の関数の定義である。評価関数752は、損失項の定義と正規化項の定義を含む関数の定義である。初期値算出アルゴリズム753は、識別関数751のパラメータである特徴変換行列と参照ベクトルとの初期値を生成するアルゴリズムである。初期値754は、初期値算出アルゴリズム753に従って生成された特徴変換行列と参照ベクトルとの初期値である。更新値755は、パターン学習部240の処理に従って更新された特徴変換行列と参照ベクトルとの更新値である。
【0058】
ストレージ750には、以下のプログラムが格納される。パターン認識プログラム756は、本パターン認識装置200によるパターン認識を実行するプログラムである。パターン学習モジュール757は、パターン学習部240の処理を実現するモジュールである。評価関数算出モジュール758は、識別関数によるパターン認識を本実施形態の評価関数を使用して評価するモジュールである。パラメータ更新モジュール759は、評価関数算出モジュール758による評価結果に応じて、パラメータ、本実施形態においては特徴変換行列を更新するモジュールである。
【0059】
入出力インタフェース760は、入出力機器との入出力データをインタフェースする。入出力インタフェース760には、本パターン認識装置200に認識対象あるいは学習用のパターンを入力するパターン入力部761と、認識結果を出力する認識結果出力部762と、が接続される。なお、表示部や操作部なども接続されてよいが、省略する。
【0060】
なお、
図7のRAM740やストレージ750には、パターン認識装置200が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
【0061】
《パターン認識装置の処理手順》
図8は、本実施形態に係るパターン認識装置200の処理手順を示すフローチャートである。このフローチャートは、
図7のCPU710がRAM740を使用しながら実行し、
図2のパターン認識装置200の機能構成部を実現する。
【0062】
パターン認識装置200は、ステップS801において、識別関数のパラメータである特徴変換行列および参照ベクトルの初期値を生成する。なお、特徴変換行列の初期化としては、学習用のデータを用いて評価関数が十分大きな値となるよう初期値を求めて、認識辞書220に保持する。パターン認識装置200は、ステップS803において、学習用の入力ベクトルを用いて評価関数を小さくするように特徴変換行列を更新するパターン学習を行ない、最適化した特徴変換行列を認識辞書220に格納する。そして、パターン認識装置200は、ステップS805において、認識辞書220に格納された最適化された特徴変換行列と参照ベクトルをパラメータとして用いて、識別関数に基づきパターン認識(最短距離の参照ベクトルを含むフラス識別)を実行する。
【0063】
パターン認識装置200は、ステップS807において、さらにパターン認識する対象パターンがあるか否かを判定する。まだ対象パターンがあれば、ステップS805のパターン認識を繰り返す。対象パターンが無くなれば、処理を終了する。
【0064】
なお、
図8においては、パターン学習処理を最初にしたのみであるが、パターン認識処理の途中で再度パターン学習処理を行なってもよい。この場合は、一定時間間隔、あるいは、認識処理回数ごとに、あるいは、パターン認識率の低下を認知した場合に、最近のパターン認識対象の入力ベクトルを使用して行なう。
【0065】
(パターン学習処理)
図9は、本実施形態に係るパターン学習処理(S803)の手順を示すフローチャートである。このフローチャートは、
図7のCPU710がRAM740を使用しながら実行し、
図4のパターン学習部240の機能構成部を実現する。
【0066】
パターン認識装置200は、ステップS901において、識別関数のパラメータである特徴変換行列および参照ベクトルの初期値を認識辞書220から取得する。ここで、初期値としては、評価関数の値が十分大きな値が設定される。パターン認識装置200は、ステップS903において、パターン認識対象に対応して識別関数のパラメータを適正化する学習用の入力ベクトルを取得する。学習用の入力ベクトルは外部から提供されても、認識辞書220にパターン認識対象に対応して格納されていてもよい。
【0067】
パターン認識装置200は、ステップS905において、学習用の入力ベクトルを用いて識別関数を計算してクラス識別処理をし、損失を累積して認識誤りに相当する評価関数の損失項の値を算出する。パターン認識装置200は、ステップS907において、特徴変換行列の列要素によるノルムの比で定義される正則化項の値を算出する。パターン認識装置200は、ステップS909において、損失項の値と正則化項の値との総和から評価関数の値を求める。
【0068】
パターン認識装置200は、ステップS911において、初期値あるいは以前の評価関数の値と、ステップS909で算出した新たな評価関数の値を比較する。初期値あるいは以前の評価関数の値より新たな評価関数の値が小さく、かつ、本例では閾値αよりも小さくなっていれば、ステップS913に進む。パターン認識装置200は、ステップS913において、新たな評価関数の値を認識辞書220に比較基準として保持すると共に、評価関数の値がさらに小さくなるように特徴変換行列を更新して、ステップS905に戻る。初期値あるいは以前の評価関数の値より新たな評価関数の値が小さくない、または、閾値αよりも小さくなっていなければ、ステップS915に進む。パターン認識装置200は、ステップS915において、現在の収束した更新パラメータを認識辞書220に出力し、パターン学習部240の処理を終了する。
【0069】
なお、ステップS911の終了条件は、更新回数としてもよい。あるいは、他の終了条件を設定してもよい。
【0070】
《ノルム比に基づく正則化の効果》
図10は、本実施形態に係るノルム比に基づく正則化の例を示す図である。
図10に基づいて、本実施形態において、正則化項をノルム比により定義する効果を説明する。なお、識別関数の損失項が特徴変換行列を定数倍しても同じ値をとるように定義されている場合に、ノルム比により定義された正則化項も変化しないので、安定して最小解に向かうことは、先に説明した。
図10においては、ノルム比により定義された正則化項による、さらなる効果を説明する。
図10においては、ノルムの要素が2の場合の例を示すが、要素が2個より多い場合も同様の効果を奏するものである。
【0071】
図10において、XY平面に示したのはノルム比の等高線であり、Z軸がノルム比の値を示している。ノルム比はX軸上あるいはY軸上の場合に最小値“1”をとるので、図に丸と矢印で示したように、どこからスタートしたとしてもノルム比を最小化させていくと、XとYとのいずれかが“0”になる。
【0072】
図10のように、ノルム比が||θ||
1/||θ||
2の場合に、次の範囲の値となる。XとYとが等しい、あるいは、XとYとの差が各値に比較して非常に小さい場合、ノルム比は最大で2/2
1/2=2
1/2≒1.4となる。一方、XとYのいずれかが“0”になる、あるいは、“0”に近くなると、ノルム比は1/1
1/2=1となる。すなわち、1.4≧ノルム比≧1の間で、XとYのいずれかが“0”に近付くとノルム比は“1”に向かって減少していき、XとYのいずれかが“0”になった時点で、“1”に収束する。
【0073】
したがって、識別関数のパラメータの1つである特徴変換行列の更新は、本実施形態においては、1要素を残して他の要素が“0”になれば、それ以降、ノルム比は小さくならないので、際限なく全要素を“0”にすることはない。一方、ノルム比が||θ||
2/||θ||
1の場合、1≧ノルム比>0.7(≒2
1/2/2=1/2
1/2)の間となり、XとYのいずれかが“0”に近付くとノルム比は“1”に向かって上昇する。このように、ノルム比の要素の値が“0”になることでスパース化されるには、ノルム比の分子をLvノルム、分母をLwノルムとすると、v<wであるのが望ましい。なお、本実施形態においては、評価関数の最小化が学習の基準になっており、この場合はv<wでないとスパース化できないが、逆に、評価関数の最大化が学習の基準になっている場合は、v>wでないとスパース化できなくなる。
【0074】
《具体的な構成》
次に、具体的なパターン認識およびパターン学習の構成および動作を説明する。ここで、学習用データであるd次元の入力ベクトルを{x
n,t
n|n = 1,…,N}、パターン識別器として用いるd次元の参照ベクトルを{y
k|k = 1,…,K}と表記する。x
nはn番目のサンプル、t
nはx
nの正解クラス、Nはサンプル数、Kはクラス数である。
【0075】
クラスω
kの識別関数を、次式(数式7)と定義する。
【数7】
ここで、Bは(p×d)の特徴変換行列であり、入力xはd
k(x)(入力ベクトルと参照ベクトルとの2乗距離)が最小となるクラスに属するものと判定される。
【0076】
評価関数を、次式(数式8)で定義する。
【数8】
第1項は損失項、第2項は正則化項であり、λ>0は正則化項の重みである。
【0077】
入力x
nに対する損失は、次式(数式9)で定義する。
【数9】
ここで、“1( )”は( )内が真なら“1”、偽なら“0”を返す指示関数、f( )は単調増加関数、r
kj( )は次式(数式10-1)で定義される間違いやすさを表す量である。なお、r
kj( )は、特徴変換行列の定数倍によっても変化しない量であり、例えば(数式10-2)や(数式10-3)などであってもよい。
【0078】
【数10】
||θ||
1と||θ||
2とは、それぞれパラメータθに対するL1ノルムとL2ノルムとであり、特徴変換行列の要素b
ijを用いて次式(数式11および数式12)のように定義する。
【0080】
【数12】
まず初期化として、クラスごとの入力ベクトルの平均を所定の参照ベクトルとして設定し、特徴変換行列については、主成分分析で得られる固有ベクトルφ
iを、固有値の大きい順にp個選んでB=(φ
1,…,φ
p)
Tと設定する。
【0081】
そして、(数式8)に示した評価関数の値を計算し、それの値が減少するように特徴変換行列を更新する。例えば、最急降下法に従えば、特徴変換行列の全ての要素について、次式(数式13)と更新する。
【0082】
【数13】
特徴変換行列の全ての要素を更新した後、評価関数を計算しなおす処理を繰り返す。終了条件は、事前に繰り返し回数を決めておいてもよいし、評価関数の変化がある値以下になった時点で処理を終了しても構わない。
【0083】
以下、上記具体的な定義を、パターン認識装置200およびパターン学習部240に適用した場合の構成および動作を簡単に説明する。なお、参照番号やステップ番号は、
図2および
図4の機能構成図の参照番号、
図8および
図9のフローチャートのステップ番号と同じとし、上記具体的な定義を挿入する。
【0084】
(パターン認識装置の具体例)
図11Aは、本実施形態に係るパターン学習部240を含むパターン認識装置200の具体的な構成を示すブロック図である。
【0085】
パラメータ初期値生成部210は、初期化として、クラスごとの入力ベクトルの平均を参照ベクトルy
kとして設定し、特徴変換行列については、主成分分析で得られる固有ベクトルφ
iを、固有値の大きい順にp個選んでB
0=(φ
1,…,φ
p)
Tと設定する。
【0086】
認識辞書220は、初期値として、B
0とy
kとを保持し、パターン学習により特徴変換行列B
0を更新して、最適なパターン認識が可能な値に収束した特徴変換行列B
zを格納する。
【0087】
クラス識別部230は、識別関数(数式7)を用いて、パターン学習中は学習用入力ベクトルに基づいて、パターン認識中は認識対象パターンの入力ベクトルに基づいて、距離が最短の参照ベクトルを含むクラスへのクラス識別を行ない、パターン学習部240のクラス識別結果と損失とを通知する。一方、パターン認識中はクラス識別結果を外部に出力する。
【0088】
パターン学習部240は、認識辞書220からパラメータである特徴変換行列の初期値B
0を取得して、クラス識別部230からのクラス識別結果と損失とを取得する。そして、繰り返し特徴変換行列の要素を評価関数(数式8)の値が小さくなるように変更し(数式13参照)、収束した時点における特徴変換行列を求めて認識辞書220に保存する。
【0089】
(パターン学習部の具体例))
図11Bは、本実施形態に係るパターン学習部240の具体的な構成を示すブロック図である。
【0090】
初期値入力部401は、特徴変換行列および参照ベクトルの初期値(B
0、y
k)を入力する。損失計算部402において、選択部421は、特徴変換行列の初期値入力B
0と更新中の特徴変換行列の入力とを選択する。識別関数演算部422は、特徴変換行列および参照ベクトルを使用して、学習用の入力ベクトルから識別関数(数式7)を演算して最小距離の参照ベクトルに基づいて識別クラスを判別する。そして、損失算出部423は、識別クラスの判別の正否と間違いの程度を累積した、損失項(数式9参照)の値を算出する。
【0091】
正則化計算部403において、選択部431は、特徴変換行列の初期値入力と更新中の特徴変換行列の入力とを選択する。L1ノルム算出部432は、(数式11)に従ってL1ノルムを算出する。L2ノルム算出部433は、(数式12)に従ってL2ノルムを算出する。L1/L2算出部434は、正則化項の値としてノルム比(数式6参照)を算出する。
【0092】
評価関数値算出部(加算部)404は、損失項の値と正則化項の値とを加算して、評価関数(数式8)の値を算出する。パラメータ更新部405は、終了条件を満たさなければ、評価関数の値が減るように特徴変換行列を更新して(数式13参照)、再度、評価関数の値を算出する。パラメータ更新部405は、終了条件を満たせば、パラメータ出力部406を経由して最適化されスパース化された特徴変換行列B
zを出力する。
【0093】
(パターン認識装置の処理手順)
図12Aは、本実施形態に係るパターン学習部240を含むパターン認識装置200の具体的な処理手順を示すフローチャートである。
【0094】
パターン認識装置200は、ステップS801において、特徴変換行列および参照ベクトルの初期値(B
0、y
k)を生成して、認識辞書220に保持する。ステップS803において、学習用の入力ベクトルを用いて評価関数(数式8)を小さくするように特徴変換行列を更新するパターン学習を行ない、最適化した特徴変換行列B
zを認識辞書220に格納する。そして、ステップS805において、認識辞書220に格納された最適化された特徴変換行列B
zと参照ベクトルy
kとをパラメータとして用いて、識別関数(数式7)に基づきパターン認識(最短距離の参照ベクトルに基づくクラス識別)を実行する。
【0095】
パターン認識装置200は、ステップS807において、さらにパターン認識する対象パターンがあるか否かを判定する。まだ対象パターンがあれば、ステップS805のパターン認識を繰り返す。対象パターンが無くなれば、処理を終了する。
【0096】
(パターン学習処理)
図12Bは、本実施形態に係るパターン学習処理(S803)の具体的な手順を示すフローチャートである。
【0097】
パターン認識装置200は、ステップS901において、特徴変換行列および参照ベクトルの初期値(B
0、y
k)を認識辞書220から取得する。ステップS903において、学習用の入力ベクトル(x
1、x
2、…、x
N)を取得する。ステップS905において、入力ベクトル(x
1、x
2、…、x
N)を用いて識別関数(数式7)を計算してクラス識別処理をし、損失を累積して認識誤りに相当する評価関数の損失項(数式8の右辺第1項)の値を算出する。ステップS907において、特徴変換行列の列要素によるノルムの比で定義される正則化項(数式8の右辺第2項)の値を算出する。ステップS909において、損失項の値と正則化項の値との総和から評価関数(数式8)の値を求める。
【0098】
パターン認識装置200は、ステップS911において、初期値あるいは以前の評価関数の値L
iと、ステップS909で算出した新たな評価関数の値L
i+1を比較する。初期値あるいは以前の評価関数の値L
iより新たな評価関数の値L
i+1が小さく、かつ、本例では閾値αよりも小さくなっていれば、ステップS913に進む。ステップS913において、新たな評価関数の値を認識辞書220に比較基準として保持すると共に、評価関数の値がさらに小さくなるように特徴変換行列を更新して(数式13参照)、ステップS905に戻る。初期値あるいは以前の評価関数の値より新たな評価関数の値が小さくない、または、閾値αよりも小さくなっていなければ、ステップS915において、現在の収束した特徴変換行列Bzを認識辞書220に出力し、パターン学習部240の処理を終了する。
【0099】
なお、ステップS911の終了条件は、更新回数としてもよい。あるいは、他の終了条件を設定してもよい。
【0100】
本実施形態によれば、損失項の形によらず評価関数を最小化する解に到達させ、特徴選択と特徴変換との同時適正化を行なって、パターン認識精度を向上することができる。
【0101】
すなわち、本実施形態においては、特徴変換行列の列ベクトルをGroup Lassoによってスパース化するため、特徴選択と特徴変換行列を同時に最適化でき、認識精度がより向上する。特に、損失項が特徴変換行列の定数倍に対して不変であっても、正則化項をノルム比で定義することにより、評価関数を最小化する解に到達でき、特徴選択と特徴変換の同時最適化が行える。
【0102】
本実施形態のパターン認識装置およびパターン学習部は、認識誤りに相当する量として計算される損失項と、辞書の要素値で定義されるノルム比で計算される正則化項の和が減るように特徴変換行列を更新するよう動作する。このような構成を採用し、特徴選択と特徴変換を同時最適化することにより、認識精度を改善することができる。
【0103】
[第3実施形態]
次に、本発明の第3実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部を含むパターン認識装置は、上記第2実施形態と比べると、特徴変換行列の列ベクトルおよび行ベクトルをGroup Lassoによってスパース化する点で異なる。すなわち、本実施形態の正則化項は、列ベクトルを要素とするノルム比と、行ベクトルを要素とするノルム比とを含む。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0104】
本実施形態においては、第2実施形態と同じ識別関数を用い、評価関数を次式(数式14)で定義する。
【数14】
第1項は損失項、第2項および第3項は正則化項であり、λ>0およびη>0は正則化項の重みである。第1項に含まれる入力x
nに対する損失には、前出の(数式9)を用い、第2項には(数式11)および(数式12)を用いる。
【0105】
第3項は、次式(数式15および数式16)のように定義する。
【数15】
【0107】
本実施形態においても、第2実施形態と同様に、初期化として、クラスごとの入力ベクトルの平均を参照ベクトルy
kとして設定し、特徴変換行列については、主成分分析で得られる固有ベクトルφ
iを、固有値の大きい順にp個選んでB=(φ
1,…,φ
p)
Tと設定する。しかし、本実施形態においては、(数式14)に示した評価関数の値を計算し、それの値が減少するように特徴変換行列を最急降下法などで更新した後、評価関数を計算しなおす処理を繰り返す。終了条件は、事前に繰り返し回数を決めておいてもよいし、評価関数の変化がある値以下になった時点で処理を終了しても構わない。
【0108】
《パターン学習部の正則化計算部》
図13は、本実施形態に係る正則化計算部1303の構成を示す図である。なお、
図13において、
図4の正則化計算部403と同様の機能構成部には同じ参照番号を付して、説明を省略する。
【0109】
行のLvノルム算出部1332は、特徴変換行列の行ベクトルの長さ(ノルム)をv乗して累積した後に(1/v)乗したLvノルムを算出する。行のLwノルム算出部1333は、特徴変換行列の行ベクトルの長さ(ノルム)をw乗して累積した後に(1/w)乗したLwノルムを算出する(v<w)。行のLv/Lw算出部1334は、第3項の正則化項の値として、行の(Lvノルム/Lwノルム)を算出する。正則化項生成部(加算部)1335は、列の(Lvノルム/Lwノルム)と行の(Lvノルム/Lwノルム)とを加算して、正則化項の値とする(数式14参照)。なお、列の(Lvノルム/Lwノルム)と行の(Lvノルム/Lwノルム)とを、評価関数値算出部(加算部)404において損失項と加算してもよい。
【0110】
(パターン学習処理)
図14は、本実施形態に係るパターン学習処理(S1403)の手順を示すフローチャートである。本実施形態においては、
図14の手順により
図9の手順を代替する。このフローチャートは、
図7のCPU710がRAM740を使用しながら実行し、パターン学習部の機能構成部を実現する。なお、
図14において、
図9と同様のステップには同じステップ番号を付して、説明を省略する。
【0111】
パターン認識装置200は、ステップS1407において、損失項として、{λ(||θ||
1/||θ||
2)+η(||ξ||
1/||ξ||
2)}を算出する。
【0112】
本実施形態によれば、特徴変換行列の列ベクトルだけでなく行ベクトルもGroup Lassoによってスパース化する。そのため、特徴選択と特徴変換行列の最適化だけでなく、変換後のベクトル次元数も最適化できるため、よりコンパクトな特徴変換行列を作ることができる。これにより、認識精度の向上ばかりでなく、認識処理の高速化も行える。
【0113】
[第4実施形態]
次に、本発明の第4実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部を含むパターン認識装置は、上記第2実施形態および第3実施形態と比べると、本実施形態の評価関数を用いて特徴変換行列と共に参照ベクトルも最適化する点で異なる。その他の構成および動作は、第2実施形態または第3実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0114】
(認識辞書)
図15は、本実施形態に係る認識辞書1520の構成を示す図である。なお、
図15において、
図3と同様の構成要素には同じ参照番号を付して、説明を省略する。また、
図15には、識別関数のパラメータのみを図示し、識別関数や評価関数などは省略する。
【0115】
認識辞書1520には、パターン学習部240で最適化した特徴変換行列と参照ベクトルからなるパラメータ更新値1502を記憶する。
【0116】
(パターン学習処理)
図16は、本実施形態に係るパターン学習処理(S1603)の手順を示すフローチャートである。本実施形態においては、
図16の手順により
図9の手順を代替する。このフローチャートは、
図7のCPU710がRAM740を使用しながら実行し、パターン学習部の機能構成部を実現する。なお、
図16において、
図9と同様のステップには同じステップ番号を付して、説明を省略する。
【0117】
パターン認識装置200は、ステップS911において、特徴変換行列Bの最適値に収束すると、ステップS1615において、特徴変換行列Bの最適値に収束した時点の評価関数値を記憶する。パターン認識装置200は、ステップS1617において、参照ベクトルy
kを更新する。なお、参照ベクトルy
kの更新は、損失項を小さくする方向であることが望ましい。パターン認識装置200は、ステップS1619において、参照ベクトルの最適値を取得したか否かを判定する。ステップS1619においては、例えば、参照ベクトルを更新した後に、特徴変換行列Bを最適値に収束した時点の評価関数の値の中で最小の値に収束した参照ベクトルを選択する。参照ベクトルの最適値を取得したなら、パターン認識装置200は、ステップS1623において、その時に特徴変換行列Bの最適値と参照ベクトルy
kの最適値とを認識辞書220に格納する。
【0118】
一方、参照ベクトルの最適値を取得していないなら、パターン認識装置200は、ステップS1621において、特徴変換行列を初期化する。そして、パターン認識装置200は、ステップS905に戻り、特徴変換行列Bの最適値を探す。なお、ステップS1621における特徴変換行列の初期化は必須ではなく、現在の特徴変換行列の値を用いてステップSS905に戻ってもよい。
【0119】
本実施形態によれば、特徴変換行列の最適値に加えて、参照ベクトルの最適化が実現され、認識精度のより一層の向上が達成できる。
【0120】
[第5実施形態]
次に、本発明の第5実施形態に係るパターン学習部を含むパターン認識装置について説明する。本実施形態に係るパターン学習部を含むパターン認識装置は、上記第2実施形態乃至第4実施形態と比べると、パターン認識装置においてパターン学習部とは別途に参照ベクトルの初期化において最適化する点で異なる。その他の構成および動作は、第2実施形態、第3実施形態または第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0121】
《パターン認識装置の機能構成》
図17は、本実施形態に係るパターン学習部240を含むパターン認識装置1700の機能構成を示すブロック図である。なお、
図17において、
図2と同様の機能構成部には同じ参照番号を付して、説明を省略する。
【0122】
参照ベクトル更新部1750は、パラメータ初期値生成部210において生成された参照ベクトルy
kを、最適な位置に更新する。かかる参照ベクトルy
kの更新方向は、初期値生成用の入力ベクトルや、学習用入力ベクトルを用いて、本実施形態の識別関数および評価関数に基づいて行なってもよいし、既存の参照ベクトルy
kの最適化によって実行してもよい。
【0123】
本実施形態においては、特徴変換行列の最適化に使用する参照ベクトルを、クラスごとの入力ベクトルの平均を参照ベクトルy
kとして設定した後に、参照ベクトル更新部1750において参照ベクトルykを最適な位置に更新するので、認識精度のより一層の向上が達成できる。
【0124】
《パターン認識装置の処理手順》
図18は、本実施形態に係るパターン認識装置1700の処理手順を示すフローチャートである。このフローチャートは、
図7のCPU710がRAM740を使用しながら実行し、
図18のパターン認識装置1700の機能構成部を実現する。なお、
図18において、
図8と同様のステップには同じステップ番号を付して、説明を省略する。
【0125】
パターン認識装置1700は、ステップS1802において、ステップS801で生成された参照ベクトルを最適な位置に更新する処理を行なって、認識辞書220に保持する。
【0126】
本実施形態によれば、最適化された参照ベクトルに基づいて特徴変換行列の最適値を行なうので、認識精度のより一層の向上が達成できる。
【0127】
[他の実施形態]
本発明の活用例として、画像中に含まれる対象物を自動検出する検出装置や、検出装置をコンピュータに実現するためのプログラムなどの用途が挙げられる。
【0128】
なお、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【0129】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現するパターン認識プログラムやパターン学習プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の範疇に含まれる。
【0130】
[実施形態の他の表現]
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力手段と、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算手段と、
前記評価関数における正則化項を計算する正則化計算手段と、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新手段と、
前記パラメータ更新手段による更新後の前記識別関数のパラメータを出力するパラメータ出力手段と、
を備え、
前記正則化計算手段は、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習装置。
(付記2)
前記特徴変換行列は、入力ベクトルの要素を選択することにより次元を減らす特徴選択と、前記入力ベクトルを線形変換して次元を減らす特徴変換と、を行なう行列である、付記1に記載のパターン学習装置。
(付記3)
前記正則化項が、前記特徴変換行列の列ベクトルを用いたノルムの比で定義される付記1または2に記載のパターン学習装置。
(付記4)
前記正則化項が、前記特徴変換行列の行ベクトルを用いたノルムの比で定義される付記1乃至3のいずれか1項に記載のパターン学習装置。
(付記5)
分子をLvノルムとし、分母をLwノルムとする場合(v, wは実数)、wがvより大きいノルムの比を前記正則化項とする、付記1乃至4のいずれか1項に記載のパターン学習装置。
(付記6)
前記正則化項は、分子をL1ノルムとし、分母をL2ノルムとする、ノルムの比を用いる、付記5に記載のパターン学習装置。
(付記7)
前記識別関数は、前記パラメータの初期値として、前記特徴変換行列と、入力ベクトルのクラス識別に用いる参照ベクトルと、を有し、
前記パラメータ更新手段は、所定の参照ベクトルに基づいて、前記特徴変換行列を変更する、付記1乃至6のいずれか1項に記載のパターン学習装置。
(付記8)
前記識別関数は、前記パラメータの初期値として、前記特徴変換行列と、入力ベクトルのクラス識別に用いる参照ベクトルと、を有し、
前記パラメータ更新手段は、前記参照ベクトルと前記特徴変換行列とを変更する、付記1乃至6のいずれか1項に記載のパターン学習装置。
(付記9)
前記損失項は、前記特徴変換行列を定数倍しても同じ値をとるように、分子と分母とに前記特徴変換行列を含む間違いやすさを表わす量の関数として定義される、付記1乃至8のいずれか1項に記載のパターン学習装置。
(付記10)
前記識別関数のパラメータの初期値を生成する初期値生成手段を、さらに備え、
前記初期値生成手段は、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφ
iを固有値の大きい順にp個選んで特徴変換行列B=(φ
1,…,φ
p)
Tと設定する、付記1乃至9のいずれか1項に記載のパターン学習装置。
(付記11)
付記1乃至10のいずれか1項に記載のパターン学習装置を有するパターン認識装置であって、
前記識別関数のパラメータの初期値および前記パラメータ出力手段が出力した前記更新後の前記識別関数のパラメータを格納する認識辞書と、
前記初期値および前記学習用の入力ベクトルに基づいて、前記パターン学習装置に前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示手段と、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別手段と、
を備えるパターン認識装置。
(付記12)
前記パラメータ生成指示手段は、前記識別関数のパラメータとして前記特徴変換行列を更新させ、
前記識別関数のパラメータである参照ベクトルを更新させる参照ベクトル更新手段を、さらに備える付記11に記載のパターン認識装置。
(付記13)
前記識別関数のパラメータの初期値を生成する初期値生成手段を、さらに備え、
前記初期値生成手段は、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφ
iを固有値の大きい順にp個選んで特徴変換行列B=(φ
1,…,φ
p)
Tと設定する、付記11または12に記載のパターン認識装置。
(付記14)
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
を含み、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習方法。
(付記15)
前記識別関数のパラメータの初期値を生成する初期値生成ステップを、さらに含み、
前記初期値生成ステップにおいては、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφ
iを固有値の大きい順にp個選んで特徴変換行列B=(φ
1,…,φ
p)
Tと設定する、付記14に記載のパターン学習方法。
(付記16)
付記14または15のパターン学習方法を含むパターン認識方法であって、
前記初期値および前記学習用の入力ベクトルに基づいて、前記パターン学習方法により前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示ステップと、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別ステップと、
を含むパターン認識方法。
(付記17)
前記パラメータ生成指示ステップにおいては、前記識別関数のパラメータとして前記特徴変換行列を更新させ、
前記識別関数のパラメータである参照ベクトルを更新させる参照ベクトル更新ステップを、さらに含む付記16に記載のパターン認識方法。
(付記18)
パターン認識に用いる識別関数のパラメータの初期値を入力する初期値入力ステップと、
学習用の入力ベクトルに基づいて、前記識別関数を評価する評価関数における認識誤りに相当する損失項を計算する損失計算ステップと、
前記評価関数における正則化項を計算する正則化計算ステップと、
前記損失項と前記正則化項との総和が減少するように、前記識別関数のパラメータを更新するパラメータ更新ステップと、
前記パラメータ更新ステップにおいて更新後の前記識別関数のパラメータを出力するパラメータ出力ステップと、
をコンピュータに実行させるパターン学習プログラムであって、
前記正則化計算ステップにおいては、前記識別関数の特徴変換行列を用いたノルムの比で定義される正則化項を計算する、パターン学習プログラム。
(付記19)
前記識別関数のパラメータの初期値を生成する初期値生成ステップを、さらに含み、
前記初期値生成ステップにおいては、クラスごとの入力ベクトルの平均を参照ベクトルとして設定し、主成分分析で得られる固有ベクトルφ
iを固有値の大きい順にp個選んで特徴変換行列B=(φ
1,…,φ
p)
Tと設定する、付記18に記載のパターン学習プログラム。
(付記20)
付記18または19のパターン学習プログラムを含むパターン認識プログラムであって、
前記初期値および前記学習用の入力ベクトルに基づいて前記パターン学習プログラムを実行させ、前記更新後の前記識別関数のパラメータを生成させるパラメータ生成指示ステップと、
入力された認識対象の入力ベクトルに基づいて、前記更新後の前記識別関数のパラメータを用いた前記識別関数によりクラス識別を行なうクラス識別ステップと、
をコンピュータに実行させるパターン認識プログラム。
(付記21)
前記パラメータ生成指示ステップにおいては、前記識別関数のパラメータとして前記特徴変換行列を更新させ、
前記識別関数のパラメータである参照ベクトルを更新させる参照ベクトル更新ステップを、さらにコンピュータに実行させる付記20に記載のパターン認識プログラム。