(57)【要約】    【課題】      カーネル関数の対象の状態や状況が異なる場合でも、カーネル関数を適応的に更新させて、対象とする問題に対して十分な表現力を持つこと。    【解決手段】  カーネル関数更新部１では、更新処理部１１が教師データ３に基づきパラメータβを算出し、そのパラメータβに基づきカーネル関数を決定すると共に、評価基準値が所定の閾値以下の場合には、パラメータβを更新したカーネル関数を加算することによりカーネル関数を更新する。その際、評価基準値算出部１２は教師データ３とカーネル関数とに基づいてグラム行列とそのムーアペンローズ一般逆を算出して評価基準値を算出する。カーネル関数処理部２では、認識結果算出手段２１が未知サンプルの入力ベクトル４と教師データ３と更新されたカーネル関数とムーアペンローズ一般逆とに基づき認識結果を算出し、クラスラベル算出手段２２がその認識結果に基づいてクラスラベルを算出する。  【選択図】      図１
2006085426.tif 000002
【特許請求の範囲】
【請求項１】
カーネル関数を加算することにより更新するカーネル関数更新部と、
更新された前記カーネル関数を用いて処理を行うカーネル関数処理部と、
を有することを特徴とするカーネル関数処理装置。
【請求項２】
請求項１記載のカーネル関数処理装置において、
前記カーネル関数更新部は、
教師データとカーネル関数とに基づいてグラム行列を算出すると共に、そのムーアペンローズ一般逆を算出して、これらの行列に基づき評価基準値を算出する評価基準値算出部と、
教師データに基づきパラメータを算出し、そのパラメータに基づきカーネル関数を決定すると共に、前記評価基準値と所定の閾値とを比較し、前記評価基準値が所定の閾値以下の場合には、前記パラメータを更新したカーネル関数を加算することによりカーネル関数を更新する更新処理部と、
を有することを特徴とするカーネル関数処理装置。
【請求項３】
請求項２記載のカーネル関数処理装置において、
前記カーネル関数処理部は、
入力データである未知入力ベクトルと、前記教師データと、前記カーネル関数更新部により更新された前記カーネル関数と、前記評価基準値算出部により算出された前記ムーアペンローズ一般逆とに基づき、サンプル評価値を算出するサンプル評価値算出手段と、
算出された前記サンプル評価値に基づいてクラスラベルを算出するクラスラベル算出手段と、
を有することを特徴とするカーネル関数処理装置。
【請求項４】
請求項１または請求項２記載のカーネル関数処理装置において、
前記サンプル評価値算出手段は、
ＳＶＭ(Support Vector Machine )によりサンプル評価値を算出することを特徴とするカーネル関数処理装置。
【請求項５】
カーネル関数を加算することにより更新すると共に、更新されたカーネル関数を用いて処理を行うことを特徴とするカーネル関数処理方法。
【請求項６】
コンピュータに、カーネル関数を加算することにより更新させると共に、更新されたカーネル関数を用いて処理を行わせることを特徴とするカーネル関数処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カーネル関数により処理を行うカーネル関数処理部を有するカーネル関数処理装置、カーネル関数処理方法、カーネル関数処理プログラムに関するものである。
【背景技術】
【０００２】
従来、パターン認識装置や、画像処理装置、データ分類装置等においては、カーネル関数を利用することにより、認識処理等の高性能化を図っているものがある。これらの装置においては、利用するカーネル関数として、ガウシアンカーネルや、多項式カーネル等、良く知られたカーネル関数をそのまま利用するか、予め用意した既存の複数のカーネル関数の内から、処理対象や状況に応じてカーネル関数を選択して使用するのが一般的である（例えば、特許文献１〜４参照）。
【特許文献１】特開２００２−２７９４７８号公報
【特許文献２】特開２００２−１９００２５号公報
【特許文献３】特開２０００−０９０２７４号公報
【特許文献４】特開平０６−２２３１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のカーネル関数処理装置では、カーネル関数をそのまま利用するか、予め用意した既存の複数のカーネル関数の内から、処理対象や状況に応じてカーネル関数を選択しているに過ぎず、使われるカーネル関数が、カーネル関数により処理する対象の状態や状況の違いを考慮した形での十分な表現力を持つことを保証できない、という課題がある。
【０００４】
そこで、本発明は、カーネル関数の対象の状態や状況が異なる場合でも、カーネル関数を適応的に更新させて、対象とする問題に対して十分な表現力を持つことができるカーネル関数処理装置、カーネル関数処理方法、カーネル関数処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明では、カーネル関数を加算して更新し、更新されたカーネル関数を用いて処理を行う、構成を採る。
【発明の効果】
【０００６】
これにより、本発明によれば、カーネル関数を加算して更新し、更新されたカーネル関数を用いて処理を行うので、カーネル関数の対象の状態や状況が異なる場合でも、カーネル関数を適応的に更新させることができ、対象とする問題に対して十分な表現力を持つことができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【０００８】
図１に、本発明の実施の形態に係るカーネル関数処理装置の構成を示す。
【０００９】
図１において、実施の形態のカーネル関数処理装置は、評価基準に基づいてカーネル関数を加算して更新するカーネル関数更新部１と、更新されたカーネル関数を用いて、文字や顔画像、音声認識等のパターン認識処理を行うカーネル関数処理部２と、を有している。なお、カーネル関数処理部２がカーネル関数により処理するパターン認識は一例であり、未知関数からベクトルへの線形写像で表されるモデルの逆問題として記述される問題であれば、適用可能である。
【００１０】
カーネル関数更新部１は、教師データ３に基づきパラメータβを算出し、そのパラメータβに基づき初期のカーネル関数を決定すると共に、後述する評価基準値と所定の閾値とを比較し、その評価基準値が所定の閾値以下の場合には、パラメータβを更新しながらカーネル関数を加算して更新する更新処理部１１と、教師データ３とカーネル関数とに基づいてグラム行列を算出すると共に、そのムーアペンローズ一般逆を算出して、これらの行列に基づき評価基準値を算出する評価基準値算出部１２と、を有している。なお、本実施の形態では、カーネル関数として、ガウシアンカーネル関数を一例に説明する。
【００１１】
また、カーネル関数処理部２は、入力データである未知サンプルの入力ベクトル４と、教師データ３と、カーネル関数更新手段１１３により更新されることにより、最終的に構成されたカーネル関数と、評価基準値算出部１２のＧ,Ｇ＋算出手段１２１により算出されたムーアペンローズ一般逆とに基づき、認識結果を算出する認識結果算出手段２１と、算出された認識結果に基づいてクラスラベルを算出するクラスラベル算出手段２２と、を有している。尚、認識結果算出手段２１は、ＳＶＭ(Support Vector Machine)等に置き換えてもよい。
【００１２】
次に本装置の動作を、フローチャートを参照して説明する。
【００１３】
図２は、実施の形態におけるカーネル関数更新処理の一例を示すフローチャートである。
【００１４】
まず、カーネル関数更新部１では、初期β算出手段１１１が、教師データ（ｙｉ，ｘｉ）（ｉ＝１，２，・・・ｌ，ｙｉ＝クラスラベル（１,・・・Ｃ：整数），ｘｉ＝入力ベクトル（n次元ベクトル））の内、入力ベクトルの共分散行列を算出し、その最大固有値をσ２とし、β＝１／（２σ２）として、カーネル関数更新手段１１３へ出力する（ステップ１０００）。
【００１５】
カーネル関数更新手段１１３では、初期β算出手段１１１からのβを入力して、次の（式１）のようにカーネル関数Ｋ（ｘ，ｘ’）を構成して、評価基準値算出部１２へ出力する（ステップ１１００）。
【数１】
2006085426.tif 000003
【００１６】
評価基準値算出部１２では、まず、Ｇ,Ｇ＋算出手段１２１が、教師データ３と、カーネル関数更新手段１１３からの上記（式１）のカーネル関数Ｋ（ｘ，ｘ’）とに基づいて、グラム行列（Ｇ）を算出すると共に、そのムーアペンローズ一般逆（Ｇ＋）を算出して、その両行列を評価基準値算出手段１２２へ出力する（ステップ１２００）。
【００１７】
評価基準値算出手段１２２では、Ｇ,Ｇ＋算出手段１２１からのグラム行列（Ｇ）と、そのムーアペンローズ一般逆（Ｇ＋）と、教師データ（ｙｉ，ｘｉ）とに基づいて、次の（式２）の示す評価基準値Ｊを算出して、比較手段１２３へ出力する（ステップ１３００）。
【数２】
2006085426.tif 000004
【００１８】
ここで、本実施の形態では、パターン認識のように、未知関数からベクトルへの線形写像で表されるモデルの逆問題として記述される問題を、カーネル関数の対象としているので、評価基準値Ｊとしてそのベクトルから線形写像が張る線形部分空間までの距離を用い、その評価基準値Ｊが所定の閾値以下になるまで、カーネル関数を更新する。
【００１９】
つまり、比較手段１２３では、評価基準値算出手段１２２からの上記（式２）の評価基準値Ｊと、予め定めておいた閾値とを比較して、評価基準値Ｊが閾値以下であるか否かを判断する（ステップ１４００）。
【００２０】
そして、評価基準値Ｊが閾値以下でない、すなわち評価基準値Ｊが閾値より大きい場合には（ステップ１４００“Ｎｏ”）、比較手段１２３は、β更新手段１１２にパラメータβを更新するよう指示を出力する。
【００２１】
すると、β更新手段１１２は、比較手段１２３からの指示に基づき、例えば、β＝β×１．５等して、パラメータβを更新して、カーネル関数更新手段１１３へ出力する（ステップ１５００）。尚、ここでパラメータβに乗算する係数の１．５は、一例であり、１．５以外、例えば、１．１や２．０であっても勿論良く、さらには、可変にしても勿論良い。
【００２２】
カーネル関数更新手段１１３では、β更新手段１１２からの更新されたパラメータβを入力して、例えば、以下の（式３）のようにカーネル関数Ｋ（ｘ，ｘ’）を更新して、更新したカーネル関数Ｋ（ｘ，ｘ’）を上記ステップ１１００の処理後と同様に、評価基準値算出部１２のＧ,Ｇ＋算出手段１２１へ出力する（ステップ１６００）。
【数３】
2006085426.tif 000005
【００２３】
つまり、このステップ１６００では、上記（式３）に示すように、現在のカーネル関数Ｋ（ｘ，ｘ’）に、現在のパラメータβを１．５倍に更新したガウシアンカーネルを加算することより、カーネル関数Ｋ（ｘ，ｘ’）を更新している。カーネル関数の和もカーネル関数になることは、１９５０年Ｎ.Ａｒｏｎｓｚａｊｎによって証明されている。カーネル関数には、１つの再生核ヒルベルト空間が対応する。複数のカーネル関数の総和に対応する再生核ヒルベルト空間は、個々のカーネル関数に対応する再生核ヒルベルト空間全てを包含するため、個々のカーネル関数よりもそれらの和のカーネル関数の方が高い表現力を持つからである。
【００２４】
これにより、例えば、本実施の形態のように、パターン認識問題にカーネル関数を適用した場合は、カーネル関数に対応する再生核ヒルベルト空間に属する未知の関数からラベルベクトルへの線形写像の逆問題として記述できる。ラベルベクトルが線形写像の張る空間に属するようになるまで、和をとるカーネル関数の数を増やすことにより、対象に対して十分な表現力を有するカーネル関数Ｋ（ｘ，ｘ’）を構成することが可能となる。
【００２５】
すると、Ｇ,Ｇ＋算出手段１２１では、再度同様にして、教師データ３と更新された上記（式３）のカーネル関数Ｋ（ｘ，ｘ’）とに基づいて、グラム行列（Ｇ）を算出すると共に、そのムーアペンローズ一般逆（Ｇ＋）を算出して、評価基準値算出手段１２２へ出力し（ステップ１２００）、評価基準値算出手段１２２がグラム行列（Ｇ）と、そのムーアペンローズ一般逆（Ｇ＋）と、教師データ（ｙｉ，ｘｉ）とに基づいて、評価基準値Ｊを算出して、比較手段１２３へ出力し（ステップ１３００）、比較手段１２３は更新されたカーネル関数Ｋ（ｘ，ｘ’）に基づく新たな評価基準値Ｊと、予め定めておいた閾値とを比較して、評価基準値Ｊが閾値以下であるか否かを判断する（ステップ１４００）。
【００２６】
このようなステップ１５００→ステップ１６００→ステップ１２００→ステップ１３００→ステップ１４００の一連の処理は、比較手段１２３にて評価基準値Ｊが閾値以下でないと判断された場合は（ステップ１４００“Ｎｏ”）、繰り返し実行され、カーネル関数Ｋ（ｘ，ｘ’）が更新される。
【００２７】
一方、比較手段１２３は、評価基準値Ｊが閾値以下であると判断した場合（ステップ１４００“ＹＥＳ”）、カーネル関数更新手段１１３と、Ｇ,Ｇ＋算出手段１２１とへ、それぞれが保持している計算結果を、カーネル関数処理部２へ出力するように指示を出す。
【００２８】
すると、カーネル関数更新手段１１３と、Ｇ,Ｇ＋算出手段１２１とは、それぞれ、評価基準値Ｊが閾値以下である場合のカーネル関数Ｋ（ｘ，ｘ’）と、グラム行列（Ｇ）のムーアペンローズ一般逆（Ｇ＋）とをカーネル関数処理部２の認識結果算出手段２１へ出力する（ステップ１７００）。
【００２９】
ここまでが、カーネル関数更新部１でのカーネル関数更新処理である。
【００３０】
次に、カーネル関数処理部２での未知サンプルの入力データに対するパターン認識処理を説明する。
【００３１】
図３は、カーネル関数処理部２による未知入力データに対するパターン認識の一例を示すフローチャートである。
【００３２】
カーネル関数処理部２では、まず、認識結果算出手段２１が、教師データ３と、カーネル関数更新手段１１３からのカーネル関数Ｋ（ｘ，ｘ’）と、Ｇ,Ｇ＋算出手段１２１からのグラム行列（Ｇ）のムーアペンローズ一般逆（Ｇ＋）と、未知サンプルの入力ベクトル４である未知入力ベクトルｘに対して、次の（式４）により、サンプル認識結果ｆ１（ｘ）を算出し、クラスラベル算出手段２２へ出力する（ステップ２０００）。
【数４】
2006085426.tif 000006
【００３３】
クラスラベル算出手段２２では、クラスラベル１，・・・，Ｃの中で、ｆ１（ｘ）に最も近い整数を、パターン認識の結果であるクラスラベルとして出力する（ステップ２１００）。
【００３４】
従って、本実施の形態によれば、カーネル関数更新部１が教師データ３とカーネル関数Ｋ（ｘ，ｘ’）とに基づく評価基準値を算出して、この評価基準値が所定の閾値以下であるか否かを判断して、この評価基準値が所定の閾値以下になるようにカーネル関数Ｋ（ｘ，ｘ’）を更新し、カーネル関数処理部２がその更新されたカーネル関数を用いてパターン認識処理を行うようにしたので、カーネル関数の処理対象である未知サンプルの入力ベクトル４や教師データを生成した未知の関数に応じて、カーネル関数を適応的に更新させて、対象とする問題に対して十分な表現力を持つことができる。
【００３５】
特に、本実施の形態では、カーネル関数を加算することにより更新するようにしたので、未知の関数が属していると想定する関数空間として、極力広いものを仮定できるため、従来用いられていた、カーネル関数を用いた処理よりも理論的整合性が高い、という効果が得られる。
【００３６】
また、本実施の形態では、カーネル関数のパラメータを更新してからカーネル関数を加算して更新するようにしたので、必要十分な表現力を有するカーネル関数を、体系的に得ることができる、という効果が得られる
【００３７】
尚、本実施の形態では、ガウシアンカーネル関数を一例に説明したが、本発明では、これに限定されず、多項式カーネル関数等、ガウシアン以外のカーネル関数でも勿論良く、異なるカーネル関数を用いた場合には、パラメータβの更新ルールも適宜変更等したり、評価基準も別のものでも勿論構わなく、カーネル関数を加算して更新していくものであれば、勿論構わない。
【００３８】
また、本実施の形態では、同一種類のカーネル関数を、そのパラメータβを定数倍して加算して更新するように説明したが、本発明では、これに限らず、カーネル関数の処理対象に応じて、複数のカーネル関数、もしくは、パラメータの異なる同一のカーネル関数、もしくは、複数のカーネル関数とパラメータの異なる同一のカーネル関数からなる集合から二つ以上のカーネル関数を選択して加算してその和をとることにより、カーネル関数を更新するようにしても勿論よい。
【００３９】
また、本実施の形態では、カーネル関数の処理対象として、パターン認識を一例に説明したが、本発明では、これに限らず、カーネル関数を用いて処理可能な、未知関数からベクトルへの線形写像で表されるモデルの逆問題として記述される問題、例えば、画像処理装置や、データ分類装置、関数推定装置等、カーネル関数を用いて処理する装置であれば、適用可能であり、これらの装置において、カーネル関数を対象に応じて適応的に更新することにより、既存のカーネル関数を用いた装置よりも表現力の高いカーネル関数を構成することができる。
【００４０】
なお、本実施の形態では、図１に示すように、カーネル関数処理装置の構成をブロック図により示してハードウエア的に説明したが、本発明では、これに限らず、このカーネル関数処理装置を、ＣＰＵと、そのＣＰＵを前述のように実行させるためのプログラムを記憶したハードディスクや、メモリ等の記憶装置を有するＰＣ等の汎用のコンピュータがソフトウエア的に実行するようにしても勿論良い。この場合、前述のカーネル関数処理装置としての機能を果たすためのプログラムは、ＣＤ等の記録媒体に記録されていて、その記録媒体から読み出してコンピュータ内の記憶装置にインストールしたり、またはインターネット等のネットワークを介してサーバ等からダウンロードして記憶装置に記憶させる。このようにすれば、ＰＣ等の汎用のコンピュータでも、前述のカーネル関数処理装置としての機能を果たすためのプログラムを実行することにより、前述の信号到来方向推定を実行することができる。
【産業上の利用可能性】
【００４１】
本発明のカーネル関数処理装置、カーネル関数処理方法、カーネル関数処理プログラムは、カーネル関数の対象の状態や状況が異なる場合でも、カーネル関数が対象とする問題に対して十分な表現力を持つことができる、という有利な効果を有し、未知関数からベクトルへの線形写像で表されるモデルの逆問題として記述されるパターン認識装置や、画像処理装置、データ分類装置、および関数推定装置あるいはその方法、そのプログラムに有用である。
【図面の簡単な説明】
【００４２】
【図１】カーネル関数処理装置の構成の一例を示すブロック図
【図２】カーネル関数更新処理の一例を示すフローチャート
【図３】未知入力データに対するパターン認識の一例を示すフローチャート
【符号の説明】
【００４３】
１  カーネル関数更新部
２  カーネル関数処理部
３  教師データ
４  未知サンプルの入力ベクトル
１１  更新処理部
１２  評価基準値算出部
２１  認識結果算出手段
２２  クラスラベル算出手段
１１１  初期β算出手段
１１２  β更新手段
１１３  カーネル関数更新手段
１２１  Ｇ,Ｇ＋算出手段
１２２  評価基準値算出手段
【図１】
2006085426.tif 000007
【図２】
2006085426.tif 000008
【図３】
2006085426.tif 000009