(57)【要約】【課題】高精度な識別器を短時間で構築する識別器構築装置を提供する。【解決手段】識別器構築装置１は、観測データの各要素に加工処理を施して所定の範囲の整数値とし、各整数値をビットデータに変換し、各ビットデータの最上位ビットから最下位ビットまで、順位ごとにまとめて並べたビット列である変換データを生成し（Ｓ１１）、変換データを示す観測領域を二分決定グラフとして構築し（Ｓ１２）、観測領域の各ノードにおける最小項の数と密度を算出し（Ｓ１３、Ｓ１４）、観測領域の各枝に対して閾値を用いた判定を行い、接続先の変更を行う（Ｓ１６）。【選択図】図２
2011095878.tif 000002
【特許請求の範囲】
【請求項１】
未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する識別器構築装置であって、
観測データの各要素に加工処理を施して所定の範囲の整数値とし、各整数値をビットデータに変換し、各ビットデータの最上位ビットから最下位ビットまで、順位ごとにまとめて並べたビット列である変換データを生成する変換手段と、
前記変換データを示す観測領域を二分決定グラフとして構築する第１の構築手段と、
データパターン全体の領域から判定範囲を決定し、前記判定範囲に対する前記観測領域の密度と閾値を比較し、前記密度が閾値よりも大きい場合には、前記判定範囲全体を推定領域とし、前記推定領域を二分決定グラフとして構築する第２の構築手段と、
を具備することを特徴とする識別器構築装置。
【請求項２】
前記第２の構築手段は、複数の閾値を用いて前記推定領域を複数構築するものであり、
前記推定領域に対する情報量基準を算出することによって前記閾値の最適な値を決定する最適閾値決定手段、
を更に具備することを特徴とする請求項１に記載の識別器構築装置。
【請求項３】
前記第２の構築手段は、
前記観測領域の各ノードにおける最小項の数を算出する第１の算出手段と、
前記変換データに含まれるビット数をｎとしたときに、前記最小項の数を２のｎ乗で除した値を各ノードにおける密度として算出する第２の算出手段と、
前記観測領域の各枝に対して、接続先のノードにおける前記密度が前記閾値よりも高く、かつ接続元のノードよりも接続先のノードのレベルが高い場合には、接続先を定数ノードに変更する変更手段と、
を具備することを特徴とする請求項１に記載の識別器構築装置。
【請求項４】
前記変換手段は、前記ビットデータをカテゴリカルデータと数値データに区分し、前記カテゴリカルデータを上位、前記数値データを下位となるように並び替えて、前記数値データに対してのみ最上位ビットから最下位ビットまで、順位ごとにまとめて並び替えるものであることを特徴とする請求項１に記載の識別器構築装置。
【請求項５】
請求項１に記載の識別器構築装置によって構築された前記推定領域を用いて、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別手段、
を具備することを特徴とする識別器。
【請求項６】
前記識別手段によって特定のクラスに識別されなかったデータパターンに対して、特定のクラスに識別されなかったことに関与している要素の絞り込みを行う絞り込み手段、
を更に具備することを特徴とする請求項５に記載の識別器。
【請求項７】
コンピュータを請求項１から請求項４のいずれかに記載の識別器構築装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する識別器構築装置等に関するものである。
【背景技術】
【０００２】
クラスラベルのない学習用データからデータの高密度領域を推定する問題は、１クラス問題と呼ばれる。１クラス問題は、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する問題と同値である。
１クラス問題の代表的な手法としては、非特許文献１に記載されている１クラスＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）の手法が知られている。
【０００３】
１クラスＳＶＭでは、入力データを適切な非線形写像によって高次の特徴空間に写像し、それらのデータと原点を分離する超平面のうち、原点からの距離が最大のものを選択する。未知のデータに対しては、そのデータが超平面のどちら側に分類されるかによって識別する。この手法では、適切な非線形写像を用いることにより、非線形領域を高精度に記述することができる。
また、一定割合のデータが超平面よりも原点側に分類されることを許すことにより、学習データ中に含まれる外れ値に対応する。超平面の推定は、最適化問題（凸二次計画問題）を解くことで行われる。凸二次計画問題は、データ数があまり大きくなければ比較的速く解が求まるので、従来技術の中では、１クラスＳＶＭが１クラス問題に最適な手法と考えられている。
１クラスＳＶＭでは、外れ値の割合を指定するパラメータと、非線形写像を決めるカーネルパラメータ（ガウシアンカーネルの場合は分散パラメータ）をチューニングし、最適な超平面を選択する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｓｃｈｌｋｏｐｆ，Ｂ．ｅｔ．ａｌ．，“Ｅｓｔｉｍａｔｉｎｇ  ｔｈｅ  Ｓｕｐｐｏｒｔ  ｏｆ  ａ  Ｈｉｇｈ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｄｉｓｔｒｉｂｕｔｉｏｎ”，Ｎｅｕｒａｌ  ｃｏｍｐｕｔａｔｉｏｎ，７，１４４３−１４７１，２００１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、１クラスＳＶＭでは、以下に示す様々な問題がある。
１つ目の問題は、オンライン学習ができないことである。オンライン学習とは、データが１つずつ逐次的に与えられる状況において、データを１つずつ見て、データが与えられるたびにパラメータを更新していく学習方法である。１クラスＳＶＭでは、追加データを反映するために全てのデータに対して再度計算し直す必要がある。しかし、計算時間を考えると、パラメータを決定した後（学習後）、追加データが与えられるたびに計算することは非現実的である。また、全てのデータに対して再度計算するので、今までのデータを全てまとめて保持しておく必要があることもデメリットとなる。
【０００６】
２つ目の問題は、学習用データの数が多くなると、最適化問題を解くために非常に時間がかかることである。二次計画問題の計算量は、学習用データの数の３乗のオーダーで増大していく。
【０００７】
３つ目の問題は、チューニングに必要なパラメータが最低２つ存在し、更に探索空間が広いことである。例えば、ガウシアンカーネルの場合は分散パラメータを用いる。分散パラメータの探索空間は正の実数値なので、非常に広い範囲でチューニングを試みる必要がある。結果として、適切な値を見つけるために非常に時間がかかる。
【０００８】
４つ目の問題は、パラメータをチューニングするために、クラスラベルが付いたデータを必要とすることである。従って、クラスラベルが付いたデータを十分に用意できない問題に対しては汎用性が担保できず、１クラスＳＶＭを適用できない。
クラスラベルが付いたデータが必要な理由は、クロスバリデーションによってパラメータの値を評価するためである。また、クロスバリデーションは膨大な計算量が必要となることも問題となる。
【０００９】
５つ目の問題は、１クラスＳＶＭによって構築された識別器が、特定のクラスに識別されなかったデータを解析する機能がないことである。例えば、識別器が異常値検出に用いられる場合、特定のクラスに識別されなかったデータ（＝異常値）を解析する機能が必要となる。
【００１０】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、高精度な識別器を短時間で構築する識別器構築装置等を提供することである。また、識別後にデータを解析する機能を有する識別器を提供することである。
【課題を解決するための手段】
【００１１】
前述した目的を達成するために第１の発明は、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する識別器構築装置であって、観測データの各要素に加工処理を施して所定の範囲の整数値とし、各整数値をビットデータに変換し、各ビットデータの最上位ビットから最下位ビットまで、順位ごとにまとめて並べたビット列である変換データを生成する変換手段と、前記変換データを示す観測領域を二分決定グラフとして構築する第１の構築手段と、データパターン全体の領域から判定範囲を決定し、前記判定範囲に対する前記観測領域の密度と閾値を比較し、前記密度が閾値よりも大きい場合には、前記判定範囲全体を推定領域とし、前記推定領域を二分決定グラフとして構築する第２の構築手段と、を具備することを特徴とする識別器構築装置である。
第１の発明では、チューニングが必要なパラメータは１つだけなので、識別器が用いる推定領域を精度良く短時間に構築することができる。また、二分決定グラフとして観測領域、推定領域を構築するので、繰り返して行う中核的な計算処理の対象となるデータ容量を抑えることができ、全体の計算処理を短時間で実行することができる。また、二分決定グラフとして推定領域を構築するので、学習後の追加データを推定領域に含めることが容易となる。
【００１２】
第１の発明における前記第２の構築手段は、複数の閾値を用いて前記推定領域を複数構築するものであり、第１の発明は、前記推定領域に対する情報量基準を算出することによって前記閾値の最適な値を決定する最適閾値決定手段、を更に具備することが望ましい。
情報量基準によって最適な閾値を決定するので、パラメータ（閾値）のチューニング処理を短時間で行うことができる。また、情報量基準の計算にはクラスラベルの付いたデータが不要なため、クラスラベルの付いたデータを十分に用意できない問題に対しても、パラメータチューニングを容易に行うことができる。
【００１３】
第１の発明における前記第２の構築手段は、前記観測領域の各ノードにおける最小項の数を算出する第１の算出手段と、前記変換データに含まれるビット数をｎとしたときに、前記最小項の数を２のｎ乗で除した値を各ノードにおける密度として算出する第２の算出手段と、前記観測領域の各枝に対して、接続先のノードにおける前記密度が前記閾値よりも高く、かつ接続元のノードよりも接続先のノードのレベルが高い場合には、接続先を定数ノードに変更する変更手段と、を具備するものである。
これによって、推定領域の構築を短時間で行うことができる。また、接続元のノードよりも接続先のノードのレベルが高い場合に接続先を定数ノードに変更するので、計算結果が観測データに含まれる要素同士の順位関係に依存せず、要素同士の関係性を示す情報等がなくても高精度な識別器を構築することができる。
【００１４】
第１の発明における前記変換手段は、前記ビットデータをカテゴリカルデータと数値データに区分し、前記カテゴリカルデータを上位、前記数値データを下位となるように並び替えて、前記数値データに対してのみ最上位ビットから最下位ビットまで、順位ごとにまとめて並び替えるものであることが望ましい。
これによって、距離の概念が導入できないカテゴリカルデータと、数値データを区分して観測領域を構築することができる。
【００１５】
第２の発明は、第１の発明の識別器構築装置によって構築された前記推定領域を用いて、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別手段、を具備することを特徴とする識別器である。
第２の発明は、未知のデータパターンを特定のクラスとそれ以外のクラスに高精度に識別することができる。
【００１６】
第２の発明は、前記識別手段によって特定のクラスに識別されなかったデータパターンに対して、特定のクラスに識別されなかったことに関与している要素の絞り込みを行う絞り込み手段、を更に具備することが望ましい。
これによって、特定のクラスに識別されなかったデータを解析することができる。例えば、識別器が異常値検出に用いられる場合、異常に関与する要素の絞り込みを行うことができる。
【００１７】
第３の発明は、コンピュータを第１の発明の識別器構築装置として機能させるためのプログラムである。
第３の発明は、一般的なコンピュータを第１の発明の識別器構築装置として機能させることができる。
第３の発明のプログラムは、ネットワークを介して配布することもできる。また、第３の発明のプログラムは、サーバにインストールすることで、ネットワークを介して他のコンピュータに使用させることもできる。
【発明の効果】
【００１８】
本発明により、高精度な識別器を短時間で構築する識別器構築装置等を提供することができる。また、識別後にデータを解析する機能を有する識別器を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】識別器構築装置１のハードウエア構成図
【図２】識別器構築装置１の処理の詳細を示すフローチャート
【図３】ビットの並び替え処理の一例を示す図
【図４】観測領域３１の一例を示す図
【図５】各ノードにおける最小項の数の算出処理を説明する図
【図６】最小項の数の算出結果の一例を示す図
【図７】各ノードにおける密度の算出処理を説明する図
【図８】密度の算出結果の一例を示す図
【図９】閾値を用いた判定処理を説明する図
【図１０】接続先の変更結果の一例を示す図
【図１１】閾値による推定領域の変化を示す図
【図１２】情報量基準の算出結果の一例を示す図
【図１３】情報量基準による閾値のチューニング結果の詳細を示す図
【図１４】ＲＯＣ曲線とＡＵＣのグラフを示す図
【図１５】スムージング処理を説明する模式図
【図１６】要素の絞り込み処理を説明する模式図
【発明を実施するための形態】
【００２０】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
本発明の実施形態では、識別器がシステムの異常値検出（ａｎｏｍａｌｙ  ｄｅｔｅｃｔｉｏｎ）に用いられる場合を想定して説明する。学習用データは実際のシステムにおいて観測された観測データとする。
尚、本発明が対象とする識別器の用途は、異常値検出に限られず、外れ値検出（ｏｕｔｌｉｅｒ  ｄｅｔｅｃｔｉｏｎ）、特異値検出（ｎｏｖｅｌｔｙ  ｄｅｔｅｃｔｉｏｎ）など、未知のデータパターンを特定のクラスとそれ以外のクラスに識別するものであればどのような用途でも良い。
【００２１】
図１は、識別器構築装置１のハードウエア構成図である。尚、図１のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【００２２】
識別器構築装置１は、制御部１１、記憶部１２、メディア入出力部１３、通信制御部１４、入力部１５、表示部１６、周辺機器Ｉ／Ｆ部１７等が、バス１８を介して接続される。
【００２３】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００２４】
ＣＰＵは、記憶部１２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス１８を介して接続された各装置を駆動制御し、識別器構築装置１が行う後述する処理を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部１２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部１１が各種処理を行う為に使用するワークエリアを備える。
【００２５】
記憶部１２は、ＨＤＤ（ハードディスクドライブ）であり、制御部１１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部１１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００２６】
メディア入出力部１３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）等のメディア入出力装置を有する。
通信制御部１４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
【００２７】
入力部１５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部１５を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部１６は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００２８】
周辺機器Ｉ／Ｆ（インタフェース）部１７は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部１７を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部１７は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
バス１８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００２９】
図２は、識別器構築装置１の処理の詳細を示すフローチャートである。以下では、必要に応じて図３〜図１２を参照し、単純なデータ例と合わせて処理の詳細を説明する。
【００３０】
図２に示すように、識別器構築装置１の制御部１１は、後続の処理を行う前処理として、観測データを変換する（Ｓ１１）。観測データは、複数の要素を含み、診断対象のシステムが正常な状態において同時に観測されたデータパターンである。例えば、診断対象のシステムが車両システムの場合、観測データは、ある時刻に観測された車速、回転数、ＡＣＣ（Ａｕｔｏ  Ｃｒｕｓｅ  Ｃｏｎｔｒｏｌ）のＯＮ／ＯＦＦなどの複数要素のデータパターンである。
観測データに含まれる要素は、車速、回転数のような数値データ、ＡＣＣのＯＮ／ＯＦＦのようなカテゴリカルデータのいずれかに区分される。
【００３１】
最初に、制御部１１は、観測データに含まれる要素に対して様々な加工処理を施して所定の範囲の整数値とする。
観測データに含まれる要素が数値データの場合、制御部１１は、細かく区切って離散化し、デジタル化する。例えば、制御部１１は、数値データを小数点第１位で四捨五入して整数値とし、ｉｎｔ型データに変換する。
数値データの取り得る範囲が極端に狭い、または広い場合、制御部１１は、適当な係数をかけて想定するｉｎｔ型データの範囲に満遍なく収まるようにする。
また、数値データの分布が極端に偏っている場合、制御部１１は、対数変換なども行う。
また、観測データに含まれる要素が数値データであっても、取り得る値が少ない場合、例えば、エアコンの強度を示すデータなどで０〜３の整数値しか取らない場合などは、制御部１１は、このようなデータをカテゴリカルデータとして取り扱っても良い。
また、観測データに含まれる要素がカテゴリカルデータであっても、取り得る値に何らかの距離の概念が導入できる場合などは、制御部１１は、このようなデータを数値データとして取り扱っても良い。
【００３２】
次に、制御部１１は、各整数値をビットデータに変換し、カテゴリカルデータが上位、数値データが下位となるように並び替えを行う。カテゴリカルデータ同士は、どちらが上位となっても構わない。同様に、数値データ同士は、どちらが下位となっても構わない。これによって、要素同士の関係性を示す情報などがなくても、識別器の構築が可能となる。カテゴリカルデータと数値データを分けた理由は、一般にカテゴリカルデータの取り得る値に対して距離の概念を導入することができず、数値データと混合することが困難だからである。
【００３３】
次に、制御部１１は、ビットデータに変換された数値データに対して、ビットの並び替えを行う。ビットの並び替え処理は、図３を参照して説明する。
【００３４】
図３は、ビットの並び替え処理の一例を示す図である。
図３に示す観測データ２１は、制御部１１が前述した加工処理を行うことによって、０〜７の整数値に変換されている。図３に示す観測データ２１は、ｘ１とｘ２の２つの要素を含む。ｘ１、ｘ２は、両方とも数値データである。
【００３５】
ビットデータ２２のｄ１〜ｄ３は、観測データ２１のｘ１を２進数に変換した各ビットの値である。また、ビットデータ２２のｅ１〜ｅ３は、観測データ２１のｘ２を２進数に変換した各ビットの値である。
例えば、観測データ２１ａの場合、ｘ１が「６」、ｘ２が「２」なので、ｄ１が「１」、ｄ２が「１」、ｄ３が「０」、ｅ１が「０」、ｅ２が「１」、ｅ３が「０」のビットデータ２２ａとなる。
以下では、ビット列に対して順位の概念を導入する。そして、ｄ１とｅ１のように最も左端のビットを「最上位ビット」（ＭＳＢ：Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）、ｄ３とｅ３のように最も右端のビットを「最下位ビット」（ＬＳＢ：Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）と呼ぶこととする。
【００３６】
図３に示すように、ビットデータ２２は、ｘ１に対応するビット列がｄ１、ｄ２、ｄ３、ｘ２に対応するビット列がｅ１、ｅ２、ｅ３の順に並んでいる。これに対して、制御部１１は、各ビットデータ２２の最上位ビットから最下位ビットまで、順位ごとにまとめて、ｄ１、ｅ１、ｄ２、ｅ２、ｄ３、ｅ３と並び替えた一つのビット列である変換データ２３を生成する。
例えば、ビットデータ２２ａの場合、制御部１１は、「１、０、１、１、０、０」に並び替えた一つのビット列である変換データ２３ａを生成する。
【００３７】
図２の説明に戻る。次に、識別器構築装置１の制御部１１は、Ｓ１１にて生成した変換データ２３を示す観測領域を二分決定グラフによって構築する（Ｓ１２）。二分決定グラフについては、図４を参照して説明する。
【００３８】
図４は、観測領域３１の一例を示す図である。図４に示す観測領域３１は、図３の変換データ２３に基づいて二分決定グラフとして構築されたものである。
二分決定グラフは、論理関数を表現するために使われるデータ構造である。二分決定グラフは、コンピュータにおいてポインタの配列で表現されるので、必要な記憶容量を減らすことができる。また、既約な順序付き二分決定グラフの場合、論理関数同士の演算がグラフのサイズにほぼ比例する程度の計算時間で実行できる。
順序付き二分決定グラフとは、（１）ノード同士に全順序関係が定義されている、（２）最も上位のノードから定数ノードに至る全てのパスについて変数の出現順序が、全順序関係に矛盾しない、二分決定グラフである。
既約な二分決定グラフとは、（１）冗長なノードを全て削除、（２）等価なノードを全て共有、という２つの簡約化規則がこれ以上適用できなくなるまで適用されている二分決定グラフである。
【００３９】
図４に示す二分決定グラフは、実線で示すＴｈｅｎ枝（変換データ２３のビットの値が「１」に対応する枝）、間隔が広い点線で示すＥｌｓｅ枝（変換データ２３のビットの値が「０」に対応する枝）、「＊」（アスタリスク）を付した間隔が狭い点線で示す否定Ｅｌｓｅ枝の３つを用いている。否定Ｅｌｓｅ枝を用いると、否定演算が短時間で実行できる。
例えば、図３に示す変換データ２３のｄ１は、ブーリアン変数とみなすことができ、ノード３２に対応している。
尚、３３は最も上位のノード（ルートノード）、３４は定数ノードである。
【００４０】
図２の説明に戻る。次に、識別器構築装置１の制御部１１は、観測領域３１の各ノードにおける最小項の数を算出する（Ｓ１４）。
観測領域３１の各ノードにおける最小項の数の算出処理は、図５、図６を参照して説明する。
【００４１】
図５は、各ノードにおける最小項の数の算出処理を説明する図、図６は、最小項の数の算出結果の一例を示す図である。
【００４２】
最小項（Ｍｉｎｔｅｒｍ）とは、変数の集合が与えられたとき、全ての変数のリテラルを含む積項である。例えば、変数の集合が（ａ、ｂ、ｃ）のとき、ａ¬ｂｃは最小項であり、ａ¬ｂは最小項ではない。
ここでは、各ノードにおける最小項の数について、下位ノードに通常枝で接続の場合（Ｐ）と否定枝で接続の場合（Ｎ）に分けて算出する。
【００４３】
制御部１１は、最初に定数ノードの最小項の数を算出する。定数ノードは、通常枝で接続の場合が２のｎ乗（ｎはブーリアン変数の数、すなわち変換データ２３のビット数）、否定枝で接続の場合が０である。
図３に示す変換データ２３のビット数は「６」なので、通常枝で接続の場合が２の６乗＝６４となる。従って、図６に示す定数ノード５１の最小項の数は、Ｐが「６４」、Ｎが「０」となる。
【００４４】
次に、制御部１１は、各ノードの最小項の数を深さ優先探索によって再帰的に算出する。
図５の（１）には、Ｅｌｓｅ枝が否定枝ではない場合について、最小項の数の算出方法を示している。ノード４３の最小項の数を算出する場合、下位のノード４１と４２の算出結果を用いる。Ｔｈｅｎ枝によって接続された下位のノード４１のＰの値をｔ_ｐ、Ｎの値をｔ_ｎとし、Ｅｌｓｅ枝によって接続された下位のノード４２のＰの値をｅ_ｐ、Ｎの値をｅ_ｎとする。このとき、ノード４３のＰの値は、ｔ_ｐ／２＋ｅ_ｐ／２となる。また、ノード４３のＮの値は、ｔ_ｎ／２＋ｅ_ｎ／２となる。
また、図５の（２）には、Ｅｌｓｅ枝が否定枝の場合について、最小項の数の算出方法を示している。ノード４６の最小項の数を算出する場合、下位のノード４４と４５の算出結果を用いる。Ｔｈｅｎ枝によって接続された下位のノード４４のＰの値をｔ_ｐ、Ｎの値をｔ_ｎとし、否定Ｅｌｓｅ枝によって接続された下位のノード４５のＰの値をｅ_ｐ、Ｎの値をｅ_ｎとする。このとき、ノード４６のＰの値はｔ_ｐ／２＋ｅ_ｎ／２となる。また、ノード４６のＮの値はｔ_ｎ／２＋ｅ_ｐ／２となる。
【００４５】
例えば、図６に示すノード５２の場合、下位のノードと接続されたＥｌｓｅ枝が否定枝であるから、図５の（２）の算出方法によって最小項の数を算出する。ノード５２のＴｈｅｎ枝、否定Ｅｌｓｅ枝は、ともに定数ノード５１と接続されているので、ノード５２のＰの値は６４／２＋０／２＝３２、Ｎの値は６４／２＋０／２＝３２となる。
【００４６】
また、例えば、図６に示すノード５３の場合、下位のノードと接続されたＥｌｓｅ枝が否定枝ではないことから、図５の（１）の算出方法によって最小項の数を算出する。ノード５３のＴｈｅｎ枝はノード５２、Ｅｌｓｅ枝は定数ノード５１に接続されているので、ノード５３のＰの値は３２／２＋６４／２＝４８、Ｎの値は３２／２＋０／２＝１６となる。
【００４７】
図２の説明に戻る。次に、識別器構築装置１の制御部１１は、観測領域３１の各ノードにおける密度を算出する（Ｓ１４）。
観測領域３１の各ノードにおける密度の算出処理は、図７、図８を参照して説明する。
【００４８】
図７は、各ノードにおける密度の算出処理を説明する図、図８は、密度の算出結果の一例を示す図である。
【００４９】
図７の（１）は、図６のノード５４の密度計算を示している。図７の（１）は、縦軸、横軸をそれぞれ観測データ２１のｘ１、ｘ２としたときの平面図を表す。以下では、図４、図６も参照しながら説明する。
図４と図６を参照すると分かるように、ノード５４はｄ２に対応している。最上位ノードからノード５４までのパスには、ブーリアン変数ｄ１、ｅ１に対応する２つのノードが存在するので、平面図におけるノード５４の領域は、ｄ１が「０」、ｅ１が「０」、それ以外がドントケア（「ドントケア」とは、値が０でも１でも良いことを意味する。）としたときの領域６１となる。
領域６１に含まれるマス目の数は、２の４乗＝１６である。
また、領域６１に含まれる最小項は、（ｄ１、ｅ１、ｄ２、ｅ２、ｄ３、ｅ３）＝（０、０、１、０、１、１）、（０、０、１、１、１、１）、（０、０、１、１、０、０）、（０、０、０、１、１、１）の４つである。
従って、ノード５４の密度は、領域６１に含まれる最小項／領域６１に含まれるマス目の数＝４／１６＝０．２５となる。
【００５０】
上述した密度の計算では、ノードごとに最小項を一つ一つ探索しなければならず、計算時間が増大する。そこで、本実施の形態では、先に算出した各ノードにおける最小項の数を利用する算出方法を用いる。
図７の（１）では、全体領域６２が、領域６１に含まれる最小項の配置を繰り返して構成されている。このように構成された全体領域６２に含まれる最小項の数は、先に算出したノード５４におけるＰの値（通常枝で接続の場合の最小項の数）と同値なので、制御部１１は、ノード５４の密度＝ノード５４におけるＰの値／２のｎ乗（ｎは変換データ２３のビット数）＝１６／２の６乗＝０．２５と算出する。
【００５１】
また、図７の（２）は、図６のノード５５の密度計算を示している。平面図におけるノード５５の領域は、６３と６４である。
図７の（２）における全体領域６５は、領域６３と６４に含まれる最小項の配置を繰り返して構成されている。このように構成された全体領域６５に含まれる最小項の数は、先に算出したノード５５におけるＰの値（通常枝で接続の場合の最小項の数）と同値なので、制御部１１は、ノード５５の密度＝ノード５５におけるＰの値／２のｎ乗（ｎは変換データ２３のビット数）＝１６／２の６乗＝０．２５と算出する。
【００５２】
全てのノードについて算出した結果は、図８に示す通りである。先に算出した各ノードにおける最小項の数を利用することで、密度計算は四則演算のみで行うことができる。
【００５３】
図２の説明に戻る。次に、識別器構築装置１の制御部１１は、Ｓ１６にて用いる閾値を決定する（Ｓ１５）。閾値は、本実施の形態によって識別器を構築するためにチューニングが必要な唯一のパラメータである。
次に、識別器構築装置１の制御部１１は、観測領域３１の各枝に対して閾値を用いた判定を行い、接続先の変更を行う（Ｓ１６）。
観測領域３１の各枝に対して閾値を用いた判定を行い、接続先の変更を行う処理は、図９〜図１１を参照して説明する。
【００５４】
図９は、閾値を用いた判定処理を説明する図、図１０は、接続先の変更結果の一例を示す図である。
【００５５】
閾値を用いた判定処理では、二分決定グラフのノードに対してレベルの概念を導入する。観測データ２１に含まれる数値データのＭＳＢ（最上位ビット）に対応するノードをレベル１とし、各数値データのビット列の順位ごとにレベルを分ける。ルートノードはレベル０とする。また、カテゴリカルデータのビットに対応するノードもレベル０とする。
【００５６】
図９に示す二分決定グラフでは、ルートノードがレベル０、ブーリアン変数ｄ１、ｅ１（＝ＭＳＢのブーリアン変数）に対応するノードがレベル１、ブーリアン変数ｄ２、ｅ２に対応するノードがレベル２、ブーリアン変数ｄ３、ｅ３（＝ＬＳＢのブーリアン変数）がレベル３である。
【００５７】
制御部１１は、観測領域３１を示す二分決定グラフの各枝に対し、接続先のノードにおける密度が閾値よりも高く、かつ接続元のノードよりも接続先のノードのレベルが高い場合には、その枝の接続先を定数ノードに変更する。ここで、各ノードにおける密度とは、ルートノードからのパスの中で否定Ｅｌｓｅ枝が０または偶数の場合にはＰの値、奇数の場合にはＮの値である。
【００５８】
図９において、太字の矢印で示される枝は、判定結果がＹＥＳとなったものである。
枝７１を例として、判定処理を具体的に説明する。枝７１の接続元はノード７３、枝７１の接続先はノード７２である。ノード７２はルートノードからのパスの中で否定Ｅｌｓｅ枝が２つ（ルートノードからの枝と枝７１）であるから、ノード７２における密度はＰの値である。ノード７２のＰの値は０．７５であるから閾値０．５よりも高い。更に、接続元のノード７３はレベル２、接続先のノード７２はレベル３であるから、接続元のノードよりも接続先のノードのレベルが高い。従って、判定結果はＹＥＳとなる。
【００５９】
次に、制御部１１は、判定処理において判定結果がＹＥＳとなった枝に対して、その枝の接続先を定数ノードに変更する。ただし、ルートノードから接続先ノードまでのパスに含まれる否定Ｅｌｓｅ枝の個数が奇数の枝については、枝の否定属性を反転させてから、接続先を定数ノードに変更する。このとき、Ｔｈｅｎ枝に否定属性を付与する場合、下位ノードから上位ノードの順に、Ｔｈｅｎ枝、Ｅｌｓｅ枝、そのノードを指している枝の３つの枝すべての否定属性を反転させる操作を繰り返し、Ｔｈｅｎ枝に付与された否定属性を解消する。
図１０では、接続先を変更した後の二分決定グラフと、そのときの領域を表す平面図を示している。平面図において×印を付したマスは、接続先を変更することによって新たに埋められたものである。すなわち、×印を付したマスは、観測領域３１に加えて、新たに特定のクラスに属すると推定された領域である。以下では、観測領域３１と新たに推定された領域（×印を付したマス）を合わせて推定領域と呼ぶこととする。推定領域は、特定のクラスに属すると推定できる領域を意味する。
【００６０】
ここで、前述した判定処理における判定条件について説明する。
接続先のノードにおける密度が閾値よりも高いという第１の条件を満たすことは、データパターン全体の領域（図１０の平面図であれば８×８の領域）の一部または全部において観測領域の密度が閾値よりも高いことを意味している。
従って、識別器構築装置１の制御部１１が各ノードに対して第１の条件を満たす場合に接続先を定数ノードに変更することは、データパターン全体の領域から判定範囲を決定し、判定範囲に対する観測領域の密度と閾値を比較し、観測領域の密度が閾値よりも大きい場合には判定範囲全体を推定領域とすることを意味する。
【００６１】
図１１は、閾値による推定領域の変化を示す図である。図１１に示すように、閾値が高い場合は推定領域が狭く、閾値が低くなるにつれて推定領域が広くなる。閾値が０．２の場合、データパターン全体の領域が推定領域となっている。この推定領域を用いる識別器は、全てのデータパターンが特定のクラスに属すると識別することになる。
【００６２】
また、接続元のノードよりも接続先のノードのレベルが高いという第２の条件は、観測データに含まれる要素同士（カテゴリカルデータ同士、数値同士）の順位関係に依存させない為に必要なものである。
仮に同じレベルのノードを接続する枝に関しても変更処理を行うとすると、要素同士の順位関係に依存して結果が変わってしまう。本実施の形態における要素同士の順位関係は便宜的に決めたものであって何の情報にも基づかないので、結果が要素同士の順位関係に依存することは精度の低下を招く。
尚、第２の条件を満たす枝に対して接続先の変更処理を行うことは、推定領域とみなす全体領域の一部の範囲が、平面図において２の１乗×２の１乗、２の２乗×２の２乗、・・・、２のｍ乗×２のｍ乗（ｍは１つの要素を表現するために使用するビット数、図３に示す例ではｍ＝３）のマス目に限られることを意味する。
【００６３】
図２の説明に戻る。次に、識別器構築装置１の制御部１１は、Ｓ１６にて構築した推定領域の情報量基準を算出する（Ｓ１７）。情報量基準は、例えば、次に示すＢＩＣ（ベイズ情報量基準：Ｂａｙｅｓｉａｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）、ＡＩＣ（赤池情報量基準：Ａｋａｉｋｅ‘ｓ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）、ＭＤＬ（最小記述長：Ｍｉｎｉｍｕｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌｅｎｇｔｈ）などを用いる。
以下では、観測領域をＦ、推定領域をＦａと表記することとする。
【００６４】
【数１】
2011095878.tif 000003
【００６５】
ここで、ｎはデータ数、ｋはモデルの自由パラメータ数、Ｌは尤度関数である。本実施の形態におけるｎ、ｋ、Ｌは、次式で定義する。
【００６６】
【数２】
2011095878.tif 000004
【００６７】
ここで、ｍは観測領域Ｆの最小項の数、｜Ｆａ｜は推定領域Ｆａのノード数、ｍａは推定領域Ｆａの最小項の数である。
【００６８】
図２の説明に戻る。次に、識別器構築装置１の制御部１１は、全ての閾値によってＳ１６、Ｓ１７の処理が終了したかどうか確認する（Ｓ１８）。
処理が終了していない場合、Ｓ１５から繰り返す。
処理が終了している場合、制御部１１は、情報量基準の算出結果に基づいて最適な推定領域を決定する（Ｓ１９）。最適な推定領域は、識別器の記憶部に保存され、識別器が行う識別処理に用いられる。すなわち、識別器は、最適な推定領域を用いて、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する。尚、識別器のハードウエア構成は、図１に示すように、一般的なコンピュータであっても良いし、識別対象のデータを出力するシステムに搭載可能な専用モジュールであっても良い。
【００６９】
図１２は、情報量基準の算出結果の一例を示す図である。図１２に示す例では、ＢＩＣ、ＡＩＣともに閾値が０．２の場合に最小の値となっている。図１２は、本実施の形態を分かり易く説明するために作成した単純なデータ例に対する算出結果であり、閾値を最適な値にチューニングできたかどうかを示す例としては適切ではない。
そこで、以下では、前述のように定義した情報量基準によって、閾値を最適な値にチューニングできたことを示す実施例を説明する。
【実施例】
【００７０】
使用するデータは、ＵＣＩ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｒｅｐｏｓｉｔｏｒｙ（ｈｔｔｐ：／／ａｒｃｈｉｖｅ．ｉｃｓ．ｕｃｉ．ｅｄｕ／ｍｌ／）の「Ｓｈｕｔｔｌｅ  Ｄａｔａ」である。本データは、スペースシャトルから取得されたデータである。データパターンの要素数は８、全ての要素が整数値である。各データはクラス１〜７にラベル付けされている。全体の約８０％はクラス１である。データ数は、トレーニングセット（学習用データ）が４３５００（クラス１は３４１０８）、テストセット（テストデータ）が１４５００である。
【００７１】
本実施例では、識別器は異常値検出を行うものとする。従って、識別器は、特定のクラスに属するデータを正常値、特定のクラスに属さないデータを異常値として識別する。
識別器構築装置１はトレーニングセットに含まれるクラス１のデータを観測データとして処理を実行し、推定領域を構築した。そして、構築した推定領域Ｆａを用いた識別器が、テストセットに対して、クラス１のデータを正常値、クラス１以外のデータを異常値と識別できるかを評価した。
【００７２】
データパターンの各要素の表現には、それぞれ１６ビットを使用した。識別器構築装置１は、各要素を平均０、分散１に標準化し、適切な拡大係数をかけて、小数第１位を四捨五入し、変換データを生成した。
前述した定義のＢＩＣに基づいて閾値をチューニングした結果、最適な閾値は、１０の（−１４．５）乗であった。この最適な閾値によって構築した推定領域Ｆａの二分決定グラフのノード数、最小項の数、ＢＩＣの値は、次表の通りとなった。
【００７３】
【表１】
2011095878.tif 000005
【００７４】
表１に示す通り、観測領域Ｆの最小項の数は３３２２１、二分決定グラフのノード数は３６５６０４であった。尚、最小項の数が学習用データのクラス１に属するデータ数（＝３４１０８）よりも少ない理由は、学習用データの一部に重複があるためである。これに対して、推定領域Ｆａの最小項の数は、２．４１×１０の１８乗、二分決定グラフのノード数は１７００９であった。推定領域Ｆａの方が観測領域Ｆよりも最小項の数がはるかに多いにも関わらず、ノード数は１／２０以下となっており、二分決定グラフを用いることで推定領域Ｆａがコンパクトに表現されることが分かる。
ＳＶＭなど他の手法では、少なくともデータ数に比例して、繰り返して実行する中核的な計算の対象となるデータ容量が増大するので、データ数が多くなると計算時間が問題となる。一方、二分決定グラフを用いることで中核的な計算の対象となるデータ容量（二分決定グラフの場合はノード数）を大幅に削減することができるので、本実施の形態では、データ数が多くなっても計算時間がほとんど問題にならないと言える。
【００７５】
また、比較例として、１クラスＳＶＭ（１Ｃ−ＳＶＭ）によって同様の計算と評価を行った。１Ｃ−ＳＶＭの計算に用いたツールは、統計解析環境Ｒのライブラリである「ｅ１０７１」に含まれるｓｖｍ関数である。
本実施例と比較例についてのテストデータを用いた評価結果は、次表の通りとなった。
【００７６】
【表２】
2011095878.tif 000006
【００７７】
【表３】
2011095878.tif 000007
【００７８】
表２では、観測領域Ｆによるテストデータの識別結果、識別器構築装置１によって構築した推定領域Ｆａによるテストデータの識別結果、１Ｃ−ＳＶＭによって算出した超平面による識別結果の３つを示している。例えば、観測領域Ｆによる識別結果は、クラス１のテストデータに対して、異常と識別した数が１０８５０、正常と識別した数が６２８であることを示している。
尚、１Ｃ−ＳＶＭのγがガウシアンカーネルの分散パラメータ、Ｃが外れ値の割合を示すパラメータである。
【００７９】
表３では、識別結果に基づいて、ＦａｌｓｅＰｏｓｉｔｉｖｅＲａｔｅ（正常を異常と判断する割合）、Ｓｅｎｓｉｔｉｖｉｔｙ（異常を異常と判断する割合）の算出結果を示している。
推定領域Ｆａによる識別結果と１Ｃ−ＳＶＭによる識別結果を比較すると、ＦａｌｓｅＰｏｓｉｔｉｖｅＲａｔｅとＳｅｎｓｉｔｉｖｉｔｙともに、ほぼ同じ値である。従って、識別器構築装置１によって構築した推定領域Ｆａを用いる識別器の精度は、１Ｃ−ＳＶＭによって算出した超平面を用いる識別器の精度と同程度であると言える。
【００８０】
図１３は、情報量基準による閾値のチューニング結果の詳細を示す図である。図１３の（１）は、閾値を変化させたときのＢＩＣとＡＩＣのグラフである。（２）は、（１）のＢＩＣのグラフの一部を拡大したものである。（３）は、閾値を変化させたときのＦａｌｓｅＰｏｓｉｔｉｖｅＲａｔｅとＳｅｎｓｉｔｉｖｉｔｙのグラフである。（４）は、（３）のＦａｌｓｅＰｏｓｉｔｉｖｅＲａｔｅとＳｅｎｓｉｔｉｖｉｔｙのグラフの一部を拡大したものである。尚、（４）の左側の目盛がＦａｌｓｅＰｏｓｉｔｉｖｅＲａｔｅの値、右側の目盛がＳｅｎｓｉｔｉｖｉｔｙの値を示している。
【００８１】
図１３の（２）を見ると分かるように、閾値が１０の（−１４．５）乗のとき、ＢＩＣが最小値となることが分かる。また、図１３の（４）を見ると分かるように、閾値が１０の（−１４．５）乗のとき、Ｓｅｎｓｉｔｉｖｉｔｙの値が１．０００となる閾値の中でＦａｌｓｅＰｏｓｉｔｉｖｅＲａｔｅの値がほぼ最小となっている。このように、本実施例では、前述した定義のＢＩＣによって、閾値を最適な値にチューニングできたことが分かる。
【００８２】
図１４は、ＲＯＣ曲線とＡＵＣのグラフを示す図である。図１４に示すＲＯＣ（Ｒｅｃｅｉｖｅｒ  Ｏｐｅｒａｔｉｎｇ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃ）曲線は、横軸がＦａｌｓｅ  ｐｏｓｉｔｉｖｅ  ｒａｔｅ、縦軸がＳｅｎｓｉｔｉｖｉｔｙである。本実施例と１Ｃ−ＳＶＭのＲＯＣ曲線は、共に左下の原点から縦軸に沿って縦軸の上限まで伸び、更に横軸に沿って横軸の上限まで伸びており、理想的な形になっている。また、ＲＯＣ曲線より下側の領域の面積の割合を示すＡＵＣ（Ａｒｅａ  Ｕｎｄｅｒ  ｔｈｅ  Ｃｕｒｖｅ）も、共に１．００であり、理想的な値となっている。これによって、識別器構築装置１は、１Ｃ−ＳＶＭと同様、高精度な識別器を構築できることが分かる。
【００８３】
次に、本実施例の計算時間について、図２のフローチャートと対比しながら説明する。
Ｓ１１、Ｓ１２の処理時間である観測領域Ｆの構築処理時間ｔ１は、４．６９秒（データ数は３４１０８）であった。
Ｓ１３の処理時間である観測領域Ｆの各ノードにおける最小項の数の算出処理時間ｔ２は、０．８３秒（ノード数は３６５６０４）であった。
Ｓ１６の処理時間である各枝に対する閾値判定と接続先の変更処理時間ｔ３は、閾値が１０の（−１）乗の場合が０．３４秒、閾値が１０の（−１４．５）乗の場合が０．１７秒であった。尚、ｔ３は閾値が小さい方が短くなる。これは、閾値が小さい程、接続先を定数ノードに変更する処理が多く発生して、探索対象となる枝が減少する為である。
Ｓ１４、Ｓ１５、Ｓ１７〜Ｓ１９は、前述の処理と比較してほとんど時間を要さないので考慮する必要はない。
尚、テストデータの診断にかかった時間ｔ５は、観測領域Ｆの場合が１．３９秒、推定領域Ｆａの場合が０．７２秒であった。
【００８４】
以上の計測結果から、１つの閾値に対して、図２のＳ１１〜Ｓ１７を実行する時間は、ｔ３を最も大きい値を用いて計算しても、ｔ１＋ｔ２＋ｔ３＝４．６９＋０．８３＋０．３４＝５．８６秒程度となる。
また、例えば、１００の閾値に対して、図２のＳ１７〜Ｓ１９を実行する時間は、ｔ３を最も大きい値を用いて計算しても、ｔ１＋ｔ２＋１００×ｔ３＝４．６９＋０．８３＋１００×０．３４＝３９．８６秒程度となる。
【００８５】
一方、１Ｃ−ＳＶＭによって、１組のパラメータ（外れ値の割合を示すパラメータとカーネルパラメータ）に対して超平面を計算する平均時間は、１４．８３秒であった。従って、本発明の２倍以上かかることになる。
更に、１Ｃ−ＳＶＭの場合、本発明のように情報量基準によるチューニングではなく、クロスバリデーションによるチューニングを行う。クロスバリデーションの計算時間は、前述した超平面の計算時間の約１０倍程度かかる。例えば、１００組のパラメータに対してクロスバリデーションを行う場合、１４．８３×１０×１００＝１４８３０秒かかることになる。従って、本発明の３７０倍以上かかることになる。
更に、１Ｃ−ＳＶＭの場合、チューニングするパラメータが少なくとも２つ存在することから、２つのパラメータを１００通りずつ計算すると、１４．８３×１０×１００×１００＝１４８３０００秒かかることになる。従って、本発明と同程度の精度を得るためには、３７０００倍以上かかることになる。
【００８６】
尚、本実施例では、前述した定義のＡＩＣによって閾値を最適な値にチューニングできていないが、他のデータではＡＩＣの方がＢＩＣよりも閾値を最適な値にチューニングできる場合もある。
【００８７】
次に、識別器構築装置１によって構築した推定領域Ｆａを用いた識別器について説明する。
【００８８】
１Ｃ−ＳＶＭによって構築した識別器の場合、超平面を算出した後に観測データを追加するためには、超平面を再度算出する必要がある。
一方、推定領域Ｆａは二分決定グラフとして構築されるので、識別器構築装置１によって構築した識別器は観測データを追加することが容易である。例えば、観測データｘを追加する場合、ｘに所定の変換を行った変換データｙに対して、Ｆａ∨ｙのようにＯＲ演算を行うだけで良い。すなわち、一種のオンライン学習が可能であると言える。また、推定領域Ｆａに対してＯＲ演算を行えば良いので、最初に推定領域Ｆａを構築したときに用いた学習データは、識別器が保持しておく必要がない。そして、一定量の追加データが収集できた時点で、推定領域Ｆａの再構築を行うようにすれば良い。
【００８９】
また、１Ｃ−ＳＶＭによって構築した識別器の場合、特定のクラスに識別されなかったデータパターンに対する解析を行う手段がない。
一方、識別器構築装置１によって構築した識別器は、特定のクラスに識別されなかったデータパターンに対して、特定のクラスに識別されなかったことに関与している要素の絞り込みを行うことができる。要素の絞り込みを行うため、識別器は、推定領域Ｆａのスムージング処理を行う。スムージング処理については、図１５を参照して説明する。また、要素の絞り込み処理については、図１６を参照して説明する。
【００９０】
図１５は、スムージング処理を説明する模式図である。図１５に示す例では、データパターンは、ｘ１、ｘ２、ｘ３の３つである。図１５では、原点から近い方を０、原点から遠い方を１とし、各領域を示している。領域８１は、推定領域Ｆａである。
スムージング処理は、データパターンに含まれる１つまたは複数の要素をドントケアとする処理である。スムージング処理を式で示すと、例えば、推定領域Ｆａに対してｘ１をドントケアとするスムージング処理を行った領域Ｆｓは、Ｆｓ＝Ｆａ｜ｘ１＝０∨Ｆａ｜ｘ１＝１となる。
図１５に示す領域８２は、領域８１（推定領域Ｆａ）に対してｘ１をドントケアとするスムージング処理を行ったものである。領域８３は、領域８１（推定領域Ｆａ）に対してｘ２をドントケアとするスムージング処理を行ったものである。領域８４は、領域８１（推定領域Ｆａ）に対してｘ３をドントケアとするスムージング処理を行ったものである。
また、図１５に示す領域８５は、領域８１（推定領域Ｆａ）に対してｘ１、ｘ２をドントケアとするスムージング処理を行ったものである。領域８６は、領域８１（推定領域Ｆａ）に対してｘ１、ｘ３をドントケアとするスムージング処理を行ったものである。領域８７は、領域８１（推定領域Ｆａ）に対してｘ２、ｘ３をドントケアとするスムージング処理を行ったものである。
【００９１】
図１６は、要素の絞り込み処理を説明する模式図である。図１６の（１）、（２）に示す×印は、推定領域Ｆａに属さない異常値を示している。
図１６の（１）に示す異常値は、（ｘ１、ｘ２、ｘ３）＝（１、１、１）である。
識別器は、最初に、（ｘ１、ｘ２、ｘ３）＝（１、１、１）が領域８１（推定領域Ｆａ）に属さず、異常値であることを識別する。
次に、識別器は、ｘ１、ｘ２、ｘ３をそれぞれドントケアとするスムージング処理を行い、（ｘ２、ｘ３）＝（１、１）が領域８２に属し、（ｘ１、ｘ３）＝（１、１）が領域８３に属さず、（ｘ１、ｘ２）＝（１、１）が領域８４に属すことを識別する。これによって、ｘ２は異常に関与しておらず、ｘ１とｘ３のみが異常に関与していることが分かる。
【００９２】
また、図１６の（２）に示す異常値は、（ｘ１、ｘ２、ｘ３）＝（０、０、１）である。
識別器は、最初に、（ｘ１、ｘ２、ｘ３）＝（０、０、１）が領域８１（推定領域Ｆａ）に属さず、異常値であることを識別する。
次に、識別器は、ｘ１、ｘ２、ｘ３をそれぞれドントケアとするスムージング処理を行い、（ｘ２、ｘ３）＝（０、１）が領域８２に属さず、（ｘ１、ｘ３）＝（０、１）が領域８３に属し、（ｘ１、ｘ２）＝（０、０）が領域８４に属すことを識別する。これによって、ｘ１は異常に関与しておらず、ｘ２とｘ３のみが異常に関与していることが分かる。
【００９３】
このように、識別器構築装置１によって構築した識別器は、異常値のデータパターン（＝特定のクラスに識別されなかったデータパターン）に対して、異常であること（＝特定のクラスに識別されなかったこと）に関与している要素の絞り込みを行うことができる。
【００９４】
以上、添付図面を参照しながら、本発明に係る識別器構築装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００９５】
１………識別器構築装置
２１………観測データ
２２………ビットデータ
２３………変換データ
３１、Ｆ………観測領域
Ｆａ………推定領域
【図１】
2011095878.tif 000008
【図２】
2011095878.tif 000009
【図３】
2011095878.tif 000010
【図４】
2011095878.tif 000011
【図５】
2011095878.tif 000012
【図６】
2011095878.tif 000013
【図７】
2011095878.tif 000014
【図８】
2011095878.tif 000015
【図９】
2011095878.tif 000016
【図１０】
2011095878.tif 000017
【図１１】
2011095878.tif 000018
【図１２】
2011095878.tif 000019
【図１３】
2011095878.tif 000020
【図１４】
2011095878.tif 000021
【図１５】
2011095878.tif 000022
【図１６】
2011095878.tif 000023