JP5621787B2 - パターン認識装置、パターン認識方法及びパターン認識用プログラム - Google Patents

パターン認識装置、パターン認識方法及びパターン認識用プログラム Download PDF

Info

Publication number
JP5621787B2
JP5621787B2 JP2011549770A JP2011549770A JP5621787B2 JP 5621787 B2 JP5621787 B2 JP 5621787B2 JP 2011549770 A JP2011549770 A JP 2011549770A JP 2011549770 A JP2011549770 A JP 2011549770A JP 5621787 B2 JP5621787 B2 JP 5621787B2
Authority
JP
Japan
Prior art keywords
loss
class
recognition dictionary
sum
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011549770A
Other languages
English (en)
Other versions
JPWO2011086643A1 (ja
Inventor
佐藤 敦
敦 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011549770A priority Critical patent/JP5621787B2/ja
Publication of JPWO2011086643A1 publication Critical patent/JPWO2011086643A1/ja
Application granted granted Critical
Publication of JP5621787B2 publication Critical patent/JP5621787B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Character Discrimination (AREA)

Description

本発明は、入力されるデータのパターンを認識するパターン認識装置、パターン認識方法、パターン認識用プログラム、及び、これらのパターン認識に用いられる認識辞書を作成する認識辞書作成装置、認識辞書作成方法及び認識辞書作成プログラムに関する。
入力データを2つのグループに分類する一般的な方法として、特許文献1及び非特許文献1に記載された技術が知られている。
特許文献1に記載されたソフトマージン分類システムは、トレーニングセット内のすべてのデータベクトルにおける重量ベクトルおよびバイアスを含むパラメータを決定し、複数の制約をもとに各データベクトルにおけるスラック変数の最小非負数を決定する。また、特許文献1に記載されたソフトマージン分類システムは、費用関数の最小値を複数の制約を満たすように決定する。
また、非特許文献1に記載された方法は、入力データを線形分離できない場合に、パターンを有限もしくは無限次元の特徴空間へ写像し、特徴空間上で線形分離を行うものである。
特開平8−87572号公報(段落0009)
C. Cortes and V.N. Vapnik, "Support vector Networks," Machine Learning, vol.20, pp.273-297, 1995
特許文献1及び非特許文献1記載の分類方法を用いた一般的なパターン認識装置について説明する。図17は、一般的なパターン認識装置を示す説明図である。図17に示すパターン認識装置は、データ入力部201と、特徴抽出部202と、認識辞書作成部203と、識別部206と、結果出力部208とを備えている。また、認識辞書作成部203は、損失計算部204と、マージン計算部205とを含む。
学習と呼ばれる認識辞書を作成する段階において、データ入力部201から入力されたデータを特徴抽出部202がd次元の特徴ベクトルに変換し、認識辞書作成部203が認識辞書207を作成する。データを認識する段階においては、データ入力部201から入力されたデータを特徴抽出部202がd次元の特徴ベクトルに変換し、識別部206が認識辞書207を用いてデータを識別後、結果出力部208が識別結果を出力する。
なお、認識辞書作成部203は、損失計算部204が計算した損失と、マージン計算部205が計算したマージンの逆数とを足し合わせた評価関数が最小になるように認識辞書207を作成する。
図18は、線形分離可能なデータから認識辞書を作成する処理を示す説明図である。まず、データ集合が線形分離可能な場合について図18を用いて説明する。図18に示す黒丸(以下「●」と記す。)は、負のクラスに属するデータを示し、白丸(以下、「○」と記す。)は、正のクラスに属するデータを示す。一般的なパターン認識装置では、負のデータと正のデータの間のマージンが最大になる平行なマージン境界(すなわち、実線302及び実線303)を求め、これらから等距離にある破線301を識別境界とする認識辞書を作成する。
次に、データ集合が線形分離不可能な場合について図19を用いて説明する。図19は、線形分離不可能なデータから認識辞書を作成する処理を示す説明図である。図18に示す内容と同様、実線402及び実線403は平行なマージン境界であり、破線401はこれらから等距離にある識別境界である。しかし、図18に示す場合と異なり、四角で囲ったデータ406,407がデータの集合に含まれるため、線形分離することはできない。
このようにデータ集合が線形分離不可能な場合、一般的なパターン認識装置では、認識辞書作成部203が「●」で示すデータのマージン境界(すなわち、実線402)からの逸脱量404と、「○」で示すデータのマージン境界(すなわち、実線403)からの逸脱量405との総和を損失として計算する。そして、認識辞書作成部203は、この損失をなるべく少なく、かつマージンをなるべく大きくするようなマージン境界及び識別境界を有するように認識辞書を作成する。このとき、認識辞書作成部203は、式1で定義される値Lを最小化する識別境界を求める。
Figure 0005621787
なお、式1に示す係数Cは、マージンと損失のバランスを決定するパラメータであり、その値は、交差検定法などにより試行錯誤的に決定される。
しかし、一般的なパターン認識装置を用いて入力データを各グループに分類する方法では、学習に用いるデータがノイズを含む場合やデータ数が少ない場合、未学習の新たなデータに対する識別精度が低下してしまうという問題がある。これについて、図20及び図21を用いて、説明する。図20は、線形分離不可能なデータの集合を示す説明図である。
図20に示すデータ504は、ノイズによって本来の分布から離れた位置に存在しているデータ、もしくは、データ数が少ないために分布から離れているように見えるデータである。この場合、一般的なパターン認識装置は、データ間のマージンを最大化する実線502及び実線503から等しい位置に識別境界(破線501)を設定する。
ここで、図20に示すデータ集合に未学習の新たなデータが追加された場合について説明する。図21は、図20に示すデータ集合に未学習の新たなデータが追加された場合を示す説明図である。図21に示す破線602の位置に識別境界が設定されれば、「○」で示すデータの誤り数が1、「●」で示すデータの誤り数が1になり、誤りの総数は2になる。しかし、一般的なパターン認識装置が用いる方法では、破線601の位置に識別境界が設定されるため、「○」で示すデータの誤り数が3(すなわち、誤りの総数が3)になってしまい、識別精度が低下してしまうという問題がある。このように、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度を実現できることが望ましい。
そこで、本発明は、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができるパターン認識装置、パターン認識方法、パターン認識用プログラム、及び、これらのパターン認識に用いられる認識辞書を作成する認識辞書作成装置、認識辞書作成方法及び認識辞書作成プログラムを提供することを目的とする。
本発明によるパターン認識装置は、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、損失計算手段がクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段と、認識辞書を用いてデータのパターンを識別するパターン識別手段とを備え、認識辞書作成手段が、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、パターン識別手段が、修正された認識辞書を用いてデータのパターンを識別することを特徴とする。
本発明による認識辞書作成装置は、データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、損失計算手段がクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段とを備え、認識辞書作成手段が、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正することを特徴とする。
本発明によるパターン認識方法は、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、クラスごとに計算された損失の総和と、クラス間の損失の差の総和とに基づいて、認識辞書を作成し、入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、修正された認識辞書を用いてデータのパターンを識別することを特徴とする。
本発明による認識辞書作成方法は、データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成方法であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、クラスごとに計算された損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成し、入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、各クラス間の損失の差の総和との和が最小になるように認識辞書を修正することを特徴とする。
本発明によるパターン認識プログラムは、コンピュータに、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、損失計算処理でクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理、および、認識辞書を用いてデータのパターンを識別するパターン識別処理を実行させ、認識辞書作成処理で、入力された特徴ベクトルをもとに、損失計算処理で計算したクラスごとの損失の総和と、損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させ、パターン識別処理で、修正された認識辞書を用いてデータのパターンを識別させることを特徴とする。
本発明による認識辞書作成プログラムは、データのパターンを認識するパターン認識装置が用いる認識辞書を作成するコンピュータに適用される認識辞書作成プログラムであって、コンピュータに、各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、および、損失計算処理でクラスごとに計算した損失の総和と、各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理を実行させ、認識辞書作成処理で、入力された特徴ベクトルをもとに、損失計算処理で計算したクラスごとの損失の総和と、損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させることを特徴とする。
本発明によれば、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
本発明によるパターン認識装置の一実施形態を示すブロック図である。 認識辞書を作成する処理の例を示すフローチャートである。 認識辞書を用いた認識処理の例を示すフローチャートである。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 識別境界を決定する動作の例を示す説明図である。 認識辞書を作成する処理の例を示すフローチャートである。 クラス1の連続損失を計算する処理の例を示すフローチャートである。 クラス2の連続損失を計算する処理の例を示すフローチャートである。 評価値を計算する処理の例を示すフローチャートである。 1つの入力データに対して行われる識別処理の例を示すフローチャートである。 本発明によるパターン認識装置の最小構成の例を示すブロック図である。 本発明による認識辞書作成装置の最小構成の例を示すブロック図である。 一般的なパターン認識装置を示す説明図である。 線形分離可能なデータから認識辞書を作成する処理を示す説明図である。 線形分離不可能なデータから認識辞書を作成する処理を示す説明図である。 線形分離不可能なデータの集合を示す説明図である。 データ集合に未学習の新たなデータが追加された場合を示す説明図である。
以下、本発明の実施形態を図面を参照して説明する。
図1は、本発明によるパターン認識装置の一実施形態を示すブロック図である。本発明におけるパターン認識装置は、データ入力部101と、特徴抽出部102と、認識辞書作成部103と、識別部106と、結果出力部108とを備えている。また、認識辞書作成部103は、連続損失計算部104と、損失差計算部105と、認識辞書決定部109とを含む。
データ入力部101は、パターン認識装置に入力された認識対象のデータを特徴抽出部102に通知する。認識対象のデータとしては、例えば、カメラで撮影された画像データなどが挙げられる。
特徴抽出部102は、データ入力部101から通知されたデータをもとにd個の特徴値(以下、d次元特徴ベクトルと記すこともある。)を抽出する。特徴抽出部102が行う抽出処理の一例として、画像データを白黒濃淡画像に変換した後、画像全体を縦10×横10の領域に分割し、各領域内で画像の輝度値の平均を求めることで、100次元の特徴ベクトルを得る方法が挙げられる。ただし、特徴抽出部102が多次元の特徴ベクトルを抽出する方法は、上述の方法に限定されない。入力されたデータから多次元の特徴ベクトルを抽出する方法は広く知られているため、詳細な説明は省略する。
認識辞書作成部103は、「学習」と呼ばれる認識辞書107を作成する段階において、特徴抽出部102が抽出したd次元特徴ベクトルを連続損失計算部104及び損失差計算部105に入力し、その計算結果に基づき認識辞書107を作成する。
連続損失計算部104は、d次元特徴ベクトルをもとにクラスごとの損失を計算する。そして、連続損失計算部104は、計算したクラスごとの損失の総和を計算する。なお、以下の説明では、一般的な方法で計算される損失と区別するため、連続損失計算部104が計算する損失を連続損失と記す。
損失差計算部105は、d次元特徴ベクトルをもとに一のクラスの損失と他のクラスの損失との差分を計算する。そして、損失差計算部105は、クラス間の全差分の総和を計算する。
認識辞書決定部109は、連続損失計算部104が計算した連続損失の総和と、損失差計算部105が計算したクラス間の損失の差の総和とをもとに、作成する認識辞書を決定する。
識別部106は、データを認識する段階において、特徴抽出部102が抽出したd次元特徴ベクトルと、認識辞書107とを用いてデータパターンの識別処理を行い、識別結果を結果出力部108に通知する。例えば、識別部106は、入力されたデータのパターンを識別して、データの属するクラスを認識してもよい。なお、d次元特徴ベクトルと認識辞書を用いた識別方法は広く知られているため、詳細な説明は省略する。
結果出力部108は、識別部106から受け取った識別結果を出力する。
次に、認識辞書作成部103の動作について、以下詳細に説明する。認識辞書作成部103における連続損失計算部104は、k番目のクラスに対する連続損失を、以下に例示する式2にしたがって計算する。
Figure 0005621787
式2におけるPは、k番目のクラスに関する事前確率、Nはk番目のクラスに属する特徴ベクトルの数、ベクトルxknはk番目のクラスに属するn番目の特徴ベクトル、ベクトルαは認識辞書107として使用される識別器パラメータである。
ここで、事前確率とは、正解が分かっているデータに関する存在確率、もしくは、出現頻度を示す。例えば、全データの数をNとしたとき、そのデータの中にクラスkのデータが含まれている割合がクラスkの事前確率になる。事前確率には所望の値として、例えば、統計的に既に分かっている値を予め設定すればよい。例えば、全特徴ベクトル数がN、クラス数がKの場合、クラスkの事前確率をP=N/Nと設定してもよい。ただし、N=N+・・・+Nである。なお、この場合の事前確率Pは、クラスkに属すると正解付けされた学習データの、全学習データに対する割合である。
また、識別器パラメータは、利用する識別器に応じて定義される識別に関わるパラメータである。例えば、識別関数にカーネル関数が用いられる場合、式2に例示するパラメータαとして、各カーネル関数を重み付けする際に用いられる係数を用いてもよい。
また、式2に例示する関数r(以下、r(・)と記すこともある。)は、引数として与えられる特徴ベクトルが識別誤りになる度合いを示す危険度を表し、識別誤りの危険度が高いほど高い値を返す関数である。例えば、k番目のクラスと特徴ベクトルxとの類似度を計算する識別関数g(以下、g(・)と記すこともある。)を以下に示す関数とする。
Figure 0005621787
すなわち、識別関数gは、k番目のクラスに属する度合いが高くなるほど算出する値が大きくなる関数である。また、ベクトルxknに対する認識が最も誤りやすいクラスをj番目のクラスとし、j番目のクラスと特徴ベクトルxとの類似度を計算する識別関数g(以下、g(・)と記すこともある。)を以下に示す関数とする。
Figure 0005621787
このとき、連続損失計算部104は、以下に例示する式3〜式6を用いて特徴ベクトルxが識別誤りになる危険度を計算する。
Figure 0005621787
Figure 0005621787
Figure 0005621787
Figure 0005621787
なお、関数f(以下、f(・)と記すこともある。)は任意の単調増加関数であり、例えば、以下に例示する式7のように定義される。
Figure 0005621787
ここで、β及びξはハイパーパラメータであり、所望の値が設定される。β及びξに対しては、一般的な識別器において値を設定する方法と同様の方法を用いて値を設定すればよい。このように、連続損失計算部104は、クラスkに属する入力ベクトルxがどの程度間違えやすいかを表す危険度の総和を計算することによりクラスkに対する連続損失を計算する。
なお、上記説明では、連続損失計算部104が、k番目のクラスと特徴ベクトルxとの類似度を計算する識別関数gを用いて危険度を算出する場合について説明した。ただし、危険度を計算する際に用いる識別関数gは、k番目のクラスと特徴ベクトルxとの類似度を計算する関数に限定されない。
例えば、連続損失計算部104は、k番目のクラスと特徴ベクトルxとの距離を計算する識別関数を用いて危険度を計算してもよい。なお、この場合には、識別関数により算出される出力値が小さい(すなわち、距離が近い)ほど、対象のクラスに属する度合いが高くなる。そのため、連続損失計算部104は、式3から式6に例示するg(・)とg(・)とを入れ替えた式を用いて危険度を計算すればよい。
次に、連続損失計算部104は、クラスごとに計算した連続損失の総和を計算する。すなわち、クラス数をKとすると、連続損失計算部104は、以下に例示する式8を用いて連続損失の総和を計算する。
Figure 0005621787
次に、損失差計算部105は、クラス間の損失の差の総和を計算する。例えば、損失差計算部105は、j番目のクラスとk番目のクラスの損失の差の総和を、以下に例示する式9を用いて計算する。
Figure 0005621787
次に、認識辞書決定部109は、連続損失計算部104が計算した連続損失の総和と、損失差計算部105が計算したクラス間の損失の差の総和との重み付き線形和が最小になる識別器パラメータαを決定する。例えば、認識辞書決定部109は、連続損失計算部104が式8を用いて計算した連続損失と、損失差計算部105が式9を用いて計算したクラス間の損失の差の総和との重み付き線形和が最小になる識別器パラメータαを決定する。このとき、認識辞書決定部109は、以下に例示する式10により算出される値L(α)が最小になるように識別器パラメータαを決定してもよい。
Figure 0005621787
ここで、λはハイパーパラメータである。認識辞書決定部109は、例えば、クロスバリデーションによってL(α)が最小になる識別器パラメータαを決定してもよい。
識別部106は、このように決定された識別器パラメータαを用いて入力されたデータの識別処理を行う。したがって、認識辞書決定部109が識別器パラメータαを決定することは、入力されるデータの識別処理に用いられる認識辞書を作成することを意味する。
また、新たなデータが入力されると、認識辞書決定部109は、上記方法により、入力された新たなデータをもとに、評価値L(α)が最小になるように識別器パラメータαを修正する。このことから、認識辞書決定部109は、入力されたデータをもとに、評価値L(α)が最小になるように認識辞書を修正しているとも言える。
データ入力部101と、特徴抽出部102と、認識辞書作成部103(より詳しくは、連続損失計算部104と、損失差計算部105と、認識辞書決定部109)と、識別部106と、結果出力部108とは、プログラム(パターン認識プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、パターン認識装置の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、データ入力部101、特徴抽出部102、認識辞書作成部103(より詳しくは、連続損失計算部104、損失差計算部105及び認識辞書決定部109)、識別部106及び結果出力部108として動作してもよい。また、データ入力部101と、特徴抽出部102と、認識辞書作成部103(より詳しくは、連続損失計算部104と、損失差計算部105と、認識辞書決定部109)と、識別部106と、結果出力部108とは、それぞれが専用のハードウェアで実現されていてもよい。
また、認識辞書作成部103(より詳しくは、連続損失計算部104と、損失差計算部105と、認識辞書決定部109)が、一つの装置(認識辞書作成装置)として動作してもよい。
次に、動作について説明する。まず、認識辞書を作成する段階の処理について説明する。図2は、認識辞書を作成する処理の例を示すフローチャートである。以下の説明では、評価関数として式10を用いるものとする。また、以下の説明では、認識辞書を作成することを学習すると記すこともある。
まず、学習用(すなわち、認識辞書を作成する際に用いる)データセットを用いて、認識辞書の初期化を行う(ステップS701)。具体的には、認識辞書作成部103は、識別器パラメータαの初期値を設定し、パターン認識装置を学習に使用できる状態にしておく。また、認識辞書作成部103は、後述の処理で比較対象になる変数Lに対し、十分大きな値を設定しておく。
次に、データ入力部101は、入力データを読み込み(ステップS702)、特徴抽出部102に通知する。特徴抽出部102は、入力データから特徴抽出を行うことでd次元の特徴ベクトルに変換する(ステップS703)。認識辞書決定部109は、認識辞書である識別器パラメータαを、式10で定義される評価関数L(α)の値が減少するように修正する(ステップS704及びステップS705)。具体的には、認識辞書決定部109は、連続損失計算部104が計算した連続損失の総和と、損失差計算部105が計算したクラス間の損失の差の総和との重み付き線形和が最小になるように識別器パラメータαを修正する。
認識辞書決定部109は、評価関数L(α)の値と変数Lの値とを比較する。そして、評価関数L(α)の値と変数Lの値との差が十分小さい(すなわち、一定の値に収束している)場合(ステップS706におけるYes)、認識辞書決定部109は、このときのαを識別器パラメータとして決定して処理を終了する。一方、評価関数L(α)の値と変数Lの値との差が十分小さいといえない(すなわち、一定の値に収束していない)場合(ステップS706におけるNo)、認識辞書決定部109は、このときのL(α)の値を変数Lに代入し、ステップS704以降の処理が繰り返される。
次に、データを認識する段階の処理について説明する。図3は、認識辞書を用いた認識処理の例を示すフローチャートである。まず、識別部106は、認識辞書の初期化を行う(ステップS801)。具体的には、識別部106は、認識辞書作成部103が作成した認識辞書を使用できる状態にする。次に、データ入力部101は、入力データを読み込み(ステップS802)、特徴抽出部102に通知する。特徴抽出部102は、入力データから特徴抽出を行うことでd次元の特徴ベクトルに変換する(ステップS803)。識別部106は、認識辞書を用いて変換された特徴ベクトルの識別処理を行い(ステップS804)、識別結果を結果出力部108に通知する。そして、結果出力部108は、識別部106から受け取った識別結果を出力する(ステップS805)。
識別部106は、入力データの読み込みが終了しているか否か判定する(ステップS806)。入力データの読み込みが終了していない場合(ステップS806におけるNo)、ステップS802以降の処理が繰り返される。一方、入力データの読み込みが終了している場合(ステップS806におけるYes)、識別部106は、処理を終了する。
以上のように、本実施形態によれば、連続損失計算部104が、各クラスに属するデータの特徴を示す特徴ベクトルの連続損失をクラスごとに計算する。さらに、損失差計算部105が、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する。そして、認識辞書決定部109が、クラスごとに計算された損失の総和と、クラス間の損失の差の総和とに基づいて、認識辞書を作成する。さらに、認識辞書決定部109が、入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、クラス間の損失の差の総和との和が最小になるように認識辞書を修正する。そして、識別部106が、修正された認識辞書を用いてデータのパターンを識別する。そのため、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
すなわち、本実施形態では、連続損失を小さくするとともにクラス間の損失の差が小さくなるように認識辞書を決定するため、学習に用いるデータがノイズを含む場合やデータ数が少ない場合でも、未学習の新たなデータに対して高い識別精度を実現することができる。この効果について、以下、具体例を用いて詳しく説明する。以下の具体例では、説明を容易にするため、クラス数が2つの場合について説明する。クラス数が2つの場合、上述の式10は、以下の式11のように定義することができる。
Figure 0005621787
図4及び図5は、図18に示す状態のデータに対して識別境界を決定する動作の例を示す説明図である。以下の説明では、図中の黒丸(以下、「●」と記す。)をクラス1に属するデータ、白丸(以下、「○」と記す。)をクラス2に属するデータであるとする。図4に示す破線901は、識別器が設定する識別境界を示す。実線902は、破線901からクラス1寄りに、ある一定距離ξの位置に設定されたマージン境界を示す。また、図4において網掛けで示した領域に含まれる「●」のデータの連続損失の総和が、クラス1の連続損失L(α)になる。
同様に、図5に示す破線1001は、図4における破線901と同じ位置に設定される識別境界を示し、実線1002は、破線1001からクラス2寄りに、同じく一定距離ξの位置に設定されたマージン境界を示す。また、図5において網掛けで示した領域に含まれる「○」のデータの連続損失の総和が、クラス2の連続損失L(α)になる。
図4及び図5に示すように、クラス1の連続損失L(α)は、「●」で示すクラス1のデータから識別境界が遠ざかるほど小さな値になる。また、クラス2の連続損失L(α)は、「○」で示すクラス2のデータから識別境界が遠ざかるほど小さな値になる。
説明を簡略にするため、式2、式3、式7及び式11を用いる場合について以下説明する。ここで、式2における事前確率の値をP=Nとし、式7におけるβの値を十分大きな値に設定する。この場合、クラス1の連続損失L(α)は、図4における網掛け領域に含まれる「●」の数、クラス2の連続損失L(α)は、図5における網掛け領域に含まれる「○」の数にほぼ等しくなる。
ここで、式11の右辺第1項及び第2項を最小化するαを求めることは、これら(すなわち、連続損失)の総和を最小化する識別境界を求めることを意味する。また、式11の右辺第3項を最小化するαを求めることは、図4における網掛け領域に含まれる「●」の数と、図5における網掛け領域に含まれる「○」の数が等しくなる識別境界を求めることを意味する。したがって、式11におけるλの値が十分大きい場合は、図4における網掛け領域に含まれる「●」の数と、図5における網掛け領域に含まれる「○」の数が等しくなる条件の下で、これらの総和を最小化する識別境界を求めることになる。
図6及び図7は、図20に示す状態のデータに対して識別境界を決定する動作の例を示す説明図である。図6及び図7に示す例では、「○」で示すクラス2のデータのすぐ近くに、「●」で示すクラス1のデータが追加されている。このような場合であっても、図6における網掛け領域に含まれる「●」の数と、図7における網掛け領域に含まれる「○」の数が等しくなる条件の下で、これらの総和を最小化する識別境界が決定される。すなわち、図6に示す破線1101、もしくは、図7に示す破線1201の位置に識別境界が設定されことになる。
したがって、例えば、図21に例示するように新たなデータが入力された場合であっても、一般的なパターン認識装置で求められる識別境界よりも、より識別精度の高い識別境界を決定することができる。すなわち、より高い識別精度を実現することができる。
さらに、本実施形態によれば、識別境界とマージン境界との距離ξを小さくすることで、一般的なパターン認識装置によって決定される識別境界と同様の識別境界を得ることもできる。このことについて、図8及び図9を用いて以下説明する。図8及び図9は、図20に示す状態のデータに対して識別境界を決定する他の動作の例を示す説明図である。
距離ξの値を小さくした場合、図8における網掛け領域に含まれる「●」の数、及び、図9における網掛け領域に含まれる「○」の数が少なくなる。そのため、識別境界付近に存在するデータに強く依存した位置に識別境界(図8における破線1301、もしくは、図9における破線1401)が設定されることになり、一般的なパターン認識装置で決定される識別境界(例えば、図21に示す破線601)と同様の結果を得ることができる。
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。以下の説明では、クラス数を2とし、各クラスの識別関数としてカーネル識別関数を用いるものとする。すなわち、クラスkの識別関数は、以下に例示する式12のように定義される。
Figure 0005621787
ここで、ベクトルxkiは、クラスkに属する学習データであり、αkiは識別器パラメータである。また、Kはカーネル関数(以下、K(・)と記すこともある。)であり、以下に例示する式13のように定義されるガウシアン型のカーネル関数などが用いられる。
Figure 0005621787
ここで、γ(ただし、γ>0)は、ガウシアンカーネルの大きさを規定するパラメータであり、γには予め所望の値を設定しておく。また、本実施例では、k番目のクラスに対する連続損失を算出する式として式2及び式6を用いるものとする。また、評価関数として式11を用いるものとする。
本実施例では、初めに、認識辞書を作成する段階の処理について説明する。まず、学習用に複数の入力データを準備し、各入力データをd次元の特徴ベクトル(以降、入力ベクトルと記す。)に変換しておく。以下、説明を簡略化するため、説明を簡単にするために、クラス1に属する入力ベクトルを(x[1],x[2], ・・・,x[N1])、クラス2に属する入力ベクトルを(x[N1+1],x[N1+2], ・・・,x[N1+N2])と表記する。
また、式2の事前確率Pには、所望の値を設定しておく。例えば、クラス1の事前確率Pを、P=N1/Nと設定し、クラス2の事前確率Pを、P=N2/Nと設定する。ただし、Nは入力ベクトルの総数であり、N=N1+N2を満たす。
さらに、クラス1に関する認識辞書として、(α[1],α[2],・・・,α[N1])を、クラス2に関する認識辞書として(α[N1+1],α2[N1+2],・・・,α2[N1+N2])をそれぞれ準備し、全ての値に1を設定しておく。また、パラメータ値の変更量を示す微小な値εを準備し、このεの値として、例えば、0.01を設定しておく。
図10は、本実施例で認識辞書を作成する処理の例を示すフローチャートである。初め、変数Lnew及びLoldに、十分大きな値を設定し(ステップS1501)、さらに、変数iに1を設定しておく(ステップS1502)。認識辞書作成部103は、i番目のパラメータα[i]の値を変数α’に保存し、α[i]をεだけ減少させた後、式11の評価値L(α)を計算し、変数L’に保存する(ステップS1503)。変数L’の値が変数Lnewより小さくない場合(ステップS1504におけるNo)、ステップS1506に進む。一方、変数L’の値が変数Lnewより小さい場合(ステップS1504におけるYes)、ステップS1505に進む。ステップS1505において、認識辞書作成部103は、変数L’の値を変数Lnewに保存するとともに、変数iの値を変数jに保存しておく(ステップS1505)。
次に、認識辞書作成部103は、変数α’に保存されていた値をα[i]に戻す(ステップS1506)。変数iの値がパラメータの総数N1+N2より小さい場合(ステップS1507におけるYes)、認識辞書作成部103は、iの値を1だけ増やし(S1508)、その後、S1503に戻って以降の処理を繰り返す。一方、ステップS1507において、変数iの値がパラメータの総数N1+N2より小さくない場合(ステップS1507におけるNo)、ステップS1509に進む。
変数Lnewの値がLoldより小さくない場合(ステップS1509におけるNo)、処理を終了する。一方、変数Lnewの値がLoldより小さい場合(ステップS1509におけるYes)、ステップS1510に進む。ステップS1510において、認識辞書作成部103は、LoldにLnewの値を保存し、j番目のパラメータα[j]の値をεだけ減少するよう変更する(ステップS1510)。そして、ステップS1502に戻り、以降の処理を繰り返す。
ここで、ステップS1503において評価値L(α)を計算する処理について説明する。評価値L(α)の値は、式11に例示するように、クラス1とクラス2それぞれの連続損失L(α)及びL(α)の値を計算することで得られる。
まず、クラス1の連続損失L(α)を求める処理を、フローチャートを用いて説明する。図11は、クラス1の連続損失を計算する処理の例を示すフローチャートである。
まず、認識辞書作成部103は、変数L1の値を0、変数nの値を1に設定する(ステップS1601)。さらに、認識辞書作成部103は、変数iの値を1に、変数G1の値を0にそれぞれ設定する(ステップS1602)。次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G1に加算する(ステップS1603)。
ここで、変数iの値がN1より小さい場合(ステップS1604におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1605)、ステップS1603に戻って以降の処理を繰り返す。一方、変数iの値がN1より小さくない場合(ステップS1604におけるNo)、ステップS1606に進む。ステップS1606において、認識辞書作成部103は、iの値をN1+1に、G2の値を0にそれぞれ設定する(ステップS1606)。
次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G2に加算する(ステップS1607)。ここで、変数iの値がN1+N2より小さい場合(ステップS1608におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1609)、ステップS1607に戻って以降の処理を繰り返す。一方、変数iの値がN1+N2より小さくない場合(ステップS1608におけるNo)、ステップS1610に進む。
変数G1に設定された値は、クラス1の識別関数の値であり、変数G2に設定された値は、クラス2の識別関数の値である。そこで、認識辞書作成部103は、式6にしたがって、クラス1に属する入力ベクトルx[n]に関する連続損失を求める(ステップS1610)。変数nの値がN1より小さい場合(ステップS1611におけるYes)、認識辞書作成部103は、変数nの値を1だけ増加させ(ステップS1612)、ステップS1602に戻って以降の処理を繰り返す。一方、変数nの値がN1より小さくない場合(ステップS1611におけるNo)、ステップS1613に進む。
認識辞書作成部103は、式2にしたがって、所望の値に設定された事前確率Pを変数L1に乗じた値を計算し、さらに、計算結果をクラス1の入力ベクトル数N1で割った値を変数L1に設定する(S1613)。その後、処理を終了する。
次に、クラス2の連続損失L(α)を求める処理を、フローチャートを用いて説明する。図12は、クラス2の連続損失を計算する処理の例を示すフローチャートである。
まず、認識辞書作成部103は、変数L2の値を0、変数nの値をN1+1に設定する(ステップS1701)。さらに、認識辞書作成部103は、変数iの値を1に、変数G1の値を0にそれぞれ設定する(ステップS1702)。次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G1に加算する(ステップS1703)。
ここで、変数iの値がN1より小さい場合(ステップS1704におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1705)、ステップS1703に戻って以降の処理を繰り返す。一方、変数iの値がN1より小さくない場合(ステップS1704におけるNo)、ステップS1706に進む。ステップS1706において、認識辞書作成部103は、iの値をN1+1に、G2の値を0にそれぞれ設定する(ステップS1706)。
次に、認識辞書作成部103は、入力ベクトルx[n]とx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G2に加算する(ステップS1707)。ここで、変数iの値がN1+N2より小さい場合(ステップS1708におけるYes)、認識辞書作成部103は、変数iの値を1だけ増加させ(ステップS1709)、ステップS1707に戻って以降の処理を繰り返す。一方、変数iの値がN1+N2より小さくない場合(ステップS1708におけるNo)、ステップS1710に進む。
クラス1の場合と同様、変数G1に設定された値は、クラス1の識別関数の値であり、変数G2に設定された値は、クラス2の識別関数の値である。そこで、認識辞書作成部103は、式6にしたがって、クラス2に属する入力ベクトルx[n]に関する連続損失を求める(ステップS1710)。変数nの値がN1+N2より小さい場合(ステップS1711におけるYes)、認識辞書作成部103は、変数nの値を1だけ増加させ(ステップS1712)、ステップS1702に戻って以降の処理を繰り返す。一方、変数nの値がN1+N2より小さくない場合(ステップS1711におけるNo)、ステップS1713に進む。
認識辞書作成部103は、式2にしたがって、所望の値に設定された事前確率Pを変数L2に乗じた値を計算し、さらに、計算結果をクラス2の入力ベクトル数N2で割った値を変数L2に設定する(S1713)。その後、処理を終了する。
次に、評価値L(α)を求める処理を、フローチャートを用いて説明する。図13は、評価値を計算する処理の例を示すフローチャートである。以下の説明では、式11にしたがって評価値L(α)を求める場合について説明する。
まず、認識辞書作成部103は、上述の処理で算出された変数L1と変数L2とを加算した値を変数Lに設定する(ステップS1801)。また、認識辞書作成部103は、上述の処理で算出された変数L1と変数L2の差の二乗に所望の値λを乗じた値を、変数L’に設定する(ステップS1802)。そして、認識辞書作成部103は、ステップS1801において変数Lに設定した値と、ステップS1802において変数L’に設定した値とを加算した値を変数Lに設定し(ステップS1803)、処理を終了する。このようにして得られたLの値が、図10におけるステップS1503で評価値L(α)として用いられる。
以上、認識辞書を作成する段階の処理について説明した、次に、認識辞書を用いてデータを認識する段階の処理について説明する。なお、ここでは、入力データが既定の特徴抽出によりd次元の特徴ベクトルxに変換されているものとする。以降、このように変換された特徴ベクトルを、入力ベクトルと記す。
図14は、1つの入力データに対して行われる識別処理の例を示すフローチャートである。まず、識別部106は、変数iの値を1、変数G1の値を0に設定する(ステップS1901)。次に、識別部106は、入力ベクトルxとx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G1に加算する(ステップS1902)。
ここで、変数iの値がN1より小さい場合(ステップS1903におけるYes)、識別部106は、変数iの値を1だけ増加させ(ステップS1904)、ステップS1902に戻って以降の処理を繰り返す。一方、変数iの値がN1より小さくない場合(ステップS1903におけるNo)、ステップS1905に進む。ステップS1905において、識別部106は、iの値をN1+1に、G2の値を0にそれぞれ設定する(ステップS1905)。
次に、識別部106は、入力ベクトルxとx[i]を用いて式13に例示するカーネル関数の値を計算し、計算結果にi番目のパラメータα[i]を乗じた値を変数G2に加算する(ステップS1906)。ここで、変数iの値がN1+N2より小さい場合(ステップS1907におけるYes)、識別部106は、変数iの値を1だけ増加させ(ステップS1908)、ステップS1906に戻って以降の処理を繰り返す。一方、変数iの値がN1+N2より小さくない場合(ステップS1907におけるNo)、ステップS1909に進む。
最後に、識別部106は、変数G1の値から変数G2の値を減じた値(すなわち、G1−G2の値)を出力し、入力ベクトルの属するクラスを識別して処理を終了する(ステップS1909)。ここで、出力値が正の場合、入力ベクトルxは、クラス1に属すると識別される。一方、出力値が正でない場合、入力ベクトルxは、クラス2に属すると認識される。
なお、本実施例では、クラス数が2の場合について説明した。ただし、クラス数は2つに限られず、3つ以上であってもよい。また、本実施例では、識別器が式13で定義されるカーネル関数を用いる場合について説明した。ただし、識別器が用いる関数は、カーネル関数に限定されない。
次に、本発明によるパターン認識装置の最小構成の例を説明する。図15は、本発明によるパターン認識装置の最小構成の例を示すブロック図である。本発明によるパターン認識装置は、各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段81(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段82(例えば、損失差計算部105)と、損失計算手段81がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段83(例えば、認識辞書決定部109)と、認識辞書を用いてデータのパターンを識別するパターン識別手段84(例えば、識別部106)とを備えている。
認識辞書作成手段83は、入力された特徴ベクトルをもとに、損失計算手段81が計算したクラスごとの損失の総和と、損失差計算手段82が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正し、パターン識別手段84は、修正された認識辞書を用いてデータのパターンを識別する。
そのような構成により、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
次に、本発明による認識辞書作成装置の最小構成の例を説明する。図16は、本発明による認識辞書作成装置の最小構成の例を示すブロック図である。本発明による認識辞書作成装置は、データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段91(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段92(例えば、損失差計算部105)と、損失計算手段91がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段93(例えば、認識辞書決定部109)とを備えている。
認識辞書作成手段93は、入力された特徴ベクトルをもとに、損失計算手段91が計算したクラスごとの損失の総和と、損失差計算手段92が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正する。
このような構成により作成される認識辞書を用いてパターン認識を行うため、学習に用いるデータがノイズを含む場合や、データ数が少ない場合であっても、未学習の新たなデータに対して、高い識別精度でパターン認識を行うことができる。
なお、少なくとも以下に示すようなパターン認識装置及び認識辞書作成装置も、上記に示すいずれかの実施形態に開示されている。
(1)各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段(例えば、損失差計算部105)と、損失計算手段がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段(例えば、認識辞書決定部109)と、認識辞書を用いてデータのパターンを識別するパターン識別手段(例えば、識別部106)とを備え、認識辞書作成手段が、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正し、パターン識別手段が、修正された認識辞書を用いてデータのパターンを識別するパターン認識装置。
(2)損失計算手段が、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度(例えば、式3〜式6及び式7により算出される危険度)の総和(例えば、式2により算出される危険度の総和)をもとにクラスごとの損失を計算するパターン認識装置。
(3)損失計算手段が、各クラスの損失をカーネル関数を用いて計算(例えば、式12及び式13を用いて計算)し、パターン識別手段が、カーネル関数に基づいて作成された認識辞書を用いてデータのパターンを識別するパターン認識装置。
(4)認識対象になるデータとして入力されたデータから特徴ベクトルを抽出する特徴ベクトル抽出手段(例えば、特徴抽出部102)を備え、損失計算手段が、特徴ベクトル抽出手段が抽出した特徴ベクトルの損失をクラスごとに計算し、パターン識別手段が、特徴ベクトル抽出手段が抽出した特徴ベクトルのパターンを認識辞書を用いて識別するパターン認識装置。
(5)データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、各クラスに属するデータの特徴を示す特徴ベクトルの損失(例えば、連続損失)をクラスごとに計算する(例えば、式8を用いて計算する)損失計算手段(例えば、連続損失計算部104)と、クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する(例えば、式9を用いて計算する)損失差計算手段(例えば、損失差計算部105)と、損失計算手段がクラスごとに計算した損失の総和(例えば、式8を用いて計算された連続損失の総和)と、各クラス間の損失の差の総和(例えば、式9を用いて計算されたクラス間の損失の差の総和)とに基づいて、認識辞書を作成する(例えば、識別器パラメータαを決定する)認識辞書作成手段(例えば、認識辞書決定部109)とを備え、認識辞書作成手段は、入力された特徴ベクトルをもとに、損失計算手段が計算したクラスごとの損失の総和と、損失差計算手段が計算した各クラス間の損失の差の総和との和(例えば、式10で定義される評価関数の評価値L(α))が最小になるように認識辞書を修正する認識辞書作成装置。
(6)損失計算手段が、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度(例えば、式3〜式6及び式7により算出される危険度)の総和(例えば、式2により算出される危険度の総和)をもとにクラスごとの損失を計算する認識辞書作成装置。
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2010年1月14日に出願された日本特許出願2010−5447を基礎とする優先権を主張し、その開示の全てをここに取り込む。
(付記1)認識対象になるデータとして入力されたデータから特徴ベクトルを抽出し、抽出された特徴ベクトルの損失をクラスごとに計算し、抽出された特徴ベクトルのパターンを認識辞書を用いて識別するパターン認識方法。
(付記2)コンピュータに、認識対象になるデータとして入力されたデータから特徴ベクトルを抽出する特徴ベクトル抽出処理を実行させ、損失計算処理で、前記特徴ベクトル抽出処理で抽出した特徴ベクトルの損失をクラスごとに計算させ、パターン識別処理で、前記特徴ベクトル抽出処理で抽出した特徴ベクトルのパターンを認識辞書を用いて識別させるパターン認識プログラム。
本発明は、入力されるデータのパターンを認識するパターン認識装置に好適に適用される。例えば、本発明によるパターン認識装置は、画像認識などに好適に適用される。
101 データ入力部
102 特徴抽出部
103 認識辞書作成部
104 連続損失計算部
105 損失差計算部
106 識別部
107 認識辞書
108 結果出力部
109 認識辞書決定部

Claims (10)

  1. 各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、
    クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、
    前記損失計算手段がクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段と、
    前記認識辞書を用いてデータのパターンを識別するパターン識別手段とを備え、
    前記認識辞書作成手段は、入力された特徴ベクトルをもとに、前記損失計算手段が計算したクラスごとの損失の総和と、前記損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、
    パターン識別手段は、修正された認識辞書を用いてデータのパターンを識別する
    ことを特徴とするパターン認識装置。
  2. 損失計算手段は、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度の総和をもとにクラスごとの損失を計算する
    請求項1記載のパターン認識装置。
  3. 損失計算手段は、各クラスの損失をカーネル関数を用いて計算し、
    パターン識別手段は、前記カーネル関数に基づいて作成された認識辞書を用いてデータのパターンを識別する
    請求項1または請求項2に記載のパターン認識装置。
  4. 認識対象になるデータとして入力されたデータから特徴ベクトルを抽出する特徴ベクトル抽出手段を備え、
    損失計算手段は、前記特徴ベクトル抽出手段が抽出した特徴ベクトルの損失をクラスごとに計算し、
    パターン識別手段は、前記特徴ベクトル抽出手段が抽出した特徴ベクトルのパターンを認識辞書を用いて識別する
    請求項1から請求項3のうちのいずれか1項に記載のパターン認識装置。
  5. データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成装置であって、
    各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算手段と、
    クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算手段と、
    前記損失計算手段がクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成手段とを備え、
    前記認識辞書作成手段は、入力された特徴ベクトルをもとに、前記損失計算手段が計算したクラスごとの損失の総和と、前記損失差計算手段が計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正する
    ことを特徴とする認識辞書作成装置。
  6. 損失計算手段は、特徴ベクトルが属するクラスが識別誤りである度合いを示す危険度の総和をもとにクラスごとの損失を計算する
    請求項5記載の認識辞書作成装置。
  7. 各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、
    クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、
    クラスごとに計算された損失の総和と、前記クラス間の損失の差の総和とに基づいて、認識辞書を作成し、
    入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、前記クラス間の損失の差の総和との和が最小になるように認識辞書を修正し、
    修正された認識辞書を用いてデータのパターンを識別する
    ことを特徴とするパターン認識方法。
  8. データのパターンを認識するパターン認識装置が用いる認識辞書を作成する認識辞書作成方法であって、
    各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算し、
    クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算し、
    クラスごとに計算された損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成し、
    入力された特徴ベクトルをもとに、クラスごとに計算された損失の総和と、前記各クラス間の損失の差の総和との和が最小になるように認識辞書を修正する
    ことを特徴とする認識辞書作成方法。
  9. コンピュータに、
    各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、
    クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、
    前記損失計算処理でクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理、および、
    前記認識辞書を用いてデータのパターンを識別するパターン識別処理を実行させ、
    前記認識辞書作成処理で、入力された特徴ベクトルをもとに、前記損失計算処理で計算したクラスごとの損失の総和と、前記損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させ、
    パターン識別処理で、修正された認識辞書を用いてデータのパターンを識別させる
    ことを特徴とするパターン認識プログラム。
  10. データのパターンを認識するパターン認識装置が用いる認識辞書を作成するコンピュータに適用される認識辞書作成プログラムであって、
    前記コンピュータに、
    各クラスに属するデータの特徴を示す特徴ベクトルの損失をクラスごとに計算する損失計算処理、
    クラスごとに計算された損失をもとに、各クラス間の損失の差の総和を計算する損失差計算処理、および、
    前記損失計算処理でクラスごとに計算した損失の総和と、前記各クラス間の損失の差の総和とに基づいて、認識辞書を作成する認識辞書作成処理を実行させ、
    前記認識辞書作成処理で、入力された特徴ベクトルをもとに、前記損失計算処理で計算したクラスごとの損失の総和と、前記損失差計算処理で計算した各クラス間の損失の差の総和との和が最小になるように認識辞書を修正させる
    ことを特徴とする認識辞書作成プログラム。
JP2011549770A 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム Active JP5621787B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011549770A JP5621787B2 (ja) 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010005447 2010-01-14
JP2010005447 2010-01-14
PCT/JP2010/007360 WO2011086643A1 (ja) 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム
JP2011549770A JP5621787B2 (ja) 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム

Publications (2)

Publication Number Publication Date
JPWO2011086643A1 JPWO2011086643A1 (ja) 2013-05-16
JP5621787B2 true JP5621787B2 (ja) 2014-11-12

Family

ID=44303949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011549770A Active JP5621787B2 (ja) 2010-01-14 2010-12-20 パターン認識装置、パターン認識方法及びパターン認識用プログラム

Country Status (6)

Country Link
US (1) US8750628B2 (ja)
EP (1) EP2525306A4 (ja)
JP (1) JP5621787B2 (ja)
KR (1) KR20120104363A (ja)
CN (1) CN102713945B (ja)
WO (1) WO2011086643A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2953062A4 (en) * 2013-02-01 2017-05-17 Fujitsu Limited Learning method, image processing device and learning program
WO2016181468A1 (ja) * 2015-05-11 2016-11-17 株式会社東芝 パターン認識装置、パターン認識方法およびプログラム
WO2016181474A1 (ja) * 2015-05-11 2016-11-17 株式会社東芝 パターン認識装置、パターン認識方法およびプログラム
US9582715B2 (en) 2015-06-30 2017-02-28 International Business Machines Corporation Feature selection algorithm under conditions of noisy data and limited recording
CN107402914B (zh) * 2016-05-20 2020-12-15 富士通株式会社 自然语言深度学习系统和方法
JP6199461B1 (ja) * 2016-09-13 2017-09-20 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JP7114892B2 (ja) * 2017-12-13 2022-08-09 京セラドキュメントソリューションズ株式会社 画像形成装置
WO2021010540A1 (ko) * 2019-07-17 2021-01-21 울산과학기술원 딥러닝 내부의 데이터 추출 방법 및 장치
JP7221892B2 (ja) * 2020-02-12 2023-02-14 株式会社東芝 学習装置、学習方法、および学習プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106295A (ja) * 1994-10-05 1996-04-23 Atr Onsei Honyaku Tsushin Kenkyusho:Kk パターン認識方法及び装置
JP2005198970A (ja) * 2004-01-19 2005-07-28 Konica Minolta Medical & Graphic Inc 医用画像処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640492A (en) 1994-06-30 1997-06-17 Lucent Technologies Inc. Soft margin classifier
US7076473B2 (en) * 2002-04-19 2006-07-11 Mitsubishi Electric Research Labs, Inc. Classification with boosted dyadic kernel discriminants
US7490071B2 (en) * 2003-08-29 2009-02-10 Oracle Corporation Support vector machines processing system
JP4723020B2 (ja) 2009-10-13 2011-07-13 株式会社ソフイア 遊技機

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106295A (ja) * 1994-10-05 1996-04-23 Atr Onsei Honyaku Tsushin Kenkyusho:Kk パターン認識方法及び装置
JP2005198970A (ja) * 2004-01-19 2005-07-28 Konica Minolta Medical & Graphic Inc 医用画像処理装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200500050001; 赤穂 昭太郎: 'カーネルマシン' 電子情報通信学会技術研究報告 Vol.103 No.228, 20030722, 第1-6頁, 社団法人電子情報通信学会 *
CSNG200700978008; 高橋 規一: 'サポートベクトルマシンとその効率的学習アルゴリズム' 情報処理学会研究報告 Vol.2007 No.96, 20070925, 第49-54頁, 社団法人情報処理学会 *
JPN6011007015; 赤穂 昭太郎: 'カーネルマシン' 電子情報通信学会技術研究報告 Vol.103 No.228, 20030722, 第1-6頁, 社団法人電子情報通信学会 *
JPN6011007016; 高橋 規一: 'サポートベクトルマシンとその効率的学習アルゴリズム' 情報処理学会研究報告 Vol.2007 No.96, 20070925, 第49-54頁, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
WO2011086643A1 (ja) 2011-07-21
US20130129220A1 (en) 2013-05-23
CN102713945A (zh) 2012-10-03
CN102713945B (zh) 2015-03-25
KR20120104363A (ko) 2012-09-20
EP2525306A1 (en) 2012-11-21
JPWO2011086643A1 (ja) 2013-05-16
EP2525306A4 (en) 2018-01-10
US8750628B2 (en) 2014-06-10

Similar Documents

Publication Publication Date Title
JP5621787B2 (ja) パターン認識装置、パターン認識方法及びパターン認識用プログラム
CN109086658B (zh) 一种基于生成对抗网络的传感器数据生成方法与系统
US11580383B2 (en) Neural network learning device, method, and program
US7242810B2 (en) Multimodal high-dimensional data fusion for classification and identification
JP4997178B2 (ja) 物体検出装置
CN110969087B (zh) 一种步态识别方法及系统
US11521099B2 (en) Dictionary generation apparatus, evaluation apparatus, dictionary generation method, evaluation method, and storage medium for selecting data and generating a dictionary using the data
JP2008310796A (ja) コンピュータにより実施される、訓練データから分類器を構築し、前記分類器を用いてテストデータ中の移動物体を検出する方法
US8612370B2 (en) Pattern recognition device, pattern recognition method, and pattern recognition program
CN110766042B (zh) 一种基于最大相关最小冗余的多标记特征选择方法及装置
Dev et al. Multi-level semantic labeling of sky/cloud images
CN113706547B (zh) 一种基于类别同异性引导的无监督域适应语义分割方法
CN111444937A (zh) 一种基于集成tsk模糊分类器的众包质量提升的方法
Antosik et al. New measures of classifier competence-heuristics and application to the design of multiple classifier systems
Chen et al. Online vehicle logo recognition using Cauchy prior logistic regression
WO2017000118A1 (en) Method and apparatus for predicting attribute for image sample
KR102333893B1 (ko) 실내위치인식 시스템 성능유지를 위한 크라우드소싱 기반 무선신호세기 데이터베이스 갱신 알림 방법 및 장치
Sikdar et al. Open-set metric learning for person re-identification in the wild
Wali et al. Incremental learning approach for events detection from large video dataset
Ansari et al. Devanagari handwritten character recognition using hybrid features extraction and feed forward neural network classifier (FFNN)
Sun et al. Discriminative canonical correlation analysis with missing samples
CN115049889A (zh) 存储介质和推理方法
Besrour et al. Incremental subclass support vector machine
US20120284215A1 (en) Metric learning apparatus
JP2020181265A (ja) 情報処理装置、システム、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140908

R150 Certificate of patent or registration of utility model

Ref document number: 5621787

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150