(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162667
(43)【公開日】2024-11-21
(54)【発明の名称】異常検知装置及び異常検知方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20241114BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023078407
(22)【出願日】2023-05-11
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】堀口 翔太
(72)【発明者】
【氏名】土肥 宏太
(57)【要約】
【課題】回帰分析においても入力データの異常検知を行えるようにする。
【解決手段】回帰分析を行うモデルに入力されるデータの異常を検知する異常検知装置であって、入力データが所属するクラスを予測する分類モデル12と、分類モデルによる予測クラスを連続値に変換する変換部(分類結果変換部32)と、各クラスへの帰属確率から入力データの異常度を算出する計算部(異常度算出処理部33)と、を備える。分類モデルは、データと該データに対する連続変数のラベルとの組を格納するデータベースを基に、連続変数のラベルを離散化して離散変数のラベルに変換し、同一の離散変数であれば同一クラス、異なる離散変数であれば異なるクラスになるように定義したクラスを入力データから推定するように学習される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
回帰分析を行うモデルに入力されるデータの異常を検知する異常検知装置であって、
入力データから該入力データが所属するクラスを予測する分類モデルと、
前記分類モデルによる予測クラスを予め設定された規則により連続値に変換する変換部と、
前記分類モデルが出力する各クラスへの帰属確率から前記入力データの異常度を算出する計算部と、を備え、
前記分類モデルは、データと該データに対する連続変数のラベルとの組を格納するデータベースを基に、前記連続変数のラベルを離散化して離散変数のラベルに変換し、同一の離散変数であれば同一クラス、異なる離散変数であれば異なるクラスになるように定義したクラスを入力データから推定するように学習される
異常検知装置。
【請求項2】
前記分類モデルにおいて、前記連続変数のラベルの離散化を、予め決定された複数の前記クラスに基づいて前記連続変数の値域を均等に分割することにより実現する
請求項1に記載の異常検知装置。
【請求項3】
前記分類モデルにおいて、前記連続変数のラベルの離散化を、予め各クラスに属するデータの数が等しくなるように前記連続変数の値域を分割することにより実現する
請求項1に記載の異常検知装置。
【請求項4】
前記分類モデルにおいて、前記連続変数のラベルの離散化を、予め前記データベース内の前記連続変数のラベルに対してデータクラスタリングを行って前記連続変数の値域を分割することにより実現する
請求項1に記載の異常検知装置。
【請求項5】
前記変換部は、前記予測クラスに対応する離散変数を前記連続値として出力し、当該連続値を前記回帰分析の結果とする
請求項1に記載の異常検知装置。
【請求項6】
前記変換部は、各クラスに対応する離散変数を前記各クラスへの帰属確率によって重みづけて足し合わせることにより、前記回帰分析の結果としての前記連続値を求める
請求項1に記載の異常検知装置。
【請求項7】
前記計算部で算出した前記異常度が閾値を超えた場合には、前記異常度が閾値を超えた前記入力データを学習用に前記データベースに追加する学習データ追加部、を更に備え、
前記分類モデルは、前記異常度が閾値を超えた前記入力データを用いて再学習される
請求項1に記載の異常検知装置。
【請求項8】
異なる複数の前記分類モデルと、前記連続変数のラベルを離散化する異なる複数の離散化テーブルと、を備え、
各々の前記分類モデルは、前記入力データに対する前記連続変数のラベルを対応する前記離散化テーブルによって離散化して予測クラスを出力し、
前記変換部は、各々の前記分類モデルに由来する前記予測クラスに対応する離散変数を統合することで、前記回帰分析の結果としての前記連続値を求める
請求項1に記載の異常検知装置。
【請求項9】
回帰分析を行うモデルに入力されるデータの異常を検知する異常検知装置による異常検知方法であって、
入力データから該入力データが所属するクラスを予測する分類モデルによる予測クラスを、予め設定された規則により連続値に変換する処理と、
前記分類モデルが出力する各クラスへの帰属確率から前記入力データの異常度を算出する処理と、を含み、
前記分類モデルは、データと該データに対する連続変数のラベルとの組を格納するデータベースを基に、前記連続変数のラベルを離散化して離散変数のラベルに変換し、同一の離散変数であれば同一クラス、異なる離散変数であれば異なるクラスになるように定義したクラスを入力データから推定するように学習される
異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、予測モデルに入力されるデータの異常を検知するのに好適な異常検知装置及び異常検知方法に関する。
【背景技術】
【0002】
機械学習を用いて構築した予測モデルを本番環境で運用する際の課題の一つに、当初想定していなかった入力により、モデルの予測精度が低下することが挙げられる。想定しない入力を検知するために、異常検知やドリフト検知といった技術が開発されている。一方、多クラス分類を行うモデルに関しては、各クラスへの帰属確率を推論の確信度とみなし、確信度が低ければ想定していない入力であると判定する手法が広く用いられている。
【0003】
ところで、データ分析手法の一つに回帰分析がある。回帰分析は、特徴量(説明変数)から連続値のラベル(目的変数)を予測するようなモデルを当てはめる分析積手法である。近年、このような予測モデルは機械学習を用いて構築されることが多い。機械学習では、学習用データセットとして特徴量とラベルの組を大量に用意し、これを用いて特徴量からラベルを予測する予測モデルを学習する。
【0004】
しかし、予測モデルを運用する際に、学習用データセットでは想定していなかった特徴量が入力されること(データドリフト)による予測精度の劣化が発生することがある。予測モデルにおいて誤った予測を防ぐためには、このような想定外の特徴量の入力を検知する手段が求められる。
【0005】
回帰を行うモデルは一般に推論の確信度を出力しないので、データの乖離に基づく検知が一般的なアプローチである。例えば、特許文献1に、データ分布の乖離に基づいて異常検知を行う方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載の技術では、データ分布に基づく異常検知には予測モデルは寄与しない。したがって、データの乖離に基づく異常検知では、予測に全く寄与していない特徴量が大きく変化した際にも異常と判定され得るため、過検知を増加させる可能性がある。
【0008】
また、多クラス分類を行うモデルにおける各クラスへの帰属確率に基づく異常検知は、回帰分析のようなクラスが定義されない問題に対しては適用できなかった。
【0009】
本発明は、こうした背景に基づきなされたものであり、回帰分析においても入力データの異常検知を行うことができる異常検知装置及び異常検知方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の一態様の異常検知装置は、回帰分析を行うモデルに入力されるデータの異常を検知する異常検知装置であって、この異常検知装置は、入力データから該入力データが所属するクラスを予測する分類モデルと、分類モデルによる予測クラスを予め設定された規則により連続値に変換する変換部と、分類モデルが出力する各クラスへの帰属確率から入力データの異常度を算出する計算部と、を備える。上記分類モデルは、データと該データに対する連続変数のラベルとの組を格納するデータベースを基に、連続変数のラベルを離散化して離散変数のラベルに変換し、同一の離散変数であれば同一クラス、異なる離散変数であれば異なるクラスになるように定義したクラスを入力データから推定するように学習される。
【発明の効果】
【0011】
本発明の少なくとも一態様によれば、回帰分析においても入力データの異常検知を行うことができる異常検知装置及び異常検知方法を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】本発明の第1の実施形態に係る異常検知装置の制御系のハードウェア構成例を示す図である。
【
図2】本発明の第1の実施形態に係る異常検知装置の機能構成の例を示す図である。
【
図3】本発明の第1の実施形態に係るモデル作成部の処理の手順例を示すフローチャートである。
【
図4】本発明の第1の実施形態に係る離散化テーブルの例を示す図である。
【
図5】本発明の第1の実施形態に係る学習用データベース内のデータのラベルを離散化する例を示す図である。
【
図6】本発明の第1の実施形態に係る異常度算出部の処理の手順例を示すフローチャートである。
【
図7】本発明の第1の実施形態において離散化テーブルを用いて、分類モデルによる分類結果から回帰分析の結果と異常度を求める処理の具体例を示す図である。
【
図8】本発明の第2の実施形態に係る異常検知装置の機能構成の例を示す図である。
【
図9】本発明の第2の実施形態に係る異常度算出部の処理の手順例を示すフローチャートである。
【
図10】本発明の第3の実施形態に係るモデル作成部の処理の手順例を示すフローチャートである。
【
図11】本発明の第3の実施形態に係る複数の離散化テーブルの例を示す図である。
【
図12】本発明の第3の実施形態に係る異常度算出部の処理の手順例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態(以下、「実施形態」と称する)の例について、添付図面を参照して説明する。本明細書及び添付図面において、同一の構成要素又は実質的に同一の機能を有する構成要素には同一の符号を付して重複する説明を省略する。
【0014】
<第1の実施形態>
まず、本発明の第1の実施形態に係る異常検知装置の構成について、
図1及び
図2を参照して説明する。
【0015】
[異常検知装置のハードウェア構成]
図1は、本発明の第1の実施形態に係る異常検知装置の制御系のハードウェア構成例を示す図である。
図1に示す異常検知装置1は、異常検知用の回帰分析において利用される情報処理装置(コンピュータ)であり、プロセッサ2、主記憶装置3、補助記憶装置4、入力装置5、出力装置6、及び通信装置7を備える。各装置はシステムバスを介して相互に通信可能に接続されている。
【0016】
プロセッサ2は、演算処理を行う装置であり、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、又はGPU(Graphics Processing Unit)等を用いて構成される。主記憶装置3は、各種プログラムやデータを記憶する装置であり、例えばROM(Read Only Memory)、RAM(Random Access Memory)等を用いて構成される。補助記憶装置4は、コンピュータプログラムやデータを格納する装置であり、例えばHDD(Hard Disk Drive)、フラッシュメモリ、又はSSD(Solid State Drive)等を用いて構成される。
【0017】
補助記憶装置4に格納されているコンピュータプログラムやデータは、プロセッサ2によって主記憶装置3に随時読み込まれ、プロセッサ2が行う処理や制御に利用される。プロセッサ2が、補助記憶装置4に格納されたコンピュータプログラムを実行することにより、異常検知装置1の機能が実現される。なお、これらのコンピュータプログラムやデータの保存にクラウド環境を活用することもできる。
【0018】
入力装置5は、ユーザの操作に応じた入力信号を生成するユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、及びタッチパネル等である。出力装置6は、各種の情報を出力(表示出力、音声出力、印字出力等)するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、及び印字装置等である。
【0019】
通信装置7は、通信手段を介して他の装置と通信する通信インタフェースである。通信手段の構成は必ずしも限定されないが、例えば、USB(Universal Serial Bus)やRS-232C等の各種通信規格に準拠した通信デバイス、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、又は専用線等である。
【0020】
通信装置7は、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール、又はシリアル通信モジュール等である。通信装置7は、通信可能に接続する他の装置から情報を受信する入力装置として機能することもできる。また、通信装置7は、通信可能に接続する他の装置に情報を送信する出力装置として機能することもできる。
【0021】
[異常検知装置の機能構成]
次に、異常検知装置1の機能構成について
図2を参照して説明する。
図2は、本実施形態に係る異常検知装置1の機能構成の例を示す図である。
図2に示すように、異常検知装置1は、記憶部10、モデル作成部20、及び異常度算出部30の各機能を備える。記憶部10は、例えば主記憶装置3や補助記憶装置4(
図1参照)によって実現される。また、モデル作成部20及び異常度算出部30は、例えばプロセッサ2が主記憶装置3に格納されているプログラムやモデルのパラメータを読み出して、これらに従った処理を実行することにより実現される。
【0022】
なお、異常検知装置1は、
図1に示したもの以外に、例えばFPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、又はAI(Artificial Intelligence)チップ等のハードウェアをさらに搭載してもよい。異常検知装置1において、これらのハードウェアを単独で、又はプロセッサ2と協働して用いることで、
図2に示す異常検知装置1の機能の一部又は全部を実現してもよい。
【0023】
(記憶部)
記憶部10は、学習用データベース11、分類モデル12、及び離散化テーブル13を記憶する。記憶部10は、例えば、DBMS(DataBase Management System)によって提供されるテーブルや、ファイルシステムが提供するファイルとして、これらのデータベースを記憶することができる。
【0024】
学習用データベース11には、予め収集された特徴量と実数値のラベルとの組が大量に格納されている。例えば特徴量は種々のセンサーにより取得されたデータである。ラベルはセンサーにより取得された値であってもよいし、人手や他の機械学習モデルによってアノテーション(付加的な情報を注釈すること)されたものであってもよい。
【0025】
分類モデル12は、入力データから該入力データが所属するクラスを予測する機会学習モデルである。例えば、各クラスには、識別情報(数字、アルファベット等)が付与されている。
【0026】
(モデル作成部)
モデル作成部20は、分類モデル12と離散化テーブル13を生成する。モデル作成部20は、ラベル離散化部21、及び分類器学習部22を備える。
【0027】
ラベル離散化部21は、学習用データベース11に格納されているデータのラベルに基づいて、変換テーブルを用いて実数値(連続値)のラベルを離散値のラベルに変換する。ラベルの変換方法の詳細については後述する。なお、ここで用いた変換テーブルは離散化テーブル13として記憶部10に格納される。
【0028】
分類器学習部22は、ラベル離散化部21により生成された離散値ラベルと学習用データベース11内の特徴量とに基づいて学習し、学習結果を分類モデル12(分類器の一例)として記憶部10に保存する。
【0029】
(異常度算出部)
異常度算出部30は、分類モデル12と離散化テーブル13に基づき、入力データに対する推論結果と入力データの異常度を算出する。異常度算出部30は、入力データ分類部31と、分類結果変換部32と、異常度算出処理部33を備える。異常度算出部30のこれらの機能によって入力データに対する推論結果と異常度を算出する具体的な算出方法については、後述する。
【0030】
[モデル作成部の処理]
次に、モデル作成部20の処理について
図3~
図5を参照して説明する。
図3は、モデル作成部20の処理の手順例を示すフローチャートである。
図3では、モデル作成部20が分類モデル12と離散化テーブル13を生成する処理の流れが示されている。
【0031】
まず、ステップS10において、ラベル離散化部21は、学習用データベース11を参照して、離散化テーブル13を生成する。離散化テーブル13は、連続値ラベルを離散化されたクラスのラベルに変換するものである。
【0032】
図4は、本実施形態に係る離散化テーブル13の例を示す図である。
図4に示すように、例えば、連続値ラベルyの値に応じて、それをc
1,c
2,c
3,c
4の離散化されたクラスのラベル(連続値ラベルy’)に変換する。この例では、4未満(y<4)の連続値ラベルyが“c
1”の離散値ラベルy’に変換される。同様に、4以上8未満(4≦y<8)の連続値ラベルyは“c
2”の離散値ラベルy’に、8以上12未満(8≦y<12)の連続値ラベルyは“c
3”の離散値ラベルy’に、12以上(12≦y)の連続値ラベルyは“c
4”の離散値ラベルy’に変換される。
【0033】
離散化の方法としては、例えば、予め何個のクラスを生成するかを決定しておき、決定された複数のクラスに基づいて学習用データベース11内の連続値ラベルの値域を均等に分割する方法がある。他には、各クラスに含まれるデータの数が等しくなるように連続値ラベルの値域を分割する方法、及び連続値ラベルに対してデータクラスタリングアルゴリズムを適用して連続値ラベルの値域を分割する方法などが考えられる。本実施形態では、これらの離散化の方法から、機械学習を用いて構築した予測モデルを本番環境で運用する際に適した離散化の方法を採用することができる。
【0034】
図3のフローチャートの説明に戻る。次いで、ステップS11において、ラベル離散化部21は、ステップS10で生成した離散化テーブル13に基づいて、学習用データベース11内のデータ(例えば特徴量)の連続値ラベルを離散値ラベルに変換する。
【0035】
図5は、学習用データベース11内のデータの連続値ラベルを離散化する例を示す図である。この
図5は、
図4の離散化テーブル13に基づくデータ変換を示しており、これにより各連続値ラベルy∈Rは、離散値ラベルy’∈{c
1,c
2,c
3,c
4}へと変換される。「R」は実数を表す。
【0036】
図5に示す例では、特徴量x
1の連続値ラベルy“3.2”が、離散化テーブル13に基づく離散化により、離散値ラベルy’“c
1”に変換され、特徴量x
2の連続値ラベルy“9.5”が、離散化テーブル13に基づく離散化により、離散値ラベルy’“c
3”に変換されている。同様にして、特徴量x
3~x
10のそれぞれの連続値ラベルyが、離散値ラベルy’(ここではc
1~c
4のいずれか)に変換される。
【0037】
図3のフローチャートの説明に戻る。次いで、ステップS12において、分類器学習部22は、学習用データベース11内のデータの特徴量x(
図5では、1.6~14.9)と、ステップS11において特徴量xから生成した離散値ラベルy’に基づき、分類モデルを学習する。例えば、
図5で得られたデータの場合、特徴量xから離散値ラベルy’∈{c
1,c
2,c
3,c
4}を予測するような分類モデルが学習される。分類モデルの実装としては、決定木やサポートベクターマシン、ニューラルネットワークなどを用いることができる。ステップS12の処理後、モデル作成部20による処理を終了する。
【0038】
このように本実施形態において、分類モデル12は、データ(特徴量)とそれに対する連続値(連続変数)のラベルとの組が格納された学習用データベース11を基に、連続変数のラベルを離散化して離散値(離散変数)のラベルに変換し、一例として、同一の離散変数であれば同一クラス、異なる離散変数であれば異なるクラスになるように定義したクラスを入力データから予測(推定)するように学習される。
【0039】
[異常度算出部の処理]
次に、異常度算出部30の処理について
図6~
図7を参照して説明する。
図6は、異常度算出部30の処理の手順例を示すフローチャートである。
図6には、分類モデル12と離散化テーブル13とに基づき、入力データに対する予測と入力データの異常度を算出する処理が示されている。
図7は、異常度算出部30において、離散化テーブル13を用いて、分類モデル12による分類結果から回帰分析の結果と異常度を求める処理の具体例を示す図である。
【0040】
まず、ステップS20において、異常度算出部30の入力データ分類部31は、入力データを分類モデル12に入力し、入力データの分類結果(離散値ラベルy’)を得る。例えば、分類モデル12の出力は、入力データの各クラスへの帰属結果で与えられる。
【0041】
図7の例では、入力データ分類部31に入力された特徴量xの各クラスへの帰属確率は、c
1が0.01、c
2が0.15、c
3が0.82、c
4が0.02である(c1~c4の合計が1)。そして、本例では、入力データ分類部31に入力されたある特徴量xが、帰属確率が最大となるクラスc
3に属すると判定されている。
【0042】
次いで、ステップS21において、分類結果変換部32は、離散化テーブル13を用いて、入力データ分類部31による分類結果(離散値ラベルy’)を逆変換し、連続値の推定結果(=予測結果)を得る。例えば、
図7の例の場合、クラスc
3は、離散化テーブル13において連続値ラベルyが8以上12未満(8≦y<12)の場合に対応するので、この範囲の値のいずれかを代表値として出力する。ここでは、クラスc
3に属する連続値の値域の中央値“10”を代表値(予測結果)として出力している。このような代表値は、予測クラスに対応する離散変数の一例でもあるが、分類結果変換部32は、該代表値のような離散変数を、連続変数(連続値)の予測結果として出力する。言い換えると、分類結果変換部32は、予測クラスに対応する離散変数を連続値として用い、当該連続値を出力することで回帰分析による予測結果とする。
【0043】
そして、ステップS22において、異常度算出処理部33は、入力データ分類部31による分類結果に基づいて入力データの異常度を算出する。入力データの異常度は、例えば予測クラスへの帰属確率pを1から減じた値“1-p”として定義することができる。一例として、
図7の場合には、異常度は“0.18”となる。このように、本実施系形態では、予測クラスへの帰属確率を予測の確信度とみなし、この予測の確信度を利用して回帰モデルにおける入力データの異常度を計算している。この他にも、各クラスへの帰属確率を用いて計算したエントロピー(情報量)などを異常度の指標として用いることができる。ステップS22の処理後、異常度算出部30による処理を終了する。
【0044】
なお、該当クラスに属する連続値の値域の中央値(
図7ではクラスc
3に対して“10”)を代表値とする例を説明したが、この例に限らない。その他の代表値の選び方としては、学習用データベース11に含まれるデータのうち当該クラスに属するデータの平均値や最頻値を用いる方法などが考えられる。
【0045】
また、予測結果については、各クラスへの帰属確率を用いて各クラスの代表値の重みづけ和などによって求めてもよい。すなわち、分類結果変換部32(変換部の例)は、各クラスに対応する離散変数を各クラスへの帰属確率によって重みづけて足し合わせることにより、回帰分析の結果としての連続値を求める。これにより、回帰分析の結果として離散化された値(代表値)しか出力できなかったところ、様々な値(連続値)を出力することが可能になる。
【0046】
例えば、重みづけ和により分類結果を連続値に逆変換する例を説明する。クラスc1~c4のそれぞれに属する代表値(離散変数の一例)をそれぞれ2,6,10,14とする。この場合、
図7に示した帰属確率を用いた次式(1)により、連続値“9.4”が得られる。また、このときの異常度は、最も大きい帰属確率“0.84”に基づき“0.18”と求められる。
【0047】
(0.01×2)+(0.15×6)+(0.82×10)+(0.02×14)
=9.4 ・・・・(1)
【0048】
また、異常検知装置1は、異常度算出処理部33で計算された異常度のみを出力し、回帰分析の結果は学習用データベースを用いて学習した別の回帰モデル(例えば、線形回帰、サポートベクター回帰、ニューラルネットワークなど)を用いてもよい。この別の回帰モデル(分類モデル)は、異常検知装置1の外部にあることを想定している。
【0049】
以上のとおり、第1の実施形態に係る異常検知装置(異常検知装置1)は、回帰分析を行うモデルに入力されるデータの異常を検知する異常検知装置である。この異常検知装置は、入力データから該入力データが所属するクラスを予測する分類モデル(分類モデル12)と、分類モデルによる予測クラスを予め設定された規則により連続値に変換する変換部(分類結果変換部32)と、分類モデルが出力する各クラスへの帰属確率から入力データの異常度を算出する計算部(異常度算出処理部33)と、を備える。上記分類モデルは、データと該データに対する連続変数のラベルとの組を格納するデータベース(学習用データベース11)を基に、連続変数のラベルを離散化して離散変数のラベルに変換し、同一の離散変数であれば同一クラス、異なる離散変数であれば異なるクラスになるように定義したクラスを入力データから推定するように学習される。
【0050】
上記構成の本実施形態によれば、回帰分析においても予測モデルに基づく入力データの異常検知を行うことができる。従来の回帰分析では、連続値で(YES/NOのような)推論の確信度はないが、本実施形態では、一旦離散値ラベル(クラス)に分類してから連続値ラベルに戻す(逆変換)ことで、入力データに推論の確信度に基づく異常度を付与する。分類モデル(分類器)を用いて回帰問題を解くことにより、分類モデルの各クラスへの帰属確率を推論の確信度として利用できるようになり、高い異常検知精度を実現できる。
【0051】
<第2の実施形態>
上述した本発明の第1の実施形態では、入力データに対する回帰分析の結果(予測結果)と、入力データの異常度を算出した。ここで、異常度の高い入力データに対する回帰分析の結果は大きく誤っている可能性が高い。このようなデータについては、学習用データベース11に追加して改めて分類モデルを作成することで、回帰分析の精度を向上させることができる。そこで、本発明の第2の実施形態では、異常度に基づいて新たに追加する学習データを選択する方法を提供する。第2の実施形態に係る異常検知装置のハードウェア構成の一例は、
図1に示した第1の実施形態に係るハードウェア構成例と同一であるため、説明を省略する。
【0052】
[異常検出装置の機能構成]
図8は、第2の実施形態に係る異常検知装置の機能構成の例を示す図である。
図8に示す異常検知装置1Aにおいて、
図2に示した第1の実施形態に係る異常検知装置1の機能構成と共通の部分に関しては同じ符号を付与し、説明を省略する。
【0053】
異常検知装置1Aは、第1の実施形態に係る異常検知装置1と比較して、異常度算出部30の替わりに異常度算出部30Aを備える点が異なる。異常度算出部30Aは、入力データ分類部31、分類結果変換部32、及び異常度算出処理部33に加えて、学習データ追加部81を備える。
【0054】
学習データ追加部81は、異常度算出処理部33により算出された入力データの異常度に基づき、入力データの中から学習用データベース11に追加するデータを決定し、学習用データベース11に格納する。
【0055】
[異常度算出部の処理]
次に、異常度算出部30Aの処理について
図9を参照して説明する。
図9は、異常度算出部30Aの処理の手順例を示すフローチャートである。
図9には、分類モデル12と離散化テーブル13とに基づき、入力データに対する予測と入力データの異常度を算出し、その異常度に基づき入力データを新たに学習データに加えるかどうかを判定する処理が示されている。
図6に示した第1の実施形態に係る異常度算出のフローチャートと共通の部分に関しては、同じ符号を付与し、詳細な説明を省略する。
【0056】
まず、
図9において、異常度算出部30Aの入力データ分類部31は、分類モデル12を用いて特徴量等の入力データを分類する(S20)。次いで、分類結果変換部32は、離散化テーブル13に基づき分類結果(離散値ラベルy’)を連続値に変換する(S21)。次いで、異常度算出処理部33は、分類結果に基づいて異常度を算出する(S22)。
【0057】
次いで、ステップS90において、学習データ追加部81は、ステップS22で算出された異常度に基づき、入力データを学習用データベース11に追加するかどうかを判定する。これは、例えば、閾値τを予め決めておき、異常度がτを上回った場合には、学習用データベース11に該当入力データを追加すると判定する、などの方法で実現できる。そして、学習データ追加部81は、学習用データベース11に追加すると判定した入力データを、学習用データベース11に追加する処理を行う。ステップS90の処理後、異常度算出部30Aによる処理を終了する。
【0058】
以上のとおり、第2の実施形態に係る異常検知装置(異常検知装置1A)は、計算部(分類結果変換部32)で算出した異常度が閾値を超えた場合には、その異常度が閾値を超えた入力データを学習用にデータベース(学習用データベース11)に追加する学習データ追加部、を更に備える。そして、分類モデルは、異常度が閾値を超えた入力データを用いて再学習される。
【0059】
これにより、予測モデル(例えば、分類モデル12)の向上に寄与する可能性の高い入力データのみに選択的にラベリングを行うことができ、アノテーションコストが削減される。また、異常度がτ以下の場合にも、一定の割合でアノテーションを実施することで、異常度がそれほど高くない異常の予兆の段階で、予測モデルを適応させることができる。
【0060】
<第3の実施形態>
第1の実施形態及び第2の実施形態では、予め定めたクラスの分割数に基づいて離散化テーブルを作成した。しかし、分割の方法によっては離散化に伴う回帰分析の誤差が発生する。また、適切な分割数を予め決定するのは容易ではない。本発明の第3の実施形態では、複数の離散化テーブルに基づいて異常検知を行う方法を提供する。
【0061】
本発明の第3の実施形態に係る異常検知装置のハードウェア構成の一例は、
図1に示した第1の実施形態に係るハードウェア構成例と同一であるため、説明を省略する。また、本発明の第3の実施形態に係る異常検知装置の機能構成は、
図2に示した第1の実施形態に係る機能構成例と同一であるため、説明を省略する。
【0062】
[モデル作成部の処理]
ここで、第3の実施形態に係るモデル作成部20の処理について
図10及び
図11を参照して説明する。
図10は、本実施形態に係るモデル作成部20の処理の手順例を示すフローチャートである。
図10では、モデル作成部20が複数の分類モデル12と複数の離散化テーブル13を生成する処理の流れが示されている。以下では、異なる複数の分類モデル12と複数の離散化テーブル13を特に区別しない場合には、単に「分類モデル12」、「離散化テーブル13」と記載する。
【0063】
まず、ステップS30において、モデル作成部20のラベル離散化部21は、学習用データベース11を参照して複数の離散化テーブル13を生成する。
図11には、離散化テーブル13として2つの離散化テーブル13-1,13-2の例が示されている。
【0064】
図11は、複数の離散化テーブルの例を示す図である。
図11において、連続値ラベルyの値に応じて離散化テーブル13-1では、それをc
1’,c
2’,c
3’,c
4’の離散化されたクラスのラベルに変換し、離散化テーブル13-2では、それをc
1’,c
2’,c
3’,c
4’の離散化されたクラスのラベルに変換する。
【0065】
離散化テーブル13-1の内容は、
図4に示した離散化テーブル13と同じである。一方、離散化テーブル13-2では、6未満(y<6)の連続値ラベルyが“c
1’”の離散値ラベルy’に変換される。同様に、6以上10未満(6≦y<10)の連続値ラベルy’は“c
2’”の離散値ラベルy’に、10以上14未満(10≦y<14)の連続値ラベルyは“c
3’”の離散値ラベルy’に、14以上(14≦y)の連続値ラベルyは“c
4’”の離散値ラベルy’に変換される。
【0066】
図10のフローチャートの説明に戻る。次いで、ステップS31において、ラベル離散化部21は、複数の離散化テーブル13-1,13-2のそれぞれに基づき学習用データベース11内のデータ(特徴量x)のラベルを離散化し、離散値ラベルに変換する。
【0067】
次いで、ステップS32において、分類器学習部22は、学習用データベース11内のデータの特徴量xと、ステップS21において特徴量xから生成したそれぞれの離散値ラベルy’に基づき、複数の分類モデル12を学習する。各々の分類モデル12は、学習に用いた離散化テーブル13と一対一に対応する。例えば、離散化テーブル13-1と第一の分類モデル12(図示略)が対応し、離散化テーブル13-2と第二の分類モデル12(図示略)が対応する。ステップS32の処理後、モデル作成部20による処理を終了する。
【0068】
このようにして学習した異なる複数の分類モデル12を用いることで、例えば1つの離散化テーブル13のみでは分割の境界付近(例えば、
図4及び
図11上段の4,8,12)でその影響が大きくなっていた、離散化誤差の影響を小さくすることができる。また、モデルアンサンブルの効果による予測精度向上も期待される。アンサンブル法は、いくつかの予測モデルを組み合わせて物事を予測し、それらのモデルの予測結果に対して、多数決の原理に基づいて最終的な予測結果を出す方法である。
【0069】
また、ここで、複数の離散化テーブルでは、クラスの分割数が異なってもよい。これにより、考慮する分割数の中に適切な数が含まれていれば精度よく異常検知を行うことができるようになる。それゆえ、予め1つの適切な分割数を決定する必要性が緩和される。
【0070】
また、分割数は、学習用データベース11を用いた交差検証などによって決定されてもよい。これにより、回帰分析の精度が最も高い分割数を選ぶことができるようになる。この場合は、分類モデル12及び離散化テーブル13はそれぞれ1つのみ保存され、異常度算出部30の動作は本発明の第1の実施形態の場合と同様である。
【0071】
[異常度算出部の処理]
次に、第3の実施形態に係る異常度算出部30の処理について
図12を参照して説明する。
図12は、本実施形態に係る異常度算出部30の処理の手順例を示すフローチャートである。
図12には、複数の分類モデル12と複数の離散化テーブル13とに基づき、入力データに対する予測と入力データの異常度を算出する処理が示されている。
【0072】
まず、ステップS40において、異常度算出部30の入力データ分類部31は、複数の分類モデル12に対して入力データを入力し、
図6のステップS20と同様の手順で入力データを分類する。
【0073】
次いで、ステップS41において、分類結果変換部32は、複数の分類モデル12から得られたそれぞれの分類結果に対して、対応する離散化テーブル13を用いて
図6のステップS21と同様の手順で分類結果を連続値に変換する。その後、分類結果変換部32は、それぞれの変換結果を統合することにより一つの連続値を得る。統合の方法としては、例えば単純平均を用いることができる。
【0074】
次いで、ステップS42において、異常度算出処理部33は、それぞれの分類結果に基づき、
図6のステップS22と同様の手順でそれぞれの異常度を算出する。そして、異常度算出処理部33は、それぞれの分類結果由来の異常度を統合することにより一つの異常度を得る。統合の方法としては、例えば単純平均を用いることができる。ステップS42の処理後、異常度算出部30による処理を終了する。
【0075】
以上のとおり、第3の実施形態に係る異常検知装置は、異なる複数の分類モデルと、連続変数のラベルを離散化する異なる複数の離散化テーブル(例えば、離散化テーブル13-1,13-2)と、を備える。各々の分類モデルは、入力データに対する連続変数のラベルを対応する離散化テーブルによって離散化して予測クラスを出力する。変換部(分類結果変換部32)は、各々の分類モデルに由来する予測クラスに対応する離散変数を統合することで、回帰分析の結果としての連続値を求める。
【0076】
なお、本発明は上述した実施形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、その他種々の応用例、変形例を取り得ることは勿論である。例えば、上述した実施形態は本発明を分かりやすく説明するためにその構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成要素を備えるものに限定されない。また、ある実施形態の構成の一部を他の実施形態の構成要素に置き換えることが可能である。また、ある実施形態の構成に他の実施形態の構成要素を加えることも可能である。また、各実施形態の構成の一部について、他の構成要素の追加又は置換、削除をすることも可能である。
【0077】
また、上述した実施形態に係る異常検知装置の各構成要素は、それぞれのハードウェアがネットワークを介して互いに情報を送受信できるならば、いずれのハードウェアに実装されてもよい。また、ある処理部により実施される処理が、1つのハードウェアにより実現されてもよいし、複数のハードウェアによる分散処理により実現されてもよい。
【0078】
また、上述した実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成要素が相互に接続されていると考えてもよい。
【0079】
また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的、あるいは個別に実行される処理(例えば、オブジェクトによる処理)をも含むものである。
【符号の説明】
【0080】
1,1A…異常検知装置、 10…記憶部、 11…学習用データベース、 12…分類モデル、 13,13-1,13-2…離散化テーブル、 20…モデル作成部、 21…ラベル離散化部、 22…分類器学習部、 30,30A…異常度算出部、 31…入力データ分類部、 32…分類結果変換部、 33…異常度算出処理部、 81…学習データ追加部