JP2011095878A - 識別器構築装置、識別器、プログラム - Google Patents
識別器構築装置、識別器、プログラム Download PDFInfo
- Publication number
- JP2011095878A JP2011095878A JP2009247330A JP2009247330A JP2011095878A JP 2011095878 A JP2011095878 A JP 2011095878A JP 2009247330 A JP2009247330 A JP 2009247330A JP 2009247330 A JP2009247330 A JP 2009247330A JP 2011095878 A JP2011095878 A JP 2011095878A
- Authority
- JP
- Japan
- Prior art keywords
- data
- node
- discriminator
- value
- observation
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】高精度な識別器を短時間で構築する識別器構築装置を提供する。
【解決手段】識別器構築装置1は、観測データの各要素に加工処理を施して所定の範囲の整数値とし、各整数値をビットデータに変換し、各ビットデータの最上位ビットから最下位ビットまで、順位ごとにまとめて並べたビット列である変換データを生成し(S11)、変換データを示す観測領域を二分決定グラフとして構築し(S12)、観測領域の各ノードにおける最小項の数と密度を算出し(S13、S14)、観測領域の各枝に対して閾値を用いた判定を行い、接続先の変更を行う(S16)。
【選択図】図2
【解決手段】識別器構築装置1は、観測データの各要素に加工処理を施して所定の範囲の整数値とし、各整数値をビットデータに変換し、各ビットデータの最上位ビットから最下位ビットまで、順位ごとにまとめて並べたビット列である変換データを生成し(S11)、変換データを示す観測領域を二分決定グラフとして構築し(S12)、観測領域の各ノードにおける最小項の数と密度を算出し(S13、S14)、観測領域の各枝に対して閾値を用いた判定を行い、接続先の変更を行う(S16)。
【選択図】図2
Description
本発明は、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する識別器構築装置等に関するものである。
クラスラベルのない学習用データからデータの高密度領域を推定する問題は、1クラス問題と呼ばれる。1クラス問題は、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する問題と同値である。
1クラス問題の代表的な手法としては、非特許文献1に記載されている1クラスSVM(Support Vector Machine)の手法が知られている。
1クラス問題の代表的な手法としては、非特許文献1に記載されている1クラスSVM(Support Vector Machine)の手法が知られている。
1クラスSVMでは、入力データを適切な非線形写像によって高次の特徴空間に写像し、それらのデータと原点を分離する超平面のうち、原点からの距離が最大のものを選択する。未知のデータに対しては、そのデータが超平面のどちら側に分類されるかによって識別する。この手法では、適切な非線形写像を用いることにより、非線形領域を高精度に記述することができる。
また、一定割合のデータが超平面よりも原点側に分類されることを許すことにより、学習データ中に含まれる外れ値に対応する。超平面の推定は、最適化問題(凸二次計画問題)を解くことで行われる。凸二次計画問題は、データ数があまり大きくなければ比較的速く解が求まるので、従来技術の中では、1クラスSVMが1クラス問題に最適な手法と考えられている。
1クラスSVMでは、外れ値の割合を指定するパラメータと、非線形写像を決めるカーネルパラメータ(ガウシアンカーネルの場合は分散パラメータ)をチューニングし、最適な超平面を選択する。
また、一定割合のデータが超平面よりも原点側に分類されることを許すことにより、学習データ中に含まれる外れ値に対応する。超平面の推定は、最適化問題(凸二次計画問題)を解くことで行われる。凸二次計画問題は、データ数があまり大きくなければ比較的速く解が求まるので、従来技術の中では、1クラスSVMが1クラス問題に最適な手法と考えられている。
1クラスSVMでは、外れ値の割合を指定するパラメータと、非線形写像を決めるカーネルパラメータ(ガウシアンカーネルの場合は分散パラメータ)をチューニングし、最適な超平面を選択する。
Schlkopf,B.et.al.,"Estimating the Support of a High−Dimensional Distribution",Neural computation,7,1443−1471,2001
しかしながら、1クラスSVMでは、以下に示す様々な問題がある。
1つ目の問題は、オンライン学習ができないことである。オンライン学習とは、データが1つずつ逐次的に与えられる状況において、データを1つずつ見て、データが与えられるたびにパラメータを更新していく学習方法である。1クラスSVMでは、追加データを反映するために全てのデータに対して再度計算し直す必要がある。しかし、計算時間を考えると、パラメータを決定した後(学習後)、追加データが与えられるたびに計算することは非現実的である。また、全てのデータに対して再度計算するので、今までのデータを全てまとめて保持しておく必要があることもデメリットとなる。
1つ目の問題は、オンライン学習ができないことである。オンライン学習とは、データが1つずつ逐次的に与えられる状況において、データを1つずつ見て、データが与えられるたびにパラメータを更新していく学習方法である。1クラスSVMでは、追加データを反映するために全てのデータに対して再度計算し直す必要がある。しかし、計算時間を考えると、パラメータを決定した後(学習後)、追加データが与えられるたびに計算することは非現実的である。また、全てのデータに対して再度計算するので、今までのデータを全てまとめて保持しておく必要があることもデメリットとなる。
2つ目の問題は、学習用データの数が多くなると、最適化問題を解くために非常に時間がかかることである。二次計画問題の計算量は、学習用データの数の3乗のオーダーで増大していく。
3つ目の問題は、チューニングに必要なパラメータが最低2つ存在し、更に探索空間が広いことである。例えば、ガウシアンカーネルの場合は分散パラメータを用いる。分散パラメータの探索空間は正の実数値なので、非常に広い範囲でチューニングを試みる必要がある。結果として、適切な値を見つけるために非常に時間がかかる。
4つ目の問題は、パラメータをチューニングするために、クラスラベルが付いたデータを必要とすることである。従って、クラスラベルが付いたデータを十分に用意できない問題に対しては汎用性が担保できず、1クラスSVMを適用できない。
クラスラベルが付いたデータが必要な理由は、クロスバリデーションによってパラメータの値を評価するためである。また、クロスバリデーションは膨大な計算量が必要となることも問題となる。
クラスラベルが付いたデータが必要な理由は、クロスバリデーションによってパラメータの値を評価するためである。また、クロスバリデーションは膨大な計算量が必要となることも問題となる。
5つ目の問題は、1クラスSVMによって構築された識別器が、特定のクラスに識別されなかったデータを解析する機能がないことである。例えば、識別器が異常値検出に用いられる場合、特定のクラスに識別されなかったデータ(=異常値)を解析する機能が必要となる。
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、高精度な識別器を短時間で構築する識別器構築装置等を提供することである。また、識別後にデータを解析する機能を有する識別器を提供することである。
前述した目的を達成するために第1の発明は、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する識別器構築装置であって、観測データの各要素に加工処理を施して所定の範囲の整数値とし、各整数値をビットデータに変換し、各ビットデータの最上位ビットから最下位ビットまで、順位ごとにまとめて並べたビット列である変換データを生成する変換手段と、前記変換データを示す観測領域を二分決定グラフとして構築する第1の構築手段と、データパターン全体の領域から判定範囲を決定し、前記判定範囲に対する前記観測領域の密度と閾値を比較し、前記密度が閾値よりも大きい場合には、前記判定範囲全体を推定領域とし、前記推定領域を二分決定グラフとして構築する第2の構築手段と、を具備することを特徴とする識別器構築装置である。
第1の発明では、チューニングが必要なパラメータは1つだけなので、識別器が用いる推定領域を精度良く短時間に構築することができる。また、二分決定グラフとして観測領域、推定領域を構築するので、繰り返して行う中核的な計算処理の対象となるデータ容量を抑えることができ、全体の計算処理を短時間で実行することができる。また、二分決定グラフとして推定領域を構築するので、学習後の追加データを推定領域に含めることが容易となる。
第1の発明では、チューニングが必要なパラメータは1つだけなので、識別器が用いる推定領域を精度良く短時間に構築することができる。また、二分決定グラフとして観測領域、推定領域を構築するので、繰り返して行う中核的な計算処理の対象となるデータ容量を抑えることができ、全体の計算処理を短時間で実行することができる。また、二分決定グラフとして推定領域を構築するので、学習後の追加データを推定領域に含めることが容易となる。
第1の発明における前記第2の構築手段は、複数の閾値を用いて前記推定領域を複数構築するものであり、第1の発明は、前記推定領域に対する情報量基準を算出することによって前記閾値の最適な値を決定する最適閾値決定手段、を更に具備することが望ましい。
情報量基準によって最適な閾値を決定するので、パラメータ(閾値)のチューニング処理を短時間で行うことができる。また、情報量基準の計算にはクラスラベルの付いたデータが不要なため、クラスラベルの付いたデータを十分に用意できない問題に対しても、パラメータチューニングを容易に行うことができる。
情報量基準によって最適な閾値を決定するので、パラメータ(閾値)のチューニング処理を短時間で行うことができる。また、情報量基準の計算にはクラスラベルの付いたデータが不要なため、クラスラベルの付いたデータを十分に用意できない問題に対しても、パラメータチューニングを容易に行うことができる。
第1の発明における前記第2の構築手段は、前記観測領域の各ノードにおける最小項の数を算出する第1の算出手段と、前記変換データに含まれるビット数をnとしたときに、前記最小項の数を2のn乗で除した値を各ノードにおける密度として算出する第2の算出手段と、前記観測領域の各枝に対して、接続先のノードにおける前記密度が前記閾値よりも高く、かつ接続元のノードよりも接続先のノードのレベルが高い場合には、接続先を定数ノードに変更する変更手段と、を具備するものである。
これによって、推定領域の構築を短時間で行うことができる。また、接続元のノードよりも接続先のノードのレベルが高い場合に接続先を定数ノードに変更するので、計算結果が観測データに含まれる要素同士の順位関係に依存せず、要素同士の関係性を示す情報等がなくても高精度な識別器を構築することができる。
これによって、推定領域の構築を短時間で行うことができる。また、接続元のノードよりも接続先のノードのレベルが高い場合に接続先を定数ノードに変更するので、計算結果が観測データに含まれる要素同士の順位関係に依存せず、要素同士の関係性を示す情報等がなくても高精度な識別器を構築することができる。
第1の発明における前記変換手段は、前記ビットデータをカテゴリカルデータと数値データに区分し、前記カテゴリカルデータを上位、前記数値データを下位となるように並び替えて、前記数値データに対してのみ最上位ビットから最下位ビットまで、順位ごとにまとめて並び替えるものであることが望ましい。
これによって、距離の概念が導入できないカテゴリカルデータと、数値データを区分して観測領域を構築することができる。
これによって、距離の概念が導入できないカテゴリカルデータと、数値データを区分して観測領域を構築することができる。
第2の発明は、第1の発明の識別器構築装置によって構築された前記推定領域を用いて、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別手段、を具備することを特徴とする識別器である。
第2の発明は、未知のデータパターンを特定のクラスとそれ以外のクラスに高精度に識別することができる。
第2の発明は、未知のデータパターンを特定のクラスとそれ以外のクラスに高精度に識別することができる。
第2の発明は、前記識別手段によって特定のクラスに識別されなかったデータパターンに対して、特定のクラスに識別されなかったことに関与している要素の絞り込みを行う絞り込み手段、を更に具備することが望ましい。
これによって、特定のクラスに識別されなかったデータを解析することができる。例えば、識別器が異常値検出に用いられる場合、異常に関与する要素の絞り込みを行うことができる。
これによって、特定のクラスに識別されなかったデータを解析することができる。例えば、識別器が異常値検出に用いられる場合、異常に関与する要素の絞り込みを行うことができる。
第3の発明は、コンピュータを第1の発明の識別器構築装置として機能させるためのプログラムである。
第3の発明は、一般的なコンピュータを第1の発明の識別器構築装置として機能させることができる。
第3の発明のプログラムは、ネットワークを介して配布することもできる。また、第3の発明のプログラムは、サーバにインストールすることで、ネットワークを介して他のコンピュータに使用させることもできる。
第3の発明は、一般的なコンピュータを第1の発明の識別器構築装置として機能させることができる。
第3の発明のプログラムは、ネットワークを介して配布することもできる。また、第3の発明のプログラムは、サーバにインストールすることで、ネットワークを介して他のコンピュータに使用させることもできる。
本発明により、高精度な識別器を短時間で構築する識別器構築装置等を提供することができる。また、識別後にデータを解析する機能を有する識別器を提供することができる。
以下図面に基づいて、本発明の実施形態を詳細に説明する。
本発明の実施形態では、識別器がシステムの異常値検出(anomaly detection)に用いられる場合を想定して説明する。学習用データは実際のシステムにおいて観測された観測データとする。
尚、本発明が対象とする識別器の用途は、異常値検出に限られず、外れ値検出(outlier detection)、特異値検出(novelty detection)など、未知のデータパターンを特定のクラスとそれ以外のクラスに識別するものであればどのような用途でも良い。
本発明の実施形態では、識別器がシステムの異常値検出(anomaly detection)に用いられる場合を想定して説明する。学習用データは実際のシステムにおいて観測された観測データとする。
尚、本発明が対象とする識別器の用途は、異常値検出に限られず、外れ値検出(outlier detection)、特異値検出(novelty detection)など、未知のデータパターンを特定のクラスとそれ以外のクラスに識別するものであればどのような用途でも良い。
図1は、識別器構築装置1のハードウエア構成図である。尚、図1のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
識別器構築装置1は、制御部11、記憶部12、メディア入出力部13、通信制御部14、入力部15、表示部16、周辺機器I/F部17等が、バス18を介して接続される。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成される。
CPUは、記憶部12、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス18を介して接続された各装置を駆動制御し、識別器構築装置1が行う後述する処理を実現する。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。
RAMは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。
RAMは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
記憶部12は、HDD(ハードディスクドライブ)であり、制御部11が実行するプログラム、プログラム実行に必要なデータ、OS(オペレーティングシステム)等が格納される。プログラムに関しては、OS(オペレーティングシステム)に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
メディア入出力部13(ドライブ装置)は、データの入出力を行い、例えば、CDドライブ(−ROM、−R、−RW等)、DVDドライブ(−ROM、−R、−RW等)等のメディア入出力装置を有する。
通信制御部14は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
通信制御部14は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
入力部15は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部15を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部16は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。
入力部15を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部16は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。
周辺機器I/F(インタフェース)部17は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器I/F部17を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器I/F部17は、USBやIEEE1394やRS−232C等で構成されており、通常複数の周辺機器I/Fを有する。周辺機器との接続形態は有線、無線を問わない。
バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
図2は、識別器構築装置1の処理の詳細を示すフローチャートである。以下では、必要に応じて図3〜図12を参照し、単純なデータ例と合わせて処理の詳細を説明する。
図2に示すように、識別器構築装置1の制御部11は、後続の処理を行う前処理として、観測データを変換する(S11)。観測データは、複数の要素を含み、診断対象のシステムが正常な状態において同時に観測されたデータパターンである。例えば、診断対象のシステムが車両システムの場合、観測データは、ある時刻に観測された車速、回転数、ACC(Auto Cruse Control)のON/OFFなどの複数要素のデータパターンである。
観測データに含まれる要素は、車速、回転数のような数値データ、ACCのON/OFFのようなカテゴリカルデータのいずれかに区分される。
観測データに含まれる要素は、車速、回転数のような数値データ、ACCのON/OFFのようなカテゴリカルデータのいずれかに区分される。
最初に、制御部11は、観測データに含まれる要素に対して様々な加工処理を施して所定の範囲の整数値とする。
観測データに含まれる要素が数値データの場合、制御部11は、細かく区切って離散化し、デジタル化する。例えば、制御部11は、数値データを小数点第1位で四捨五入して整数値とし、int型データに変換する。
数値データの取り得る範囲が極端に狭い、または広い場合、制御部11は、適当な係数をかけて想定するint型データの範囲に満遍なく収まるようにする。
また、数値データの分布が極端に偏っている場合、制御部11は、対数変換なども行う。
また、観測データに含まれる要素が数値データであっても、取り得る値が少ない場合、例えば、エアコンの強度を示すデータなどで0〜3の整数値しか取らない場合などは、制御部11は、このようなデータをカテゴリカルデータとして取り扱っても良い。
また、観測データに含まれる要素がカテゴリカルデータであっても、取り得る値に何らかの距離の概念が導入できる場合などは、制御部11は、このようなデータを数値データとして取り扱っても良い。
観測データに含まれる要素が数値データの場合、制御部11は、細かく区切って離散化し、デジタル化する。例えば、制御部11は、数値データを小数点第1位で四捨五入して整数値とし、int型データに変換する。
数値データの取り得る範囲が極端に狭い、または広い場合、制御部11は、適当な係数をかけて想定するint型データの範囲に満遍なく収まるようにする。
また、数値データの分布が極端に偏っている場合、制御部11は、対数変換なども行う。
また、観測データに含まれる要素が数値データであっても、取り得る値が少ない場合、例えば、エアコンの強度を示すデータなどで0〜3の整数値しか取らない場合などは、制御部11は、このようなデータをカテゴリカルデータとして取り扱っても良い。
また、観測データに含まれる要素がカテゴリカルデータであっても、取り得る値に何らかの距離の概念が導入できる場合などは、制御部11は、このようなデータを数値データとして取り扱っても良い。
次に、制御部11は、各整数値をビットデータに変換し、カテゴリカルデータが上位、数値データが下位となるように並び替えを行う。カテゴリカルデータ同士は、どちらが上位となっても構わない。同様に、数値データ同士は、どちらが下位となっても構わない。これによって、要素同士の関係性を示す情報などがなくても、識別器の構築が可能となる。カテゴリカルデータと数値データを分けた理由は、一般にカテゴリカルデータの取り得る値に対して距離の概念を導入することができず、数値データと混合することが困難だからである。
次に、制御部11は、ビットデータに変換された数値データに対して、ビットの並び替えを行う。ビットの並び替え処理は、図3を参照して説明する。
図3は、ビットの並び替え処理の一例を示す図である。
図3に示す観測データ21は、制御部11が前述した加工処理を行うことによって、0〜7の整数値に変換されている。図3に示す観測データ21は、x1とx2の2つの要素を含む。x1、x2は、両方とも数値データである。
図3に示す観測データ21は、制御部11が前述した加工処理を行うことによって、0〜7の整数値に変換されている。図3に示す観測データ21は、x1とx2の2つの要素を含む。x1、x2は、両方とも数値データである。
ビットデータ22のd1〜d3は、観測データ21のx1を2進数に変換した各ビットの値である。また、ビットデータ22のe1〜e3は、観測データ21のx2を2進数に変換した各ビットの値である。
例えば、観測データ21aの場合、x1が「6」、x2が「2」なので、d1が「1」、d2が「1」、d3が「0」、e1が「0」、e2が「1」、e3が「0」のビットデータ22aとなる。
以下では、ビット列に対して順位の概念を導入する。そして、d1とe1のように最も左端のビットを「最上位ビット」(MSB:Most Significant Bit)、d3とe3のように最も右端のビットを「最下位ビット」(LSB:Least Significant Bit)と呼ぶこととする。
例えば、観測データ21aの場合、x1が「6」、x2が「2」なので、d1が「1」、d2が「1」、d3が「0」、e1が「0」、e2が「1」、e3が「0」のビットデータ22aとなる。
以下では、ビット列に対して順位の概念を導入する。そして、d1とe1のように最も左端のビットを「最上位ビット」(MSB:Most Significant Bit)、d3とe3のように最も右端のビットを「最下位ビット」(LSB:Least Significant Bit)と呼ぶこととする。
図3に示すように、ビットデータ22は、x1に対応するビット列がd1、d2、d3、x2に対応するビット列がe1、e2、e3の順に並んでいる。これに対して、制御部11は、各ビットデータ22の最上位ビットから最下位ビットまで、順位ごとにまとめて、d1、e1、d2、e2、d3、e3と並び替えた一つのビット列である変換データ23を生成する。
例えば、ビットデータ22aの場合、制御部11は、「1、0、1、1、0、0」に並び替えた一つのビット列である変換データ23aを生成する。
例えば、ビットデータ22aの場合、制御部11は、「1、0、1、1、0、0」に並び替えた一つのビット列である変換データ23aを生成する。
図2の説明に戻る。次に、識別器構築装置1の制御部11は、S11にて生成した変換データ23を示す観測領域を二分決定グラフによって構築する(S12)。二分決定グラフについては、図4を参照して説明する。
図4は、観測領域31の一例を示す図である。図4に示す観測領域31は、図3の変換データ23に基づいて二分決定グラフとして構築されたものである。
二分決定グラフは、論理関数を表現するために使われるデータ構造である。二分決定グラフは、コンピュータにおいてポインタの配列で表現されるので、必要な記憶容量を減らすことができる。また、既約な順序付き二分決定グラフの場合、論理関数同士の演算がグラフのサイズにほぼ比例する程度の計算時間で実行できる。
順序付き二分決定グラフとは、(1)ノード同士に全順序関係が定義されている、(2)最も上位のノードから定数ノードに至る全てのパスについて変数の出現順序が、全順序関係に矛盾しない、二分決定グラフである。
既約な二分決定グラフとは、(1)冗長なノードを全て削除、(2)等価なノードを全て共有、という2つの簡約化規則がこれ以上適用できなくなるまで適用されている二分決定グラフである。
二分決定グラフは、論理関数を表現するために使われるデータ構造である。二分決定グラフは、コンピュータにおいてポインタの配列で表現されるので、必要な記憶容量を減らすことができる。また、既約な順序付き二分決定グラフの場合、論理関数同士の演算がグラフのサイズにほぼ比例する程度の計算時間で実行できる。
順序付き二分決定グラフとは、(1)ノード同士に全順序関係が定義されている、(2)最も上位のノードから定数ノードに至る全てのパスについて変数の出現順序が、全順序関係に矛盾しない、二分決定グラフである。
既約な二分決定グラフとは、(1)冗長なノードを全て削除、(2)等価なノードを全て共有、という2つの簡約化規則がこれ以上適用できなくなるまで適用されている二分決定グラフである。
図4に示す二分決定グラフは、実線で示すThen枝(変換データ23のビットの値が「1」に対応する枝)、間隔が広い点線で示すElse枝(変換データ23のビットの値が「0」に対応する枝)、「*」(アスタリスク)を付した間隔が狭い点線で示す否定Else枝の3つを用いている。否定Else枝を用いると、否定演算が短時間で実行できる。
例えば、図3に示す変換データ23のd1は、ブーリアン変数とみなすことができ、ノード32に対応している。
尚、33は最も上位のノード(ルートノード)、34は定数ノードである。
例えば、図3に示す変換データ23のd1は、ブーリアン変数とみなすことができ、ノード32に対応している。
尚、33は最も上位のノード(ルートノード)、34は定数ノードである。
図2の説明に戻る。次に、識別器構築装置1の制御部11は、観測領域31の各ノードにおける最小項の数を算出する(S14)。
観測領域31の各ノードにおける最小項の数の算出処理は、図5、図6を参照して説明する。
観測領域31の各ノードにおける最小項の数の算出処理は、図5、図6を参照して説明する。
図5は、各ノードにおける最小項の数の算出処理を説明する図、図6は、最小項の数の算出結果の一例を示す図である。
最小項(Minterm)とは、変数の集合が与えられたとき、全ての変数のリテラルを含む積項である。例えば、変数の集合が(a、b、c)のとき、a¬bcは最小項であり、a¬bは最小項ではない。
ここでは、各ノードにおける最小項の数について、下位ノードに通常枝で接続の場合(P)と否定枝で接続の場合(N)に分けて算出する。
ここでは、各ノードにおける最小項の数について、下位ノードに通常枝で接続の場合(P)と否定枝で接続の場合(N)に分けて算出する。
制御部11は、最初に定数ノードの最小項の数を算出する。定数ノードは、通常枝で接続の場合が2のn乗(nはブーリアン変数の数、すなわち変換データ23のビット数)、否定枝で接続の場合が0である。
図3に示す変換データ23のビット数は「6」なので、通常枝で接続の場合が2の6乗=64となる。従って、図6に示す定数ノード51の最小項の数は、Pが「64」、Nが「0」となる。
図3に示す変換データ23のビット数は「6」なので、通常枝で接続の場合が2の6乗=64となる。従って、図6に示す定数ノード51の最小項の数は、Pが「64」、Nが「0」となる。
次に、制御部11は、各ノードの最小項の数を深さ優先探索によって再帰的に算出する。
図5の(1)には、Else枝が否定枝ではない場合について、最小項の数の算出方法を示している。ノード43の最小項の数を算出する場合、下位のノード41と42の算出結果を用いる。Then枝によって接続された下位のノード41のPの値をt_p、Nの値をt_nとし、Else枝によって接続された下位のノード42のPの値をe_p、Nの値をe_nとする。このとき、ノード43のPの値は、t_p/2+e_p/2となる。また、ノード43のNの値は、t_n/2+e_n/2となる。
また、図5の(2)には、Else枝が否定枝の場合について、最小項の数の算出方法を示している。ノード46の最小項の数を算出する場合、下位のノード44と45の算出結果を用いる。Then枝によって接続された下位のノード44のPの値をt_p、Nの値をt_nとし、否定Else枝によって接続された下位のノード45のPの値をe_p、Nの値をe_nとする。このとき、ノード46のPの値はt_p/2+e_n/2となる。また、ノード46のNの値はt_n/2+e_p/2となる。
図5の(1)には、Else枝が否定枝ではない場合について、最小項の数の算出方法を示している。ノード43の最小項の数を算出する場合、下位のノード41と42の算出結果を用いる。Then枝によって接続された下位のノード41のPの値をt_p、Nの値をt_nとし、Else枝によって接続された下位のノード42のPの値をe_p、Nの値をe_nとする。このとき、ノード43のPの値は、t_p/2+e_p/2となる。また、ノード43のNの値は、t_n/2+e_n/2となる。
また、図5の(2)には、Else枝が否定枝の場合について、最小項の数の算出方法を示している。ノード46の最小項の数を算出する場合、下位のノード44と45の算出結果を用いる。Then枝によって接続された下位のノード44のPの値をt_p、Nの値をt_nとし、否定Else枝によって接続された下位のノード45のPの値をe_p、Nの値をe_nとする。このとき、ノード46のPの値はt_p/2+e_n/2となる。また、ノード46のNの値はt_n/2+e_p/2となる。
例えば、図6に示すノード52の場合、下位のノードと接続されたElse枝が否定枝であるから、図5の(2)の算出方法によって最小項の数を算出する。ノード52のThen枝、否定Else枝は、ともに定数ノード51と接続されているので、ノード52のPの値は64/2+0/2=32、Nの値は64/2+0/2=32となる。
また、例えば、図6に示すノード53の場合、下位のノードと接続されたElse枝が否定枝ではないことから、図5の(1)の算出方法によって最小項の数を算出する。ノード53のThen枝はノード52、Else枝は定数ノード51に接続されているので、ノード53のPの値は32/2+64/2=48、Nの値は32/2+0/2=16となる。
図2の説明に戻る。次に、識別器構築装置1の制御部11は、観測領域31の各ノードにおける密度を算出する(S14)。
観測領域31の各ノードにおける密度の算出処理は、図7、図8を参照して説明する。
観測領域31の各ノードにおける密度の算出処理は、図7、図8を参照して説明する。
図7は、各ノードにおける密度の算出処理を説明する図、図8は、密度の算出結果の一例を示す図である。
図7の(1)は、図6のノード54の密度計算を示している。図7の(1)は、縦軸、横軸をそれぞれ観測データ21のx1、x2としたときの平面図を表す。以下では、図4、図6も参照しながら説明する。
図4と図6を参照すると分かるように、ノード54はd2に対応している。最上位ノードからノード54までのパスには、ブーリアン変数d1、e1に対応する2つのノードが存在するので、平面図におけるノード54の領域は、d1が「0」、e1が「0」、それ以外がドントケア(「ドントケア」とは、値が0でも1でも良いことを意味する。)としたときの領域61となる。
領域61に含まれるマス目の数は、2の4乗=16である。
また、領域61に含まれる最小項は、(d1、e1、d2、e2、d3、e3)=(0、0、1、0、1、1)、(0、0、1、1、1、1)、(0、0、1、1、0、0)、(0、0、0、1、1、1)の4つである。
従って、ノード54の密度は、領域61に含まれる最小項/領域61に含まれるマス目の数=4/16=0.25となる。
図4と図6を参照すると分かるように、ノード54はd2に対応している。最上位ノードからノード54までのパスには、ブーリアン変数d1、e1に対応する2つのノードが存在するので、平面図におけるノード54の領域は、d1が「0」、e1が「0」、それ以外がドントケア(「ドントケア」とは、値が0でも1でも良いことを意味する。)としたときの領域61となる。
領域61に含まれるマス目の数は、2の4乗=16である。
また、領域61に含まれる最小項は、(d1、e1、d2、e2、d3、e3)=(0、0、1、0、1、1)、(0、0、1、1、1、1)、(0、0、1、1、0、0)、(0、0、0、1、1、1)の4つである。
従って、ノード54の密度は、領域61に含まれる最小項/領域61に含まれるマス目の数=4/16=0.25となる。
上述した密度の計算では、ノードごとに最小項を一つ一つ探索しなければならず、計算時間が増大する。そこで、本実施の形態では、先に算出した各ノードにおける最小項の数を利用する算出方法を用いる。
図7の(1)では、全体領域62が、領域61に含まれる最小項の配置を繰り返して構成されている。このように構成された全体領域62に含まれる最小項の数は、先に算出したノード54におけるPの値(通常枝で接続の場合の最小項の数)と同値なので、制御部11は、ノード54の密度=ノード54におけるPの値/2のn乗(nは変換データ23のビット数)=16/2の6乗=0.25と算出する。
図7の(1)では、全体領域62が、領域61に含まれる最小項の配置を繰り返して構成されている。このように構成された全体領域62に含まれる最小項の数は、先に算出したノード54におけるPの値(通常枝で接続の場合の最小項の数)と同値なので、制御部11は、ノード54の密度=ノード54におけるPの値/2のn乗(nは変換データ23のビット数)=16/2の6乗=0.25と算出する。
また、図7の(2)は、図6のノード55の密度計算を示している。平面図におけるノード55の領域は、63と64である。
図7の(2)における全体領域65は、領域63と64に含まれる最小項の配置を繰り返して構成されている。このように構成された全体領域65に含まれる最小項の数は、先に算出したノード55におけるPの値(通常枝で接続の場合の最小項の数)と同値なので、制御部11は、ノード55の密度=ノード55におけるPの値/2のn乗(nは変換データ23のビット数)=16/2の6乗=0.25と算出する。
図7の(2)における全体領域65は、領域63と64に含まれる最小項の配置を繰り返して構成されている。このように構成された全体領域65に含まれる最小項の数は、先に算出したノード55におけるPの値(通常枝で接続の場合の最小項の数)と同値なので、制御部11は、ノード55の密度=ノード55におけるPの値/2のn乗(nは変換データ23のビット数)=16/2の6乗=0.25と算出する。
全てのノードについて算出した結果は、図8に示す通りである。先に算出した各ノードにおける最小項の数を利用することで、密度計算は四則演算のみで行うことができる。
図2の説明に戻る。次に、識別器構築装置1の制御部11は、S16にて用いる閾値を決定する(S15)。閾値は、本実施の形態によって識別器を構築するためにチューニングが必要な唯一のパラメータである。
次に、識別器構築装置1の制御部11は、観測領域31の各枝に対して閾値を用いた判定を行い、接続先の変更を行う(S16)。
観測領域31の各枝に対して閾値を用いた判定を行い、接続先の変更を行う処理は、図9〜図11を参照して説明する。
次に、識別器構築装置1の制御部11は、観測領域31の各枝に対して閾値を用いた判定を行い、接続先の変更を行う(S16)。
観測領域31の各枝に対して閾値を用いた判定を行い、接続先の変更を行う処理は、図9〜図11を参照して説明する。
図9は、閾値を用いた判定処理を説明する図、図10は、接続先の変更結果の一例を示す図である。
閾値を用いた判定処理では、二分決定グラフのノードに対してレベルの概念を導入する。観測データ21に含まれる数値データのMSB(最上位ビット)に対応するノードをレベル1とし、各数値データのビット列の順位ごとにレベルを分ける。ルートノードはレベル0とする。また、カテゴリカルデータのビットに対応するノードもレベル0とする。
図9に示す二分決定グラフでは、ルートノードがレベル0、ブーリアン変数d1、e1(=MSBのブーリアン変数)に対応するノードがレベル1、ブーリアン変数d2、e2に対応するノードがレベル2、ブーリアン変数d3、e3(=LSBのブーリアン変数)がレベル3である。
制御部11は、観測領域31を示す二分決定グラフの各枝に対し、接続先のノードにおける密度が閾値よりも高く、かつ接続元のノードよりも接続先のノードのレベルが高い場合には、その枝の接続先を定数ノードに変更する。ここで、各ノードにおける密度とは、ルートノードからのパスの中で否定Else枝が0または偶数の場合にはPの値、奇数の場合にはNの値である。
図9において、太字の矢印で示される枝は、判定結果がYESとなったものである。
枝71を例として、判定処理を具体的に説明する。枝71の接続元はノード73、枝71の接続先はノード72である。ノード72はルートノードからのパスの中で否定Else枝が2つ(ルートノードからの枝と枝71)であるから、ノード72における密度はPの値である。ノード72のPの値は0.75であるから閾値0.5よりも高い。更に、接続元のノード73はレベル2、接続先のノード72はレベル3であるから、接続元のノードよりも接続先のノードのレベルが高い。従って、判定結果はYESとなる。
枝71を例として、判定処理を具体的に説明する。枝71の接続元はノード73、枝71の接続先はノード72である。ノード72はルートノードからのパスの中で否定Else枝が2つ(ルートノードからの枝と枝71)であるから、ノード72における密度はPの値である。ノード72のPの値は0.75であるから閾値0.5よりも高い。更に、接続元のノード73はレベル2、接続先のノード72はレベル3であるから、接続元のノードよりも接続先のノードのレベルが高い。従って、判定結果はYESとなる。
次に、制御部11は、判定処理において判定結果がYESとなった枝に対して、その枝の接続先を定数ノードに変更する。ただし、ルートノードから接続先ノードまでのパスに含まれる否定Else枝の個数が奇数の枝については、枝の否定属性を反転させてから、接続先を定数ノードに変更する。このとき、Then枝に否定属性を付与する場合、下位ノードから上位ノードの順に、Then枝、Else枝、そのノードを指している枝の3つの枝すべての否定属性を反転させる操作を繰り返し、Then枝に付与された否定属性を解消する。
図10では、接続先を変更した後の二分決定グラフと、そのときの領域を表す平面図を示している。平面図において×印を付したマスは、接続先を変更することによって新たに埋められたものである。すなわち、×印を付したマスは、観測領域31に加えて、新たに特定のクラスに属すると推定された領域である。以下では、観測領域31と新たに推定された領域(×印を付したマス)を合わせて推定領域と呼ぶこととする。推定領域は、特定のクラスに属すると推定できる領域を意味する。
図10では、接続先を変更した後の二分決定グラフと、そのときの領域を表す平面図を示している。平面図において×印を付したマスは、接続先を変更することによって新たに埋められたものである。すなわち、×印を付したマスは、観測領域31に加えて、新たに特定のクラスに属すると推定された領域である。以下では、観測領域31と新たに推定された領域(×印を付したマス)を合わせて推定領域と呼ぶこととする。推定領域は、特定のクラスに属すると推定できる領域を意味する。
ここで、前述した判定処理における判定条件について説明する。
接続先のノードにおける密度が閾値よりも高いという第1の条件を満たすことは、データパターン全体の領域(図10の平面図であれば8×8の領域)の一部または全部において観測領域の密度が閾値よりも高いことを意味している。
従って、識別器構築装置1の制御部11が各ノードに対して第1の条件を満たす場合に接続先を定数ノードに変更することは、データパターン全体の領域から判定範囲を決定し、判定範囲に対する観測領域の密度と閾値を比較し、観測領域の密度が閾値よりも大きい場合には判定範囲全体を推定領域とすることを意味する。
接続先のノードにおける密度が閾値よりも高いという第1の条件を満たすことは、データパターン全体の領域(図10の平面図であれば8×8の領域)の一部または全部において観測領域の密度が閾値よりも高いことを意味している。
従って、識別器構築装置1の制御部11が各ノードに対して第1の条件を満たす場合に接続先を定数ノードに変更することは、データパターン全体の領域から判定範囲を決定し、判定範囲に対する観測領域の密度と閾値を比較し、観測領域の密度が閾値よりも大きい場合には判定範囲全体を推定領域とすることを意味する。
図11は、閾値による推定領域の変化を示す図である。図11に示すように、閾値が高い場合は推定領域が狭く、閾値が低くなるにつれて推定領域が広くなる。閾値が0.2の場合、データパターン全体の領域が推定領域となっている。この推定領域を用いる識別器は、全てのデータパターンが特定のクラスに属すると識別することになる。
また、接続元のノードよりも接続先のノードのレベルが高いという第2の条件は、観測データに含まれる要素同士(カテゴリカルデータ同士、数値同士)の順位関係に依存させない為に必要なものである。
仮に同じレベルのノードを接続する枝に関しても変更処理を行うとすると、要素同士の順位関係に依存して結果が変わってしまう。本実施の形態における要素同士の順位関係は便宜的に決めたものであって何の情報にも基づかないので、結果が要素同士の順位関係に依存することは精度の低下を招く。
尚、第2の条件を満たす枝に対して接続先の変更処理を行うことは、推定領域とみなす全体領域の一部の範囲が、平面図において2の1乗×2の1乗、2の2乗×2の2乗、・・・、2のm乗×2のm乗(mは1つの要素を表現するために使用するビット数、図3に示す例ではm=3)のマス目に限られることを意味する。
仮に同じレベルのノードを接続する枝に関しても変更処理を行うとすると、要素同士の順位関係に依存して結果が変わってしまう。本実施の形態における要素同士の順位関係は便宜的に決めたものであって何の情報にも基づかないので、結果が要素同士の順位関係に依存することは精度の低下を招く。
尚、第2の条件を満たす枝に対して接続先の変更処理を行うことは、推定領域とみなす全体領域の一部の範囲が、平面図において2の1乗×2の1乗、2の2乗×2の2乗、・・・、2のm乗×2のm乗(mは1つの要素を表現するために使用するビット数、図3に示す例ではm=3)のマス目に限られることを意味する。
図2の説明に戻る。次に、識別器構築装置1の制御部11は、S16にて構築した推定領域の情報量基準を算出する(S17)。情報量基準は、例えば、次に示すBIC(ベイズ情報量基準:Bayesian Information Criterion)、AIC(赤池情報量基準:Akaike‘s Information Criterion)、MDL(最小記述長:Minimum Description Length)などを用いる。
以下では、観測領域をF、推定領域をFaと表記することとする。
以下では、観測領域をF、推定領域をFaと表記することとする。
ここで、nはデータ数、kはモデルの自由パラメータ数、Lは尤度関数である。本実施の形態におけるn、k、Lは、次式で定義する。
ここで、mは観測領域Fの最小項の数、|Fa|は推定領域Faのノード数、maは推定領域Faの最小項の数である。
図2の説明に戻る。次に、識別器構築装置1の制御部11は、全ての閾値によってS16、S17の処理が終了したかどうか確認する(S18)。
処理が終了していない場合、S15から繰り返す。
処理が終了している場合、制御部11は、情報量基準の算出結果に基づいて最適な推定領域を決定する(S19)。最適な推定領域は、識別器の記憶部に保存され、識別器が行う識別処理に用いられる。すなわち、識別器は、最適な推定領域を用いて、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する。尚、識別器のハードウエア構成は、図1に示すように、一般的なコンピュータであっても良いし、識別対象のデータを出力するシステムに搭載可能な専用モジュールであっても良い。
処理が終了していない場合、S15から繰り返す。
処理が終了している場合、制御部11は、情報量基準の算出結果に基づいて最適な推定領域を決定する(S19)。最適な推定領域は、識別器の記憶部に保存され、識別器が行う識別処理に用いられる。すなわち、識別器は、最適な推定領域を用いて、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する。尚、識別器のハードウエア構成は、図1に示すように、一般的なコンピュータであっても良いし、識別対象のデータを出力するシステムに搭載可能な専用モジュールであっても良い。
図12は、情報量基準の算出結果の一例を示す図である。図12に示す例では、BIC、AICともに閾値が0.2の場合に最小の値となっている。図12は、本実施の形態を分かり易く説明するために作成した単純なデータ例に対する算出結果であり、閾値を最適な値にチューニングできたかどうかを示す例としては適切ではない。
そこで、以下では、前述のように定義した情報量基準によって、閾値を最適な値にチューニングできたことを示す実施例を説明する。
そこで、以下では、前述のように定義した情報量基準によって、閾値を最適な値にチューニングできたことを示す実施例を説明する。
使用するデータは、UCI Machine Learning Repository(http://archive.ics.uci.edu/ml/)の「Shuttle Data」である。本データは、スペースシャトルから取得されたデータである。データパターンの要素数は8、全ての要素が整数値である。各データはクラス1〜7にラベル付けされている。全体の約80%はクラス1である。データ数は、トレーニングセット(学習用データ)が43500(クラス1は34108)、テストセット(テストデータ)が14500である。
本実施例では、識別器は異常値検出を行うものとする。従って、識別器は、特定のクラスに属するデータを正常値、特定のクラスに属さないデータを異常値として識別する。
識別器構築装置1はトレーニングセットに含まれるクラス1のデータを観測データとして処理を実行し、推定領域を構築した。そして、構築した推定領域Faを用いた識別器が、テストセットに対して、クラス1のデータを正常値、クラス1以外のデータを異常値と識別できるかを評価した。
識別器構築装置1はトレーニングセットに含まれるクラス1のデータを観測データとして処理を実行し、推定領域を構築した。そして、構築した推定領域Faを用いた識別器が、テストセットに対して、クラス1のデータを正常値、クラス1以外のデータを異常値と識別できるかを評価した。
データパターンの各要素の表現には、それぞれ16ビットを使用した。識別器構築装置1は、各要素を平均0、分散1に標準化し、適切な拡大係数をかけて、小数第1位を四捨五入し、変換データを生成した。
前述した定義のBICに基づいて閾値をチューニングした結果、最適な閾値は、10の(−14.5)乗であった。この最適な閾値によって構築した推定領域Faの二分決定グラフのノード数、最小項の数、BICの値は、次表の通りとなった。
前述した定義のBICに基づいて閾値をチューニングした結果、最適な閾値は、10の(−14.5)乗であった。この最適な閾値によって構築した推定領域Faの二分決定グラフのノード数、最小項の数、BICの値は、次表の通りとなった。
表1に示す通り、観測領域Fの最小項の数は33221、二分決定グラフのノード数は365604であった。尚、最小項の数が学習用データのクラス1に属するデータ数(=34108)よりも少ない理由は、学習用データの一部に重複があるためである。これに対して、推定領域Faの最小項の数は、2.41×10の18乗、二分決定グラフのノード数は17009であった。推定領域Faの方が観測領域Fよりも最小項の数がはるかに多いにも関わらず、ノード数は1/20以下となっており、二分決定グラフを用いることで推定領域Faがコンパクトに表現されることが分かる。
SVMなど他の手法では、少なくともデータ数に比例して、繰り返して実行する中核的な計算の対象となるデータ容量が増大するので、データ数が多くなると計算時間が問題となる。一方、二分決定グラフを用いることで中核的な計算の対象となるデータ容量(二分決定グラフの場合はノード数)を大幅に削減することができるので、本実施の形態では、データ数が多くなっても計算時間がほとんど問題にならないと言える。
SVMなど他の手法では、少なくともデータ数に比例して、繰り返して実行する中核的な計算の対象となるデータ容量が増大するので、データ数が多くなると計算時間が問題となる。一方、二分決定グラフを用いることで中核的な計算の対象となるデータ容量(二分決定グラフの場合はノード数)を大幅に削減することができるので、本実施の形態では、データ数が多くなっても計算時間がほとんど問題にならないと言える。
また、比較例として、1クラスSVM(1C−SVM)によって同様の計算と評価を行った。1C−SVMの計算に用いたツールは、統計解析環境Rのライブラリである「e1071」に含まれるsvm関数である。
本実施例と比較例についてのテストデータを用いた評価結果は、次表の通りとなった。
本実施例と比較例についてのテストデータを用いた評価結果は、次表の通りとなった。
表2では、観測領域Fによるテストデータの識別結果、識別器構築装置1によって構築した推定領域Faによるテストデータの識別結果、1C−SVMによって算出した超平面による識別結果の3つを示している。例えば、観測領域Fによる識別結果は、クラス1のテストデータに対して、異常と識別した数が10850、正常と識別した数が628であることを示している。
尚、1C−SVMのγがガウシアンカーネルの分散パラメータ、Cが外れ値の割合を示すパラメータである。
尚、1C−SVMのγがガウシアンカーネルの分散パラメータ、Cが外れ値の割合を示すパラメータである。
表3では、識別結果に基づいて、FalsePositiveRate(正常を異常と判断する割合)、Sensitivity(異常を異常と判断する割合)の算出結果を示している。
推定領域Faによる識別結果と1C−SVMによる識別結果を比較すると、FalsePositiveRateとSensitivityともに、ほぼ同じ値である。従って、識別器構築装置1によって構築した推定領域Faを用いる識別器の精度は、1C−SVMによって算出した超平面を用いる識別器の精度と同程度であると言える。
推定領域Faによる識別結果と1C−SVMによる識別結果を比較すると、FalsePositiveRateとSensitivityともに、ほぼ同じ値である。従って、識別器構築装置1によって構築した推定領域Faを用いる識別器の精度は、1C−SVMによって算出した超平面を用いる識別器の精度と同程度であると言える。
図13は、情報量基準による閾値のチューニング結果の詳細を示す図である。図13の(1)は、閾値を変化させたときのBICとAICのグラフである。(2)は、(1)のBICのグラフの一部を拡大したものである。(3)は、閾値を変化させたときのFalsePositiveRateとSensitivityのグラフである。(4)は、(3)のFalsePositiveRateとSensitivityのグラフの一部を拡大したものである。尚、(4)の左側の目盛がFalsePositiveRateの値、右側の目盛がSensitivityの値を示している。
図13の(2)を見ると分かるように、閾値が10の(−14.5)乗のとき、BICが最小値となることが分かる。また、図13の(4)を見ると分かるように、閾値が10の(−14.5)乗のとき、Sensitivityの値が1.000となる閾値の中でFalsePositiveRateの値がほぼ最小となっている。このように、本実施例では、前述した定義のBICによって、閾値を最適な値にチューニングできたことが分かる。
図14は、ROC曲線とAUCのグラフを示す図である。図14に示すROC(Receiver Operating Characteristic)曲線は、横軸がFalse positive rate、縦軸がSensitivityである。本実施例と1C−SVMのROC曲線は、共に左下の原点から縦軸に沿って縦軸の上限まで伸び、更に横軸に沿って横軸の上限まで伸びており、理想的な形になっている。また、ROC曲線より下側の領域の面積の割合を示すAUC(Area Under the Curve)も、共に1.00であり、理想的な値となっている。これによって、識別器構築装置1は、1C−SVMと同様、高精度な識別器を構築できることが分かる。
次に、本実施例の計算時間について、図2のフローチャートと対比しながら説明する。
S11、S12の処理時間である観測領域Fの構築処理時間t1は、4.69秒(データ数は34108)であった。
S13の処理時間である観測領域Fの各ノードにおける最小項の数の算出処理時間t2は、0.83秒(ノード数は365604)であった。
S16の処理時間である各枝に対する閾値判定と接続先の変更処理時間t3は、閾値が10の(−1)乗の場合が0.34秒、閾値が10の(−14.5)乗の場合が0.17秒であった。尚、t3は閾値が小さい方が短くなる。これは、閾値が小さい程、接続先を定数ノードに変更する処理が多く発生して、探索対象となる枝が減少する為である。
S14、S15、S17〜S19は、前述の処理と比較してほとんど時間を要さないので考慮する必要はない。
尚、テストデータの診断にかかった時間t5は、観測領域Fの場合が1.39秒、推定領域Faの場合が0.72秒であった。
S11、S12の処理時間である観測領域Fの構築処理時間t1は、4.69秒(データ数は34108)であった。
S13の処理時間である観測領域Fの各ノードにおける最小項の数の算出処理時間t2は、0.83秒(ノード数は365604)であった。
S16の処理時間である各枝に対する閾値判定と接続先の変更処理時間t3は、閾値が10の(−1)乗の場合が0.34秒、閾値が10の(−14.5)乗の場合が0.17秒であった。尚、t3は閾値が小さい方が短くなる。これは、閾値が小さい程、接続先を定数ノードに変更する処理が多く発生して、探索対象となる枝が減少する為である。
S14、S15、S17〜S19は、前述の処理と比較してほとんど時間を要さないので考慮する必要はない。
尚、テストデータの診断にかかった時間t5は、観測領域Fの場合が1.39秒、推定領域Faの場合が0.72秒であった。
以上の計測結果から、1つの閾値に対して、図2のS11〜S17を実行する時間は、t3を最も大きい値を用いて計算しても、t1+t2+t3=4.69+0.83+0.34=5.86秒程度となる。
また、例えば、100の閾値に対して、図2のS17〜S19を実行する時間は、t3を最も大きい値を用いて計算しても、t1+t2+100×t3=4.69+0.83+100×0.34=39.86秒程度となる。
また、例えば、100の閾値に対して、図2のS17〜S19を実行する時間は、t3を最も大きい値を用いて計算しても、t1+t2+100×t3=4.69+0.83+100×0.34=39.86秒程度となる。
一方、1C−SVMによって、1組のパラメータ(外れ値の割合を示すパラメータとカーネルパラメータ)に対して超平面を計算する平均時間は、14.83秒であった。従って、本発明の2倍以上かかることになる。
更に、1C−SVMの場合、本発明のように情報量基準によるチューニングではなく、クロスバリデーションによるチューニングを行う。クロスバリデーションの計算時間は、前述した超平面の計算時間の約10倍程度かかる。例えば、100組のパラメータに対してクロスバリデーションを行う場合、14.83×10×100=14830秒かかることになる。従って、本発明の370倍以上かかることになる。
更に、1C−SVMの場合、チューニングするパラメータが少なくとも2つ存在することから、2つのパラメータを100通りずつ計算すると、14.83×10×100×100=1483000秒かかることになる。従って、本発明と同程度の精度を得るためには、37000倍以上かかることになる。
更に、1C−SVMの場合、本発明のように情報量基準によるチューニングではなく、クロスバリデーションによるチューニングを行う。クロスバリデーションの計算時間は、前述した超平面の計算時間の約10倍程度かかる。例えば、100組のパラメータに対してクロスバリデーションを行う場合、14.83×10×100=14830秒かかることになる。従って、本発明の370倍以上かかることになる。
更に、1C−SVMの場合、チューニングするパラメータが少なくとも2つ存在することから、2つのパラメータを100通りずつ計算すると、14.83×10×100×100=1483000秒かかることになる。従って、本発明と同程度の精度を得るためには、37000倍以上かかることになる。
尚、本実施例では、前述した定義のAICによって閾値を最適な値にチューニングできていないが、他のデータではAICの方がBICよりも閾値を最適な値にチューニングできる場合もある。
次に、識別器構築装置1によって構築した推定領域Faを用いた識別器について説明する。
1C−SVMによって構築した識別器の場合、超平面を算出した後に観測データを追加するためには、超平面を再度算出する必要がある。
一方、推定領域Faは二分決定グラフとして構築されるので、識別器構築装置1によって構築した識別器は観測データを追加することが容易である。例えば、観測データxを追加する場合、xに所定の変換を行った変換データyに対して、Fa∨yのようにOR演算を行うだけで良い。すなわち、一種のオンライン学習が可能であると言える。また、推定領域Faに対してOR演算を行えば良いので、最初に推定領域Faを構築したときに用いた学習データは、識別器が保持しておく必要がない。そして、一定量の追加データが収集できた時点で、推定領域Faの再構築を行うようにすれば良い。
一方、推定領域Faは二分決定グラフとして構築されるので、識別器構築装置1によって構築した識別器は観測データを追加することが容易である。例えば、観測データxを追加する場合、xに所定の変換を行った変換データyに対して、Fa∨yのようにOR演算を行うだけで良い。すなわち、一種のオンライン学習が可能であると言える。また、推定領域Faに対してOR演算を行えば良いので、最初に推定領域Faを構築したときに用いた学習データは、識別器が保持しておく必要がない。そして、一定量の追加データが収集できた時点で、推定領域Faの再構築を行うようにすれば良い。
また、1C−SVMによって構築した識別器の場合、特定のクラスに識別されなかったデータパターンに対する解析を行う手段がない。
一方、識別器構築装置1によって構築した識別器は、特定のクラスに識別されなかったデータパターンに対して、特定のクラスに識別されなかったことに関与している要素の絞り込みを行うことができる。要素の絞り込みを行うため、識別器は、推定領域Faのスムージング処理を行う。スムージング処理については、図15を参照して説明する。また、要素の絞り込み処理については、図16を参照して説明する。
一方、識別器構築装置1によって構築した識別器は、特定のクラスに識別されなかったデータパターンに対して、特定のクラスに識別されなかったことに関与している要素の絞り込みを行うことができる。要素の絞り込みを行うため、識別器は、推定領域Faのスムージング処理を行う。スムージング処理については、図15を参照して説明する。また、要素の絞り込み処理については、図16を参照して説明する。
図15は、スムージング処理を説明する模式図である。図15に示す例では、データパターンは、x1、x2、x3の3つである。図15では、原点から近い方を0、原点から遠い方を1とし、各領域を示している。領域81は、推定領域Faである。
スムージング処理は、データパターンに含まれる1つまたは複数の要素をドントケアとする処理である。スムージング処理を式で示すと、例えば、推定領域Faに対してx1をドントケアとするスムージング処理を行った領域Fsは、Fs=Fa|x1=0∨Fa|x1=1となる。
図15に示す領域82は、領域81(推定領域Fa)に対してx1をドントケアとするスムージング処理を行ったものである。領域83は、領域81(推定領域Fa)に対してx2をドントケアとするスムージング処理を行ったものである。領域84は、領域81(推定領域Fa)に対してx3をドントケアとするスムージング処理を行ったものである。
また、図15に示す領域85は、領域81(推定領域Fa)に対してx1、x2をドントケアとするスムージング処理を行ったものである。領域86は、領域81(推定領域Fa)に対してx1、x3をドントケアとするスムージング処理を行ったものである。領域87は、領域81(推定領域Fa)に対してx2、x3をドントケアとするスムージング処理を行ったものである。
スムージング処理は、データパターンに含まれる1つまたは複数の要素をドントケアとする処理である。スムージング処理を式で示すと、例えば、推定領域Faに対してx1をドントケアとするスムージング処理を行った領域Fsは、Fs=Fa|x1=0∨Fa|x1=1となる。
図15に示す領域82は、領域81(推定領域Fa)に対してx1をドントケアとするスムージング処理を行ったものである。領域83は、領域81(推定領域Fa)に対してx2をドントケアとするスムージング処理を行ったものである。領域84は、領域81(推定領域Fa)に対してx3をドントケアとするスムージング処理を行ったものである。
また、図15に示す領域85は、領域81(推定領域Fa)に対してx1、x2をドントケアとするスムージング処理を行ったものである。領域86は、領域81(推定領域Fa)に対してx1、x3をドントケアとするスムージング処理を行ったものである。領域87は、領域81(推定領域Fa)に対してx2、x3をドントケアとするスムージング処理を行ったものである。
図16は、要素の絞り込み処理を説明する模式図である。図16の(1)、(2)に示す×印は、推定領域Faに属さない異常値を示している。
図16の(1)に示す異常値は、(x1、x2、x3)=(1、1、1)である。
識別器は、最初に、(x1、x2、x3)=(1、1、1)が領域81(推定領域Fa)に属さず、異常値であることを識別する。
次に、識別器は、x1、x2、x3をそれぞれドントケアとするスムージング処理を行い、(x2、x3)=(1、1)が領域82に属し、(x1、x3)=(1、1)が領域83に属さず、(x1、x2)=(1、1)が領域84に属すことを識別する。これによって、x2は異常に関与しておらず、x1とx3のみが異常に関与していることが分かる。
図16の(1)に示す異常値は、(x1、x2、x3)=(1、1、1)である。
識別器は、最初に、(x1、x2、x3)=(1、1、1)が領域81(推定領域Fa)に属さず、異常値であることを識別する。
次に、識別器は、x1、x2、x3をそれぞれドントケアとするスムージング処理を行い、(x2、x3)=(1、1)が領域82に属し、(x1、x3)=(1、1)が領域83に属さず、(x1、x2)=(1、1)が領域84に属すことを識別する。これによって、x2は異常に関与しておらず、x1とx3のみが異常に関与していることが分かる。
また、図16の(2)に示す異常値は、(x1、x2、x3)=(0、0、1)である。
識別器は、最初に、(x1、x2、x3)=(0、0、1)が領域81(推定領域Fa)に属さず、異常値であることを識別する。
次に、識別器は、x1、x2、x3をそれぞれドントケアとするスムージング処理を行い、(x2、x3)=(0、1)が領域82に属さず、(x1、x3)=(0、1)が領域83に属し、(x1、x2)=(0、0)が領域84に属すことを識別する。これによって、x1は異常に関与しておらず、x2とx3のみが異常に関与していることが分かる。
識別器は、最初に、(x1、x2、x3)=(0、0、1)が領域81(推定領域Fa)に属さず、異常値であることを識別する。
次に、識別器は、x1、x2、x3をそれぞれドントケアとするスムージング処理を行い、(x2、x3)=(0、1)が領域82に属さず、(x1、x3)=(0、1)が領域83に属し、(x1、x2)=(0、0)が領域84に属すことを識別する。これによって、x1は異常に関与しておらず、x2とx3のみが異常に関与していることが分かる。
このように、識別器構築装置1によって構築した識別器は、異常値のデータパターン(=特定のクラスに識別されなかったデータパターン)に対して、異常であること(=特定のクラスに識別されなかったこと)に関与している要素の絞り込みを行うことができる。
以上、添付図面を参照しながら、本発明に係る識別器構築装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
1………識別器構築装置
21………観測データ
22………ビットデータ
23………変換データ
31、F………観測領域
Fa………推定領域
21………観測データ
22………ビットデータ
23………変換データ
31、F………観測領域
Fa………推定領域
Claims (7)
- 未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別器を構築する識別器構築装置であって、
観測データの各要素に加工処理を施して所定の範囲の整数値とし、各整数値をビットデータに変換し、各ビットデータの最上位ビットから最下位ビットまで、順位ごとにまとめて並べたビット列である変換データを生成する変換手段と、
前記変換データを示す観測領域を二分決定グラフとして構築する第1の構築手段と、
データパターン全体の領域から判定範囲を決定し、前記判定範囲に対する前記観測領域の密度と閾値を比較し、前記密度が閾値よりも大きい場合には、前記判定範囲全体を推定領域とし、前記推定領域を二分決定グラフとして構築する第2の構築手段と、
を具備することを特徴とする識別器構築装置。 - 前記第2の構築手段は、複数の閾値を用いて前記推定領域を複数構築するものであり、
前記推定領域に対する情報量基準を算出することによって前記閾値の最適な値を決定する最適閾値決定手段、
を更に具備することを特徴とする請求項1に記載の識別器構築装置。 - 前記第2の構築手段は、
前記観測領域の各ノードにおける最小項の数を算出する第1の算出手段と、
前記変換データに含まれるビット数をnとしたときに、前記最小項の数を2のn乗で除した値を各ノードにおける密度として算出する第2の算出手段と、
前記観測領域の各枝に対して、接続先のノードにおける前記密度が前記閾値よりも高く、かつ接続元のノードよりも接続先のノードのレベルが高い場合には、接続先を定数ノードに変更する変更手段と、
を具備することを特徴とする請求項1に記載の識別器構築装置。 - 前記変換手段は、前記ビットデータをカテゴリカルデータと数値データに区分し、前記カテゴリカルデータを上位、前記数値データを下位となるように並び替えて、前記数値データに対してのみ最上位ビットから最下位ビットまで、順位ごとにまとめて並び替えるものであることを特徴とする請求項1に記載の識別器構築装置。
- 請求項1に記載の識別器構築装置によって構築された前記推定領域を用いて、未知のデータパターンを特定のクラスとそれ以外のクラスに識別する識別手段、
を具備することを特徴とする識別器。 - 前記識別手段によって特定のクラスに識別されなかったデータパターンに対して、特定のクラスに識別されなかったことに関与している要素の絞り込みを行う絞り込み手段、
を更に具備することを特徴とする請求項5に記載の識別器。 - コンピュータを請求項1から請求項4のいずれかに記載の識別器構築装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009247330A JP5182267B2 (ja) | 2009-10-28 | 2009-10-28 | 識別器構築装置、識別器、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009247330A JP5182267B2 (ja) | 2009-10-28 | 2009-10-28 | 識別器構築装置、識別器、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011095878A true JP2011095878A (ja) | 2011-05-12 |
JP5182267B2 JP5182267B2 (ja) | 2013-04-17 |
Family
ID=44112734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009247330A Expired - Fee Related JP5182267B2 (ja) | 2009-10-28 | 2009-10-28 | 識別器構築装置、識別器、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5182267B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012256311A (ja) * | 2011-05-17 | 2012-12-27 | Toyota Central R&D Labs Inc | 外れ値検出装置、外れ値検出方法、プログラム及び車両故障診断システム |
JP2013120143A (ja) * | 2011-12-08 | 2013-06-17 | Toyota Central R&D Labs Inc | 異常診断システム及び異常診断方法 |
WO2018002967A1 (ja) * | 2016-06-30 | 2018-01-04 | 日本電気株式会社 | 情報処理システム、情報処理方法、及び、記録媒体 |
-
2009
- 2009-10-28 JP JP2009247330A patent/JP5182267B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
JPN6012065538; Gjorgji Madzarov et al.: 'A Multi-class SVM Classifier Utilizing Binary Decision Tree' Informatica Volume 33, Number 2, 2009, pp.233-241 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012256311A (ja) * | 2011-05-17 | 2012-12-27 | Toyota Central R&D Labs Inc | 外れ値検出装置、外れ値検出方法、プログラム及び車両故障診断システム |
CN103493075A (zh) * | 2011-05-17 | 2014-01-01 | 株式会社丰田中央研究所 | 离群值检测设备、离群值检测方法和车辆故障诊断系统 |
CN103493075B (zh) * | 2011-05-17 | 2016-09-14 | 株式会社丰田中央研究所 | 离群值检测设备、离群值检测方法和车辆故障诊断系统 |
JP2013120143A (ja) * | 2011-12-08 | 2013-06-17 | Toyota Central R&D Labs Inc | 異常診断システム及び異常診断方法 |
WO2018002967A1 (ja) * | 2016-06-30 | 2018-01-04 | 日本電気株式会社 | 情報処理システム、情報処理方法、及び、記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP5182267B2 (ja) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chugh et al. | A survey on handling computationally expensive multiobjective optimization problems with evolutionary algorithms | |
Grubinger et al. | evtree: Evolutionary learning of globally optimal classification and regression trees in R | |
Tsamardinos et al. | A greedy feature selection algorithm for big data of high dimensionality | |
Barman et al. | A Boolean network inference from time-series gene expression data using a genetic algorithm | |
JP5533894B2 (ja) | 外れ値検出装置、外れ値検出方法、プログラム及び車両故障診断システム | |
Cozad et al. | A global MINLP approach to symbolic regression | |
Pirgazi et al. | A robust gene regulatory network inference method base on Kalman filter and linear regression | |
Thrun et al. | Fundamental clustering algorithms suite | |
Li et al. | Large-scale quantum approximate optimization via divide-and-conquer | |
US9177250B2 (en) | Method and system for determining configuration rules based on configurations of complex systems | |
Safaei et al. | E-CatBoost: An efficient machine learning framework for predicting ICU mortality using the eICU Collaborative Research Database | |
JP5182267B2 (ja) | 識別器構築装置、識別器、プログラム | |
Reis | Network‐induced supervised learning: network‐induced classification (NI‐C) and network‐induced regression (NI‐R) | |
EP4231276A1 (en) | Hidden decision tree test device, hidden decision tree test system, hidden decision tree test method, and program | |
JP2013152654A (ja) | 識別器、識別器構築装置、プログラム | |
JP2007304782A (ja) | データセット選択装置および実験計画システム | |
Lukšič et al. | Meta-model framework for surrogate-based parameter estimation in dynamical systems | |
WO2022248719A1 (en) | Improvements in and relating to encoding and computation on distributions of data | |
US11481267B2 (en) | Reinforcement learning approach to root cause analysis | |
Funkner et al. | Surrogate-assisted performance prediction for data-driven knowledge discovery algorithms: Application to evolutionary modeling of clinical pathways | |
Le et al. | Dynamic estimation and Grid partitioning approach for Multi-Objective Optimization Problems in medical cloud federations | |
Bailis et al. | Infrastructure for usable machine learning: The stanford dawn project | |
CN110825707A (zh) | 数据压缩方法 | |
WO2024116642A1 (ja) | 学習装置、物性予測装置、学習プログラム、及び物性予測プログラム | |
AbuHassan et al. | Prioritization of model smell refactoring using a covariance matrix-based adaptive evolution algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20121218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121231 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5182267 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |