(57)【特許請求の範囲】
【請求項１】
ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類装置であって、
学習データを取得する学習データ取得部と、
前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御部と、
前記ソフトマージンサポートベクトルマシンの学習によって生じたサポートベクトルの個数を取得するサポートベクトル数取得部と、
前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定部と、
を備えることを特徴とするデータ分類装置。
【請求項２】
前記学習データを学習した後に該学習データを分類処理した場合のデータ分類の正答率を取得する正答率取得部を備え、
前記判定部は、前記サポートベクトルの個数の変化および前記正答率をもとに前記学習処理を終了すべきか否かを判定することを特徴とする請求項１に記載のデータ分類装置。
【請求項３】
前記判定部は、前記サポートベクトルの個数の変化および前記正答率をもとに、前記学習数をさらに増加させた場合にデータ分類精度が向上するか否かを判断し、前記データ分類精度が向上しないと判断した場合に、前記学習処理を終了すべきと判定することを特徴とする請求項２に記載のデータ分類装置。
【請求項４】
前記判定部は、前記学習数をさらに増加させた場合に前記データ分類精度が向上するか否かの判断処理として、前記サポートベクトルの個数が飽和したか否かの判断処理を行う飽和判断部を有することを特徴とする請求項３に記載のデータ分類装置。
【請求項５】
前記判定部は、前記学習数をさらに増加させた場合に前記データ分類精度が向上するか否かの判断処理として、前記正答率が低下傾向であるか否かの判断処理を行う低下判断部を有することを特徴とする請求項３に記載のデータ分類装置。
【請求項６】
前記判定部の判定結果をもとに、前記学習データ取得部および／または前記学習制御部を制御する制御部を備えることを特徴とする請求項１〜５のいずれか一つに記載のデータ分類装置。
【請求項７】
当該データ分類装置の外部に情報を出力する出力部を備え、
前記制御部は、前記判定部によって前記学習処理を終了すべきと判定された場合、前記出力部を制御して前記学習データの追加は不要である旨の情報を出力させることを特徴とする請求項６に記載のデータ分類装置。
【請求項８】
当該データ分類装置の外部に情報を出力する出力部を備え、
前記制御部は、前記判定部によって前記学習処理を終了すべきでないと判定された場合、前記出力部を制御して前記学習データの追加を依頼する情報を出力させることを特徴とする請求項６に記載のデータ分類装置。
【請求項９】
ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類装置であって、
学習データを取得する学習データ取得部と、
前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御部と、
前記ソフトマージンサポートベクトルマシンの学習により生じたサポートベクトルの個数を取得するサポートベクトル数取得部と、
前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定部と、
前記判定部の判定結果をもとに、少なくとも前記学習データをさらに取得する必要があるか否かを表示する表示部と、
を備えることを特徴とするデータ分類装置。
【請求項１０】
ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類装置であって、
学習データを取得する学習データ取得部と、
前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御部と、
前記ソフトマージンサポートベクトルマシンの学習により生じたサポートベクトルの個数を取得するサポートベクトル数取得部と、
前記学習データを学習した後に該学習データを分類処理した場合のデータ分類の正答率を取得する正答率取得部と、
前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化および前記正答率に応じて前記学習処理を終了すべきか否かを判定する判定部と、
前記判定部の判定結果をもとに、少なくとも前記学習データをさらに取得する必要があるか否かを表示する表示部と、
を備えることを特徴とするデータ分類装置。
【請求項１１】
ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類方法であって、
学習データを取得する学習データ取得ステップと、
前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御ステップと、
前記ソフトマージンサポートベクトルマシンの学習によって生じたサポートベクトルの個数を取得するサポートベクトル数取得ステップと、
前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定ステップと、
を含むことを特徴とするデータ分類方法。
【請求項１２】
ソフトマージンサポートベクトルマシンを用いて学習処理を行うためのデータ分類プログラムであって、
学習データを取得する学習データ取得手順と、
前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御手順と、
前記ソフトマージンサポートベクトルマシンの学習によって生じたサポートベクトルの個数を取得するサポートベクトル数取得手順と、
前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定手順と、
をコンピュータに発揮させることを特徴とするデータ分類プログラム。
【請求項１３】
学習の用に供する学習データを複数のクラスに分類することで、学習データを用いた学習処理を行うデータ分類装置であって、
学習データを取得する学習データ取得部と、
前記取得された学習データが有する値に応じて、前記取得された学習データを特徴空間内に配置する学習データ配置部と、
前記配置された学習データを複数のクラスに分類するための境界面を前記特徴空間内に設定する境界面設定部と、
前記取得された学習データが配置されるごとに、前記境界面の設定位置を更新する更新部と、
前記境界面の設定位置が更新されるたびに、前記更新された境界面に対して所定の近傍範囲内に配置された学習データを注目データとして抽出し、前記取得された学習データが配置されるごとに前記抽出した注目データの数を積算する積算部と、
前記取得された学習データの配置に伴う注目データの積算数の変化の結果を参照し、前記取得された学習データを用いた学習処理を終了すべきか否かを判定する判定部と、
を備えることを特徴とするデータ分類装置。
【請求項１４】
前記判定部により学習処理を終了すべきと判定された場合に、前記学習処理を終了すべき旨の情報を提示する出力部をさらに備えることを特徴とする請求項１３に記載のデータ分類装置。
【請求項１５】
請求項１または請求項１３に記載のデータ分類装置を有することを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類装置、データ分類方法、データ分類プログラムおよび電子機器に関するものである。
【背景技術】
【０００２】
サポートベクトルマシンは、事例学習型の２クラスデータ分類手法であり、汎用性が高く優れたデータ分類手法として広く知られている（非特許文献１参照）。特に、ソフトマージンサポートベクトルマシンは、観測データを分類する場合に優れたデータ分類手法であることが知られている。例えば、特許文献１に記載の画像処理装置は、ソフトマージンサポートベクトルマシンを用いて所定のＸ線医用画像を異常陰影が撮像された画像と異常陰影が撮像されていない画像とに分類する。
【０００３】
サポートベクトルマシンを用いて事例データを２クラスに分類する場合、操作者は、まず、サポートベクトルマシンに２クラスの学習データを学習させて、特徴空間内での２クラスの分離境界を作成する。なお、学習データとは、事例データとその事例データが所属するクラスとを組み合わせた情報である。操作者は、サポートベクトルマシンに学習データを学習させた後、テストデータを分類させて分類結果の正答率を参照し、さらに学習データを追加するか、または学習処理を終了するかを判断する。
【０００４】
【特許文献１】特開２００５−１９８９７０号公報
【非特許文献１】Oliver Chapelle, Patrick Haffner and Vladimir N. Vapnik: ”Support Vector Machines for Histogram-Based Image Classification” , IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL. 10, NO.5, SEPTEMBER 1999
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来のデータ分類装置では、操作者は、テストデータの正答率を参照しつつ個人の経験または勘に頼って学習処理を終了するか否かを判断しなければならなかった。このため、学習処理の終了の判断が遅れて不必要な学習や過学習を繰り返してしまい、学習処理に多くの時間を費やしてしまうという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、学習処理全体にかかる時間を抑えることができるデータ分類装置、データ分類方法、データ分類プログラムおよび電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明のある態様にかかるデータ分類装置は、ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類装置であって、学習データを取得する学習データ取得部と、前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御部と、前記ソフトマージンサポートベクトルマシンの学習によって生じたサポートベクトルの個数を取得するサポートベクトル数取得部と、前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定部と、を備えることを特徴とする。
【０００８】
この態様にかかるデータ分類装置によれば、ソフトマージンサポートベクトルによる学習データの学習処理に伴うサポートベクトルの個数の変化をもとに学習処理を終了すべきか否かを判定する。これによれば、学習処理を終了すべきと判定した場合に、例えば、不必要な学習データの取得処理を停止して学習処理を自動的に終了させることができ、結果として、学習処理全体にかかる時間を抑えることができる。
【０００９】
また、本発明の別の態様にかかるデータ分類装置は、ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類装置であって、学習データを取得する学習データ取得部と、前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御部と、前記ソフトマージンサポートベクトルマシンの学習により生じたサポートベクトルの個数を取得するサポートベクトル数取得部と、前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定部と、前記判定部の判定結果をもとに、少なくとも前記学習データをさらに取得する必要があるか否かを表示する表示部と、を備えることを特徴とする。
【００１０】
また、本発明のさらに別の態様にかかるデータ分類装置は、ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類装置であって、学習データを取得する学習データ取得部と、前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御部と、前記ソフトマージンサポートベクトルマシンの学習により生じたサポートベクトルの個数を取得するサポートベクトル数取得部と、前記学習データを学習した後に該学習データを分類処理した場合のデータ分類の正答率を取得する正答率取得部と、前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化および前記正答率に応じて前記学習処理を終了すべきか否かを判定する判定部と、前記判定部の判定結果をもとに、少なくとも前記学習データをさらに取得する必要があるか否かを表示する表示部と、を備えることを特徴とする。
【００１１】
また、本発明のさらに別の態様にかかるデータ分類方法は、ソフトマージンサポートベクトルマシンを用いて学習処理を行うデータ分類方法であって、学習データを取得する学習データ取得ステップと、前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御ステップと、前記ソフトマージンサポートベクトルマシンの学習によって生じたサポートベクトルの個数を取得するサポートベクトル数取得ステップと、前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定ステップと、を含むことを特徴とする。
【００１２】
また、本発明のさらに別の態様にかかるデータ分類プログラムは、ソフトマージンサポートベクトルマシンを用いて学習処理を行うためのデータ分類プログラムであって、学習データを取得する学習データ取得手順と、前記ソフトマージンサポートベクトルマシンに前記取得された学習データを学習させる制御を行う学習制御手順と、前記ソフトマージンサポートベクトルマシンの学習によって生じたサポートベクトルの個数を取得するサポートベクトル数取得手順と、前記ソフトマージンサポートベクトルマシンによる前記学習データの学習数の増加に伴う前記サポートベクトルの個数の変化に応じて前記学習処理を終了すべきか否かを判定する判定手順と、をコンピュータに発揮させることを特徴とする。
【００１３】
また、本発明のさらに別の態様にかかるデータ分類装置は、学習の用に供する学習データを複数のクラスに分類することで、学習データを用いた学習処理を行うデータ分類装置であって、学習データを取得する学習データ取得部と、前記取得された学習データが有する値に応じて、前記取得された学習データを特徴空間内に配置する学習データ配置部と、前記配置された学習データを複数のクラスに分類するための境界面を前記特徴空間内に設定する境界面設定部と、前記取得された学習データが配置されるごとに、前記境界面の設定位置を更新する更新部と、前記境界面の設定位置が更新されるたびに、前記更新された境界面に対して所定の近傍範囲内に配置された学習データを注目データとして抽出し、前記取得された学習データが配置されるごとに前記抽出した注目データの数を積算する積算部と、前記取得された学習データの配置に伴う注目データの積算数の変化の結果を参照し、前記取得された学習データを用いた学習処理を終了すべきか否かを判定する判定部と、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、学習処理全体にかかる時間を抑えることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態であるデータ分類装置、データ分類方法、データ分類プログラムおよび電子機器について説明する。なお、本実施の形態によって本発明が限定されるものではない。また、図面の記載において、同一部分には同一符号を付している。
【００１６】
（実施の形態）
図１は、本実施の形態にかかるデータ分類装置１の概略構成を示すブロック図である。図１に示すように、データ分類装置１は、各種情報を入力する入力部１０、各種情報を出力する出力部２０、学習データを含む各種データなどを記憶する記憶部３０、ソフトサポートベクトルマシン４０およびデータ分類装置１の各部の処理を制御する制御部５０を備える。なお、本実施の形態にかかる画像処理装置は電子機器に搭載される。電子機器とは、正しく作動するために電流または電磁界に依存する装置であって、例えば、電子計算機、デジタルカメラ、デジタルビデオカメラ、内視鏡などの装置を指す。
【００１７】
入力部１０は、キーボード、マウスおよびデータ通信インターフェイスなどによって実現され、操作者から手動で、または各種メモリカード、ＣＤ、ＤＶＤなどの携帯型記憶媒体から各種情報の入力を受け付ける。特に、入力部１０は、学習データ取得部１１を備え、学習データの入力を受け付けて学習データを取得する。
【００１８】
出力部２０は、スピーカーおよびディスプレイなどによって実現され、操作者への警告、ソフトマージンサポートベクトルマシン４０で行われた演算結果などの情報を映像および通知音などによって出力する。特に、出力部２０は表示部２１を備え、表示部２１は、各種情報を表示するとともに、操作者に対して学習データなどの入力を依頼するＧＵＩ（Graphical User Interface）画面を表示する。
【００１９】
記憶部３０は、ハードディスク、ＲＯＭおよびＲＡＭなどによって実現され、制御部５０がデータ分類装置１の各部に処理を実行させる場合に用いる各種処理プログラム、学習データおよび処理結果などの各種情報を記憶する。また、記憶部３０には、ソフトマージンサポートベクトルマシン４０に学習データを学習させ、分離境界を作成させる学習処理を行い、このソフトマージンサポートベクトルマシン４０による学習データの学習数の増加に伴うサポートベクトルの個数の変化に応じて学習処理を終了すべきか否かを判定するためのデータ分類プログラムがあらかじめ記憶される。
【００２０】
なお、データ分類装置１は、制御部５０の制御のもと、学習データ取得部１１を介して事例データの入力を受付け、入力された事例データを表示部２１に表示し、操作者に対して各事例データに所属クラスを与えるように依頼する。この際、データ分類装置１は、所属クラスの分類が容易な事例データから順に、所定数の事例データに所属クラスを与えるように依頼する。記憶部３０は、事例データと、所属クラスと、何番目に所属クラスが与えられたかについての情報とを学習データとして記憶する。なお、学習データ取得部１１は、予め所属クラスが与えられた事例データの入力を受け付けて学習データを取得してもよい。
【００２１】
ソフトマージンサポートベクトルマシン４０は、学習データを学習し、特徴空間において学習データを２つのクラスに分類する分類境界を作成する。
【００２２】
ここで、サポートベクトルマシンについて、図２を参照して説明する。図２は、サポートベクトルマシンが作成する分離境界の概念を示す図である。ここでは簡単のため、分離境界が線形である場合を説明する。図２に示すように、２種類の特徴量を用いて２つのクラスに分類できる事例データ群を２次元特徴空間上にプロットすると、同じクラスに属する事例データどうしが分離境界の同じ側に集合するので、特徴空間上で２つのクラスを線形分離する分離境界を作成できる。分離境界は直線であればよいので何通りもの分離境界を作成できるが、サポートベクトルマシンは、マージン最大化という手法を用いて１本の分離境界を作成する。マージン最大化とは、特徴空間において分離境界に最も近い位置にある学習データをサポートベクトルとし、各サポートベクトルと分離境界とのユークリッド距離をマージンとして、マージンが最大になるように分離境界を作成する手法である。マージンが最大化されることによって、サポートベクトルマシンは、所属クラスが未知の事例データを精度良く分類できる。なお、分離境界の決定に関与する学習データは、サポートベクトルのみであり、それ以外の学習データは分離境界の決定に関与しないことが知られている。
【００２３】
また、サポートベクトルマシンは、ハードマージンサポートベクトルマシンとソフトマージンサポートベクトルマシンとに分類できる。ハードマージンサポートベクトルマシンは、分離境界を作成する際、学習データの分類間違いを許容せず、すべての学習データが正しく分類できるように分離境界を作成する。このため、ハードマージンサポートベクトルマシンは、学習データが完全に線形分離可能であれば最も適した分離境界を作成できるが、本来所属するクラスとは異なるクラスが与えられた学習データ（以下、「ノイズデータ」と呼ぶ）が含まれていた場合、過学習を起こしやすい。
【００２４】
一方、ソフトマージンサポートベクトルマシンは、学習データの分類間違いを許容して分離境界を作成するので、ハードマージンサポートベクトルマシンと比較してデータ分類精度が低下するが、ノイズデータが含まれる場合にも対応でき、過学習にも比較的陥りにくい。このため、ソフトマージンサポートベクトルマシンは、ノイズデータの混入が避けられない場合、例えば観測データを学習データとして用いる場合に適した手法である。以上の説明では簡単のため、分離境界が線形の場合を示したが、サポートベクトルマシンの実際の応用では、データを高次元空間に写像する手法を併用する事で、非線形な分離境界を形成させる場合が多い。
【００２５】
制御部５０は、ＣＰＵなどによって実現され、データ分類装置１の各部の処理を制御する。特に、制御部５０は、学習制御部５１、サポートベクトル数取得部５２、正答率取得部５３および判定部５４を備え、判定部５４の判定結果をもとに、学習データ取得部１１および学習制御部５１などの動作を制御してソフトマージンサポートベクトルマシン４０に分離境界を作成させる処理、すなわち学習処理を行う。
【００２６】
学習制御部５１は、ソフトマージンサポートベクトルマシン４０を制御し、オンライン学習で学習データを学習させる。なお、オンライン学習とは、学習データを逐次追加しつつ学習させていく手法である。但し、一回の追加処理において複数の学習データをまとめて追加しても良い。学習制御部５１は、学習データを追加する毎に学習処理の一部として、ソフトマージンサポートベクトルマシン４０に下式（１）に示す目的関数の最適化問題を解かせる、すなわちラグランジュ（Lagrange）乗数αiの最適化を行わせる。なお、式（１）において、Ｌは学習データの個数、ｙiはｘiの所属クラス、式（３）において、Ｃは学習データの分類間違いを許容する度合いを表す定数である。ここで、式（１）を最適化した場合にラグランジュ乗数αiが零にならない学習データｘiが、サポートベクトルとなる。
【００２７】
【数１】
0005244438.tif 000002
【００２８】
サポートベクトル数取得部５２は、注目データの一例であるサポートベクトルの個数を取得する。具体的には、サポートベクトル数取得部５２は、零でないラグランジュ乗数αiの個数をカウントすることによって、サポートベクトルの個数を取得する。
【００２９】
正答率取得部５３は、データ分類装置１の正答率を取得する。正答率とは、分離境界を用いて、この分離境界を作成する際に学習した学習データを分類した場合に各学習データが予め与えられたクラスに正しく分類される率である。正答率は、学習データに分類間違いがない場合には１００％であるが、ノイズデータが含まれる場合には１００％未満になり、ノイズデータが多いほど正答率は低下する。
【００３０】
判定部５４は、学習処理を終了すべきか否かを判定する。この判定部５４は、飽和判断部５５および低下判断部５６を備え、学習データの追加によりデータ分類装置１のデータ分類精度が向上するか否かの判断処理として、サポートベクトルの個数の変化または正答率の変化の判断処理を行う。そして、判定部５４は、この判断処理の結果、データ分類精度が向上しないと判断した場合に、学習処理を終了すべきと判定する。具体的には、判定部５４は、サポートベクトル数が飽和した場合、または正答率が低下傾向となった場合、学習データをさらに追加してもデータ分類精度は向上しないと判断する。ここで、データ分類精度とは、所属クラスが未知の事例データをクラス分けした場合の分類精度を示す。
【００３１】
飽和判断部５５は、サポートベクトル数取得部５２よりサポートベクトルの個数を取得し、オンライン学習中のサポートベクトルの個数の変化を把握し、サポートベクトルの個数が飽和に達したか否かを判断する。具体的には、第ｉ回目の追加処理で追加された学習データを学習した際のサポートベクトルの個数をＳ（ｉ）、第ｉ−１回目の追加処理で追加された学習データを学習した際のサポートベクトルの個数をＳ（ｉ−１）とし、サポートベクトルの増加数が所定の閾値Ｔｓを下回った場合、すなわち下式（４）を満たす場合、飽和判断部５５は、サポートベクトルの個数が飽和したと判断する。
Ｓ（ｉ）−Ｓ（ｉ−１）＜Ｔｓ                                      ・・・（４）
【００３２】
なお、サポートベクトル数の飽和の判断基準は式（４）に限られず、飽和判断部５５は、他の判断基準、例えば式（４）を連続して所定の回数満たしたかどうかの情報をもとにサポートベクトル数が飽和したか否かを判断してもよい。
【００３３】
低下判断部５６は、正答率取得部５３より正答率を取得してオンライン学習中の正答率の変化を把握し、正答率が低下傾向になっているか否かを判断する。具体的には、第ｉ回目に追加された学習データを学習した後の正答率をＣ（ｉ）、第ｉ−１回目に追加された学習データを学習した後の正答率をＣ（ｉ−１）とし、正答率が前回の正答率を下回った場合、すなわち下式（５）に示す場合、低下判断部５６は、正答率が低下傾向となったと判断する。
Ｃ（ｉ）＜Ｃ（ｉ−１）        （５）
【００３４】
なお、正答率が低下傾向であるかの判断基準は式（５）に限られず、低下判断部５６は、他の判断基準、例えば、式（５）を所定の回数満たした場合に低下傾向と判断するとしてもよい。
【００３５】
データ分類装置１は、制御部５０の制御のもと、取得した学習データをソフトマージンサポートベクトルマシン４０に学習させて分離境界を作成させた後、所属クラスが未知の事例データの入力を受けつけ、作成した分離境界を用いて事例データを分類する。
【００３６】
次に、学習データの学習処理の手順を、図３を参照しつつ説明する。図３は、学習処理の手順を示すフローチャートである。なお、ここで説明する学習処理は、制御部５０が記憶部３０に記憶されているデータ分類プログラムに従ってデータ分類装置１の各部を制御することによって実現される。まず、制御部５０は、表示部２１および学習データ取得部１１を制御して、学習データの入力を依頼して学習データを取得する（ステップＳ１０１）。その後、制御部５０は、所定数の学習データを取得したかを判断する（ステップＳ１０２）。学習データが所定数未満の場合（ステップＳ１０２：Ｎｏ）、例えば操作者より入力部１０を通じて所定数の学習データが用意できなかった旨の通知を受けた場合、制御部５０は、表示部２１を制御し、未学習で学習処理を中止する旨を表示させ（ステップＳ１０３）、学習処理を終了する。一方、学習データが所定数以上の場合（ステップＳ１０２：Ｙｅｓ）、制御部５０は、学習制御部５１を制御し、ソフトマージンサポートベクトルマシン４０に学習データを学習させる（ステップＳ１０４）。
【００３７】
その後、制御部５０は、サポートベクトル数取得部５２を制御し、サポートベクトルの個数を取得するとともに（ステップＳ１０５）、正答率取得部５３を制御し、正答率を取得する（ステップＳ１０６）。次いで、制御部５０は、飽和判断部５５を制御し、サポートベクトルの個数が飽和したかを判断させる（ステップＳ１０７）。サポートベクトルの個数が飽和していないと判断された場合（ステップＳ１０７：Ｎｏ）、制御部５０は、低下判断部５６を制御し、正答率が低下傾向かを判断させる（ステップＳ１０８）。正答率が低下傾向でないと判断された場合（ステップＳ１０８：Ｎｏ）、制御部５０は、表示部２１を制御し、学習データの追加によってデータ分類精度が向上する旨を表示させて学習データの追加を依頼させる（ステップＳ１０９）。その後、制御部５０は、学習データが追加されたかを判断する（ステップＳ１１０）。学習データが追加された場合（ステップＳ１１０：Ｙｅｓ）、制御部５０は、ステップＳ１０４に戻り、上述の処理を繰り返す。また、学習データが追加されなかった場合（ステップＳ１１０：Ｎｏ）、例えば操作者より入力部１０を通じて学習データを追加しない旨の通知があった場合、制御部５０は、表示部２１を制御し、学習データ不足のため学習処理を中止する旨を表示させ（ステップＳ１１１）、学習処理を終了する。
【００３８】
一方、サポートベクトルの個数が飽和したと判断された場合（ステップＳ１０７：Ｙｅｓ）や、正答率が低下傾向であると判断された場合には（ステップＳ１０８：Ｙｅｓ）、判定部５４が、学習処理を終了すべきと判定する。この場合には、制御部５０は、表示部２１を制御し、学習データの追加は不要であり、学習処理を終了する旨を表示させ（ステップＳ１１２）、学習処理を終了する。
【００３９】
ステップＳ１０１〜Ｓ１１２の処理において、制御部５０は、学習データの追加によりデータ分類精度の向上が見込めるか否かを判断することによって学習処理を終了すべきか否かを判定しつつ学習処理を行い、データ分類精度の向上が見込めない場合に学習処理を終了すべきと判定し、学習処理を終了する。
【００４０】
図４は、学習初期のサポートベクトルと分離境界の関係を示す図である。図４に示すように、学習初期は、学習データが少ないので、学習データの追加に伴ってサポートベクトルが増加または変化し、分離境界が変化する。すなわち、学習データの増加に伴ってサポートベクトルが増加している場合、サポートベクトル数は不十分であり、分離境界はデータ分類に十分適しているとはいえない。この場合、学習データの追加によって、データ分類精度が向上する可能性が高い。一方、学習データが増加してもサポートベクトルがほぼ増加しない場合、すなわちサポートベクトルが飽和している場合、既に十分な量のサポートベクトルによってデータ分類に適した分離境界が作成されていると考えられる。この場合、学習データを追加しても、データ分類精度がこれ以上向上する可能性は低い。
【００４１】
そこで、ステップＳ１０７において、制御部５０は、サポートベクトル数が飽和に達したと判断された場合、学習処理を終了する。図５は、学習データ数とサポートベクトル数との関係および学習データ数と正答率との関係を示す図である。図５に示すように、ステップＳ１０７では、サポートベクトル数が飽和したと判断された場合、制御部５０は、正答率が低下傾向でなくても学習処理を終了する。
【００４２】
ところで、正答率は、学習データにノイズデータが多く含まれる場合に低くなる。一般的に、学習データ作成の際、操作者にとってクラス分けの判断が容易な事例データから先に所属クラスが与えられる傾向がある。換言すれば、操作者が比較的早い段階で選択した学習データには分類間違いが少なく、比較的遅い段階で選択した学習データには分類間違いが多く含まれる傾向がある。このため、正答率が低下傾向となった場合、ノイズデータが増加傾向であり、今後追加される学習データにも多くのノイズデータが含まれると推定できる。この場合、学習データを追加するとノイズデータの影響が大きくなりデータ分類に適さない分離境界が形成される恐れがあり、データ分類精度の向上は見込めない。
【００４３】
そこで、ステップＳ１０８において、制御部５０は、正答率が低下傾向であると判断された場合、学習処理を終了する。図６は、図５と同様に、学習データ数とサポートベクトル数との関係および学習データ数と正答率との関係を示す図である。図６に示すように、ステップＳ１０８では、正答率が低下傾向であると判断された場合、制御部５０は、サポートベクトル数が増加中であっても学習処理を終了する。
【００４４】
本実施の形態にかかるデータ分類装置１は、サポートベクトル数が飽和した場合または正答率が低下した場合に学習データを追加してもデータ分類精度が向上しないと判断し、学習処理を終了する。このため、データ分類装置１によれば、不必要な学習処理を行わずに学習処理にかかる時間を短縮することができる。また、データ分類装置１は、サポートベクトルが飽和していないと判断した場合および正答率が低下傾向でないと判断した場合に学習データの追加によってデータ分類精度が向上すると判断し、操作者に対して学習データの追加を依頼する。このため、データ分類装置１によれば、操作者は必要な場合のみ学習データを追加すればよく、必要以上に学習データを収集しなくてもよい。
【００４５】
なお、本実施の形態にかかるデータ分類装置１は、サポートベクトル数の変化または正答率をもとに学習処理の続行または終了を判断したが、本実施の形態の変形例として、サポートベクトル数の変化のみをもとに学習処理の続行または終了を判断するとしてもよい。すなわち、サポートベクトル数が飽和したと判断した場合のみに自動的に学習処理を終了するとしても、学習処理にかかる時間および学習データ数を抑えることができる。
【００４６】
また、データ分類装置１は、操作者によって先に与えられた学習データから順にソフトマージンサポートベクトルマシン４０に学習させるとしたが、学習データを学習させる順番はこの限りではなく、例えばランダムに学習させてもよい。
【００４７】
また、上記した実施の形態では、サポートベクトルの個数の変化または正答率の変化の判断処理を行い、サポートベクトル数が飽和した場合または正答率が低下傾向となった場合に学習処理を終了すべきと判定する場合について説明したが、学習処理を終了すべきか否かの判定基準として正答率の変化の判断処理のみを行い、この判断処理の結果、例えば正答率が低下傾向となった場合に学習処理を終了すべきと判定することとしてもよい。
【００４８】
また、上記した実施の形態では、サポートベクトルの個数の変化に応じて学習処理を終了すべきか否かを判定することとしたが、これに限定されるものではなく、サポートベクトルの個数に関する値に応じて学習処理を終了すべきか否かを判定することができる。例えば、全学習データ数に対するサポートベクトル数の割合を求め、その変化に応じて学習処理を終了すべきか否かを判定することとしてもよい。あるいは、学習済みの学習データ数に対するサポートベクトル数の割合を求め、その変化に応じて学習処理を終了すべきか否かを判定することとしてもよい。
【００４９】
また、上記した実施の形態では、ソフトサポートベクトルマシン４０を用いた学習処理を行うデータ分類装置について説明したが、これに限定されるものではなく、学習の用に供する学習データを複数のクラスに分類することで学習データを用いた学習処理を行うデータ分類装置にも適用可能である。例えば、ソフトサポートベクトルマシン４０にかえて、学習データ配置部と、境界面設定部と、更新部とを備えてデータ分類装置を構成する。そして、図２を参照して説明した手法と同様にして、学習データ配置部は、学習データ取得部によって取得された学習データが有する値に応じてこの学習データを特徴空間内に配置する。境界面設定部は、学習データ配置部によって配置された学習データを複数のクラスに分類するための境界面（分離境界）を特徴空間内に設定する。更新部は、学習データが配置されるごとに境界面の設定位置を更新する。そして、学習データが配置されて境界面の設定位置が更新されるたびに、更新後の境界面に対して所定の近傍範囲内に配置された学習データを注目データとして抽出し、抽出した注目データの数を積算する積算部を設け、判定部が、積算部によって積算される注目データの積算数の変化の結果を参照して学習処理を終了すべきか否かを判定するようにする。ここで、データ分類装置は、第ｉ−１回目の学習段階で定まった分離境界のそれぞれの側において、分離境界から最も近い位置に配置された学習データである注目データをそれぞれ特定し、その特定したそれぞれの側に配置された注目データどうしの間に存在する空間を、第ｉ回目の学習段階での所定の近傍範囲として決定する。その所定の近傍範囲の一例として実施の形態を参照すると、図２中の「マージン」部分に対応する空間が挙げられる。なお、データ分類装置は、それぞれの側に配置された注目データどうしの間の空間ではなく、それぞれの側に配置された注目データの配置位置に対して近傍の位置を略注目データ位置として求め、それぞれの側で求めた略注目データ位置の間に存在する空間を、所定の近傍範囲として決定してもよい。もちろん、片方の側から注目データ位置、もう片方の側から略注目データ位置を抽出し、それら間に存在する空間を所定の近傍範囲としてもよい。そして、この場合には、制御部は、判定部が学習処理を終了すべきと判定した場合に、例えば学習データ取得部による学習データの取得の停止や、学習データ配置部による学習データの特徴空間内への配置の停止を制御する。あるいは、制御部は、判定部が学習処理を終了すべきと判定した場合に、出力部を制御して学習処理を終了すべき旨の情報を提示するようにしてもよい。
【産業上の利用可能性】
【００５０】
本発明にかかるデータ分類装置、データ分類方法、データ分類プログラムおよび電子機器は、サポートベクトルマシンを用いて学習処理を行うのに適しており、例えば、画像が特定のオブジェクトを含んでいるか否かを識別する場合や、医用画像中の特定組織を解剖学的名称や医学的所見と対応付ける場合に有用である。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態にかかるデータ分類装置の概略構成を示すブロック図である。
【図２】サポートベクトルマシンが作成する分離境界の概念を示す図である。
【図３】学習処理の手順を示すフローチャートである。
【図４】オンライン学習中の学習データと分離境界の関係を示す図である。
【図５】学習データ数とサポートベクトル数との関係および学習データ数と正答率との関係を示す図である。
【図６】学習データ数とサポートベクトル数との関係および学習データ数と正答率との関係を示す図である。
【符号の説明】
【００５２】
１  データ分類装置
１０  入力部
１１  学習データ取得部
２０  出力部
２１  表示部
３０  記憶部
４０  ソフトマージンサポートベクトルマシン
５０  制御部
５１  学習制御部
５２  サポートベクトル数取得部
５３  正答率取得部
５４  判定部
５５  飽和判断部
５６  低下判断部
【図１】
0005244438.tif 000003
【図２】
0005244438.tif 000004
【図３】
0005244438.tif 000005
【図４】
0005244438.tif 000006
【図５】
0005244438.tif 000007
【図６】
0005244438.tif 000008