JP6279964B2 - 多クラス識別器構築装置、方法及びプログラム - Google Patents

多クラス識別器構築装置、方法及びプログラム Download PDF

Info

Publication number
JP6279964B2
JP6279964B2 JP2014083948A JP2014083948A JP6279964B2 JP 6279964 B2 JP6279964 B2 JP 6279964B2 JP 2014083948 A JP2014083948 A JP 2014083948A JP 2014083948 A JP2014083948 A JP 2014083948A JP 6279964 B2 JP6279964 B2 JP 6279964B2
Authority
JP
Japan
Prior art keywords
class
classifier
classes
usefulness
classifiers
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
JP2014083948A
Other languages
English (en)
Other versions
JP2015204043A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2014083948A priority Critical patent/JP6279964B2/ja
Publication of JP2015204043A publication Critical patent/JP2015204043A/ja
Application granted granted Critical
Publication of JP6279964B2 publication Critical patent/JP6279964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、2クラス識別器の組み合わせで多クラス識別器を構築する多クラス識別器構築装置、方法及びプログラムに関する。
本来的には2クラス識別器であるサポートベクトルマシン(SVM)等の識別器で多クラス識別を行う場合の周知手法として、一対一法(one-versus-one)や一対他法(one-versus-rest)がある。これらは、2クラス識別器を複数利用することで、多クラス分類を実現する手法である。
また、SVM等により多クラス分類を実現するその他の周知手法として、同様に2クラス識別器を複数利用したうえでさらに、誤り訂正符号のアプローチにより該当クラスを決定する誤り訂正出力符号(error correcting output code; ECOC)がある。
なお、SVMの決定関数は判定対象サンプルに対する識別面からの距離を返すが、異なる2つのSVMどうしで判定対象サンプルに対するそれぞれの決定関数の値を直接比較しても意味はない。そこで、各SVMごとに決定関数の値を該当クラスの所属確率に変換し、もっとも大きい所属確率を出力したSVMのジャンルを推定結果として採用する等のアプローチが必要となる。例えば上記ECOC方式では、所属確率の多数決により該当クラスを決定している。ここで、所属確率への変換手法に関しては、例えば非特許文献1,2に記載されている。
非特許文献3では、2クラス識別器の組み合わせにより多クラス識別器を実現する手法には、以上のような比較的簡素な手法以外にも多種多様な組み合わせが存在することに注目して、利用可能な組み合わせの中から最適な組み合わせを探索することを検討している。この際、仮に全数探索を行い真の最適組み合わせを見つけようとすると計算量が膨大になってしまうため、非特許文献3では遺伝的アルゴリズム等を用いて準最適な組み合わせを求めている。そして、当該準最適な組み合わせで構築された多クラス識別器が、一対一法や一対他法提案手法、ECOC手法のいずれよりも識別性能が高いことを確認している。
J. C. Platt, "Probabilistic Outputs for Support Vector Machines and Comparison to Regularized Likelihood Methods," In Advances in Large Margin Classifiers, pp.1-11. MIT Press 1999. B. Zadronzy and C. Elkan, "Transformation Classifier Scores into Accurate Multiclass Probability Estimation," In Proc. Of the Eighth International Conference on Knowledge Discovery and Data Mining (KDD'02), pp.694-699 2002. 村山、松川、栗田、多クラス識別問題における2クラス識別器の選択、信学技報 IEICE Technical Report PRMU2009-121(2009-11)
しかしながら、上記従来技術には次のような課題があった。すなわち、非特許文献3の準最適な組み合わせを求める手法であっても、候補となった2クラス識別器の組み合わせの識別性能を評価するため、各組み合わせ毎に使用される2クラス識別器群を逐一学習する必要があり、大規模データに対してはやはり膨大な計算量が必要となるという課題があった。
本発明は、上記従来技術の課題に鑑み、最適組み合わせないし準最適組み合わせの探索対象となる各組み合わせにつき、逐一学習することなく計算量を削減することが可能な、多クラス識別器構築装置、方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明は、各サンプルにつき特徴ベクトルと多クラス内のいずれかの所属クラスとが与えられた学習用データを用いて、2クラス識別器の組み合わせにより最適な又は準最適な多クラス識別器を構築する多クラス識別器構築装置であって、各2クラス識別器の識別性能を有用性として推定する有用性推定部と、前記推定された有用性が高いと判定される2クラス識別器を含む組み合わせの中から、最適な又は準最適な多クラス識別器を探索して構築する識別器構築部と、を備え、前記有用性推定部は、前記学習用データにおける各サンプルの特徴ベクトルの分布に基づき、クラス同士の距離を推定し、当該距離が離れているクラスを共通のクラスとして扱うような2クラス識別器ほど、その有用性が低いものとして推定することを特徴とする。
また、本発明は、各サンプルにつき特徴ベクトルと多クラス内のいずれかの所属クラスとが与えられた学習用データを用いて、2クラス識別器の組み合わせにより最適な又は準最適な多クラス識別器を構築する多クラス識別器構築方法であって、各2クラス識別器の識別性能を有用性として推定する有用性推定段階と、前記推定された有用性が高いと判定される2クラス識別器を含む組み合わせの中から、最適な又は準最適な多クラス識別器を探索して構築する識別器構築段階と、を備え、前記有用性推定段階では、前記学習用データにおける各サンプルの特徴ベクトルの分布に基づき、クラス同士の距離を推定し、当該距離が離れているクラスを共通のクラスとして扱うような2クラス識別器ほど、その有用性が低いものとして推定することを特徴とする。
さらに、本発明は、コンピュータを上記多クラス識別器構築装置として機能させる多クラス識別器構築プログラムであることを特徴とする。
本発明によれば、学習用データの特徴ベクトルの分布に基づくクラス間の距離に基づいて、実際に学習することなく組み合わせ候補としての2クラス識別器の識別精度の高さを有用性という形で推定し、当該有用性の高い2クラス識別器を含む組み合わせのみを実際の探索対象とする。従って、有用性に基づく探索対象のいわば絞り込みが実施されるので、探索対象の全てを逐一学習することなく計算量を削減することが可能となる。
一実施形態に係る多クラス識別器構築装置の機能ブロック図である。 2クラス識別器の組み合わせによって、多クラス識別器を構築した1つの例を示す図である。 図2の組み合わせにさらに2クラス識別器を追加した別の組み合わせによって、多クラス識別器を構築した1つの例を示す図である。 一般的な例としての、2クラス識別器の組み合わせにより構築される多クラス識別器を示す図である。 有用性推定部による有用性の推定の原理を説明するための図である。 一実施形態に係る有用性推定部による有用性推定処理のフローチャートである。 図6の第三ステップにおける探索処理のフローチャートである。 図7のフローによる探索を図5の学習用データの場合について適用した例を示す図である。
図1は、一実施形態に係る多クラス識別器構築装置の機能ブロック図である。多クラス識別器構築装置10は、有用性推定部11及び識別器構築部12を備える。各部11,12の概要は以下の通りである。
有用性推定部11は、多クラス識別器を構築するための学習用データを読み込み、最終的に構築する多クラス識別器における組み合わせを構成する候補としての2クラス識別器の各々につきその有用性を推定して、有用性が高いと判定される2クラス識別器を求め、その結果を識別器構築部12に渡す。
ここで、学習用データは、複数M個の各サンプルi(i=1, 2 , …, M)につき、n個のクラスのいずれに属するかがラベルC[i]∈{C1, C2, …, Cn}として与えられると共に、SVM等の2クラス識別器を適用するための特徴ベクトルF[i]が抽出されたものである。
本発明においては、多クラス識別器構築装置10によって最終的に構築されるnクラスを識別する多クラス識別器を、次のような組み合わせによる構成とする。すなわち、各クラスCi(i=1, 2, …, n)であるか否かを識別する識別器をそれぞれ識別器Miとすると、nクラス識別問題におけるいわば基本的な2クラス識別器群としての識別器群{Mi|i=1, 2, …, n}と、当該基本構成としての識別器群{Mi|i=1, 2, …, n}に対してさらに追加的な情報を与えるその他の2クラス識別器(例えばクラスC1又はC2であるかそれ以外かの識別器)と、の組み合わせによって多クラス識別器を構築する。
識別器構築部12は、基本構成の識別器群{Mi|i=1, 2, …, n}に対して追加する、有用性推定部11により推定された有用性が高い2クラス識別器の各組み合わせにつき、学習用データを用いて実際に学習を行うことで、最適な又は準最適な多クラス識別器を構築し、多クラス識別器構築装置10による出力となす。ここで、全数探索により最適な組み合わせとしての多クラス識別器を学習により構築してもよいし、前述の非特許文献3の手法により全数探索を避けて、準最適な組み合わせとしての多クラス識別器を学習により構築してもよい。
本発明においては、上記のように基本構成の識別器群{Mi|i=1, 2, …, n}に対してその他の2クラス識別器を追加したものとして、最終的に求める多クラス識別器を構築する。ここで、追加されるその他の2クラス識別器のそれぞれが識別性能の高いものであれば、当該追加した結果構築される多クラス識別器も識別性能が高いことが期待される。
そこで、追加すべき2クラス識別器として、識別性能が高いものを見つけることが望まれる。しかし、追加されるその他の2クラス識別器は、nクラス{C1, C2, …, Cn}の全部または一部を2クラスに分ける任意の設定ごとに存在するので、特にクラス数nが大きい場合、その種類が膨大に存在することとなる。
仮に、当該膨大に存在する2クラス識別器をそれぞれ実際に逐一学習して構築し、それぞれの識別性能を比較することで高い識別性能のものを見つけ出すとすると、過大な計算負荷を要する。さらに、基本構成の識別器群{Mi|i=1, 2, …, n}と追加した2クラス識別器とによって多クラス識別器を構築する際にも、学習が必要(図2等を参照して説明する「統合識別器」の学習が必要)であるので、最適な多クラス識別器を見つけるためにはさらに計算負荷を要する。
上記のような計算負荷上の課題に対して、本発明においては後述する手法により、有用性推定部11が、追加すべき候補としての2クラス識別器を学習により実際に逐一構築することなく、その識別性能の高さを有用性という形で推定することができる。そして、当該有用性が高い2クラス識別器のみを追加対象として予め絞り込んだうえで、識別器構築部12が多クラス識別器を構築して最適ないし準最適なものを決定する。従って、有用性という情報による絞り込みを経ずに各組み合わせの多クラス識別器を逐一的に学習して構築する従来技術に比べて、計算負荷を抑制することが可能となる。
ここで、本発明において2クラス識別器の組み合わせで構築される多クラス識別器の詳細について説明する。
図2は、2クラス識別器の組み合わせにより多クラス識別器を構築した1つの例を示す図である。ここでは学習用データにおいてクラス数n=4であり、{A, B, C, D}の4つのクラスがラベルとして付与されている場合の例が示されている。
図2では、当該n=4の4クラス{A, B, C, D}を識別するための最も基本的な組み合わせP1として、入力データがクラスA〜Dに該当する確率をそれぞれ出力する識別器1A〜1Dで構成された組み合わせP1での前段識別器群100-P1と、当該組み合わせP1での統合識別器200-P1と、を備えて組み合わせP1による多クラス識別器300-P1が構成されている。
当該多クラス識別器300-P1に対して特徴ベクトルの形で入力される入力データは、図示するように、まず、前段識別器群100-P1において識別器1A〜1DによりクラスA〜Dに該当する確率がそれぞれ求められる。そして、当該求められたクラスA〜Dに該当する確率はそれぞれ、統合識別器200-P1に入力され、最終結果として、入力データがクラスA〜Dのいずれに該当するかという識別結果が得られる。
ここで、このような多クラス識別器300-P1を実際に学習用データを用いて構築する際は、前段識別器群100-P1に含まれる2クラスの識別器1A〜1Dと、対応する統合識別器200-P1と、の5個の識別器をそれぞれ同じ学習用データを用いた学習により構築する必要がある。
識別器1Aの構築においては、まず、学習用データのうちクラスAに属するサンプルを正例とし、その他のクラス、すなわち、クラスB,C,Dのいずれかに属するサンプルを負例として、当該識別器の種類に応じた周知手法により学習を行う。さらに、前述の非特許文献1に開示された手法によりシグモイド関数等へのフィッティングを実施することで、当該学習された識別器の出力をクラスAに該当するか否かという形式(2値出力の形式)から、クラスAに該当する確率の形式で与えるようにして、識別器1Aが構築される。識別器1B〜1Dの構築も同学習用データによって同様に行う。
統合識別器200-P1の構築は、同学習用データの各サンプルにつき、上記構築された前段識別器群100-P1の各識別器1A〜1Dに入力して得られたそれぞれの出力と、ラベルとして与えられている各サンプルがクラス{A, B, C, D}のいずれに属するかの情報と、を用いて学習することによって構築される。具体的には、前述の非特許文献2、あるいは以下の非特許文献4に開示された手法によって、統合識別器200-P1を構築することができる。
[非特許文献4] E. L. Allwein, R. E. Schapire, and Y. Singer. Reducing multiclass to binary: A unifying approach for margin classifiers. Journal of Machine Learning Research, 1:113-141, 2000.
以上、図2の例では、クラス数n=4の4クラス{A, B, C, D}を識別するための最も基本的な2クラス識別器の組み合わせP1で構築された多クラス識別器300-P1を説明した。このような2クラス識別器の組み合わせは多数存在する。例えば、図3は、図2と同様のn=4の4クラス{A, B, C, D}の学習用データのもとで、さらに識別性能を向上させるべく、組み合わせP1に対して別の識別器を追加した組み合わせP2によって、図2とは別の多クラス識別器300-P2を構築した例である。
図3に示すように、組み合わせP2は、図2で用いた基本的な2クラスの識別器1A〜1Dからなる組み合わせP1にさらに、その他の2クラス識別器として2クラスの識別器2AC及び識別器2ABを追加したものである。識別器2ACは、入力データがクラスA又はCに該当する確率を出力し、識別器2ABは、入力データがクラスA又はBに該当する確率を出力する。そして、全体的な構成は図2と同様であり、組み合わせP2の各識別器1A〜1D,2AC,2ABを含んで構成される前段識別器群100-P2と、当該各識別器の出力する確率を受け取って入力データが{A, B, C, D}のいずれのクラスに属するかを出力する統合識別器200-P2と、を備えて多クラス識別器300-P2が構成される。
多クラス識別器300-P2を学習で構築する際も、図2の場合と同様に、構成される各識別器1A〜1D,2AC,2AB及び300-P2をそれぞれ共通の学習用データを用いて学習によって構築することとなる。ここで、識別器1A〜1Dの学習による構築は図2で説明した通りである。
一方、識別器2ACの学習による構築も同様であり、例えば次の通りである。すなわち、学習用データにおいてクラスA又はCに属するサンプルを正例とし、それ以外、すなわちクラスB又はDに属するサンプル(あるいは、クラスB又はDのいずれかに属するサンプル)を負例とし、学習によって構築され、さらに、出力を確率の形式で与えるようにシグモイド関数等でフィッティングされて得られる。識別器2ABの構築も同様である。
そして、統合識別器200-P2も、学習用データの各サンプルに対する以上構築された前段識別器群100-P2の出力と、学習用データにおいて各サンプルに付与された所属クラスのラベルと、を用いて学習することで、図2の統合識別器200-P1と同様に構築することができる。
図4は、以上の図2,3の個別例を一般化して、2クラス識別器の組み合わせPiにより構成される多クラス識別器300-Piを示す図である。組み合わせPiは合計N[i]個の2クラス識別器1, 2, …, N[i]からなり、これら組み合わせPiの識別器1, 2, …, N[i]を含んだ前段識別器群100-Piと、対応する統合識別器200-Piと、を備えて多クラス識別器300-Piが構築される。
組み合わせPiの各識別器1, 2, …, N[i]はそれぞれ、学習用データにおけるn個のクラスの全て又は任意の一部をどのように2分割するかの設定によって定まり、当該設定に従って図2,3で説明したのと同様にして学習により構築し、さらに、出力を確率の形式で与えるようにして構築することができる。例えば、図2,3の例のようにn=4で{A, B, C, D}のクラスであれば、4クラス全てを2分割する設定として「Aであるかそれ以外か」、「A又はBであるかそれ以外か」、「A,B又はCであるかそれ以外か」等が可能である。また、4クラス{A, B, C, D}の任意の一部を2分割する設定として、{A, B}を分割する「Aであるか、あるいはBであるか」の設定や、{A, B, C}を分割する「A又はBであるか、あるいはCであるか」の設定等が可能である。
そして、統合識別器200-Piは、図2,3の場合と同様に、学習用データの各サンプルに対する構築された前段識別器群100-Piの出力と、各サンプルにラベルとして付与されている所属クラスと、を用いて学習によって構築することができる。
ここで、図1の各部の説明に戻り、以下、有用性推定部11及び識別器構築部12の処理の詳細をそれぞれ説明する。
図5は、本発明において有用性推定部11が有用性を推定する原理を説明するための図である。図5では、図2,3等の説明と同様に、n=4の4クラス{A, B, C, D}からなる学習用データの各サンプルの特徴ベクトルの特徴空間内における分布が概念的に示されている。ここで、各特徴ベクトルの位置を「○」で表し、右側の凡例欄に示すように所属クラス{A, B, C, D}の区別を「○」内に描くテクスチャの区別で表している。なお、点線は各サンプルのクラス区別の理解補助のために示してあり、特徴空間におけるクラス境界を意味するものではない。
図5では、クラスA,B間、クラスB,D間、クラスD,C間及びクラスC,A間は概ね隣接して互いに近い距離にあり、これに対してクラスA,D間及びクラスB,C間は距離が大きく離れているという関係にある、各クラスの特徴ベクトルの分布が示されている。2クラス識別器の識別性能の有用性を推定する原理は次の通りであり、学習用データの各クラスの特徴ベクトルの分布に関連する次のような傾向に基づくものである。
すなわち、nクラス{C1, C2, …, Cn}の学習用データにおいて、特徴空間上で離れて分布するようなクラスCi, Cjを、2クラス識別器の識別する共通のクラスとして扱うような2クラス識別器は、一般に学習が困難(学習のための計算負荷が過大)であり、且つ学習して構築されても識別性能が低いものとなってしまうという傾向である。また逆に、nクラスの学習用データにおいて、特徴空間上で離れて分布するようなクラスCi, Cjは、2クラス識別器の識別する共通のクラスとして扱わないような2クラス識別器は、学習が容易であり且つ学習して構築されると識別性能が高いという傾向がある。
図5の例では、特徴空間上で互いに離れて分布するクラスA,D同士あるいはクラスB,C同士を共通のクラスとして扱うような2クラス識別器、すなわち、例えば「クラスA又はDに属するか、あるいはそれ以外か、すなわち、クラスB又はCに属するか」を識別するような2クラス識別器等は学習が困難であり、構築したとしてもその識別性能は低い。逆に、離れて分布するクラスを共通のクラスとして扱わないような2クラス識別器、すなわち、例えば「クラスA又はBに属するか、あるいはそれ以外か、すなわち、クラスC又はDに属するか」を識別する2クラス識別器や、「クラスA又はCに属するか、あるいはそれ以外か、すなわち、クラスB又はDに属するか」を識別する2クラス識別器等は、学習が容易であり且つ構築されると識別性能が高いものとなる。
従って、有用性推定部11では、以上のような原理に基づき、nクラス{C1, C2, …, Cn}の学習用データにおいて、特徴空間上で離れて分布するようなクラスCi, Cj同士を共通のクラスとして扱うことがないような2クラス識別器が高い有用性を持つという基準により、2クラス識別器の有用性を算出する。この際、実際に各2クラス識別器を逐一学習して構築することなく有用性を算出することで、多大な計算コストを払うことなく有用性の高い2クラス識別器を見つけ出し、その結果を実際に学習して構築を行う識別器構築部12へと渡す。これは具体的には以下のようにして実現される。
図6は、一実施形態に係る有用性推定部11の有用性推定処理のフローチャートである。ステップS1では、nクラスの学習用データを用いて初期識別器群及び対応する多クラス識別器の構築を行ってから、ステップS2へ進む。
当該初期識別器群は、前述の基本構成の識別器群{Mi|i=1, 2, …, n}とすればよい。すなわち、図2,3等で説明したのと同様に、初期識別器群を構成する各々の2クラス識別器Miを、学習用データにおいてクラスCiのサンプルを正例とし、それ以外のサンプルを負例として学習により構築したうえで、クラスCiに属する確率を出力するようにさせる。そして、対応する多クラス識別器は、当該初期識別器群{Mi|i=1, 2, …, n}(=組み合わせPi[初期識別器群]とする)によって図4の一般構成における前段識別器群100-Pi[初期識別器群]を構成して、対応する統合識別器200-Pi[初期識別器群]を学習により構築したうえで、図4に示す構成の多クラス識別器300-Pi[初期識別器群]として構築する。
なお、このように多クラス識別器300-Pi[初期識別器群]は実際に学習して構築する必要があるが、以下説明するように、当該構築された多クラス識別器300-Pi[初期識別器群]を用いることにより、基本構成の識別器群{Mi|i=1, 2, …, n}以外のその他の膨大に存在する2クラス識別器の有用性を、実際に学習して逐一構築することなく算出することが可能となる。
ステップS2では、当該構築した初期識別器群{Mi|i=1, 2, …, n}による多クラス識別器300-Pi[初期識別器群]を学習用データの各サンプルに対して適用してその評価結果を求めることにより、以下の式(1)の混同行列(Confusion Matrix)V={N(i,j)}を算出して、ステップS3へ進む。
ここで、混同行列Vのi行j列成分の値N(i,j)は、学習用データ内においてクラスCiのラベルが付与されているサンプルのうち、構築した多クラス識別器300-Pi[初期識別器群]の適用結果がクラスCj(j=1, 2, …, n)となった個数である。
ステップS3では、上記混同行列Vを参照して有用性を算出しながら、有用性の高い2クラス識別器の探索を行い、フローは終了する。ここで、当該混同行列Vの参照により、膨大に存在する2クラス識別器のそれぞれについて実際に学習用データを用いて逐一学習を行うことなく、有用性が算出可能となる。
図7は、当該ステップS3における探索処理のフローチャートである。なお、当該フローの全体構造は、扱うクラス数kを増加させる方向へと適宜枝刈りを施しながら探索を実施するビームサーチ法となっている。そして、枝刈りの際のスコアとして、有用性が利用されることとなる。
図8は、図7のフローによる探索を、図5のn=4の4クラス{A, B, C, D}からなる学習用データの場合について適用した例を示す図である。図8に示す例では、[1]の矢印に示すような扱うクラス数kを増加させる方向へと探索が行われており、当該扱うクラス数k=2, 3, 4の場合の探索対象がそれぞれ[2], [3], [4]として示され、[5]に探索が完了して得られた結果が示されている。以下、適宜当該図8の例を参照しながら、図7の各ステップを説明する。
ステップS11では、探索対象の2クラス識別器において扱うクラス数kを初期値の2に設定してから、ステップS12へ進む。
ステップS12では、kクラスを2クラスに分ける2クラス識別器で可能なものを全て列挙してから、ステップS13へと進む。ここで、k=2(初期値)の場合、学習用データにおけるnクラス{C1, C2, …, Cn}の中から、k=2クラスを識別器による識別対象を特定するために選び、そのような選択で可能なものを全て列挙する。すなわち、クラスCiであるか又はクラスCjであるかの識別を行う2クラス識別器「Ci|Cj」(以降、このような表記を用いることとする)を全て列挙する。周知のように、このような2クラス識別器Ci|Cjは、n個の中から2個を選ぶ組み合わせ総数n(n-1)/2通りだけ存在する。
図8の例では、n=4であり4クラス{A, B, C, D}が存在するので、当該k=2(初期値)の場合の2クラス識別器は4(4-1)/2=6通り存在するが、当該6通りの2クラス識別器を列挙したものが[2]に示されている。ここで前述の表記に従い、例えば2クラス識別器「A|B」は、入力データがクラスAに属するか、それともクラスBに属するかを識別する識別器である。なお、仮に当該識別器「A|B」を実際に学習で構築するとした場合には、Aを正例、Bを負例として用いればよい。
また、ステップS12にて、k≧3の場合、すなわち、kが初期値より後の値である場合は、当該図7のフローの直近のステップS13、すなわち、(k-1)回目のステップS13において枝刈りを受けて残った一連の2クラス識別器の各々に、さらに学習用データにおけるnクラス{C1, C2, …, Cn}の中から識別に用いられていなかった1クラスを追加した2クラス識別器を可能な限り列挙することとなる。
図8の例では、[2]に示されたk=2に対応する6個の2クラス識別器に対して、それぞれ識別に用いられていなかった1クラスを追加して、k=3クラスの中で2クラス識別を行うようにした2クラス識別器を可能な限り列挙したのが[3]である。例えば、[2]に示すk=2の識別器「A|B」に新たな1クラスを追加して得られるk=3の2クラス識別器が、「A|B」から線をつなぐ形で[3]に示された4個の2クラス識別器「A|B, C」、「A,C|B」及び「A|B, D」及び「B|A, D」である。また同様に例えば、[3]に示すk=3の2クラス識別器「A,C|B」に新たな1クラスを追加して得られる[4]に示されたk=4の2クラス識別器が、線をつないで示された「A, C, D|B」及び「A,C|B, D」である。
このように、図8では、kを増加させる際に、用いるクラス数「k-1」における2クラス識別器と、当該2クラス識別器に対して新たな1クラスを区別対象として追加して得られる用いるクラス数「k」の識別器と、の間に線を設けている。このような枝構造が、後述するように枝刈りの対象となる。
図8に示すように、当該線による対応関係は必ずしも1対1ではなく、例えば用いるクラス数k=3の識別器「A,C|B」は、k=2の識別器「A|B」の「A」の側に「C」を追加したものであり、同時に「B|C」の「C」の側に「A」を追加したものでもある。なお、当該k=3の識別器「A, C|B」は、「A又はCであるか、あるいは、Bであるか」を識別するものであり、仮に実際に学習により構築するとした場合は、「A又はC」のサンプルを正例として、「B」のサンプルを負例として、構築することができる。k≧4の任意の識別器についても同様である。
ステップS13では、ステップS12にて列挙された当該用いるクラス数kの一連の2クラス識別器の各々につき、前述のステップS2(図6)にて式(1)より算出した混同行列Vを参照することによりその有用性を算出して、有用性が高い閾値条件を満たす上位に該当する2クラス識別器のみを以降の探索対象として残し、当該上位に該当しなかったものは枝刈りの対象として、すなわち、削除して以降の探索対象からは除外して、ステップS14へ進む。
なお、当該ステップS13において上位に該当するか否かを判定するための、有用性が高い閾値条件については、有用性が高い順番に並べた際の上位の所定数としてもよいし、有用性の値に対して判定用閾値を設けて、当該閾値を超える全てのものを上位に該当するとしてもよい。
ステップS13にて、用いるクラス数k=2の場合の識別器「Ci|Cj」の有用性U[Ci|Cj]は、混同行列Vを参照して、以下の式(2),(3)で計算することができる。
ここで、式(3)で定義されるE[Ci|Cj]は、前述の図6のステップS1にて構築した初期識別器群{Mi|i=1, 2, …, n}による多クラス識別器300-Pi[初期識別器群]の適用結果において、クラスCiとクラスCjとを誤判定する割合を表している。
すなわち、式(3)の第1項目の分子は、学習用データ内においてクラスCiのラベルが付与されているサンプルのうち、多クラス識別器300-Pi[初期識別器群]の適用結果がクラスCjとなり、誤った結果となった個数であり、その分母は学習用データ内においてクラスCiのラベルが付与されているサンプルの総数である。従って、式(3)の第1項目の意味するものは、本来はクラスCiであるサンプルがクラスCjに誤判定される割合である。同様に、式(2)の第2項目の意味するものは、本来はクラスCjであるサンプルがクラスCiに誤判定される割合である。
従って、式(3)の誤判定率E[Ci|Cj]は、クラスCiとクラスCjとを誤判定する割合を数値化したものである。そして、当該式(3)の誤判定率の符号を逆転したものとして式(2)により定義される有用性U[Ci|Cj]により、本発明においてはクラスCi,Cj間の誤判定が多いほど、対応する識別器Ci|Cjの有用性U[Ci|Cj]は逆に低いものとして定義する。この理由は次の通りである。
一般に、特徴空間上で距離が遠く離れたクラスCi,Cj同士を互いに識別する場合は、誤判定は少ない。また同様にして逆に、互いに誤判定されることが多いようなクラスCi,Cjは、特徴空間上で距離が互いに近いこととなる。こうして、図5で説明したような、追加対象として好ましい2クラス識別器を選別する基準としての、クラス同士が特徴空間上において近いか遠いかという位置関係を、混同行列Vより算出可能な誤判定率を介して推定することができる。
本発明においては図5における説明のように、互いに近いクラスCi,Cj同士を共通のクラスとして識別するような2クラス識別器が、追加対象として好ましいものと判断するが、そのように互いに近いクラスCi,Cjを共通クラスとして扱うのではなく逆に互いに異なるクラスとして識別しようとした場合には、誤判定率が大きくなる。従って、式(2)のように、識別器Ci|Cjの誤判定率E[Ci|Cj]が大きいということは、クラスCi,Cjは互いに近い距離にあるものであり、従って高精度な識別器を得るためにはクラスCi,Cjは共通のクラスとして扱うべきであり、そのように扱っていない識別器Ci|Cjはその有用性U[Ci|Cj]が低いものとして定義する。
以上、式(2), (3)では区別のために用いるクラス数k=2の場合の各2クラス識別器の有用性について説明したが、k≧3の場合も全く同様に、誤判定率を算出したうえで、その符号を逆転したものとして各2クラス識別器の有用性を推定することができる。例えば、k=3の場合については、以下の式(4),(5)により、2クラス識別器「Ci1,Ci2|Cj」(クラスCi1又はCi2であるか、あるいはクラスCjであるかを識別する2クラス識別器)の有用性U[Ci1,Ci2|Cj]を推定することができる。すなわち(5)に示すような、クラスCi1又はCi2であるか、あるいはクラスCjであるかが多クラス識別器300-Pi[初期識別器群]によって誤判定される割合E[Ci1,Ci2|Cj]の符号を逆転したものとして、(4)に示すような有用性U[Ci1,Ci2|Cj]を算出できる。
なお、以上の式(2)〜(5)の例では、2クラス識別器「C[一般]」についてその誤判定率E[C[一般]]の符号を逆転したものとして有用性U[C[一般]]を定めたが、任意の減少関数あるいは単調減少関数fによって、有用性U[C[一般]]=f(E[C[一般]])として定めるようにしてもよい。符号を逆転したのは当該関数fの1例である。
以上、ステップS13の枝刈りの実例を図8を参照して説明する。図8では、算出された有用性が上位所定数に該当せず、枝刈りの対象と判定された識別器が点線で囲う形で示されている。一方、枝刈りの対象とはならなかった識別器は実線で囲う形で示されている。
図8では例えば、[2]に示すk=2の段階では6個の識別器は全て枝刈りの対象とはなっていない。[3]に示すk=3の段階では、4個の識別器「A|B,C」、「A|D,C」、「B,C|D」及び「B|A,D」が枝刈りの対象となっている。これは、図5でクラス{A, B, C, D}のサンプルの特徴ベクトルの分布を示した通り、「クラスA及びD」と「クラスB及びC」とは互いに遠く離れて分布しており、これらを共通のクラスに属するものとして構築した2クラス識別器は識別性能が低いので、有用性が低いと算出された結果である。例えば識別器「A|B,C」は、共通のクラスとするべきではない「クラスB及びC」を共通のクラスとして扱うものであるので、有用性が低い。そして、[4]に示すk=4の段階でも同様にして、実線で示す2個の識別器「A,C|D,B」及び「A,B|C,D」が枝刈りの対象からは逃れ、その他の識別器は枝刈りの対象となっている。
ステップS14では、当該フローの終了判定を条件を満たすか否かを判断し、終了に該当する場合にはステップS15へ進み、該当しない場合にはステップS16へと進む。ステップS16では、扱うクラス数kの値を1だけ増分(プログラミング分野の慣例表記により「k++」)してから、ステップS12へと戻る。
ここで、ステップS14における終了判定の条件は、以下の(1)または(2)とすることができる。
(1)当該時点における扱うクラス数kの値が、「k=n」である、すなわち、学習用データにおけるクラス数nに到達したこと
(2)当該時点の直近のステップS13において、枝刈り対象と判定されずに残った2クラス識別器の個数が所定閾値を超えており、多いと判定されること
ステップS15では、当該フローによる探索結果を出力して、フローを終了する。探索結果としては、直近のステップS13において枝刈り対象と判定されずに残った、扱うクラス数kの一連の2クラス識別器を採用することができる。
図8の例では、n=4クラスの学習用データを対象としており、k=n=4に到達した時点でステップS14における終了判定の条件(1)が満たされてステップS15へと至り、当該k=4の時点において枝刈り対象とならずに残った2個の2クラス識別器「A,C|B,D」及び「A,B|C,D」(共に図中、灰色で表記してある)が、[5]に示すように探索結果となる。
以上、有用性推定部11の処理を説明した。識別器構築部12では、有用性推定部11によって得られた追加対象としての一連の有用性の高い2クラス識別器と、基本構成としての初期識別器群{Mi|i=1, 2, …, n}と、の組み合わせの中から、最適な又は準最適な多クラス識別器を探索して構築し、多クラス識別器構築装置10による出力となす。当該探索は前述のように、全数探索により最適なものを見つけてもよいし、組み合わせの数が多い場合であれば前述の非特許文献3の手法により準最適なものを見つけるようにしてもよい。
図8の例であれば、基本構成としての初期識別器群{1A, 1B, 1C, 1D}(図2に図示)と、追加対象としての識別器「A,C|B,D」及び「A,B|C,D」の組み合わせの中から、最適な多クラス識別器が探索され構築される。従って、最終的に構築される多クラス識別器は、追加構成として「A,C|B,D」及び「A,B|C,D」の片方か両方かの3通りのいずれかと、基本構成としての初期識別器群{1A, 1B, 1C, 1D}と、を図4で示す前段識別器群として有する多クラス識別器となる。
以下、本発明における補足的事項(1)〜(4)を説明する。
(1)図7のステップS15の別の実施形態として、次のようにしてもよい。すなわち、探索結果として、直近のステップS13において枝刈り対象と判定されずに残った、扱うクラス数kの一連の2クラス識別器の中でさらに、有用性が上位のもののみに絞り込むようにしてもよい。上位判定には、所定の閾値条件を利用すればよい。
あるいは、当該クラス数kよりも小さいクラス数k-1以前の候補で、枝刈り対象と判定されずに残ったものをも含めて、探索結果としてもよい。この場合、クラス数kごとに算出された有用性に重みを付与して、kの値が異なる候補同士で有用性の比較を実施し、有用性が上位のもののみに絞り込めばよい。ただし、一般には扱うクラス数kの値が大きいような2クラス識別器ほど、高精度に識別を実施しうると考えられるので、当該付与する重みは、kの値が大きいほど有用性を増大させるような重みとすることが好ましい。
(2)本発明において構築される多クラス識別器を構成する2クラス識別器としては、非特許文献4に紹介されているように、サポートベクトルマシン、AdaBoost、線形回帰、ロジスティック回帰、決定木などが利用可能である。
(3)図1の多クラス識別器構築装置10は、CPU(中央演算装置)、メモリ及び各種の入出力インタフェースといった周知のハードウェアで構成されるコンピュータによって実現することが可能である。この場合、CPUが命令を読み込み、多クラス識別器構築装置10の各部を実現するための所定の命令を実行することとなる。この際必要となるデータはメモリに格納しておき、適宜参照すればよい。本発明は、コンピュータをこのように多クラス識別器構築装置10として機能させるプログラムとしても提供可能である。また、本発明は、多クラス識別器構築装置10の動作方法としても提供可能である。
(4)本発明により構築された多クラス識別器は、種々の分野で利用可能である。例えば、文書のカテゴリ分類に利用することができる。この場合、文書からは周知手法により文書ベクトル等の特徴ベクトルを抽出しておく。学習用データにおいては、多クラスの各カテゴリ(例えば、「ニュース」、「スポーツ」又は「音楽」の3カテゴリなど)のいずれに該当するかをラベルとして予め付与しておく。
10…多クラス識別器構築装置、11…有用性推定部、12…識別器構築部

Claims (9)

  1. 各サンプルにつき特徴ベクトルと多クラス内のいずれかの所属クラスとが与えられた学習用データを用いて、2クラス識別器の組み合わせにより最適な又は準最適な多クラス識別器を構築する多クラス識別器構築装置であって、
    各2クラス識別器の識別性能を有用性として推定する有用性推定部と、
    前記推定された有用性が高いと判定される2クラス識別器を含む組み合わせの中から、最適な又は準最適な多クラス識別器を探索して構築する識別器構築部と、を備え、
    前記有用性推定部は、前記学習用データにおける各サンプルの特徴ベクトルの分布に基づき、クラス同士の距離を推定し、当該距離が離れているクラスを共通のクラスとして扱うような2クラス識別器ほど、その有用性が低いものとして推定することを特徴とする多クラス識別器構築装置。
  2. 前記学習用データの各サンプルにはnクラス{C1, C2, …, Cn}のいずれかの所属クラスが与えられ、
    前記識別器構築部は、各クラスCi(i=1, 2, … , n)であるか否かを識別する2クラス識別器をMiとして、初期識別器群{Mi|i=1, 2, … ,n}と、その他の2クラス識別器の組み合わせと、の中から、最適な又は準最適な多クラス識別器を探索して構築し、
    前記有用性推定部は、前記その他の2クラス識別器の各々につき、識別性能を有用性として推定することで、当該有用性の高いと判定される2クラス識別器のみを、前記識別器構築部における探索の対象とさせることを特徴とする請求項1に記載の多クラス識別器構築装置。
  3. 前記有用性推定部は、
    入力データに対して前記初期識別器群にそれぞれのクラスに該当する確率を出力させる前段識別器群と、当該出力された確率に基づいて入力データがいずれのクラスに属するかを判定する統合識別器と、からなる初期多クラス識別器を前記学習用データを用いて構築し、
    前記学習用データに対して当該初期多クラス識別器を適用して得られる混同行列に基づいて、互いに誤判定が多いクラス同士ほど、当該クラス同士の距離が近いものとして推定することを特徴とする請求項2に記載の多クラス識別器構築装置。
  4. 前記有用性推定部は、前記その他の2クラス識別器の各々につき、当該2クラス識別器を構築するに際してnクラス{C1, C2, …, Cn}の中で区別するのに用いるクラス数kの小さい側から順次候補を列挙すると共にその有用性を推定し、有用性の高いと判定される2クラス識別器のみを選別し、前記識別器構築部における探索の対象とさせることを特徴とする請求項2または3に記載の多クラス識別器構築装置。
  5. 前記有用性推定部は、前記クラス数kの大きくなる方向へと前記推定された有用性に基づく枝刈りを実施しながらビームサーチによって、有用性の高いと判定される2クラス識別器のみを選別し、前記識別器構築部における探索の対象とさせることを特徴とする請求項4に記載の多クラス識別器構築装置。
  6. 前記有用性推定部は、前記ビームサーチを、前記クラス数kがnに到達したこと、または、当該大きくなる方向へ変化させるクラス数kにおける2クラス識別器の候補のうち、前記枝刈りの対象とはならなかった個数が所定値を超えたこと、によって終了し、当該終了した際のクラス数kにおいて前記枝刈りの対象とはならなかった2クラス識別器を、前記識別器構築部における探索の対象とさせることを特徴とする請求項5に記載の多クラス識別器構築装置。
  7. 前記2クラス識別器がサポートベクトルマシンであることを特徴とする請求項1ないし6のいずれかに記載の多クラス識別器構築装置。
  8. 各サンプルにつき特徴ベクトルと多クラス内のいずれかの所属クラスとが与えられた学習用データを用いて、2クラス識別器の組み合わせによりコンピュータが最適な又は準最適な多クラス識別器を構築する多クラス識別器構築方法であって、
    各2クラス識別器の識別性能を有用性として推定する有用性推定段階と、
    前記推定された有用性が高いと判定される2クラス識別器を含む組み合わせの中から、最適な又は準最適な多クラス識別器を探索して構築する識別器構築段階と、を備え、
    前記有用性推定段階では、前記学習用データにおける各サンプルの特徴ベクトルの分布に基づき、クラス同士の距離を推定し、当該距離が離れているクラスを共通のクラスとして扱うような2クラス識別器ほど、その有用性が低いものとして推定することを特徴とする多クラス識別器構築方法。
  9. コンピュータを請求項1ないし7のいずれかに記載の多クラス識別器構築装置として機能させることを特徴とする多クラス識別器構築プログラム。
JP2014083948A 2014-04-15 2014-04-15 多クラス識別器構築装置、方法及びプログラム Active JP6279964B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014083948A JP6279964B2 (ja) 2014-04-15 2014-04-15 多クラス識別器構築装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014083948A JP6279964B2 (ja) 2014-04-15 2014-04-15 多クラス識別器構築装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015204043A JP2015204043A (ja) 2015-11-16
JP6279964B2 true JP6279964B2 (ja) 2018-02-14

Family

ID=54597457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014083948A Active JP6279964B2 (ja) 2014-04-15 2014-04-15 多クラス識別器構築装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6279964B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6253744B1 (ja) * 2016-11-04 2017-12-27 ヤフー株式会社 情報解析装置、情報解析方法、および情報解析プログラム
JP6976910B2 (ja) * 2018-07-04 2021-12-08 株式会社日立製作所 データ分類システム、データ分類方法、および、データ分類装置
JP7339234B2 (ja) * 2019-12-23 2023-09-05 住友化学株式会社 画像分類装置、画像分類方法及び画像分類モデルの生成方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386527B2 (en) * 2002-12-06 2008-06-10 Kofax, Inc. Effective multi-class support vector machine classification
JP2005309920A (ja) * 2004-04-23 2005-11-04 Alliance Group Inc 多数決装置及びその学習方法と多クラス識別装置
US20080089591A1 (en) * 2006-10-11 2008-04-17 Hui Zhou Method And Apparatus For Automatic Image Categorization
JP5214760B2 (ja) * 2011-03-23 2013-06-19 株式会社東芝 学習装置、方法及びプログラム
JP5660078B2 (ja) * 2012-05-31 2015-01-28 カシオ計算機株式会社 多クラス識別器、方法、およびプログラム

Also Published As

Publication number Publication date
JP2015204043A (ja) 2015-11-16

Similar Documents

Publication Publication Date Title
CN104699772B (zh) 一种基于云计算的大数据文本分类方法
Martinez-Munoz et al. An analysis of ensemble pruning techniques based on ordered aggregation
Hassan et al. Evaluation of computational techniques for predicting non-synonymous single nucleotide variants pathogenicity
JP7293498B2 (ja) サンプル一致度評価による能動学習
Carbonera et al. A density-based approach for instance selection
Murty et al. Nearest neighbour based classifiers
Parmar et al. Multiclass text classification and analytics for improving customer support response through different classifiers
JP6279964B2 (ja) 多クラス識別器構築装置、方法及びプログラム
Baten et al. Fast splice site detection using information content and feature reduction
Natarajan et al. A survey on gene feature selection using microarray data for cancer classification
KR20220014744A (ko) 강화 학습을 기반으로 한 데이터 전처리 시스템 및 방법
Largeron et al. MCut: A thresholding strategy for multi-label classification
Sánchez-Monedero et al. Evolutionary ordinal extreme learning machine
Zhang et al. Differential evolution based selective ensemble of extreme learning machine
Wei et al. Improved parallel algorithms for sequential minimal optimization of classification problems
Wang et al. Feature selection for MAUC-oriented classification systems
US8370276B2 (en) Rule learning method, program, and device selecting rule for updating weights based on confidence value
Donald et al. Selective ensemble of Internet traffic classifiers for improving malware detection
Hang et al. Aerial root classifiers for predicting missing values in data stream decision tree classification
Prabha et al. A HM Ant Miner using evolutionary algorithm
JP2014153837A (ja) 識別装置、データ判別装置、ソフトカスケード識別器を構成する方法、データの識別方法、および、プログラム
JP2012174083A (ja) プログラム及び情報処理システム
Rastin et al. Multi-label classification systems by the use of supervised clustering
Xu et al. Learn from the information contained in the false splice sites as well as in the true splice sites using SVM
Yao et al. Weight Learning in Weighted ELM Classification Model Based on Genetic Algorithms

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171218

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: 20171227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180118

R150 Certificate of patent or registration of utility model

Ref document number: 6279964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150