(57)【要約】【課題】統合識別器の識別精度を向上させることができる、統合識別器学習装置、統合識別器学習方法、及び統合識別器学習プログラムを提供する。【解決手段】統合識別器学習装置２０では、複数の識別器１４各々の識別結果及び真のクラスを２次学習データ２２（教師データ）として用いて、統合識別器２４の学習を行う。統合識別器学習装置２０は、当該学習において、単に、正しい識別を行う識別器のみを識別に有効とするのではなく、誤認識を行う識別器であっても、識別結果が真のクラスに対して一貫性を有する場合は、識別に有効であるとし、クラス毎に、識別器１４がそのクラスを真のクラスとする場合に一貫性を有する識別結果を出力するか否かを潜在変数ｒj(k)として学習する。【選択図】図１
2015011686.tif 000002
【特許請求の範囲】
【請求項１】
複数の識別器の各々から出力された識別結果を統合してクラスを識別する統合識別器の学習を行う統合識別器学習装置であって、
複数のデータの各々に対する前記データの特徴ベクトルと前記データが帰属する真のクラスとの組から成る１次学習データの前記複数のデータの各々について、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果と、前記データが帰属する真のクラスとの組から成る２次学習データを各々取得し、取得した前記２次学習データの各々に基づいて、前記複数の識別器の各々が真のクラスに対して一貫性を有する識別結果を出力するか否かを用いて、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果に基づいて前記識別結果を統合してクラスを識別する統合識別器を学習する、
統合識別器学習装置。
【請求項２】
前記取得した前記２次学習データの各々に基づいて、前記識別器及びクラスωkの各組み合わせに対し、前記クラスωkが真のクラスであるデータについて第ｊ番目の識別器が一貫性を有する識別結果を出力するか否かを示す２値の潜在変数ｒj(k)を含む前記統合識別器を学習する
請求項１に記載の統合識別器学習装置。
【請求項３】
前記取得した前記第２次学習データの各々に基づいて、下記（Ｉ）式〜（Ｖ）式で表される前記２次学習データの生成モデルのパラメータであるα、β、ａ、及びｂを、下記（ＶＩ）式により学習し、
前記識別器及びクラスωkの各組み合わせに対し、以下の（ＶＩＩ）式、及び（ＶＩＩＩ）式により計算される前記潜在変数ｒj(k)の値の確率分布に従って、前記潜在変数ｒj(k)の値を決定する請求項２に記載の統合識別器学習装置。
【数１】
2015011686.tif 000021
ただし、ｃｉ,ｊ(k)は、クラスωｋを真のクラスとする第ｉ番目の前記第２次学習データに含まれる第ｊ番目の識別器の識別結果を示し、Ｒは、前記潜在変数ｒｊ(k)の集合を示し、ｒj(k)＝１が、クラスωｋが真のクラスであるデータについて第ｊ番目の識別器が一貫性を有する識別結果を出力することを示し、ｒj(k)＝０が、クラスωｋが真のクラスであるデータについて第ｊ番目の識別器が一貫性を有する識別結果を出力することを示し、ｒ＼(ｋ,ｊ)が、ｒj(k)を除いた前記潜在変数の集合を表し、Ｃが、前記２次学習データの集合を示し、ｎj,l(k)は、第ｊ番目の識別器により、真のクラスωkに帰属するデータについてクラスωlと識別したデータ数を示し、βj,l(k)は、クラスωｋが真のクラスであるデータについて一貫性を有する識別結果を出力する第ｊ番目の識別器により、真のクラスωkに帰属するデータについてクラスωlと識別する確率を生成するディレクレ分布を表すパラメータであり、αlは、一貫性を有する識別結果を出力しない前記識別器により、前記データについてクラスωlと識別する確率を生成するディレクレ分布を表すパラメータであり、Ｎ(k)は、クラスωｋが真のクラスであるデータの数を示し、δ（ｘ，ｙ）はデルタ関数であり、Γ（ｘ）はガンマ関数である。
【請求項４】
複数の識別器の各々から出力された識別結果を統合して識別する統合識別器の学習を行う統合識別器学習装置における統合識別器学習方法であって、
統合識別器学習装置により、複数のデータの各々に対する前記データの特徴ベクトルと前記データが帰属する真のクラスとの組から成る１次学習データの前記複数のデータの各々について、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果と、前記データが帰属する正解クラスとの組から成る２次学習データを各々取得し、取得した前記２次学習データの各々に基づいて、前記複数の識別器の各々が真のクラスに対して一貫性を有する識別結果を出力するか否かを用いて、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果に基づいて前記識別結果を統合する統合識別器を学習するステップを含む、
統合識別器学習方法。
【請求項５】
コンピュータを、請求項１から請求項３のいずれか１項に記載の統合識別器学習装置として機能させるための統合識別器学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、統合識別器学習装置、統合識別器学習方法、及び統合識別器学習プログラムにかかり、特に、複数の識別器の識別結果を統合してクラスを識別する統合識別器を構築するための統合識別器学習装置、統合識別器学習方法、及び統合識別器学習プログラムに関する。
【背景技術】
【０００２】
一般に、教師あり学習では、観測データと各観測データが帰属するクラスを表すクラスラベルとが学習データとして与えられる。観測データは、何らかの方法で特徴が抽出され、通常、特徴ベクトルとして表現される。そして、特徴ベクトルとそのクラスラベルの組の集合（学習データ）に基づいて、学習データを正しく識別するように識別器を学習する。ここでの識別とは、Ｋ個のクラスの場合、特徴ベクトルをＫ個のクラスのいずれか一つに分類することを意味する。
【０００３】
そして、クラスラベルが未知のテストデータに対し、学習済の識別器を用いて識別を行う。このとき、識別器では、学習データだけではなく、テストデータに対する識別精度（汎化性能）が重要となる。即ち、学習データに過度に適応し、テストデータの識別精度が低い識別器は非実用的である。この問題は過学習（overfitting）と呼ばれ、識別器の設計における実用上の重要な課題となっている。
【０００４】
これまで、識別器については、パターン認識や機械学習の分野で精力的に研究されており、現在、多くの識別器が利用可能である。しかし、新たな識別タスクに直面した場合、どのような特徴が識別に有効かどうかの事前知識やドメイン知識がない場合は、観測データに対し適切な特徴ベクトルを設計することは困難となる。また、クラス数が多い場合には、そもそも全クラスの識別に有効な特徴ベクトルを設計すること自体に限界がある。即ち、単一種類の特徴ベクトル、もしくは、単一の識別器では、ある特定のクラスの学習データに対してのみ識別性能が高くなり、他のクラスの学習データに対しては識別性能が不十分であるといった偏った識別器となる場合が多い。
【０００５】
そのため、複数の識別器の識別結果であるクラスラベルを統合する統合識別器を用いてテストデータの識別結果（クラスラベル）を得ることが行われてきている。
【０００６】
複数の識別器の識別結果（クラスラベル）を統合する統合識別手法の技術はアンサンブル学習と呼ばれ、これまでにいくつかの技術が提案されている。最も単純な方法は、複数の識別器の識別結果（クラスラベル）の多数決をとる手法である（例えば、非特許文献１及び非特許文献２参照）。具体的には、特徴ベクトルとクラスラベルの組からなるラベル付き学習データセットに対し、ランダムな抽出により部分集合（部分学習データセット）を複数用意する。Ｊ個の部分学習データセットが存在する場合、各部分学習データセットで識別器を学習する。これによりＪ個の識別器が得られる。そして、クラスラベルが未知のテストデータの識別では、あるテストデータをＪ個の識別器を用いて識別することにより、Ｊ個の識別結果（クラスラベル）が得られる。次に、そのＪ個のクラスラベルの多数決をとって最も多く出現したクラスをそのテストデータの識別結果（クラスラベル）とする。本手法は、単一の識別器の識別結果が不安定な場合、多数決をとることで、識別結果の信頼性が向上することが理論および実験で示されている。ただし、この手法は、各識別器の識別性能が比較的良いことが前提となっており、識別性能の低い識別器が多く含まれている場合は、単一識別器の識別性能と同等程度の識別性能となる。
【０００７】
別の方法として、識別器の識別結果（クラスラベル）を新たな特徴として、メタレベルの識別器を学習する手法がある（例えば、非特許文献３参照）。具体的には、Ｊ個の識別器の場合、ある学習データに対して、各識別器の識別結果（クラスラベル）を要素とするＪ次元ベクトルが構成できる。
【０００８】
第ｊ要素は第ｊ識別器の識別結果に相当する。学習後のＪ個の識別器に対し、各学習データ毎に、Ｊ個の識別器の識別結果を列挙することで、一つの学習データに対し、Ｊ次元の一つの特徴ベクトルが得られる。つまり、クラスラベルと元の特徴ベクトルとの組から成るＮ個の学習データ（以下、１次学習データと呼ぶ）に対しては、クラスラベルとＪ次元特徴ベクトルのとの組から成るＮ個の学習データ(以下、２次学習データと呼ぶ)が得られることになる。そして、非特許文献３では、２次学習データを新たな学習データとして識別器を構成するためのベイズ学習法：Bayesian Classifier Combination（ＢＣＣ）を提案し、多数決による方法に比べ、テストデータに対する識別性能が向上することを実験的に示している。複数の識別器の識別結果から成る２次学習データを用いて、新たな識別器を構成するという考え方は、非特許文献４等に提案されているstackedregressionとして知られている。非特許文献３は、このstackedregressionをベイズモデル化したものと位置づけられる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Breiman, L., 1996. Bagging predictors, Machine Learning, 24, 123-140.
【非特許文献２】Dietterich, T. G., 2000. Ensemble methods in machine learning. In Proceedingsof the First International Workshop on Multiple Classifier Systems, Springer-Verlag, LondonUK, 1-15.
【非特許文献３】Kim, H.C. & Ghahramani, Z., 2012. Bayesian classifier combination. In Proceedingsof International Conference on Artificial Intelligence and Statistcs, AISTATS2012,http://www.aistats.org/papers.php.
【非特許文献４】Wolpert, D. H., 1992. Stacked generalization, Neural Networks, 5, 241-259.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来の統合識別手法は、各識別器の識別性能がある程度良いことを前提としているため、識別性能の低い識別器が存在すると、統合の効果が期待できないという問題がある。実際、対象とする識別タスクにおいて識別に有効な特徴抽出が実現できていなければ、単一の識別器の性能には限界が生じる。それ故、あるクラスの識別では識別性能が高くても、別のクラスの識別では識別性能が低いような現象が生じる。この現象は、クラス数が多い程顕著である。
【００１１】
このような現象が生じることにより、複数の識別器の識別結果を統合する統合識別器の識別精度が低下する懸念が生じるという問題がある。
【００１２】
本発明は上記問題点を考慮してなされたものであり、統合識別器の識別精度を向上させることができる、統合識別器学習装置、統合識別器学習方法、及び統合識別器学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の統合識別器学習装置は、複数の識別器の各々から出力された識別結果を統合してクラスを識別する統合識別器の学習を行う統合識別器学習装置であって、複数のデータの各々に対する前記データの特徴ベクトルと前記データが帰属する真のクラスとの組から成る１次学習データの前記複数のデータの各々について、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果と、前記データが帰属する真のクラスとの組から成る２次学習データを各々取得し、取得した前記２次学習データの各々に基づいて、前記複数の識別器の各々が真のクラスに対して一貫性を有する識別結果を出力するか否かを用いて、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果に基づいて前記識別結果を統合してクラスを識別する統合識別器を学習する。
【００１４】
また、本発明の統合識別器学習装置は、前記取得した前記２次学習データの各々に基づいて、前記識別器及びクラスωkの各組み合わせに対し、前記クラスωkが真のクラスであるデータについて第ｊ番目の識別器が一貫性を有する識別結果を出力するか否かを示す２値の潜在変数ｒj(k)を含む前記統合識別器を学習することが好ましい。
【００１５】
また、本発明の統合識別器学習装置は、前記取得した前記第２次学習データの各々に基づいて、下記（Ｉ）式〜（Ｖ）式で表される前記２次学習データの生成モデルのパラメータであるα、β、ａ、及びｂを、下記（ＶＩ）式により学習し、前記識別器及びクラスωkの各組み合わせに対し、以下の（ＶＩＩ）式、及び（ＶＩＩＩ）式により計算される前記潜在変数ｒj(k)の値の確率分布に従って、前記潜在変数ｒj(k)の値を決定する事が好ましい。
【００１６】
【数１】
2015011686.tif 000003
【００１７】
ただし、ｃｉ,ｊ(k)は、クラスωｋを真のクラスとする第ｉ番目の前記第２次学習データに含まれる第ｊ番目の識別器の識別結果を示し、Ｒは、前記潜在変数ｒｊ(k)の集合を示し、ｒj(k)＝１が、クラスωｋが真のクラスであるデータについて第ｊ番目の識別器が一貫性を有する識別結果を出力することを示し、ｒj(k)＝０が、クラスωｋが真のクラスであるデータについて第ｊ番目の識別器が一貫性を有する識別結果を出力することを示し、ｒ＼(ｋ,ｊ)が、ｒj(k)を除いた前記潜在変数の集合を表し、Ｃが、前記２次学習データの集合を示し、ｎj,l(k)は、第ｊ番目の識別器により、真のクラスωkに帰属するデータについてクラスωlと識別したデータ数を示し、βj,l(k)は、クラスωｋが真のクラスであるデータについて一貫性を有する識別結果を出力する第ｊ番目の識別器により、真のクラスωkに帰属するデータについてクラスωlと識別する確率を生成するディレクレ分布を表すパラメータであり、αlは、一貫性を有する識別結果を出力しない前記識別器により、前記データについてクラスωlと識別する確率を生成するディレクレ分布を表すパラメータであり、Ｎ(k)は、クラスωｋが真のクラスであるデータの数を示し、δ（ｘ，ｙ）はデルタ関数であり、Γ（ｘ）はガンマ関数である。
【００１８】
本発明の統合識別器学習方法は、複数の識別器の各々から出力された識別結果を統合して識別する統合識別器の学習を行う統合識別器学習装置における統合識別器学習方法であって、統合識別器学習装置により、複数のデータの各々に対する前記データの特徴ベクトルと前記データが帰属する真のクラスとの組から成る１次学習データの前記複数のデータの各々について、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果と、前記データが帰属する正解クラスとの組から成る２次学習データを各々取得し、取得した前記２次学習データの各々に基づいて、前記複数の識別器の各々が真のクラスに対して一貫性を有する識別結果を出力するか否かを用いて、前記複数の識別器の各々により前記データが帰属するクラスの識別を行った識別結果に基づいて前記識別結果を統合する統合識別器を学習するステップを含む。
【００１９】
本発明の統合識別器学習プログラムは、コンピュータを、本発明の統合識別器学習装置として機能させるためのものである。
【発明の効果】
【００２０】
本発明の統合識別器学習装置、統合識別器学習方法、及び統合識別器学習プログラムによれば、統合識別器の識別精度を向上することができる、という効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態の識別システムの一例の概略を示す概略図である。
【図２】本実施の形態の統合識別器学習装置による統合識別器の学習動作の一例の流れを表すフローチャートである。
【図３】本実施の形態の識別システムの統合識別器学習装置における２次学習データの具体的な一例を示した説明図である。
【図４】本実施の形態の統合識別結果出力装置によるテストデータの識別動作の一例の流れを表すフローチャートである。
【図５】本実施例においてwindowサイズが４８の特徴表現で学習したＨＭＭ（単一の識別器）の識別率を示した説明図である。
【図６】従来の統合識別器及び本実施の形態の統合識別器の識別率を示した説明図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態は本発明を限定するものではない。
【００２３】
図１には、本実施の形態の識別システムの一例の概略を表す概略構成図を示す。本実施の形態の識別システム１０は、１次学習データ１２のクラスを識別器１４によって識別した識別結果に基づいて２次学習データ２２を生成する機能と、統合識別器学習装置２０により２次学習データ２２を教師データとして統合識別器２４の学習を行う機能と、統合識別結果出力装置３２により統合識別器２４を用いてテストデータ３０の識別を行う機能とを備えている。
【００２４】
本実施の形態の識別システム１０は、上記の各機能を実現するために統合識別器学習装置２０及び統合識別結果出力装置３２等が、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）、及びＲＯＭ（Read  Only  Memory）等を備えたコンピュータにより実現されている。ＣＰＵが、ＲＯＭに記憶されているプログラムを実行することにより、詳細を後述する各動作が実行される。また、１次学習データ１２、２次学習データ２２、及びテストデータ３０は、ＨＤＤ（Hard Disk Drive）等の記憶部や記憶媒体等に記憶されている。なお、１次学習データ１２、２次学習データ２２、及びテストデータ３０は、識別システム１０の外部に設けられた記憶部や記憶媒体等に記憶しておき、各機能の実行に合わせて適宜、識別システム１０内に取得するようにしてもよい。
【００２５】
まず、１次学習データ１２のクラスを識別器１４によって識別した識別結果に基づいて２次学習データ２２を生成する機能について説明する。１次学習データ１２の各々は、特徴ベクトルと真のクラスラベルとの組で構成される。この１次学習データ１２の集合を用いて、Ｊ個の識別器１４（第１番目の識別器１４１〜第Ｊ番目の識別器１４Ｊ）を独立に学習する。なお、以下では、総称する場合は、単に識別器１４といい、個々の識別器について称する場合は、第ｊ番目の識別器１４ｊのように、個々の符号を称していう。本実施の形態では、各識別器１４の種類、及び各識別器１４の学習法については、特に限定されず、任意で良い。
【００２６】
１次学習データ１２の集合は、Ｎ個の学習データからなるＤ＝｛ｄ１，・・・，ｄＮ｝としている。但し、ｄｉ＝（ｘｉ，ｙｉ）は、第ｉ番目の学習データを表し、ｘｉは特徴ベクトル、ｙｉはクラスラベルを表す。学習データが帰属するクラス数がＫである場合、クラスラベルは１，２，・・・，Ｋのいずれかの値となる。また、Ｄ-ｉを１次学習データの集合Ｄから第ｉ番目の学習データｄｉを除いた学習データの集合を表すものとすると、Ｄ-ｉでＪ個の識別器１４を学習した後、学習に未使用の第ｉ番目の学習データｄｉの特徴ベクトルｘｉを学習済のＪ個の識別器１４に入力することでＪ個の識別結果を得る。この処理をｉ＝１，・・・，Ｎに対して実行することで、２次学習データ２２の集合が得られる。なお、この場合は、２次学習データ２２は、Ｊ次元の特徴ベクトル（各要素はクラスラベル）と真のクラスラベルとの組から成る。すなわち、２次学習データ２２の集合は、Ｊ次元の特徴ベクトルと真のクラスラベルとが組になった学習データをＮ組含んでいる。
【００２７】
次に、本実施の形態の統合識別器学習装置２０により２次学習データ２２を教師データとして統合識別器２４の学習を行う機能について説明する。当該学習を行うための技術は、既知の識別結果の集合である観測データＣから、できるだけ多くのテストデータ３０を正しく識別するための統合識別器２４を学習するための、本実施の形態の識別システム１０の統合識別器学習装置２０における主要な技術である。図２には、統合識別器学習装置２０による統合識別器２４の学習動作の一例の流れを表すフローチャートを示す。
【００２８】
本実施の形態の統合識別器学習装置２０では、まずステップＳ１００で、Ｊ個の識別器１４（第１番目の識別器１４１〜第Ｊ番目の識別器１４Ｊ）の識別結果による２次学習データ２２の集合を取得する。
【００２９】
次のステップＳ１０２では、取得した２次学習データ２２の集合に基づいて、２次学習データ２２の生成モデルのパラメータ（α、β、ａ、ｂ、詳細後述）を推定し、記憶する。なお、本実施の形態においてこれらパラメータの記憶は、統合識別器学習装置２０内等に設けられた記憶部（図示省略）等に記憶させておく。
【００３０】
次のステップＳ１０４では、推定したパラメータに基づいて、潜在変数の集合Ｒ＝｛ｒｊ(ｋ)｝を決定し、記憶した後、本動作を終了する。なお、本実施の形態において、潜在変数の集合Ｒの記憶は、上記２次学習データ２２の生成モデルのパラメータと同様に、統合識別器学習装置２０内等に設けられた記憶部（図示省略）等に記憶させておく。
【００３１】
本実施の形態の統合識別器学習装置２０では、このように、２次学習データ２２の生成モデルのパラメータの推定及び潜在変数の集合Ｒの決定と記憶を行うことにより、複数（本実施の形態ではＪ個）の識別器１４のうち、どの識別器１４が、いずれのクラスの識別に有効か否かを自動学習する。なお、本実施の形態の統合識別器学習装置２０では、識別器１４が識別に有効であるか否か判断する基準は、識別結果が正しいか否かに限らない。統合識別器学習装置２０では、真のクラス（学習データが本来帰属すべきクラス）に対して、一貫性を有する識別結果を出力する識別器１４を、当該クラスの識別に有効な識別器１４と判断している。直観的には、ある識別器１４がクラス１の１次学習データ１２を高頻度でクラス２と識別する場合は、その識別器１４の識別結果がクラス２である場合は、実は真のクラスは、クラス１である可能性が高いという考え方をモデル化して学習している。
【００３２】
以下、上記学習動作（図２、ステップＳ１００〜ステップＳ１０４）の各動作の一例の詳細について説明する。
【００３３】
サイズがＮ(ｋ)×Ｊの行列Ｃ(ｋ)を、真のクラスωｋに対する２次学習データ２２の集合を表すものとし、また、全クラスの各々を真のクラスとする１次学習データ１２に対する識別結果の集合とそのクラスラベルから成る２次学習データ２２の集合をＣ＝Ｕｋ=１ＫＣ(ｋ)と書くこととする。Ｋは、クラス総数を表す。また、Ｎ(ｋ) は、クラスωｋを真のクラスとする学習データの個数を表す。Ｃ(ｋ)の行列の第（ｉ，ｊ）要素ｃｉ,ｊ(ｋ)は、クラスωｋを真のクラスとする第ｉ番目の学習データに対する第ｊ番目の識別器１４ｊの識別結果に相当する。すなわち、ｃｉ,ｊ(ｋ)∈｛１、・・・、Ｋ｝、と表せる。
【００３４】
図３には、２次学習データ２２の具体的な一例を示す。図３に示した２次学習データ２２は、クラス数が３（３クラス問題）のため、Ｋ＝３で、Ｊ＝１０、Ｎ＝１５、Ｎ(ｋ)＝５（ｋ＝１、２、３）である場合の例である。図３では、真のクラスラベルを陽に明示していないが、５個のデータの区切りで上から順に真のクラスラベル１、２、３が付与されているものとする。例えば、図３の行列形式で表した第１行目は、クラス１（クラスラベル１）を真のクラスとする第１番目の１次学習データ１２に対する１０個の識別器１４による識別結果（クラスラベル）を表している。前述した様に、単一の識別器１４によれば、識別結果が、あるクラスのデータは比較的正しく識別できるが、別のクラスのデータは誤識別し易いという偏った結果となる場合がある。この傾向はクラス数が多くなるほど顕著となる。それ故、全ての識別器１４の識別結果を対等に扱うのは適切ではない。
【００３５】
そこで、本実施の形態の統合識別器学習装置２０では、ある識別器１４が各クラスの識別に有効か否かを示す潜在変数を導入し、当該潜在変数の学習を行う。ただし、あるクラスの識別において誤識別が多い識別器１４が必ずしもそのクラスの識別に有効でない（無効）とは限らない。つまり、その識別器１４があるクラスに対し、殆ど全て誤識別でも識別結果に真のクラス（正しい識別結果）に対する一貫性があれば、その識別器１４は、そのクラスの識別に有効と言える。図３中では、各識別器１４毎に、各クラスにおいて一貫性を有する正しい識別結果には、斜線を施しており、誤識別であるが、真のクラスに対して一貫性を有する識別結果には、網掛けを施している。
【００３６】
例えば、図３中に識別器ｉｄ＝２で示される第２番目の識別器１４２は、全クラスの識別において、識別結果が正しく、一貫性を有しているため、全クラスの識別に有効である。
【００３７】
また、図３中に識別器ｉｄ＝３で示される第３番目の識別器１４３は、クラス２及びクラス３の識別において、識別結果が正しく、一貫性を有しているため、クラス２及びクラス３の識別に有効である。しかしながら、第３番目の識別器１４３は、クラス１の識別において、誤識別をしており、また、その識別結果が真のクラス「１」に対して一貫性を有していないため、クラス１の識別に無効である。
【００３８】
また、図３中に識別器ｉｄ＝５で示される第５番目の識別器１４５は、クラス２及びクラス３の識別において、識別結果が正しく、一貫性を有しているため、クラス２及びクラス３の識別に有効である。さらに、第５番目の識別器１４５は、クラス１の識別において、誤識別をしているが、その識別結果が真のクラス「１」に対してクラス「２」に識別するという一貫性を有しているため、クラス１の識別にも有効である。
【００３９】
また、図３中に識別器ｉｄ＝１０で示される第１０番目の識別器１４１０は、クラス２の識別において、誤識別をしているが、その識別結果が真のクラス「２」に対してクラス「１」に識別するという一貫性を有しているため、クラス２の識別に有効である。しかしながら、第１０番目の識別器１４１０は、クラス１及びクラス３の識別において、誤識別をしており、また、その識別結果が真のクラス「１」、「３」に対して一貫性を有していないため、クラス１及びクラス３の識別に無効である。
【００４０】
ここで、ｃｉ(ｋ)＝（ｃｉ,１(ｋ)、・・・、ｃｉ,Ｊ(ｋ)）は、クラスωｋを真のクラスとする第ｉ番目の学習データに対するＪ次元の離散特徴ベクトルと見なすことができる。Ｊ個の識別器が統計的に独立とすると、クラスωｋの確率分布は下記の（１）式で表される。
【００４１】
【数２】
2015011686.tif 000004
【００４２】
しかし、上述した様に、識別結果は必ずしも正しいとは限らないので、このような単純なモデル化では不十分である。そこで、統合識別器学習装置２０では、第ｊ番目の識別器１４ｊが真のクラスωｋに対して一貫性を有する識別結果を出力するか否かを示す２値の潜在変数ｒｊ(ｋ)を導入する。ｒｊ(ｋ)＝１のとき、第ｊ番目の識別器１４ｊは真のクラスωｋに対して一貫性を有する識別結果を出力し、クラスωｋを真のクラスとする学習データに対する第ｊ次元の特徴は、クラスωｋに固有の分布に従って生成されたとする。一方、ｒｊ(ｋ)＝０のとき、第ｊ番目の識別器１４ｊは真のクラスωｋに対して一貫性を有する識別結果を出力しないとし、クラスωｋを真のクラスとする学習データに対する第ｊ次元の特徴は、クラスωｋに依らない分布に従って生成されたと仮定する。さらに、ｃｉ,ｊ(ｋ)は、以下の確率モデルにより生成されたと仮定する。
【００４３】
【数３】
2015011686.tif 000005
【００４４】
【数４】
2015011686.tif 000006
【００４５】
【数５】
2015011686.tif 000007
【００４６】
【数６】
2015011686.tif 000008
【００４７】
【数７】
2015011686.tif 000009
ここで、θｊ(ｋ) ＝｛θｊ,ｌ(ｋ)}ｌ=１Ｋ、及びφ＝｛φｌ｝ｌ=１Ｋである。また、θｊ,ｌ(ｋ) は、ｒｊ(ｋ)= 1 のとき、クラスωｋを真のクラスとするデータに対する第ｊ番目の識別器１４ｊの識別結果がクラスωｌである確率を表す。また、φｌは、ｒｊ(ｋ)＝０のとき、クラスωｋを真のクラスとするデータに対する第ｊ番目の識別器１４ｊの識別結果がクラスωｌである確率を表す。上述した様に、ｒｊ(ｋ)＝０は、第ｊ番目の識別器１４ｊがクラスωｋの識別に有効でないことを意味するため、φｌはｊ及びｋに依らない。ａ及びｂはベータ分布（Beta）のパラメータである。α＝｛αｌ｝ｌ=１Ｋ、及びβｊ(ｋ)＝｛βｊ,ｌ(ｋ)｝ｌ=１Ｋは、ディリクレ分布（Dirichlet）のパラメータである。
【００４８】
上記（２）式〜（６）式の意味は以下の通りである。まず、パラメータａ、ｂを持つベータ分布（Beta）からλを生成する。次いで、φをパラメータαを持つディリクレ分布（Dirichlet）から生成する。また、θｊ(ｋ)をパラメータβｊ(ｋ)を持つディリクレ分布から生成する。そして、潜在変数ｒｊ(ｋ)をパラメータλのベルヌーイ分布（Bernoulli）から生成する。そして、ｒｊ(ｋ)＝１のとき、θｊ(ｋ)＝（θｊ,１(ｋ) ，・・・，θｊ,Ｋ(ｋ)）をパラメータとする離散分布（Discrete）からｃｉ,ｊ(ｋ)を生成する。また、ｒｊ(ｋ)＝０のとき、φ＝（φｌ，・・・φＫ）をパラメータとする離散分布からｃｉ,ｊ(ｋ)を生成する。
【００４９】
上記（２）式〜（６）式は、２次学習データ２２の生成モデルに相当する。即ち、上記（２）式〜（６）式に出現したパラメータを適切に与えれば、実際に観測される２次学習データ２２とほぼ類似のデータが得られることを意味する。もちろん、パラメータは未知であるため、実際に観測された識別結果である観測データＣを用いてパラメータを推定することになる。この推定が、統合識別器学習装置２０における学習に相当する。
【００５０】
学習は、以下のベイズ推定の枠組みで実現することができる。｛ｃｉ(ｋ)｝ｉ=１Ｋの統計的独立性より、観測データＣの尤度は下記（７）式で表わされる。
【００５１】
【数８】
2015011686.tif 000010
【００５２】
（７）式において、Ｒ＝｛ｒｊ(ｋ)｝とする。また、ｎｊ,ｌ(ｋ)は第ｊ番目の識別器１４ｊにより、クラスωｋを真のクラスとするデータをクラスωｌと識別したデータ数を表す。即ち、ｎｊ,ｌ(ｋ)＝Σｉ=１Ｎ(ｋ)δ（ｃｉ,ｊ(ｋ)，ｌ）である。但し、δ（ｘ，ｙ）はデルタ関数であり、ｘ＝ｙのとき１の値をとり、それ以外では０の値をとる。Θ＝｛θｊ(ｋ)｝とする。さらに、事前分布の共役性より、Θ、φ、及びλは全て積分消去することができる。
【００５３】
【数９】
2015011686.tif 000011
【００５４】
上記（８）式において、Γ（ｘ）はガンマ関数を表す。また、α●＝Σｌ=１Ｋαｌ、及びβｊ，●(ｋ)＝Σｌ=１Ｋβｊ,ｌ(ｋ)とする。同様に、下記（９）式を得ることができる。
【００５５】
【数１０】
2015011686.tif 000012
【００５６】
上記（７）式及び（８）式より、下記（１０）式で表される事後分布が得られる。
【００５７】
【数１１】
2015011686.tif 000013
【００５８】
経験ベイズ法により、（１０）式の右辺の対数をとって、２次学習データ２２の集合Ｃに基づいて、各パラメータ（α、β、ａ、ｂ）の関数と見なした周辺尤度を最大にするように、各パラメータ（α、β、ａ、ｂ）を推定することにより、パラメータ（α、β、ａ、ｂ）を学習する。
【００５９】
Ｐ（Ｒ｜Ｃ；α，β，ａ，ｂ）が得られれば、ギブスサンプリング法によりＲ＝｛ｒｊ(ｋ)｝を確率的に決定することができる。ｒ＼(ｋ,ｊ)を（ｓ，ｕ）≠（ｋ，ｊ）以外の全てのＲ＝｛ｒｓ(ｕ)｝を表すものとすると、Ｐ（ｒｊ(ｋ)＝１｜ｒ＼(ｋ,ｊ)，Ｃ）＋Ｐ（ｒｊ(ｋ)＝０｜ｒ＼(ｋ,ｊ)，Ｃ）＝１より、比ν＝Ｐ（ｒｊ(ｋ)＝１｜ｒ＼(ｋ,ｊ)，Ｃ）／Ｐ（ｒｊ(ｋ)＝０｜ｒ＼(ｋ,ｊ)，Ｃ）を計算することでｒｊ(ｋ)の値の確率分布を下記（１１）式により求めることができる。
【００６０】
【数１２】
2015011686.tif 000014
【００６１】
但し、νは、下記（１２）式として求められる。
【００６２】
【数１３】
2015011686.tif 000015
【００６３】
第ｊ番目の識別器１４j及びクラスωkの各ペアについて、ｒｊ(ｋ)の値が、上記（１１）式により得られる確率分布に従って決定される。なお、ｒｊ(ｋ)の値の決定は、Ｔ回反復される。
【００６４】
このようにして本実施の形態の識別システム１０では、統合識別器学習装置２０により統合識別器２４の学習が行われる。
【００６５】
統合識別結果出力装置３２は、学習済みの統合識別器２４により、クラスラベルが未知のテストデータ３０の識別を行う。次に、統合識別結果出力装置３２により統合識別器２４を用いてテストデータ３０の識別を行う機能について説明する。
【００６６】
図４には、統合識別結果出力装置３２によるテストデータ３０の識別動作の一例の流れを表すフローチャートを示す。
【００６７】
本実施の形態の統合識別結果出力装置３２では、まずステップＳ２００で、テストデータ３０をＪ個の識別器１４（第１番目の識別器１４１〜第Ｊ番目の識別器１４Ｊ）で識別した識別結果を取得する。なお、このとき用いる識別器１４は、統合識別器２４の学習の際に用いた識別器１４と同一のものである。
【００６８】
次のステップＳ２０２では、統合識別器学習装置２０により学習された統合識別器２４を用いてテストデータ３０の最適クラスωｋ＊を導出する。具体的には、上記ステップＳ２００により、Ｊ個のクラスラベルが得られるため、識別結果を表すＪ次元特徴ベクトルを統合識別器２４に入力することにより、最適クラスωｋ＊の導出を行っている。
【００６９】
次のステップＳ２０４では、上記ステップＳ２０２で導出した最適クラスωｋ＊を統合識別器２４の識別結果として、例えば、識別システム１０の外部等に出力した後、本動作を終了する。
【００７０】
以下、上記識別動作（図４、ステップＳ２００〜ステップＳ２０４）の各動作の一例の詳細について説明する。
【００７１】
クラスラベルが未知のＭ個のテストデータ３０のうちの第ｍ番目のテストデータに対する各識別器１４による識別結果を、ｃｍ＊＝（ｃｍ,ｌ＊，・・・，ｃｍ,Ｊ＊）で表すものとする。この場合、本実施の形態の識別システム１０は、ｍ＝１，・・・，Ｍの各々について、第ｍ番目のテストデータ３０のクラスの識別を、統合識別器学習装置２０により学習済みの統合識別器２４を用いて行う。
【００７２】
統合識別器学習装置２０で、上述のようにＲ＝｛ｒｊ(ｋ) ｝が得られれば、以下の手順で統合識別器２４によるテストデータ３０の識別が実現できる。ｃｍ＊に対するベイズ最適なクラスωｋ＊は、ｃｍ＊に対する予測事後分布：Ｐ（ωｋ｜ｃｍ＊，Ｃ）を最大化するｋに相当する。ベイズの定理より、最適クラスωｋ＊は、下記（１３）式で求められる。
【００７３】
【数１４】
2015011686.tif 000016
【００７４】
（１３）式において、Ｐ（ωｋ）はクラス事前分布で、通常は一様分布とする。このとき、Ｐ（ωｋ）は下記（１４）式のモンテカルロ近似を用いて近似的に計算することができる。
【００７５】
【数１５】
2015011686.tif 000017
【００７６】
（１４）式において、ｒｊ(ｋ)(ｔ）は、Ｐ（ｒｊ(ｋ)｜ｒ＼(ｋ,ｊ)，Ｃ）に基づくギブスサンプリングにおける第ｔ回目の反復でのｒｊ(ｋ)（ｔ） の値を表す。上述したように、ｒｊ(ｋ)の値の決定処理は、Ｔ回反復されるため、ｒｊ(ｋ)(ｔ）はその第ｔ回目の反復での決定値を表す。ｔ０はburn-inタイムを表す。即ち、ｒｊ(ｋ)（ｔ）の値（ｔ＝１，・・・，ｔ０）は、ギブスサンプリングの初期サンプリング値で信頼性が低いものとして棄却される。
【００７７】
さらに、上記（１４）式の右辺はｒｊ(ｋ)の値に依存して、下記（１５）式及び（１６）式のように解析的に計算することができる。
【００７８】
【数１６】
2015011686.tif 000018
【００７９】
【数１７】
2015011686.tif 000019
【００８０】
（１５）式及び（１６）式において、ｎｊ,ｌ(●)＝Σｋ＝１Ｋｎｊ,ｌ(ｋ)である。
【００８１】
最終的に、第ｍ番目のテストデータに対して統合識別器２４により求められる最適クラスωｋ＊は下記（１７）式に従って得られる。
【００８２】
【数１８】
2015011686.tif 000020
【００８３】
（１７）式が、統合識別器２４によるテストデータ３０の識別ルールを表す。（１７）式により、識別ルールは、ｒｊ(ｋ)の値に依存することが確認できる。
【００８４】
（実施例）
上述のようにして識別システム１０により構築した統合識別器２４を用いた具体的な実施例について説明する。
【００８５】
単一の識別器１４では識別困難な識別タスクとして、２２種類及び１４種類の看護師行動データをテストデータ３０とした場合における実験結果について説明する。１次学習データ１２は、以下の手順で作成した。
【００８６】
看護師の両手首、胸ポケット、及び腰に装着された合計４つの３軸加速度センサから得られる、模擬患者に対する２２種類及びそのサブセットである１４種類の看護行動（以下、単に「行動」という）データに対して、ある時間幅のsliding windowを設定し、５０％のオーバーラップで時間軸方向にシフトしながら特徴の抽出を行った。特徴として、平均値、標準偏差、及び周波数領域でのエネルギーとエントロピーとを採用した。なお、これらの特徴については、Bao, L., and Intille, S., 2004. Activity recognition from user-annotated acceleration data, In Proceedings of International Conference on Pervasive Computing, Pervasive2004,Springer-Verlag, 1-17.に詳細に記載されている。これらの特徴を連結することにより、４８次元の特徴ベクトルの系列とその系列の行動クラスである真のクラスラベルとから成る１次学習データ１２を得る。次いで、１次学習データ１２を用いて隠れマルコフモデル（ＨＭＭ）を学習する。なお、ここでの１次学習データ１２の特徴ベクトルは、時系列情報であるため、時系列の特徴ベクトルとなる。
【００８７】
本実施例で用いた看護師行動は、動作が均一ではないため、各行動クラスに最適なwindowサイズの決定が困難となる。即ち、動きの速い行動に対しては、sliding windowの時間幅を小さくするのが望ましい。逆に、動きの遅い行動に対しては、sliding window の幅を大きくするのが、行動クラスの識別率向上の観点で望ましい。そのため、ある単一のsliding windowの時間幅を最適化することは困難である。そこで、本実施例では、時間幅を、４、６、・・・、１００として５０種類の特徴ベクトルの時系列とそのクラスラベルとから成る１次学習データ１２を構成し、それを用いてＨＭＭを学習した。すなわち、統合識別器学習装置２０は、統合識別器２４の学習のために、５０個（Ｊ＝５０）の識別器１４のＨＭＭで得られた識別結果を取得した。その内、テストデータで最良の識別率を有するＨＭＭ（windowサイズが４８の特徴表現で学習したＨＭＭ）の識別率は図５に示す様に約４２％であった。図５は、windowサイズが４８の特徴表現で学習したＨＭＭ（単一の識別器１４）の識別率を示している。なお、図５中の「（  ）」内は、標準偏差を表している。そして、統合識別器学習装置２０は、これら５０個のＨＭＭで得られた識別結果から２次学習データ２２を作成し、これを用いて統合識別器２４の学習を行った。
【００８８】
従来の識別器による識別と本実施の形態の統合識別器２４による識別との識別率を比較した。１次学習データ１２の学習データ数は、全部で1,097である。これから学習データとテストデータ３０とから成る５つのデータセットを作成し、テストデータ３０での識別率の平均値と標準偏差を比較した。従来法としては、上述した非特許文献３のＢＣＣモデルであるＩＢＣＣ（Independent Bayesian Classifier Combination）及びＥＢＣＣ（Enhanced Bayesian Classifier Combination）の２種類のモデルの他に、代表的な統合識別器である多数決識別器（MajorityVoting：ＭＶ）、ナイーブベイズモデル（Naive Bayes：ＮＢ）、さらに上述した非特許文献４に基づくロジスティック回帰（Logistic Regression) にＬ１正則化項を付与したLR+Lasso、サポートベクトルマシン（線形カーネル：ＳＶＭ（Ｌ））、及び多項式カーネル：ＳＶＭ（Ｐ））と比較した。ＮＢモデルは、本実施の形態の識別システム１０（統合識別器２４）における全てのｋ，ｊのペアについてｒｊ(ｋ)＝１とした場合に相当する。また、LR+Lasso、ＳＶＭはいずれも統合識別手法ではないが、２次学習データを学習データとして用い、非特許文献４のstackedregressionの枠組みで適用した。
【００８９】
図６には、従来の統合識別器及び本実施の形態の統合識別器２４の識別率を示す。なお、図６中の「（  ）」内は、標準偏差を表している。図６から明らかなように、本実施の形態の統合識別器２４が顕著に優位な識別結果を得られていることが確認できる。上述した様に、本実施の形態の統合識別器学習装置２０による統合識別器２４の学習手法はＮＢモデルの潜在変数拡張と見なせるが、両手法の識別結果から、潜在変数の導入の有効性が実験的にも確認できる。尚、本実施の形態の統合識別器学習装置２０による学習手法では、ギブスサンプリングに基づいてメタ識別器を学習しているが、高々１００回程度の反復で収束するため、計算時間的にも問題はなく、また、テストデータ３０に対する識別は、一サンプルあたり実時間で計算することが可能である。
【００９０】
以上説明したように、本実施の形態の識別システム１０における統合識別器学習装置２０では、複数の識別器１４各々の識別結果及び真のクラスを２次学習データ２２（教師データ）として用いて、統合識別器２４の学習を行う。統合識別器学習装置２０は、当該学習において、単に、正しい識別を行う識別器のみを識別に有効とするのではなく、誤認識を行う識別器であっても、識別結果が真のクラスに対して一貫性を有する場合は、識別に有効であるとし、クラス毎に、識別器１４がそのクラスを真のクラスとする場合に一貫性を有する識別結果を出力するか否かを潜在変数ｒj(k)として学習する。
【００９１】
これにより、本実施の形態では、単一種類の特徴、あるいは、単一種類の識別器１４では非常に識別が困難な場合であっても、識別性能の高い統合識別器２４を実現することができる。また、 複数の識別器１４を統合する際に、全クラスについては識別能力が低いが、一部のクラスについては識別能力が高い識別器１４を有効に統合することができる。
【００９２】
従って、本実施の形態の統合識別器学習装置２０によれば、統合識別器の識別精度を向上させることができる。
【００９３】
また、本実施の統合識別器学習装置２０を用いることにより、実用上、最良な識別器の選択が不要となり、より容易に識別システム１０を構築することが可能となる。
【００９４】
また、本実施の形態の統合識別器学習装置２０により統合識別器２４を学習することにより、識別システム１０では、汎用性及び頑健性を有する。具体的には、複数の識別器１４の識別結果を統合するため、各識別器１４がどのような特徴ベクトルで学習されたか、また、どのような識別器１４であるかに依存しない、という汎用性を有する。つまり、学習データに対する、複数の識別器の識別結果（クラスラベル）のみが所与であれば良く、換言すると、任意の識別器１４に適用できることにより実現している。また、従来の手法では、被統合識別器に、識別精度が悪い識別器が含まれている場合は、識別結果を統合することによる識別精度の向上が見られないという問題に対して、本実施の形態では、識別結果が統合される識別器１４に、識別精度が悪い識別器１４が含まれている場合でも、誤識別に一貫性がある識別器１４であれば、統合識別器２４を構成する上で有効であることを学習することにより実現しており、頑健性を有している
なお、本実施の形態では、潜在変数の集合Ｒ＝｛ｒｊ(ｋ)｝をギブスサンプリング法により決定しているがこれに限らず、マルコフ連鎖モンテカルロ法（ＭＣＭＣ）や、メトロポリス法等により決定してもよい。しかしながら、ｋとｊの数だけＲ（集合要素）が存在するのでギブスサンプリングにより決定することが好ましい。
【００９５】
また、本実施の形態について図面を参照して詳述に説明したが、本実施の形態は一例であり、具体的な構成は本実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれ、状況に応じて変更可能であることは言うまでもない。
【符号の説明】
【００９６】
１０  識別システム
１２  １次学習データ
１４  識別器
２０  統合識別器学習装置
２２  ２次学習データ
２４  統合識別器
３０  テストデータ
３２  統合識別結果出力装置
【図１】
2015011686.tif 000022
【図２】
2015011686.tif 000023
【図３】
2015011686.tif 000024
【図４】
2015011686.tif 000025
【図５】
2015011686.tif 000026
【図６】
2015011686.tif 000027