(57)【要約】【課題】複数の２値分類器を効率的な順序で使用して多値分類を高速に行うこと。【解決手段】２値分類器の一種であるサポートベクターマシン（ＳＶＭ：Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）をｎＣ２個組み合わせることで、ｎ値分類を行う従来のＤＤＡＧ法は、個々の２値分類器の処理時間（個々の２値分類にかかる時間）の長短を考慮していない。本発明では各ＳＶＭにおけるＳＶの個数、ＳＶ中の０でない要素の総数などを指標として、個々のＳＶＭにおける処理時間を予測し、当該時間の短いＳＶＭから優先的に分類を行う。これにより、処理時間の長いＳＶＭが使用される確率を下げることができ、たとえば多値分類の都度、最も処理時間の長いＳＶＭが最初に使用されるといった無駄を回避することができる。処理時間のほか、エラー率や使用料などを考慮してＳＶＭの使用順序を決めることも可能である。【選択図】      図２
2004280712.tif 000002
【特許請求の範囲】
【請求項１】
入力データが第１の分類あるいは第２の分類のいずれに分類されるかを判別する２値分類器を複数使用して前記入力データの多値分類を行うデータ分類装置において、
前記各２値分類器の特徴値を算出する特徴値算出手段と、
前記特徴値算出手段により算出された特徴値にもとづいて前記各２値分類器の優先順位を決定する優先順位決定手段と、
前記優先順位決定手段により決定された優先順位の高い順に前記２値分類器を使用して前記入力データの多値分類を行う多値分類手段と、
を備えたことを特徴とするデータ分類装置。
【請求項２】
前記２値分類器がＳＶＭであり、前記特徴値算出手段は前記各２値分類器の特徴値を、各ＳＶＭにおけるＳＶの個数あるいは各ＳＶＭにおけるすべてのＳＶの０でない要素の総数にもとづいて算出することを特徴とする前記請求項１に記載のデータ分類装置。
【請求項３】
前記優先順位決定手段は、前記特徴値算出手段により算出された特徴値の昇順にソートしたときの各２値分類器の順位を前記優先順位として決定することを特徴とする前記請求項１または請求項２に記載のデータ分類装置。
【請求項４】
前記多値分類手段は、前記第１の分類および前記第２の分類がいずれも棄却されていない２値分類器のうち、前記優先順位決定手段により決定された優先順位が最も高い２値分類器を使用して前記入力データの２値分類を行うとともに、前記第１の分類または前記第２の分類のうち、前記２値分類において前記入力データが分類されなかったものを棄却することを、所定の条件が満足されるまで繰り返すことを特徴とする前記請求項１〜請求項３のいずれか一つに記載のデータ分類装置。
【請求項５】
前記条件は、棄却された分類の個数が所定の個数に達したか、あるいは次に使用する２値分類器につき前記特徴値算出手段により算出された特徴値が所定の閾値に達したことであることを特徴とする前記請求項４に記載のデータ分類装置。
【請求項６】
入力データが第１の分類あるいは第２の分類のいずれに分類されるかを判別する２値分類器を複数使用して前記入力データの多値分類を行うデータ分類方法において、
前記各２値分類器の特徴値を算出する特徴値算出工程と、
前記特徴値算出工程で算出された特徴値にもとづいて前記各２値分類器の優先順位を決定する優先順位決定工程と、
前記優先順位決定工程で決定された優先順位の高い順に前記２値分類器を使用して前記入力データの多値分類を行う多値分類工程と、
を含んだことを特徴とするデータ分類方法。
【請求項７】
前記２値分類器がＳＶＭであり、前記特徴値算出工程では前記各２値分類器の特徴値を、各ＳＶＭにおけるＳＶの個数あるいは各ＳＶＭにおけるすべてのＳＶの０でない要素の総数にもとづいて算出することを特徴とする前記請求項６に記載のデータ分類方法。
【請求項８】
前記優先順位決定工程では、前記特徴値算出工程で算出された特徴値の昇順にソートしたときの各２値分類器の順位を前記優先順位として決定することを特徴とする前記請求項６または請求項７に記載のデータ分類方法。
【請求項９】
前記多値分類工程では、前記第１の分類および前記第２の分類がいずれも棄却されていない２値分類器のうち、前記優先順位決定工程で決定された優先順位が最も高い２値分類器を使用して前記入力データの２値分類を行うとともに、前記第１の分類または前記第２の分類のうち、前記２値分類において前記入力データが分類されなかったものを棄却することを、所定の条件が満足されるまで繰り返すことを特徴とする前記請求項６〜請求項８のいずれか一つに記載のデータ分類方法。
【請求項１０】
前記条件は、棄却された分類の個数が所定の個数に達したか、あるいは次に使用する２値分類器につき前記特徴値算出工程で算出された特徴値が所定の閾値に達したことであることを特徴とする前記請求項９に記載のデータ分類方法。
【請求項１１】
前記請求項６〜請求項１０のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、入力データが第１の分類あるいは第２の分類のいずれに分類されるかを判別する２値分類器を複数使用して前記入力データの多値分類を行うデータ分類装置、データ分類方法およびその方法をコンピュータに実行させるプログラムに関する。
【０００２】
【従来の技術】
サポートベクターマシン（ＳＶＭ：Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）は汎化能力の高い２値分類器であるが、複数のＳＶＭを組み合わせることで多値分類器へと拡張した場合に、処理速度の遅さがネックとなっている。
【０００３】
ＳＶＭを利用した多値分類アルゴリズムとして、代表的なものにｏｎｅ  ｖｓｒｅｓｔ法、ｐａｉｒｗｉｓｅ法、ＤＤＡＧ（Ｄｅｃｉｓｉｏｎ  Ｄｉｒｅｃｔｅｄ  Ａｃｙｃｌｉｃ  Ｇｒａｐｈ）法などがある。このうち最も分類が高速なＤＤＡＧ法は、「Ｊｏｈｎ  Ｃ．Ｐｌａｔｔ，Ｎｅｌｌｏ  Ｃｒｉｓｔｉａｎｉ，Ｊｏｈｎ  Ｓｈａｗｅ−Ｔａｙｌｏｒ  （２０００）  Ｌａｒｇｅ  Ｍａｒｇｉｎ  ＤＡＧｓ  ｆｏｒ  Ｍｕｌｔｉｃｌａｓｓ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ．  Ｉｎ  Ａｄｖａｎｃｅｓ  ｉｎ  ＮＩＰＳ  １２，ＭＩＴ  Ｐｒｅｓｓ．」で発表している通り、ｐａｉｒｗｉｓｅ法の高速化手法である。
【０００４】
図６は、ＤＤＡＧ法による多値分類の手順を模式的に示す説明図である。ＤＤＡＧ法ではまず分類（分類先となるカテゴリ）、すなわち同図の例では「Ａ」「Ｂ」「Ｃ」「Ｄ」の４つを一列に並べる。次に分類対象である入力データが、列の先頭の分類「Ａ」と末尾の分類「Ｄ」のいずれに分類されるかをＳＶＭで判別する（図中「Ａ／Ｄ判別」）。そして判別されなかったほうの分類、たとえば上記ＳＶＭでＡと判別された場合には、Ｄを列から棄却（削除）して、次に入力データが当該列の先頭「Ａ」と末尾「Ｃ」のいずれに分類されるかを他のＳＶＭで判別する（図中「Ａ／Ｃ判別」）。
【０００５】
以後は上記と同様の処理を、列内の分類が１つになるまで繰り返し、最終的に残った分類を多値分類の結果として出力する。ｎ値分類に必要な２値分類の回数が、ｐａｉｒｗｉｓｅ法ではｎＣ２回であるのに対し、ＤＤＡＧ法ではｎ−１回となるので、そのぶん処理時間を短縮できる。
【０００６】
【発明が解決しようとする課題】
しかしながらＤＤＡＧ法をもってしても、実用上十分な速度での多値分類を実現できない場合がある。そしてその原因としては、ＳＶＭそのものの遅さもさることながら、上記手法が個々の２値分類にかかる時間の長短を考慮していないことが挙げられる。
【０００７】
たとえば図６で示した例において、多値分類にかかる平均時間（平均多値分類時間）は、
平均多値分類時間＝（Ａ／Ｄ判別時間）＋｛ｐ（Ａ／Ｃ判別時間）＋（１−ｐ）（Ｂ／Ｄ判別時間）｝＋｛ｑ（Ａ／Ｂ判別時間）＋ｒ（Ｂ／Ｃ判別時間）＋（１−ｑ−ｒ）（Ｃ／Ｄ判別時間）｝
ただしｐ：Ａ／Ｃ判別が実行される確率（０≦ｐ≦１）
ｑ：Ａ／Ｂ判別が実行される確率（０≦ｑ≦１）
ｒ：Ｂ／Ｃ判別が実行される確率（０≦ｒ≦１）
である。
【０００８】
したがって、Ａ〜Ｄの任意の２つの組み合わせのうち、たとえばＡとＤとの判別が最も時間のかかる２値分類だったとすると、それだけ上記時間は大きくなってしまう。言い換えれば、分類を１列に並べたときにたまたまＡが先頭、Ｄが末尾にあったというだけで、多値分類の都度この最も時間のかかるＡ／Ｄ判別を必ず経由することになり、無駄が大きい。
【０００９】
この発明は上記従来技術による問題を解決するため、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類装置、データ分類方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項１に記載の発明にかかるデータ分類装置は、入力データが第１の分類あるいは第２の分類のいずれに分類されるかを判別する２値分類器を複数使用して前記入力データの多値分類を行うデータ分類装置において、前記各２値分類器の特徴値を算出する特徴値算出手段と、前記特徴値算出手段により算出された特徴値にもとづいて前記各２値分類器の優先順位を決定する優先順位決定手段と、前記優先順位決定手段により決定された優先順位の高い順に前記２値分類器を使用して前記入力データの多値分類を行う多値分類手段と、を備えたことを特徴とする。
【００１１】
この請求項１に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用される。
【００１２】
また、請求項２に記載の発明にかかるデータ分類装置は、前記請求項１に記載の発明において、前記２値分類器がＳＶＭであり、前記特徴値算出手段が前記各２値分類器の特徴値を、各ＳＶＭにおけるＳＶの個数あるいは各ＳＶＭにおけるすべてのＳＶの０でない要素の総数にもとづいて算出することを特徴とする。
【００１３】
この請求項２に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはＳＶの個数などから算出されたその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用される。
【００１４】
また、請求項３に記載の発明にかかるデータ分類装置は、前記請求項１または請求項２に記載の発明において、前記優先順位決定手段が、前記特徴値算出手段により算出された特徴値の昇順にソートしたときの各２値分類器の順位を前記優先順位として決定することを特徴とする。
【００１５】
この請求項３に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値が小さいものから順に使用される。
【００１６】
また、請求項４に記載の発明にかかるデータ分類装置は、前記請求項１〜請求項３のいずれか一つに記載の発明において、前記多値分類手段が、前記第１の分類および前記第２の分類がいずれも棄却されていない２値分類器のうち、前記優先順位決定手段により決定された優先順位が最も高い２値分類器を使用して前記入力データの２値分類を行うとともに、前記第１の分類または前記第２の分類のうち、前記２値分類において前記入力データが分類されなかったものを棄却することを、所定の条件が満足されるまで繰り返すことを特徴とする。
【００１７】
この請求項４に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用される。
【００１８】
また、請求項５に記載の発明にかかるデータ分類装置は、前記請求項４に記載の発明において、前記条件が、棄却された分類の個数が所定の個数に達したか、あるいは次に使用する２値分類器につき前記特徴値算出手段により算出された特徴値が所定の閾値に達したことであることを特徴とする。
【００１９】
この請求項５に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用されるとともに、ある程度以上にコスト高となる２値分類器は使用されない。
【００２０】
また、請求項６に記載の発明にかかるデータ分類方法は、入力データが第１の分類あるいは第２の分類のいずれに分類されるかを判別する２値分類器を複数使用して前記入力データの多値分類を行うデータ分類方法において、前記各２値分類器の特徴値を算出する特徴値算出工程と、前記特徴値算出工程で算出された特徴値にもとづいて前記各２値分類器の優先順位を決定する優先順位決定工程と、前記優先順位決定工程で決定された優先順位の高い順に前記２値分類器を使用して前記入力データの多値分類を行う多値分類工程と、を含んだことを特徴とする。
【００２１】
この請求項６に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用される。
【００２２】
また、請求項７に記載の発明にかかるデータ分類方法は、前記請求項６に記載の発明において、前記２値分類器がＳＶＭであり、前記特徴値算出工程では前記各２値分類器の特徴値を、各ＳＶＭにおけるＳＶの個数あるいは各ＳＶＭにおけるすべてのＳＶの０でない要素の総数にもとづいて算出することを特徴とする。
【００２３】
この請求項７に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはＳＶの個数などから算出されたその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用される。
【００２４】
また、請求項８に記載の発明にかかるデータ分類方法は、前記請求項６または請求項７に記載の発明において、前記優先順位決定工程では、前記特徴値算出工程で算出された特徴値の昇順にソートしたときの各２値分類器の順位を前記優先順位として決定することを特徴とする。
【００２５】
この請求項８に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値が小さいものから順に使用される。
【００２６】
また、請求項９に記載の発明にかかるデータ分類方法は、前記請求項６〜請求項８のいずれか一つに記載の発明において、前記多値分類工程では、前記第１の分類および前記第２の分類がいずれも棄却されていない２値分類器のうち、前記優先順位決定工程で決定された優先順位が最も高い２値分類器を使用して前記入力データの２値分類を行うとともに、前記第１の分類または前記第２の分類のうち、前記２値分類において前記入力データが分類されなかったものを棄却することを、所定の条件が満足されるまで繰り返すことを特徴とする。
【００２７】
この請求項９に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用される。
【００２８】
また、請求項１０に記載の発明にかかるデータ分類方法は、前記請求項９に記載の発明において、前記条件が、棄却された分類の個数が所定の個数に達したか、あるいは次に使用する２値分類器につき前記特徴値算出工程で算出された特徴値が所定の閾値に達したことであることを特徴とする。
【００２９】
この請求項１０に記載の発明によれば、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用されるとともに、ある程度以上にコスト高となる２値分類器は使用されない。
【００３０】
また、請求項１１に記載の発明にかかるプログラムによれば、前記請求項６〜請求項１０のいずれか一つに記載された方法がコンピュータによって実行される。
【００３１】
【発明の実施の形態】
以下に添付図面を参照して、この発明によるデータ分類装置、データ分類方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【００３２】
図１は、この発明の実施の形態によるデータ分類装置のハードウエア構成の一例を示す説明図である。図中、１０１は装置全体を制御するＣＰＵを、１０２は基本入出力プログラムを記憶したＲＯＭを、１０３はＣＰＵ１０１のワークエリアとして使用されるＲＡＭを、それぞれ示している。
【００３３】
また、１０４はＣＰＵ１０１の制御にしたがってＨＤ（ハードディスク）１０５に対するデータのリード／ライトを制御するＨＤＤ（ハードディスクドライブ）を、１０５はＨＤＤ１０４の制御にしたがって書き込まれたデータを記憶するＨＤを、それぞれ示している。
【００３４】
また、１０６はＣＰＵ１０１の制御にしたがってＦＤ（フレキシブルディスク）１０７に対するデータのリード／ライトを制御するＦＤＤ（フレキシブルディスクドライブ）を、１０７はＦＤＤ１０６の制御にしたがって書き込まれたデータを記憶する着脱自在のＦＤを、それぞれ示している。
【００３５】
また、１０８はＣＰＵ１０１の制御にしたがってＣＤ−ＲＷ１０９に対するデータのリード／ライトを制御するＣＤ−ＲＷドライブを、１０９はＣＤ−ＲＷドライブ１０８の制御にしたがって書き込まれたデータを記憶する着脱自在のＣＤ−ＲＷを、それぞれ示している。
【００３６】
また、１１０はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示するディスプレイを、１１１は文字、数値、各種指示などの入力のための複数のキーを備えたキーボードを、１１２は各種指示の選択や実行、処理対象の選択、マウスポインタの移動などを行うマウスを、それぞれ示している。
【００３７】
また、１１３は通信ケーブル１１４を介してＬＡＮやＷＡＮなどのネットワークに接続され、当該ネットワークとＣＰＵ１０１とのインターフェースとして機能するネットワークＩ／Ｆを、１００は上記各部を接続するためのバスを、それぞれ示している。
【００３８】
次に、図２はこの発明の実施の形態によるデータ分類装置の構成を機能的に示す説明図である。本発明によるデータ分類装置は、１日前と現在の天気・気温および気圧を入力データとし、そこから予想される１日後の天気を出力データとする。すなわち、データの分類として「晴れ」「曇り」「雨」の３つを用意し、上記入力がいずれの分類に該当するかを特定して、分類結果すなわち「晴れ」「曇り」「雨」のいずれかを出力する。
【００３９】
まず、２００はデータ入力部であり、後述する多値分類部２０２による分類の対象となるデータを取り込んで、後述するベクトル変換部２０１に出力する機能部である。上記データはキーボード１１１から入力されるのでも、ＨＤ１０５やＣＤ−ＲＷ１０９から読み出されるのでも、あるいはネットワークＩ／Ｆ１１３を介して他の情報処理装置などから受信されるのであってもよい。
【００４０】
データ入力部２００により取り込まれるデータは、具体的には
▲１▼１日前の天気（晴れ／曇り／雨のいずれか一つ）
▲２▼１日前の気温
▲３▼１日前の気圧
▲４▼現在の天気（晴れ／曇り／雨のいずれか一つ）
▲５▼現在の気温
▲６▼現在の気圧
の６つであるものとする。
【００４１】
２０１はベクトル変換部であり、データ入力部２００から入力したデータにもとづいて、当該データに代わる入力ベクトルを生成する機能部である。ここでは上記データを、下記１０個の要素からなるベクトルに変換するものとする。ベクトル内の各要素の意味はそれぞれ下記の通りである。なお、ｘ４やｘ５などで数値を変換しているのは、一般に、数値のスケールを揃えたほうが学習の効率が上がるためである。
【００４２】
入力ベクトル：（ｘ１，ｘ２，ｘ３，ｘ４，ｘ５，ｘ６，ｘ７，ｘ８，ｘ９，ｘ１０）
ただしｘ１：１日前の天気が晴れの場合１、その他の場合０
ｘ２：１日前の天気が曇りの場合１、その他の場合０
ｘ３：１日前の天気が雨の場合１、その他の場合０
ｘ４：１日前の気温（摂氏）／１００
ｘ５：１日前の気圧（ｈＰａ）／１００−１０
ｘ６：現在の天気が晴れの場合１、その他の場合０
ｘ７：現在の天気が曇りの場合１、その他の場合０
ｘ８：現在の天気が雨の場合１、その他の場合０
ｘ９：現在の気温（摂氏）／１００
ｘ１０：現在の気圧（ｈＰａ）／１００−１０
【００４３】
たとえば、１日前の天気が晴れ、気温が２４℃、気圧が１０２０ｈＰａであり、現在の天気が曇り、気温が２２℃、気圧が１０１０ｈＰａであった場合は、当該データにつき生成される入力ベクトルは（１，０，０，０．２４，０．２０，０，１，０，０．２２，０．１０）となる。
【００４４】
次に、２０２は多値分類部であり、ベクトル変換部２０１から入力した入力ベクトルの分類を判定する機能部である。多値分類部２０２は、分類が「晴れ」か「曇り」かを判別するＳＶＭ甲２０２ａ、「晴れ」か「雨」かを判別するＳＶＭ乙２０２ｂ、「曇り」か「雨」かを判別するＳＶＭ丙２０２ｃ、および後述する手順により上記いずれかのＳＶＭを選択するＳＶＭ選択部２０２ｄを備えている。なお、ここでは分類が３つのため、ＳＶＭの数はそのうち任意の２つの組み合わせ（ペア）の数、すなわち３Ｃ２＝３であるが、一般に分類がｎ個ある場合、ＳＶＭの個数はｎＣ２となる。
【００４５】
後述する手順による多値分類の前に、あらかじめ、多値分類部２０２内の個々のＳＶＭについて学習を行っておく必要がある。本発明では学習の方法は問わないため、たとえば「Ｊｏｈｎ  Ｃ．Ｐｌａｔｔ  （１９９８）  Ｓｅｑｕｅｎｔｉａｌ  Ｍｉｎｉｍａｌ  Ｏｐｔｉｍｉｚａｔｉｏｎ：Ａ  Ｆａｓｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｔｒａｉｎｉｎｇ  Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅｓ．  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＭＳＲ−ＴＲ−９８−１４．」などに記載された任意の学習方法を取ればよい。
【００４６】
ここでは各ＳＶＭについて、ｐａｉｒｗｉｓｅ法に準じた学習を行うものとする。すなわち、あらかじめ分類が得られている教師データを用意しておき、ＳＶＭごとにそれぞれ下記のような学習を行う。
▲１▼教師データ中、出力が「晴れ」となる入力ベクトル群を正例、「曇り」となる入力ベクトル群を負例として、ＳＶＭ甲２０２ａを学習させる。
▲２▼教師データ中、出力が「晴れ」となる入力ベクトル群を正例、「雨」となる入力ベクトル群を負例として、ＳＶＭ乙２０２ｂを学習させる。
▲３▼教師データ中、出力が「曇り」となる入力ベクトル群を正例、「雨」となる入力ベクトル群を負例として、ＳＶＭ丙２０２ｃを学習させる。
【００４７】
なお、ＳＶＭのパラメータ（後述するｋｅｒｎｅｌ関数として何を利用するか、どの程度のエラーを許容するか、など）の選択方法については、本発明は特に関知しないが、たとえば「工藤拓、松本裕治  （２０００）  Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅを用いたＣｈｕｎｋ同定、情報処理学会研究報告ＮＬ−１４０」で示されているように、交差検定（ｃｒｏｓｓ−ｖａｌｉｄａｔｉｏｎ）法などの既知の方法によって、最適なパラメータを求めることが考えられる。
【００４８】
次に、２０３は特徴値算出部であり、多値分類部２０２内の個々のＳＶＭについて、その性能やパフォーマンスを示す特徴値を算出する機能部である。ここではＳＶＭの特徴値を、当該ＳＶＭを使用することのコストの観点からとらえ、コストとして具体的にはその処理時間、すなわち各ＳＶＭにおける２値分類にかかる時間を考えるものとする。処理時間が短いＳＶＭほど、当該ＳＶＭを使用することのコストは低く、逆に処理時間が長いＳＶＭほどコストは高い。
【００４９】
周知のように、一般にＳＶＭは下記の式を計算することにより２値分類を行う。
【数１】
2004280712.tif 000003
ただしｓｇｎ：正負を判定する関数
Ｓｎ：ＳＶ（サポートベクター）の集合（学習によって得られる）
αｉ：ＳＶごとの重み（学習によって得られる）
ｙｉ：ＳＶが正例か負例かによって定まる数値
ｈ：定数（学習によって得られる）
【００５０】
なお、Ｋ（ｘｉ，ｘ）はＳＶ（ｘｉ）と入力ベクトル（ｘ）により算出されるｋｅｒｎｅｌ関数である。一般には、以下のようなｋｅｒｎｅｌ関数が利用される（ａ、ｂは適当な定数）。
Ｋ１（ｘ，ｙ）＝（＜ｘ，ｙ＞＋１）２
Ｋ２（ｘ，ｙ）＝ｅｘｐ（−｜｜ｘ−ｙ｜｜２／ａ）
Ｋ３（ｘ，ｙ）＝ｔａｎｈ（ａ＜ｘ，ｙ＞−ｂ）
【００５１】
上記（１）式から、分類時の計算時間を左右するのはＳＶの数、すなわちｋｅｒｎｅｌ関数Ｋを通る回数であることが分かる。そこで、あるＳＶＭの処理時間の指標として、当該ＳＶＭにおけるＳＶの個数が利用できる。
【００５２】
また、個々のＳＶを利用したｋｅｒｎｅｌ関数Ｋの処理時間が予測できる場合、ＳＶの個数の代わりに、その和をもってＳＶＭによる処理時間の指標として用いることもできる。たとえば標準的な実装の場合、ＳＶ中の０でない要素数が多ければ多いほど、上記のｋｅｒｎｅｌ関数の計算時間は長くなる。そこで、すべてのＳＶの、０でない要素数の和を、ＳＶＭによる処理時間の指標として用いることができる。
【００５３】
特徴値算出部２０３は、上記の指標により推定した各ＳＶＭの処理時間、すなわち各ＳＶＭを使用することのコストを、特徴値として後述する優先順位決定部２０４に出力する。ここでは、ＳＶＭ甲２０２ａ／乙２０２ｂ／丙２０２ｃのＳＶの個数が、それぞれ１５／１０／３０であり、これに比例して各ＳＶＭの特徴値が、それぞれ下記のように算出されたものとする。
ＳＶＭ甲２０２ａ（晴れ／曇り判別）の特徴値：１５
ＳＶＭ乙２０２ｂ（晴れ／雨判別）の特徴値：１０
ＳＶＭ丙２０２ｃ（曇り／雨判別）の特徴値：３０
【００５４】
次に、２０４は優先順位決定部であり、多値分類部２０２内の各ＳＶＭの優先順位、すなわちどのＳＶＭを他のＳＶＭより優先的に使用するかを決定する機能部である。具体的には、特徴値算出部２０３で算出された特徴値の小さいＳＶＭが、特徴値の大きいＳＶＭよりも優先的に使用されるよう、ＳＶＭを特徴値の昇順にソートしたときの順位を各ＳＶＭの優先順位とする。なお、ソートの手法は特に問わないので、クイックソート法・マージソート法など、既知のアルゴリズムを利用すればよい。
【００５５】
上記の例では、特徴値（すなわちコスト、より具体的には処理時間）の最も小さいＳＶＭ乙２０２ｂの優先順位が１位、次に特徴値の小さいＳＶＭ甲２０２ａの優先順位が２位、特徴値の最も大きいＳＶＭ丙２０２ｃの優先順位が３位となる。
【００５６】
なお、特徴値算出部２０３で算出された処理時間（絶対処理時間）をそのまま利用するのでなく、下記式により相対処理時間を算出し、その順にソートするようにしてもよい。
【数２】
2004280712.tif 000004
ただしＴｒ（ａ，ｂ）：分類ａと分類ｂとへの２値分類器の相対処理時間
Ｔａ（ａ，ｂ）：分類ａと分類ｂとへの２値分類器の絶対処理時間
Ｇ：多値分類器の結果となりうるすべての分類の集合
ｎ：Ｇの要素数（多値分類の分類数）
【００５７】
上記（２）式により、絶対処理時間が同一と予測された２値分類器でも、より関連する分類（上記式の場合、分類ａや分類ｂ）の平均処理時間が長いほうが、相対処理時間としては短くなる。これによって、処理時間の長い２値分類器（上記式の場合、分類ａ・分類ｂとその他の分類を判別する２値分類器）の代わりに、処理時間の短い２値分類器（上記式の場合、分類ａと分類ｂを判別する２値分類器）の利用が促進されることになる。
【００５８】
次に、図３はこの発明の実施の形態によるデータ分類装置における、２値分類の組み合わせによる多値分類処理の手順を示すフローチャートである。図示する処理に入る前に、あらかじめ以下のものを用意しておく。
ａ：優先順位の順にソートされたＳＶＭ（上記例ではＳＶＭ乙２０２ｂ、ＳＶＭ甲２０２ａ、ＳＶＭ丙２０２ｃの順）
ｂ：ａの中の位置を１つだけ保持できる機構（初期状態では先頭のＳＶＭ、上記例ではＳＶＭ乙２０２ｂを指す）
ｃ：２値分類で棄却された分類を複数保持できる機構（初期状態では空）
【００５９】
多値分類部２０２のＳＶＭ選択部２０２ｄは、ｂが指し示すＳＶＭに指示して２値分類を実行させ、判別された分類ｄと棄却された分類ｅを得る（ステップＳ３０１）。上記例では、まずＳＶＭ乙２０２ｂが呼び出されて「晴れ」または「雨」の判別が行われる。ここではたとえば判別された分類ｄが「雨」、棄却された分類ｅが「晴れ」であったものとする。
【００６０】
次に、ＳＶＭ選択部２０２ｄはステップＳ３０１で棄却された分類ｅを、上述のｃに追加する（ステップＳ３０２）。この時点で、ｃにはＳＶＭ乙２０２ｂにより棄却された「晴れ」のみが入っている状態となる。
【００６１】
そして、ＳＶＭ選択部２０２ｄはｃの要素数が、多値分類の分類数−１に達したかどうかを判定する（ステップＳ３０３）。ここでは分類の総数が「晴れ」「曇り」「雨」の３個であるため、ｃの要素数が２個に達したかどうかを判定することになる。そして、現時点ではｃの要素数は「晴れ」の１個のみであり、２個に満たないので（ステップＳ３０３：Ｎｏ）、次はステップＳ３０５に分岐する。
【００６２】
ｃの要素数が分類の総数−１に満たない場合、ＳＶＭ選択部２０２ｄは上記ｂが指し示す位置をａの中で１つ進める（ステップＳ３０５）。ここではｂの指し示す位置が、先頭のＳＶＭ乙２０２ｂから２番目のＳＶＭ甲２０２ａに切り替えられることになる。
【００６３】
そして、ＳＶＭ選択部２０２ｄはｂにより指し示されるＳＶＭが判別する２つの分類（ｆ・ｇ）を得る（ステップＳ３０６）。ここではＳＶＭ甲２０２ａは、「晴れ」または「曇り」を判別するので、ｆは「晴れ」ｇは「曇り」となる。なお、ｆとｇとは逆であってもよい。
【００６４】
次にＳＶＭ選択部２０２ｄは、ｆまたはｇのいずれかがｃの中にあるかどうか、すなわちｆまたはｇがすでに棄却された分類であるか否かを判定する（ステップＳ３０７）。ここではｆが「晴れ」で、ｃに格納された「晴れ」と一致するため（ステップＳ３０７：Ｙｅｓ）、ステップＳ３０５に戻ってさらにｂを１つ進める（ステップＳ３０５）。
【００６５】
そして、次のＳＶＭ丙２０２ｃではｆが「曇り」ｇが「雨」となり（ステップＳ３０６）、そのいずれもまだｃの中にはないので（ステップＳ３０７：Ｎｏ）、ステップＳ３０１に戻ってＳＶＭ丙２０２ｃに「曇り」または「雨」の判別を行わせる（ステップＳ３０１）。
【００６６】
ここで判別された分類ｄが「曇り」、棄却された分類ｅが「雨」であったとすると、ＳＶＭ選択部２０２ｄは棄却された分類ｅをｃに追加するとともに（ステップＳ３０２）、ｃの要素数が分類の総数−１、すなわち２に達したかどうかを判定する（ステップＳ３０３）。
【００６７】
そして、この時点でｃの要素数は「晴れ」および「雨」の２個に達したので（ステップＳ３０３：Ｙｅｓ）、ＳＶＭ選択部２０２ｄは分類結果出力部２０２ｅに多値分類の終了を通知し、これを受けた分類結果出力部２０２ｅでは、現時点でのｄ、すなわち「曇り」を多値分類の結果として出力する（ステップＳ３０４）。
【００６８】
上記手順は要するに、優先順位の高い順に並べたＳＶＭの中から、過去の２値分類で棄却されていない分類の組み合わせのＳＶＭを順次検索し、最初に見つかったＳＶＭで２値分類を行うとともに、この繰り返しをまだ棄却されていない分類が１つとなるまで続けるものである。
【００６９】
そして、優先順位は上述のようにＳＶＭの処理時間に応じて定められているので、上記手順により、処理時間の短いＳＶＭが優先的に選択されて使用されることになる。言い換えれば、処理時間の長いＳＶＭが使われる確率を下げることができ、たとえばＳＶＭ乙２０２ｂで晴れ、ＳＶＭ甲２０２ａでも晴れと判別された場合は、最も時間のかかるＳＶＭ丙２０２ｃの曇り／雨判別を経由しないで、多値分類の結果を得ることができる。
【００７０】
図４は、分類が４個だった場合の６個（＝４Ｃ２）のＳＶＭの使用確率を示すグラフ、図５は、分類が１０個だった場合の４５個（＝１０Ｃ２）のＳＶＭの使用確率を示すグラフである。図示するように、「速い」すなわち処理時間の短いＳＶＭほど使用確率が高く、「遅い」すなわち処理時間の長いＳＶＭほど使用確率が低くなるので、全体として多値分類にかかる平均時間を短縮することができる。
【００７１】
なお、上述した実施の形態では２値分類器としてもっぱらＳＶＭを考えたが、２値分類器としてはこれに限らず、たとえばニューロンネットワークにおけるパーセプトロンなど、２つの分類を判別できるものなら何であってもよい。
【００７２】
また、上述した実施の形態では２値分類器の使用コストを、もっぱら時間の観点から把握したが、コストとしてはこれ以外にも、たとえば分類で発生するエラーなどを考えてもよい。
【００７３】
一例としてＳＶＭのエラー率の上限値は、教師データ中のＳＶの割合に比例することが知られている。そこで、時間が多少かかるとしてもできるだけ正確な分類結果が欲しいような場合は、エラー率が低く信頼できるＳＶＭを優先的に使用するため、「ＳＶの個数／教師データ数」を指標として各ＳＶＭの特徴値（信頼度の観点からとらえた特徴値）を算出するようにしてもよい。
【００７４】
また、コストとして２値分類器の使用料などを考えてもよい。たとえば、ある２値分類器による判別サービスが１回１０万円、別の２値分類器による判別サービスが１回５万円、というように、それぞれの２値分類の費用が異なる場合、より安価な２値分類が優先的に行われるよう、特徴値を上記費用に応じて算出する。
【００７５】
また、上述した実施の形態では棄却された分類がｎ−１個になるまで２値分類を続けたが、途中のどこかの２値分類器で分類を停止し、当該２値分類器による判別結果を多値分類の結果として出力するようにしてもよい。
【００７６】
一般に、データ数に対するＳＶの個数が少ないほど、ＳＶＭの汎化能力が高まることが知られている。つまりＳＶの数が多く、判別に時間がかかるＳＶＭほど、信頼性も低くなる傾向にある。そこで、ＳＶの数が少ない（信頼性が高い）ＳＶＭを利用できるうちは、上記の方法で分類の候補を絞り、
▲１▼上述のｂにより指し示されるＳＶＭのＳＶの数が一定の個数に達した場合
▲２▼上述のｃの要素数が一定の個数（具体的にはｎ−１）に達した場合
のいずれかの条件が満たされる場合に、多値分類を終了するようにしてもよい。
【００７７】
なお、上述したデータ入力部２００、ベクトル変換部２０１、多値分類部２０２、特徴値算出部２０３および優先順位決定部２０４は、具体的にはＨＤ１０５からＲＡＭ１０３に読み出されたプログラムをＣＰＵ１０１が実行することにより実現される。このプログラムはＨＤ１０５のほか、ＦＤ１０７、ＣＤ−ＲＷ１０９、ＭＯなどの各種の記録媒体に格納して配布することができ、ネットワークを介して配布することも可能である。
【００７８】
【発明の効果】
以上説明したように請求項１に記載の発明は、入力データが第１の分類あるいは第２の分類のいずれに分類されるかを判別する２値分類器を複数使用して前記入力データの多値分類を行うデータ分類装置において、前記各２値分類器の特徴値を算出する特徴値算出手段と、前記特徴値算出手段により算出された特徴値にもとづいて前記各２値分類器の優先順位を決定する優先順位決定手段と、前記優先順位決定手段により決定された優先順位の高い順に前記２値分類器を使用して前記入力データの多値分類を行う多値分類手段と、を備えたので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類装置が得られるという効果を奏する。
【００７９】
また、請求項２に記載の発明は、前記請求項１に記載の発明において、前記２値分類器がＳＶＭであり、前記特徴値算出手段が前記各２値分類器の特徴値を、各ＳＶＭにおけるＳＶの個数あるいは各ＳＶＭにおけるすべてのＳＶの０でない要素の総数にもとづいて算出するので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはＳＶの個数などから算出されたその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類装置が得られるという効果を奏する。
【００８０】
また、請求項３に記載の発明は、前記請求項１または請求項２に記載の発明において、前記優先順位決定手段が、前記特徴値算出手段により算出された特徴値の昇順にソートしたときの各２値分類器の順位を前記優先順位として決定するので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値が小さいものから順に使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類装置が得られるという効果を奏する。
【００８１】
また、請求項４に記載の発明は、前記請求項１〜請求項３のいずれか一つに記載の発明において、前記多値分類手段が、前記第１の分類および前記第２の分類がいずれも棄却されていない２値分類器のうち、前記優先順位決定手段により決定された優先順位が最も高い２値分類器を使用して前記入力データの２値分類を行うとともに、前記第１の分類または前記第２の分類のうち、前記２値分類において前記入力データが分類されなかったものを棄却することを、所定の条件が満足されるまで繰り返すので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類装置が得られるという効果を奏する。
【００８２】
また、請求項５に記載の発明は、前記請求項４に記載の発明において、前記条件が、棄却された分類の個数が所定の個数に達したか、あるいは次に使用する２値分類器につき前記特徴値算出手段により算出された特徴値が所定の閾値に達したことであるので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用されるとともに、ある程度以上にコスト高となる２値分類器は使用されず、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類装置が得られるという効果を奏する。
【００８３】
また、請求項６に記載の発明は、入力データが第１の分類あるいは第２の分類のいずれに分類されるかを判別する２値分類器を複数使用して前記入力データの多値分類を行うデータ分類方法において、前記各２値分類器の特徴値を算出する特徴値算出工程と、前記特徴値算出工程で算出された特徴値にもとづいて前記各２値分類器の優先順位を決定する優先順位決定工程と、前記優先順位決定工程で決定された優先順位の高い順に前記２値分類器を使用して前記入力データの多値分類を行う多値分類工程と、を含んだので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類方法が得られるという効果を奏する。
【００８４】
また、請求項７に記載の発明は、前記請求項６に記載の発明において、前記２値分類器がＳＶＭであり、前記特徴値算出工程では前記各２値分類器の特徴値を、各ＳＶＭにおけるＳＶの個数あるいは各ＳＶＭにおけるすべてのＳＶの０でない要素の総数にもとづいて算出するので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはＳＶの個数などから算出されたその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類方法が得られるという効果を奏する。
【００８５】
また、請求項８に記載の発明は、前記請求項６または請求項７に記載の発明において、前記優先順位決定工程では、前記特徴値算出工程で算出された特徴値の昇順にソートしたときの各２値分類器の順位を前記優先順位として決定するので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値が小さいものから順に使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類方法が得られるという効果を奏する。
【００８６】
また、請求項９に記載の発明は、前記請求項６〜請求項８のいずれか一つに記載の発明において、前記多値分類工程では、前記第１の分類および前記第２の分類がいずれも棄却されていない２値分類器のうち、前記優先順位決定工程で決定された優先順位が最も高い２値分類器を使用して前記入力データの２値分類を行うとともに、前記第１の分類または前記第２の分類のうち、前記２値分類において前記入力データが分類されなかったものを棄却することを、所定の条件が満足されるまで繰り返すので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用され、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類方法が得られるという効果を奏する。
【００８７】
また、請求項１０に記載の発明は、前記請求項９に記載の発明において、前記条件が、棄却された分類の個数が所定の個数に達したか、あるいは次に使用する２値分類器につき前記特徴値算出工程で算出された特徴値が所定の閾値に達したことであるので、多値分類器を構成する複数の２値分類器は、それぞれの２値分類器を使用することのコスト（具体的にはその処理時間やエラー率など）を示す特徴値の大小に応じた順序で使用されるとともに、ある程度以上にコスト高となる２値分類器は使用されず、これによって、複数の２値分類器を効率的な順序で使用して多値分類を高速に行うことが可能なデータ分類方法が得られるという効果を奏する。
【００８８】
また、請求項１１に記載の発明によれば、前記請求項６〜請求項１０のいずれか一つに記載された方法をコンピュータに実行させることが可能なプログラムが得られるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態によるデータ分類装置のハードウエア構成の一例を示す説明図である。
【図２】この発明の実施の形態によるデータ分類装置の構成を機能的に示す説明図である。
【図３】この発明の実施の形態によるデータ分類装置における、２値分類の組み合わせによる多値分類処理の手順を示すフローチャートである。
【図４】この発明の実施の形態によるデータ分類装置において、分類が４個だった場合のＳＶＭの使用確率を示すグラフである。
【図５】この発明の実施の形態によるデータ分類装置において、分類が１０個だった場合のＳＶＭの使用確率を示すグラフである。
【図６】ＤＤＡＧ法による多値分類の手順を模式的に示す説明図である。
【符号の説明】
１００  バス
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＨＤＤ
１０５  ＨＤ
１０６  ＦＤＤ
１０７  ＦＤ
１０８  ＣＤ−ＲＷドライブ
１０９  ＣＤ−ＲＷ
１１０  ディスプレイ
１１１  キーボード
１１２  マウス
１１３  ネットワークＩ／Ｆ
１１４  通信ケーブル
２００  データ入力部
２０１  ベクトル変換部
２０２  多値分類部
２０２ａ  ＳＶＭ甲
２０２ｂ  ＳＶＭ乙
２０２ｃ  ＳＶＭ丙
２０２ｄ  ＳＶＭ選択部
２０３  特徴値算出部
２０４  優先順位決定部
【図１】
2004280712.tif 000005
【図２】
2004280712.tif 000006
【図３】
2004280712.tif 000007
【図４】
2004280712.tif 000008
【図５】
2004280712.tif 000009
【図６】
2004280712.tif 000010