(57)【特許請求の範囲】
【請求項１】
分類対象に係る訓練データを入力する訓練データ入力手段と、
前記訓練データ入力手段より入力された前記訓練データに基づき機械学習を行う学習手段と、
前記学習手段での学習時に、前記訓練データ入力手段より入力された前記訓練データを抽出してそれぞれ学習して得られたモデルの類似性に基づいて、前記訓練データ又は前記訓練データに関する情報が不足しているか否かを判定する判定手段と、
前記判定手段により前記訓練データ又は前記訓練データに関する情報が不足していると判定された場合に、前記訓練データ又は前記訓練データに関する情報の追加を促すメッセージを通知する通知手段とを有することを特徴とする情報処理装置。
【請求項２】
前記訓練データに与えられた分類に係るラベルの根拠とするラベル以外の情報を参照し、参照した前記情報の整合性に基づいて前記通知手段が前記訓練データ又は前記訓練データに関する情報の追加を促すメッセージを通知することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記通知手段により通知されたメッセージに応じて追加された前記訓練データ又は前記訓練データに関する情報に基づき、さらに前記学習手段が機械学習を行うことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記訓練データとして訓練正常データ及び訓練異常データの少なくとも一方が入力され、前記学習手段が、入力された前記訓練正常データ及び前記訓練異常データの少なくとも一方に基づいて機械学習を行うことを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
分類対象に係る訓練データを入力する訓練データ入力工程と、
入力された前記訓練データに基づき機械学習を行う学習工程と、
前記訓練データに基づく学習時に、前記訓練データ入力工程で入力された前記訓練データを抽出してそれぞれ学習して得られたモデルの類似性に基づいて、前記訓練データ又は前記訓練データに関する情報が不足しているか否かを判定する判定工程と、
前記訓練データ又は前記訓練データに関する情報が不足していると判定された場合に、前記訓練データ又は前記訓練データに関する情報の追加を促すメッセージを通知する通知工程とを有することを特徴とする情報処理方法。
【請求項６】
分類対象に係る訓練データを入力する訓練データ入力ステップと、
入力された前記訓練データに基づき機械学習を行う学習ステップと、
前記訓練データに基づく学習時に、前記訓練データ入力ステップで入力された前記訓練データを抽出してそれぞれ学習して得られたモデルの類似性に基づいて、前記訓練データ又は前記訓練データに関する情報が不足しているか否かを判定する判定ステップと、
前記訓練データ又は前記訓練データに関する情報が不足していると判定された場合に、前記訓練データ又は前記訓練データに関する情報の追加を促すメッセージを通知する通知ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
データ解析を行う際や、複数のデータを用いて学習した識別器によって、新たなデータが学習済データに属する性質を持つか否かを判定する認識問題において、過剰適合（過適合、過学習）と呼ばれる問題が起きることがある。過剰適合は、学習するモデルの自由度の高さに比して学習させるデータが少ない場合に起き、訓練データに対しては学習されているが、未知データに対しては適合できておらず汎化能力が不足している状態のことである。
【０００３】
過剰適合について図１４を参照し説明する。図１４は、訓練データが少なくなるにつれて正しいモデルを学習することが困難になることを示した図である。訓練データの分布を任意の識別器によって学習するという課題に対し、図１４（Ａ）、図１４（Ｂ）、図１４（Ｃ）の順に、それぞれ特徴空間内で訓練データの数を６個、２３個、６１７個と増やした様子を可視化して示している。図１４（Ｄ）、図１４（Ｅ）、図１４（Ｆ）は、それぞれ訓練データから学習して得られた訓練データの分布を推定したモデルを可視化している。
【０００４】
図１４（Ａ）に示す訓練データから学習されたモデルを図１４（Ｄ）に示し、図１４（Ｂ）に示す訓練データから学習されたモデルを図１４（Ｅ）に示し、図１４（Ｃ）に示す訓練データから学習されたモデルを図１４（Ｆ）に示している。図１４（Ｃ）に示す訓練データは推定対象の分布に対して充分な数が有った場合として例示しており、図１４（Ａ）及び図１４（Ｂ）は不足している場合を例示している。これらによって推定された図１４（Ｄ）及び図１４（Ｅ）に示すモデルは、図１４（Ｆ）に示すモデルとは異なり狭い領域を学習してしまっており、正しく学習できなかったことがわかる。この誤ったモデルによってテストデータの分類をすると分類誤りが発生する。
【０００５】
過剰適合を避けるための方法として、（１）学習するモデルの媒介変数を減らす方法、（２）正則化項を導入する方法、（３）モデル化計算の早期打ち切り（early stopping）等が知られている。前記（１）による方法は、学習モデルを少ない媒介変数で定義できる比較的単純な物にしたり、いくつかの媒介変数を固定値に設定したりすることによって、少ないデータによってもたらされる真の分布から大きくずれたモデルを得ることを回避することができる。
【０００６】
（２）は、ロジスティック回帰やサポートベクターマシンのように特徴量に対する重みを用いるモデルでは、モデル化の際に最小化する対象である誤差関数に正則化項を追加することでモデルの複雑度・自由度を抑制することができるという方法である。また、（３）のモデル化計算の早期打ち切りは、訓練データに適合しすぎる前に学習を打ち切ることによって汎化性能が高まるという方法である。
【０００７】
前述した（１）、（２）、（３）の方法にはそれぞれ課題がある。例えば、（１）では事前にデータの分布の状態等を知っている必要があるが、データの分布の状態を予め知っていることは稀であり汎用性に乏しい。また事前に得たデータの分布に関する情報が間違っていた場合には真の分布から大きく外れたモデルが推定される可能性が高い。（２）の正則化パラメータでは、どの程度訓練データに適応するかを制御することができるが、訓練データへの適応を強めると過剰適合になるリスクが高まり、正則化による抑制を強めるとモデルは訓練データへの適応から離れていき非効率になる。（３）に関しても同様に訓練の打ち切りをやりすぎると訓練データへの適応が強くなりすぎてしまい過剰適合になるリスクが高まる一方で、打ち切りが早すぎると真のモデルとは遠くかけ離れてしまう。
【０００８】
前述した（１）、（２）、（３）の方法において適切なパラメータを選択するための方法としては、訓練データの一部を訓練後のモデルの良さを測るために取り分けておき、これを訓練に使わずに検証用データとして用いて検証する方法がある。例えば、（３）であれば、訓練用に取り出したデータで学習したモデルを用いて検証用のデータで性能を検証することで過剰適合が起こり始めるのを検知して訓練を止めることができる。（１）、（２）に関してもパラメータの探索を同様にして行い過剰適合を避けながら訓練データへ適度に適合する良いパラメータを選択することができる。
【０００９】
また、過剰適合が起こったことを検知して、これを抑制する方法としては例えば特許文献１に記載の技術が提案されている。この方法は複数段の弱判別器により学習を行う場合に、弱判別器に対する評価値の推移から過剰適合を検知して学習データを追加して対処する方法である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第５３３５５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
前記（１）、（２）、（３）で説明した過剰適合を避ける仕組みを組み込むことにより、不足した情報によって被る精度劣化を最小限に抑えることは可能であるが、実質的にデータが少ないことで得られなかった分布の情報に関して情報を補うことはできない。外観検査等の応用での利用形態によっては、前述したような過剰適合対策だけでなく、データが不足していることをユーザに知らせることによって識別器の表現能力を極力保ちながら良好な識別能力を得ることが望まれる場合がある。
【００１２】
本発明は、このような事情に鑑みてなされたものであり、学習した訓練データだけでは過剰適合が起こる可能性があることを学習段階の間に検知し、データの追加やその他情報の追加をユーザに促すことで過剰適合を避けられるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る情報処理装置は、分類対象に係る訓練データを入力する訓練データ入力手段と、前記訓練データ入力手段より入力された前記訓練データに基づき機械学習を行う学習手段と、前記学習手段での学習時に、前記訓練データ入力手段より入力された前記訓練データを抽出してそれぞれ学習して得られたモデルの類似性に基づいて、前記訓練データ又は前記訓練データに関する情報が不足しているか否かを判定する判定手段と、前記判定手段により前記訓練データ又は前記訓練データに関する情報が不足していると判定された場合に、前記訓練データ又は前記訓練データに関する情報の追加を促すメッセージを通知する通知手段とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、学習時に訓練データやその他の情報の不足により過剰適合が起こる可能性があると判定した場合には、データの追加やその他情報の追加をユーザに促すことで過剰適合を避けることが可能となり、分類精度を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における情報処理装置を実現可能なコンピュータ機能を示す図である。
【図２】本実施形態における情報処理装置の機能構成例を示す図である。
【図３】本実施形態での学習過程の一例を示すフローチャートである。
【図４】第１の実施形態での処理動作例を示すフローチャートである。
【図５】訓練データの数に応じて推定されるモデルを説明するための図である。
【図６】第１の実施形態において訓練データ不足検知時に表示するメッセージの例を示す図である。
【図７】第１の実施形態において訓練データ不足検知時に表示するメッセージの他の例を示す図である。
【図８】過剰適合が起こり易い訓練データ例、起こり難いデータ例を示す図である。
【図９】第２の実施形態での処理動作例を示すフローチャートである。
【図１０】第２の実施形態において過剰適合が起こる可能性の検知時に表示するメッセージの例を示す図である。
【図１１】第２の実施形態においてユーザに異常領域の問い合わせ、教示を受付ける画面の一例を示す図である。
【図１２】第３の実施形態においてユーザの異常スコア順教示を受付ける画面の一例を示す図である。
【図１３】第３の実施形態での処理動作例を示すフローチャートである。
【図１４】過剰適合について説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面に基づいて説明する。
【００１７】
（第１の実施形態）
本発明の第１の実施形態について説明する。図１は、本発明の実施形態における情報処理装置を実現可能なコンピュータ機能を示すブロック図である。例えば、本実施形態における情報処理装置は、図１に示すようなコンピュータ機能１００を有し、そのＣＰＵ１０１により以下に説明する各実施形態での動作が実施される。
【００１８】
コンピュータ機能１００は、図１に示すように、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３とを備える。また、操作部（ＣＯＮＳ）１０９のコントローラ（ＣＯＮＳＣ）１０５と、ＬＣＤ等の表示部としてのディスプレイ（ＤＩＳＰ）１１０のディスプレイコントローラ（ＤＩＳＰＣ）１０６とを備える。さらに、ハードディスク（ＨＤ）１１１、及びフレキシブルディスク等の記憶デバイス（ＳＴＤ）１１２のコントローラ（ＤＣＯＮＴ）１０７と、ネットワークインタフェースカード（ＮＩＣ）１０８とを備える。それら機能部１０１、１０２、１０３、１０５、１０６、１０７、１０８は、システムバス１０４を介して互いに通信可能に接続された構成としている。
【００１９】
ＣＰＵ１０１は、ＲＯＭ１０２又はＨＤ１１１に記憶されたソフトウェア、又はＳＴＤ１１２より供給されるソフトウェアを実行することで、システムバス１０４に接続された各構成部を総括的に制御する。すなわち、ＣＰＵ１０１は、以下に説明するような動作を行うための処理プログラムを、ＲＯＭ１０２、ＨＤ１１１、又はＳＴＤ１１２から読み出して実行することで、本発明の実施形態での動作を実現するための制御を行う。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ又はワークエリア等として機能する。
【００２０】
ＣＯＮＳＣ１０５は、ＣＯＮＳ１０９からの指示入力を制御する。ＤＩＳＰＣ１０６は、ＤＩＳＰ１１０の表示を制御する。ＤＣＯＮＴ１０７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び各実施形態における動作を実現するための処理プログラム等を記憶するＨＤ１１１及びＳＴＤ１１２とのアクセスを制御する。ＮＩＣ１０８はネットワーク１１３上の他の装置と双方向にデータをやりとりする。
【００２１】
図２は、本実施形態における情報処理装置の機能構成例を示すブロック図である。図２には、本実施形態における情報処理装置が有する機能部のうちの特徴的要素のみを示している。本実施形態における情報処理装置は、訓練データ入力部２０１、識別モデル学習部２０２、データ入力部２０３、特徴量抽出部２０４、分類処理部２０５、判定部２０６、及び通知部２０７を有する。
【００２２】
識別モデル学習部２０２は、訓練データ入力部２０１より入力される、分類したい対象に関する訓練データ（例えば、訓練画像データ）に基づき機械学習を行い、対象を分類するためのモデルを学習する。特徴量抽出部２０４は、データ入力部２０３より入力されるデータ（例えば、画像データ）から特徴量を抽出する。分類処理部２０５は、特徴量抽出部２０４により抽出された特徴量及び識別モデル学習部２０２により学習したモデルを基に、入力されたデータが学習済データに属する性質を持つか否かを分類する。
【００２３】
判定部２０６は、識別モデル学習部２０２での機械学習において訓練データやそれに関する情報が不足しているか否かを訓練時（学習時）に判定する。言い換えれば、判定部２０６は、識別モデル学習部２０２での機械学習において、既に学習した訓練データだけでは過剰適合が起こる可能性があるか否かを訓練時に判定する。通知部２０７は、判定部２０６により訓練データやそれに関する情報が不足していると判定された場合に、訓練データやそれに関する情報の追加をユーザに促すための通知を行う。
【００２４】
以下、第１の実施形態について具体的に説明する。第１の実施形態は、過剰適合が起こる可能性があるかどうかを訓練データからリサンプリングした複数のデータセットによって検知する方法である。
【００２５】
一例として、外観検査装置において画像が入力され、入力された画像から特徴量を抽出し、抽出された特徴量によって入力された画像が正常データであるか異常データであるかを分類するという具体的な問題を考える。良好な分類精度を得るために事前に外観検査用の訓練正常画像及び訓練異常画像のそれぞれがユーザによって複数用意され、この訓練画像セットを用いて入力された画像から正常データと異常データを分類するのに適した特徴量のセット等が学習されるものとする。
【００２６】
なお、学習時に画像から抽出される特徴量をＮ個（Ｎは自然数）とする。また、初期に抽出されるＮ個の特徴量は、以降の各実施形態において充分な数の特徴量であるものとし、Ｎ個の抽出特徴に分類問題にとって不足があることに起因する問題については考えないものとする。また、Ｎ個の特徴量の中で、正常データと異常データを分離するのに有意義な特徴量のセットは、Ｎ個に比してずっと少なく、その数をＭ個と仮定する（Ｍは、Ｍ＜Ｎの自然数）。つまり、正常データと異常データの真の分布が判っていたとすると、その２つのクラスを分離するのに正解となる特徴量のセットはＭ個の特徴量で表現される空間内で定義できるものとする。また、各特徴量には、どの特徴量であるかを識別するために特徴量識別ＩＤが１〜Ｎと付番されているものとする。
【００２７】
以上の設定で、識別モデル学習部２０２が、図３（Ａ）に示す学習過程により正常データと異常データを分離する特徴量セットを選択し識別モデルを学習する。まず、ステップＳ３０１Ａにて、Ｎ個の特徴量がすべての訓練画像から抽出される。次に、ステップＳ３０２Ａにて、訓練正常データと訓練異常データの分離度を基準として特徴量をスコア化して全Ｎ個の特徴量に評価値を与える。続いて、ステップＳ３０３Ａにて、ステップＳ３０２Ａにおいて与えられた評価値を基に良い特徴量から順に１位からＮ位まで順位を付け、特徴量順位リストを作成する。次に、ステップＳ３０４Ａにて、特徴量順位リストの上位から１個、２個、…、ｄ個の特徴量を選択し、ステップＳ３０５Ａにて、選択された特徴量のセットを用いて最も正常データと異常データを分離する識別器を学習する。
【００２８】
以上、一連の学習で推定された識別器から最も性能が高い結果となった識別器を今回求める識別器とする。なお、図３（Ａ）のステップＳ３０４Ａ及びＳ３０５Ａをより効果的に行うように詳細に記載したフローチャートを図３（Ｂ）及び図３（Ｃ）に示す。すなわち、ステップＳ３０１Ｂ〜Ｓ３０３Ｂにて、図３（Ａ）に示したステップＳ３０１Ａ〜Ｓ３０３Ａと同様の処理を行い、ステップＳ３０４Ｂにて、図３（Ｃ）に示す識別器を学習する処理を行う。
【００２９】
図３（Ｃ）に示す識別器を学習する処理では、探索範囲次元数から学習される識別器のすべての性能を得るまで、ｄの値を１〜Ｎと順次変化させてステップＳ３０５Ｂ〜Ｓ３０８Ｂの処理を繰り返す。すなわち、特徴量順位リストの上位からｄ個の特徴量を選択し（Ｓ３０６Ｂ）、選択した特徴量のセットを用いて識別器を学習する（Ｓ３０７Ｂ）ことを繰り返す。そして、ステップＳ３０９Ｂにて、学習により得られた識別器の中から最も正常データと異常データを分離する最良の識別器を選択する。
【００３０】
前述した手順は簡単な処理フローとなっているが、本発明はこういった単純な学習フローに対しても意義のある効果を示し、アルゴリズムに依存しない方法として提案する。なお、以下ではさらに説明内容を明確にするために、利用する識別器は、ＣＬＡＦＩＣ法（CLAss-Featuring Information Compression method）によって定義するものとする。ＣＬＡＦＩＣ法により正常データに関する部分空間を定義し、定義された正常の領域から任意の距離以上離れたデータを異常データであると判定する識別器を考える。つまり、正常データと異常データを分離する２クラスの判別であるが、２クラスの部分空間を定義するのではなく、正常の部分空間のみを定義することで解を得る方法を取る。よって、本実施形態で考える具体的学習アルゴリズムでは学習すべき主なパラメータは選択特徴数や選択特徴リスト、部分空間の次元数や射影行列である。
【００３１】
前述したフローチャートによる学習を行う外観検査装置において、学習する際に訓練データの数がどれほど必要であるかというのは重要な問題である。一般的には、課題が難しければ難しい程データが多く必要であり、簡単であれば少なくても充分良い性能を示すとされる。課題の難しさは分類対象のクラスがどれほど類似したものであるか等で判断することができる。
【００３２】
ただし、外観検査装置を利用するユーザが装置のアルゴリズムを充分に理解し、アルゴリズムに対する課題の難しさを事前に知り適切なデータ数を揃えることは容易ではない。通常、訓練データの数が少なすぎれば正しく学習されないため、多い方が望ましいとされる。しかし、モデルを推定する際に利用する識別器を定義する媒介変数は有限であるため、訓練データを増やしたとしても、ある一定の数以上の訓練データを与えても識別器の性能は、それ以上良くならない限界を迎える。
【００３３】
よって、分類対象の難しさと事前に仮定している識別モデルの複雑さとによって適切なデータ数のおよその数を知り、現状のデータ数で足りているか不足しているかを判定することができる。特に、訓練データの数が足りている場合には問題無いが、不足している場合には正しい判定を行えない可能性が高い。そのため、訓練データの数が不足している場合には、データを補充する必要があるメッセージを出して現状の訓練データだけでは過剰適合が発生する可能性があり、良好な性能が得られないことを知らせる必要がある。
【００３４】
まず、１つの方法は、全Ｔ個の訓練データの集合から重複を許さずＳ個（Ｓ＝λＴ、０．５≦λ＜１．０）のデータのサンプリングをし、部分データ集合としたものを複数（最大TＣS個）用意して検知する方法である。この処理のフローは図４に示した。図４は、第１の実施形態での処理動作例を示すフローチャートである。識別モデル学習部２０２が、ステップＳ４０１にて、訓練データの集合から重複を許さず一部のデータのサンプリングをして複数のパターンのデータセットを作成し、ステップＳ４０２にて、作成した全データセット毎に識別器を学習する。そして、判定部２０６が、ステップＳ４０３にて、学習により得られた識別器を比較して学習安定度を算出し、ステップＳ４０４にて、算出された学習安定度を基に識別器の学習結果が安定しているか否かを判定する。言い換えれば、学習により得られたモデルの類似性を基に識別器の学習結果が安定しているか否かを判定する。その結果、識別器の学習結果が安定していないと判定した場合には、学習の追加（訓練データの追加）を促すメッセージを通知部２０６より通知する。
【００３５】
なお、前述した処理において、Ｓの値はＴ個の訓練データの分布の性質をおよそ継承するものとして設定する必要があるため、λの値は極力１に近い値を設定することが好ましい。ここではλ＝０．９５とした場合を仮定して説明する。サンプリングのバリエーションは多い程良いため、ここではサンプリング方法によってTＣSセットの部分データ集合を得たものとする。この部分データ集合のデータセット毎に前述したフローで学習することによって各データセットに対応するモデルがTＣS個推定される。ここで、推定されたTＣS個のモデルを定義するパラメータセットを得る。
【００３６】
もし、Ｔ＝∞であり推定するモデルを定義するパラメータセットが有限であるならば、ここで得られた各データセットで学習されるモデルはどれもほとんど同じモデルになり、定性的に学習結果は安定すると言える。この例ではＴ＝∞としたが、実際にはモデルを定義するパラメータセットが有限であるため、Ｓの値がある一定の値以上になった場合にはデータセット同士の僅かな差をモデルでは表現しきれなくなる限界が存在する。したがって、安定したモデルを得るにはＴ＝∞である必要は無く、Ｔの値は現実的な数で同様に安定したモデルを獲得することができる。このとき、各訓練データから推定されるモデルがどれもほとんど同じになる様子を図５（Ａ）に示す。図５（Ａ）に示す例では、充分な数の訓練データがあるために、学習に使うデータ５０１Ａと学習に使わないデータ５０２Ａとを変えても、推定されたモデル５０３Ａは安定しており同様のモデルが得られる。
【００３７】
逆に、Ｔの値が推定するモデルを定義するパラメータセットの自由度に比して極めて小さい場合には、TＣS個のデータセットそれぞれに大いに偏りが発生する可能性が高まる。そのため、各々から推定されたモデルには定性的に大きな違いが発生することになる。このときの各訓練データから推定されるモデルに大きな違いが発生する様子を図５（Ｂ）に示す。図５（Ｂ）に示す例では、訓練データの数が少ないために、学習に使うデータ５０１Ｂと学習に使わないデータ５０２Ｂとを変えると、学習に使うデータ５０１Ｂに応じて推定されたモデル５０３Ｂは大きく変わってしまう。
【００３８】
よって、サブサンプリングされたデータセットから推定されたモデルが、前提としているモデルにとって真の分布に近い推定モデルになる場合、各サブサンプリングされたセットから学習されたモデル同士は大変近いモデルになっている。したがって、学習が前提としているモデルにとってＴ（訓練データの数）が充分数あると判断することができる。一方、サブサンプリングされたデータセットから推定されたモデルがそれぞれ大きく異なっている場合には、Ｔ（訓練データの数）が学習にとって不充分であるということが判る。
【００３９】
よって、サブサンプリングされたデータセットから推定されたモデルが安定しているか不安定であるかを、推定モデルを定義するパラメータベクトル同士を比較することで検知することができる。この方法としていくつかの方法が考えられるが、推定モデルを定義するパラメータセットから不安定度スコアを設定するものとする。このモデル同士の距離をどのように定義するかがデータ過不足検知の性能に大きく関わる部分であるが、本実施形態においては次のように定義することで良い結果が得られる。
【００４０】
学習によって得られた２つのモデルによって決定される距離を定義するために、各モデルをモデルｉ、モデルｊと呼び、この２つのモデルから定義されるモデル間距離をｄｉｓｔ（ｉ，ｊ）と表記することにする。ｄｉｓｔ（ｉ，ｊ）は、次のベクトルによって定義される。まず、前述した方法によって学習されたそれぞれの結果、モデルｉ及びモデルｊの選択特徴からそれぞれ以下のように定義されるＮ次元ベクトルＶi、Ｖjを生成する。Ｎ次元の各次元に対応する要素は抽出特徴の識別ＩＤの１からＮまで順に対応し、各要素はそれぞれのモデルで選択される場合に１と表記し、されない場合に０と表記する。
【００４１】
ここで例えば、Ｎは本来充分大きい数を想定しているが説明を簡易に行うためＮ＝１１であった場合を考える。モデルｉでは抽出特徴から正常データと異常データを分離するのに適した特徴量のＩＤが１、３、５、１０、１１の５つの特徴であると学習された場合には、Ｖi＝（１，０，１，０，１，０，０，０，０，１，１）となる。また、モデルｊでは正常データと異常データを分離する特徴量のＩＤを１、５、８、１０、１１の５つの特徴であると学習された場合には、Ｖj＝（１，０，０，０，１，０，０，１，０，１，１）となる。
【００４２】
次に、この選択特徴からＣＬＡＦＩＣ法により正常データの分布を表す部分空間次元を学習したときの次元数をそれぞれＣｄi、Ｃｄjとし、それぞれＣｄi＝２、Ｃｄj＝４であったとする。このとき、ｄｉｓｔ（ｉ，ｊ）定義用に前記Ｖi、Ｖjに次元数の要素を連結して新たにＶi’、Ｖj’とし、これらの２つのベクトル間の距離をハミング距離によって決定する。つまり、Ｖi’＝（１，０，１，０，１，０，０，０，０，１，１，２）であり、Ｖj’＝（１，０，０，０，１，０，０，１，０，１，１，４）であるので、ハミング距離は３となる。
【００４３】
２つのモデルが最も異なった場合の最大ハミング距離は１２であることから、モデル間距離を０から１の間で正規化するためにモデル間距離をハミング距離／最大ハミング距離として定義すると、ｄｉｓｔ（ｉ，ｊ）＝０．２５となる。なお、ここではモデル間距離をハミング距離を元に定義したが、２つの数字列間の距離を定義できるものであれば何でも良い。また、モデルｉとモデルｊとの間の距離のみを考えたが、この距離をTＣS個のすべての推定モデル間の距離（差の絶対値）を累積して不安定度スコアとするため、不安定度スコアＳｃｏｒｅは以下のように定義される。
【００４４】
【数１】
0006632193.tif 000002
【００４５】
このスコアＳｃｏｒｅを基にデータが充分足りているかどうかの指標とする。スコアＳｃｏｒｅの値が小さければ各モデル同士は似通ったものであると判定することができ、スコアＳｃｏｒｅの値が大きければ大きいほど学習されたモデルが異なっていると判定することができる。
【００４６】
その他、モデル同士の距離の累積スコアよりも簡単に学習モデルの安定度を定義できる指標として精度ベースのスコアを用いても良い。精度ベースのスコアを用いる場合には、モデル間で距離を定義する必要はなく、以下のような手順でスコアを算出する。
【００４７】
全Ｔ個の訓練データの集合から重複を許さずＳ個のデータを抽出することで訓練用データセットを作成するが、各々のデータセットについて選択されなかった（Ｔ−Ｓ）個のデータで検証用のデータセットを作成する。よって、Ｓ個のデータで学習したモデルによる分類誤り率を残りの（Ｔ−Ｓ）個の検証用データで算出する。モデルｉの分類誤り率をＥｒｒｏｒ（ｉ）と呼び、モデルｉの性能指標とする。例えば検証用データ（Ｔ−Ｓ）個のうちＵ個（０≦Ｕ≦（Ｔ−Ｓ））のデータの分類を誤ったときの分類誤り率Ｅｒｒｏｒ（ｉ）はＵ／（Ｔ−Ｓ）として算出される。つまり、検証用データのすべてが正解した場合には分類誤り率が０になり、すべてのデータの分類結果を誤ると分類誤り率が１になるようにする。そして、TＣS個の学習されたすべてのモデルによる分類誤り率を求め、以下のようにして平均値を求めることで与えられた訓練データセットの過不足を判定するスコアＥｒｒｏｒとすることができる。
【００４８】
【数２】
0006632193.tif 000003
【００４９】
前記式（２）のスコアＥｒｒｏｒの値が大きい場合には検証データを除いたＳ個のデータで学習したモデルが大きく変わる傾向があることが判り、訓練データが不足している可能性が高いと判定できる。訓練データが充分な数ある場合には検証データを除いて学習してもモデルは安定し、性能は高く保たれる傾向が有ると判定できる。訓練データの過不足を判定するスコアの２種を説明したが、これらの組み合わせにより定義されるスコアを用いても良い。その場合には単純に２つのスコアの和を判定に用いるスコアとして利用するようにしても良い。
【００５０】
以上が訓練データの過不足を判定するスコアの例である。データのサンプリング法は前述したサブサンプリング方法に限らず学習データセットの中のいくつかのデータを選択してデータセットを複数パターン作成し学習を行うような方法であれば（例えばブートストラップ法やジャックナイフ法）、何でも良い。
【００５１】
前述のようにして得られたスコアを基に訓練データの過不足を判定し、訓練データが不足していると判定した場合には、例えば図６に示すようなメッセージを表示する。これにより、学習した訓練データだけでは過剰適合が起こる可能性があることが訓練段階の間に検知された場合に、訓練データの追加をユーザに促すことが可能となる。そして、ユーザにより追加された訓練データを受け、さらに学習を行うことによって、過剰適合を避けることができ、分類精度を向上させることができる。
【００５２】
また、スコア算出時に得られた結果を用いて、さらに細かな指示を出すこともできる。例えば、各モデルからその他のモデルへの距離の平均値を各モデルの不安定度スコアとして、式（３）のように定義する。
【００５３】
【数３】
0006632193.tif 000004
【００５４】
式（３）により算出されるスコアＳｃｏｒｅ（ｉ）がすべてのｉの中で最大であったものの訓練データセットに選択されなかった（Ｔ−Ｓ）個のデータの中に訓練データに不足している傾向のデータが含まれる可能性が高いと考えられる。そのため、図７（Ａ）に示すような、選択されなかった（Ｔ−Ｓ）個のデータに類似した訓練データの追加を促すメッセージを表示する。また、すべてのｉの中でスコアＳｃｏｒｅ（ｉ）が大きかったものから順に複数個抽出し、それらデータセットに共通して選ばれなかったデータが訓練データ内に不足している傾向のデータであると判定し、図７（Ｂ）に示すようなメッセージを表示しても良い。このようにすることで、適切な訓練データの追加をユーザに促すことができる。さらに、式（３）により得られるスコアＳｃｏｒｅ（ｉ）の代わりに、各モデルに対して検証用データで測定した精度基準により算出した式（２）により得られる分類誤り率Ｅｒｒｏｒ（ｉ）を用いても同様の判定を行うことができる。
【００５５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第２の実施形態は、過剰適合が起こる可能性があるかどうかを訓練途中又は訓練後の結果をユーザに提示することによってユーザに知らせて回避する方法である。以下では、前述した第１の実施形態と異なる点について説明する。
【００５６】
問題設定は第１の実施形態と同様である。外観検査装置において画像が入力され、入力された画像から特徴量を抽出し、抽出された特徴量によって入力された画像が正常データであるか異常データであるかを分類するという問題を考える。また、基本となる処理アルゴリズムを図９に示した。図９は、第２の実施形態での処理動作例を示すフローチャートである。ステップＳ９０１にて、異常データに対してすべての抽出特徴がどの領域に反応したか座標を保持する。続いて、ステップＳ９０２にて、同一異常データで異常領域として異なる箇所を示す特徴量を探索する。次に、ステップＳ９０３にて、異常領域の整合性、すなわち不整合が発生しているか否かを判定し、異常領域の不整合が発生している場合には、ステップＳ９０４にて、訓練データの追加又は正しい異常領域の教示を促すメッセージを表示させる。
【００５７】
ここで、第２の実施形態は、前述した第１の実施形態とともに適用することが可能であるが、特にサブサンプリングを用いなくとも実施することが可能である。また、１枚の入力画像から抽出されるＮ個の抽出特徴量は、それぞれ画像内の最大値や任意の局所内の最大輝度勾配等の統計量を基本としており、各特徴量は画像内のどの領域から抽出されたものであるかという座標を紐付けて各々保持しているものとする。
【００５８】
過剰適合が起こる場合の多くは、分類したい対象のクラスを分離する真の特徴ではなく、訓練データのランダムな特徴に適合してしまう場合である。この典型を与える訓練データのセットの例を図８（Ａ）に示す。図８（Ａ）において、上段の訓練正常データは一様パターンであるのに対し、下段の３個の訓練異常データにはすべてキズのような異常領域８０１があり、さらに製品にプリントされたロゴの一部８０２が写り込んでいる。このような訓練データの与え方をした場合、正常データから学習される分布から分離されて検知される信号はキズ領域から抽出された信号だけでなく、ロゴ領域から得られた特徴量も正常分布にはない信号であるとし異常候補領域として学習されてしまう。
【００５９】
この場合、キズはないがロゴが写り込んでいるテスト用正常データを入力すると、異常と検出するという誤りが発生する。これは真の正常データと異常データを分離する特徴を教示するにはデータが不足していたことに起因して無関係なロゴに反応するノイズ特徴量を識別モデルを学習する際に選択してしまったことによる過剰適合である。例えば図８（Ｂ）に示すような訓練データの与え方をすれば前述のような過剰適合は起こり得なかったはずである。
【００６０】
ここでは非常に簡単な例を示したが、課題の難しさに対してデータが少ない場合には、このような間違った学習が行われる可能性が高い。学習データを多く用意できればデータに偏りが発生する可能性を小さくすることができ、間違った特徴が選択されにくくなる。そこで、過剰適合の可能性を検知する方法として、以下の処理を行う。これは学習の途中であっても学習が終了した後に行っても良い。本実施形態では、学習の途中、選択特徴候補のリストが獲得された時点で保持している訓練データセットのみでは過剰適合が起こる可能性があることを検知するものとする。
【００６１】
訓練正常データがＰ個あるのに対し、訓練異常データがＱ個あるものとする。本実施形態では、分類対象を分類する識別モデルを学習する際に悪影響を及ぼす特徴を判定することで性能を高める仕組みを導入することのできるアルゴリズムすべてに適応することができ、汎用性が高い。しかし、より効果を明瞭に示すために以下では学習アルゴリズムの一例を詳細に記している。ただし、この設定に限らないことは言うまでもない。
【００６２】
識別モデルの学習が行われるとき、最初のステップではＮ個の特徴量に訓練正常データと訓練異常データの分離度を基準としてスコア化し、良い特徴量から順に１位からＮ位まで順位が付けられ、分離度が同率のものには同じ順位が与えられる。ここでは、簡単のため分離度を次のように定義して用いることにする。
【００６３】
まず、特徴量毎に正常データの分布が正規分布に基くと仮定する。そして、各特徴量において全訓練正常データの平均値と分散値を算出する。各々の特徴量を添え字ｆ（１≦ｆ≦Ｎ）で識別することにし、平均値をμf、分散値をσf2と表記する。これら値を各特徴における正常の分布モデル定義に用いる。よって、入力データが各特徴において正常らしいかどうかを判定するスコアを算出することができる。
【００６４】
この正常らしさのスコアをＮＳｃｏｒｅと呼称することにすると、入力データＸの抽出特徴ｆにおける観測値をＸfとした場合、このデータの特徴ｆにおける正常らしさのスコアは式（４）により表される。なお、スコアＮＳｃｏｒｅの算出においては（μf，σf2）の組によって各特徴量におけるデータの分布を正規化し、訓練正常データの分散を１．０にし、平均を０．０になるように変換する。訓練異常データやテストデータについても各特徴量のスコア算出時に（μf，σf2）によって同様の処理を行う。
【００６５】
【数４】
0006632193.tif 000005
【００６６】
つまり、正常データの分布の中心にあるデータの正常らしさのスコアが最大になり、分布の中心から離れるほど０に限りなく近付く。ここで、異常データはＱ個あるので、異常データセットをＡとし、各異常データを添え字に１〜Ｑを与えて識別して
【数５】
0006632193.tif 000006
と表記することとする。Ｎ個の特徴量において正常と異常の分離度を基準にスコアを与えるとすると、各特徴ｆの分離度スコアＦＳｃｏｒｅfは、式（６）のように定義することができる。
【００６７】
【数６】
0006632193.tif 000007
【００６８】
各特徴ｆの分離度を表すスコアＦＳｃｏｒｅfの値は０から１であり、高いスコア程良い特徴であることを表す。さらに、このスコアには訓練正常データのスコアを含めて評価した方が良い場合もある。例えば、本実施形態における各特徴量の評価の際には、正常データの分布が単峰性の正規分布に基くと仮定している。しかし、Ｎ個の特徴量の中には正常データが単峰性の正規分布に従っていないものがある場合があるため、こういった特徴量の評価を下げた方が良い結果が得られることがある。よって、式（８）に記すようにスコアＦＳｃｏｒｅfの算出に訓練正常データを用い、実際の正常データがどれ程算出された正常モデルに合致しているかを考慮したスコアを定義する。なお、Ｐ個の正常データは式（７）のように添え字で識別することとする。
【００６９】
【数７】
0006632193.tif 000008
【００７０】
【数８】
0006632193.tif 000009
【００７１】
前記式（６）又は式（８）により得られるスコアＦＳｃｏｒｅfの値を基にしてＮ個の特徴に順位を与える。ここで、生成されたスコア順に第１の実施形態と同様に上位からｄ個の特徴を選択し、この選択特徴セットからモデルを学習する。識別モデルは第１の実施形態と同様にＣＬＡＦＩＣ法により正常データの分布に対して良い説明を与える部分空間を求めることにより正常の分布から一定の距離以上離れたデータを異常として検出するという方法を取ることにする。そして、学習されたモデルの性能を比較することで選択すべき特徴数を決定する。
【００７２】
ただし、上位から順に並んだ特徴量のリストは分離度基準のみによる評価で決定したものである。そのため、訓練異常データの数Ｑが少なければ少ないほど、図８に示したように異常である根拠となっている信号以外のノイズで偶然正常の分布から異常データを分離することのできた特徴量が混入する可能性がある。そこで，選択特徴のチェックを以下の手順で行う。
【００７３】
過剰適合が起こり易い、訓練異常データが極端に少ない場合の代表事例としてＱ＝３である場合を考える。３個の異常データそれぞれが特徴ｆに関してスコアＮＳｃｏｒｅを持っている。スコアＮＳｃｏｒｅは、訓練正常データで正規化された分布を元に算出される正常らしさを基準にしたスコアであるため、スコアの値が小さい方が異常度が高いことになる。ここでは特徴量のチェックを簡易に行うために、閾値Ｔ（ｈ）を導入する。閾値Ｔ（ｈ）は、ユーザによって予め指定されている値ｈ（ｈ≧０）による関数であり式（９）によって自動的に決定する。
【００７４】
【数９】
0006632193.tif 000010
【００７５】
通常、値ｈは２．０〜３．０が適切な値である。これは、スコアＮＳｃｏｒｅを定義するモデルが平均が０、分散が１で正規化されて定義されるため、全特徴量をこの閾値によって評価して差し支えない。値ｈは、閾値Ｔ（ｈ）を用いた閾値処理の結果として得られる、後述する式（１１）の結果等を参照しながら適応的に決定しても良い。３個ある異常データＡ1，Ａ2，Ａ3のうち、特徴量ｆにおいて各データが示すスコアＮＳｃｏｒｅが式（１０）を満たすものが特徴量ｆで分離することができるデータと判定することにする。
【００７６】
【数１０】
0006632193.tif 000011
【００７７】
式（１０）によって判定することにより、Ｎ個ある特徴すべてが簡易的にどの異常データが分離できて、また分離できないかを仮決定することができる。簡単のため、Ｎ＝１１として１１個の特徴量が各異常データを分離できたがどうかを０又は１で表し、これら値をＮ個連結した数字の列をＧと名付けて各異常データ毎に設定する。このＧが３個の異常データのそれぞれに対し式（１１）に記したようになったとする。
【００７８】
【数１１】
0006632193.tif 000012
【００７９】
式（１１）からは、例えば異常データＡ1に関しては、特徴量ＩＤが１、３、４、７、９、１０のどれかを採用することによって正常データから分離できると判断される。また、１１個の特徴の中でＩＤが１の特徴量を選択するだけでＡ1、Ａ2、Ａ3すべてを検出することができそうであると判定されてしまう。そこで、それぞれの特徴量の中で実際の異常とは無関係なノイズに反応しているものが混入している可能性があるものを次のようにして検知する。
【００８０】
本実施形態では、前提としてＮ個の特徴には、その特徴が抽出された座標が紐付いている。例えば、画像内の最大値（最大輝度値）という特徴量であれば、画像内で最大の輝度が観測された座標を保持している。同様にして、全１１個の抽出特徴量がそれぞれの値の根拠となる座標を保持している。したがって、例えば異常データＡ1を分離した特徴量１、３、４、７、９、１０のすべてが異常領域に正しく反応していた場合には、それらの特徴量が保持する座標がすべて同様の領域を示す。仮に、この異常領域座標が近いかどうかを判定する距離閾値をＴNNとすると、異常候補領域が距離閾値ＴNN以内にある場合には同じ領域を示していると判定できることにする。この領域を根拠とする判定基準によって、異常データＡ1を分離した特徴量を分類する。この分類処理により特徴量ＩＤ１、４、１０が同じ領域Ｒ1を異常領域と判定していることがわかり、特徴量ＩＤ３、７、９が領域Ｒ2を異常領域と判定していることが判ったとすると、式（１１）のＡ1に関する式を式（１２）のように書き換えることができる。
【００８１】
【数１２】
0006632193.tif 000013
【００８２】
つまり，異常領域を判断基準に入れることによって異常を正しく分離している特徴量はどちらかが正しく、またどちらか一方は正常と異常を分離する特徴とは無関係なノイズで分離していただけである可能性があることが示されたことになる。同様にして、自動的に領域を基準として各特徴量に対する全異常データの分離可能／不可能をベクトルで表記し直したものが式（１３）のようになったとする。
【００８３】
【数１３】
0006632193.tif 000014
【００８４】
式（１３）によると異常データＡ2に関しては異常領域の不整合が起こらなかった結果とわかる。異常データＡ3に関しては異常領域と判定されたのが３か所に及ぶことが判る。よって、この中で真の異常信号に反応していない特徴量セットを表す組合せを求める方法は２つある。
【００８５】
まず１つの対処方法は、Ａ1やＡ3に類似した訓練異常データの追加をユーザに促すことで正常と異常を分離するのに無関係なノイズ特徴はどれであったのか求める方法であり、同様の異常データがすぐに用意できる場合には極めて容易に対処できる方法である。また、もう１つの対処方法は、式（１３）のように異常領域候補が複数検出された場合には、どちらが真の異常領域であるかをユーザに問い合わせ、教示を得ることで対処する方法である。これらを促すメッセージの一例を図１０に示した。また、ＧＵＩによって正しい異常領域を教示する画面の例を図１１に示した。図１１（Ａ）は異常領域をユーザの手によってポインタにより入力することで教示する様子を表している。また、図１１（Ｂ）は複数ある異常領域候補を表示し、どちらが異常領域であるかをポインタにより選択させる例を示している。
【００８６】
サンプルによっては複数の異常領域が画像内に存在することがあるため、複数選択することも可能である。ここでは異常領域を選択するという方法を例に挙げたが、その逆の異常領域ではない箇所を教示するという方法によっても同様の教示効果が得られることは言うまでもない。以上の教示方法により真の異常領域がユーザによって教示されると、複数あった有効な特徴量候補セットから良い方を選択することが可能となる。さらに、図１１で異常領域を正しく教示した後、該画像の異常領域のみから得られたＮ個の特徴量を新たに訓練異常データに追加し、異常領域以外の領域から得られたＮ個の特徴量を新たに訓練正常データに追加して学習する。これにより、正常データと異常データに関する教示をさらに明らかにすることができる。
【００８７】
以上の手順に従い、式（１３）から有効である特徴候補が絞られた結果の例が式（１４）である。
【数１４】
0006632193.tif 000015
【００８８】
この式（１４）を基に式（６）又は式（８）による特徴量ｆのスコアを評価し直したものをそれぞれ式（１５）及び式（１６）に示す。
【００８９】
【数１５】
0006632193.tif 000016
【００９０】
【数１６】
0006632193.tif 000017
【００９１】
このように式（１５）又は式（１６）で得たスコアによる特徴量評価による順位付けを行い、上位から特徴量のセットを選択した後、モデルの学習をすることによって過剰適合を避けた学習を導くことができる。
【００９２】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。第３の実施形態は、第２の実施形態と同様に、過剰適合が起こる可能性があるかどうかを訓練途中又は訓練後の結果をユーザに提示することによってユーザに知らせて回避する方法である。以下では、前述した第１、第２の実施形態と異なる点について説明する。
【００９３】
問題設定は第２の実施形態と同様である。外観検査装置において画像が入力され、入力された画像から特徴量を抽出し、抽出された特徴量によって入力された画像が正常データであるか異常データであるかを分類するという問題を考える。第３の実施形態では、異常信号に正しく反応しているかどうかを異常スコアの序列によって検知する方法である。前述した第２の実施形態では、異常信号の根拠となる領域の違いを検出してノイズ特徴の探索に利用したが、例えば同じ領域に反応した特徴量であったとしても異常スコアの大小関係が実態に則していない場合にはノイズに反応している可能性がある。第３の実施形態は、抽出特徴に局所領域の座標が紐付いていない場合にも効果を奏する。
【００９４】
第３の実施形態においては、第２の実施形態と同様の設定・手順にて訓練異常データを学習させるが、これら訓練異常データに対して異常であるというラベル以外に補助的に同種の異常については同種であることをさらに教示しているものとする。詳細なフローは図１３に示している。図１３は、第３の実施形態での処理動作例を示すフローチャートである。ステップＳ１３０１にて、異常種ラベル毎にすべての特徴量に対して異常スコア順に並べたリストを作成する。続いて、ステップＳ１３０２にて、異常種ラベル毎に異常スコア順の教示を受付ける画面を表示し、ステップＳ９０３にて、ユーザによる異常スコア順の教示を受付ける。そして、ステップＳ１３０４にて、異常順位の不整合が発生しているか否かを判定し、異常順位の不整合が発生している場合には、ステップＳ１３０５にて、ユーザにより教示された順序に合うように学習を行う。
【００９５】
例えば外観検査においては異常の形状等の見た目の様子からキズ、ムラ、ひび割れ等の名称が与えられて分類されていることがある。第２の実施形態と同様の手順にて分離度スコアを根拠にしてＮ個の特徴すべてにスコアＦＳｃｏｒｅfが与えられているとき、異常種ラベルを補助的に用いる。同じ異常種ラベルの付与された異常データの一部又はすべてに対して図１２に示すＧＵＩのようにして異常度スコアの序列を教示する。図１２に示す画面の例は装置側が推定した異常スコア順に並べた例をユーザに提示し、それをユーザ操作により修正させるといった入力方法として例示しているが、装置側は何も提示せずユーザが選択入力するようにしても良い。
【００９６】
全Ｎ個の特徴のそれぞれで式（４）により定義したスコアＮＳｃｏｒｅを基準としてスコアの低い物から順に順位を与える。このときの順位リストとユーザ教示により得られた順位リストとの差Ｐｄfを異常種ｌA毎に算出されたハミング距離ＤH（ｌA）の和によって計算し、特徴量評価時のペナルティスコアとして利用する。このとき、差Ｐｄfは式（１７）によって与えられる。なお、異常種ラベルはＬ種類あるものとし、ωは異常種ラベル毎にペナルティスコアの影響を調整する重みとして調整可能な変数とする。
【００９７】
【数１７】
0006632193.tif 000018
【００９８】
式（１７）によって得られた値を罰則項として第２の実施形態にて示した式（６）や式（８）、式（１５）、式（１６）に導入することによって式（１８）を得る。式（１８）におけるαは罰則項全体の影響を調整する重み変数である。式（１７）のωや式（１８）のαの値は、ユーザによってスライダーコントロール入力等で調整できるようにすれば良い。
【００９９】
【数１８】
0006632193.tif 000019
【０１００】
式（１８）により特徴量を評価することによって、ユーザの意図を反映させノイズ特徴を選択しにくい仕組みにすることができる。以上は事前に異常種ラベルという情報が利用できる場合として説明した。しかし、整備された情報として異常種ラベルが多くのデータに対して与えられていなくとも、いくつかの異常データに対して正常データから明瞭に分離すべきものとそうでないものに関してユーザが知っている場合がある。こういった場合であっても、少しでも学習時に情報を与えることでノイズ特徴を学習してしまうリスクを抑えることができる。それには以下で説明する重要度という概念を導入することで達成することが可能である。
【０１０１】
例えば、製品の機能や価値に大いに関わる異常データがある一方で、ほとんど関係ない異常データが存在する。そこで各異常データ（Ａ1，Ａ2，…，ＡQ）に対応する重要度γを式（１９）に示すように全訓練異常データについて設定する。
【０１０２】
【数１９】
0006632193.tif 000020
【０１０３】
例えば、異常データの重要度γの値の範囲を０．０〜１．０とし、初期値はすべての異常データの重要度γの値が０．５と設定されているとする。ユーザによる異常データの重要度設定をＧＵＩ上の簡単なスライダーコントロール入力等により受付けるようにしておくことで、これら異常データのうちのいくつかの検出における重要度を上げたり下げたりして設定可能とする。この場合のスコアＦＳｃｏｒｅfは式（２０）のように定義することでユーザの意図をより反映させたスコアにすることができる。
【０１０４】
【数２０】
0006632193.tif 000021
【０１０５】
なお、当然のことながら第２の実施形態に示した式（８）のように正常データの分布も考慮したスコアとして式（２１）のように定義しても良い。
【０１０６】
【数２１】
0006632193.tif 000022
【０１０７】
（本発明の他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０８】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０９】
２０１：訓練データ入力部  ２０２：識別モデル学習部  ２０３：データ入力部  ２０４：特徴量抽出部  ２０５：分類処理部  ２０６：判定部  ２０７：通知部
【図１】
0006632193.tif 000023
【図２】
0006632193.tif 000024
【図３】
0006632193.tif 000025
【図４】
0006632193.tif 000026
【図５】
0006632193.tif 000027
【図６】
0006632193.tif 000028
【図７】
0006632193.tif 000029
【図８】
0006632193.tif 000030
【図９】
0006632193.tif 000031
【図１０】
0006632193.tif 000032
【図１１】
0006632193.tif 000033
【図１２】
0006632193.tif 000034
【図１３】
0006632193.tif 000035
【図１４】
0006632193.tif 000036