IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

<>
  • 特許-検知プログラム、検知方法及び検知装置 図1
  • 特許-検知プログラム、検知方法及び検知装置 図2
  • 特許-検知プログラム、検知方法及び検知装置 図3
  • 特許-検知プログラム、検知方法及び検知装置 図4
  • 特許-検知プログラム、検知方法及び検知装置 図5
  • 特許-検知プログラム、検知方法及び検知装置 図6
  • 特許-検知プログラム、検知方法及び検知装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】検知プログラム、検知方法及び検知装置
(51)【国際特許分類】
   G06N 20/10 20190101AFI20231114BHJP
   G06F 17/17 20060101ALI20231114BHJP
【FI】
G06N20/10
G06F17/17
【請求項の数】 5
(21)【出願番号】P 2020018926
(22)【出願日】2020-02-06
(65)【公開番号】P2021125035
(43)【公開日】2021-08-30
【審査請求日】2022-10-06
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】伊東 利雄
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特表2014-525096(JP,A)
【文献】特表2016-506569(JP,A)
【文献】国際公開第2016/088362(WO,A1)
【文献】特開2018-124937(JP,A)
【文献】特開2015-088079(JP,A)
【文献】伊東利雄 ほか,"k-近傍交叉カーネルを用いたNadaraya-Watson回帰の高速近似計算法",電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2018年10月,Vol. 118,No. 284,p. 17-21,IBISML2018-46
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 17/17-17/18
G06F 18/00-18/40
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
移動体の動作に関する第1の項目の値及び第2の項目の値を有する第1のログデータに基づいて、前記第1の項目の値から前記第2の項目の値の推定値を導出するk近傍交叉カーネル回帰による回帰関数を生成し、
前記第1の項目の値ごとの前記推定値の信頼区間幅、及び前記回帰関数に基づいて、前記第1の項目の値から前記推定値に関する所定の閾値を算出するための基準を決定し、
前記第1の項目の値及び前記第2の項目の値を有する第2のログデータの、前記第1の項目の値から前記回帰関数によって導出された前記第2の項目の推定値と、前記第2のログデータに含まれる前記第2の項目の実測値との差が、当該第1の項目の値から前記基準を基に算出された閾値以内であるか否かに基づいて、前記移動体の異常の有無を判定する
処理を実行させることを特徴とする検知プログラム。
【請求項2】
前記生成する処理は、前記第1のログデータの前記第1の項目の値のそれぞれについて、k個(ただし、kは正の整数)の近傍からカーネル関数を生成し、
前記判定する処理は、前記第1のログデータの前記第1の項目の値のそれぞれについて、k2個(ただし、k2はk>k2を満たす正の整数)の近傍の前記第1の項目の値及び前記カーネル関数から導出された前記推定値を用いて判定を行うことを特徴とする請求項1に記載の検知プログラム。
【請求項3】
前記決定する処理は、前記推定値の標準偏差の近似値を定数倍にする関数を基準として決定することを特徴とする請求項2に記載の検知プログラム。
【請求項4】
コンピュータが、
移動体の動作に関する第1の項目の値及び第2の項目の値を有する第1のログデータに基づいて、前記第1の項目の値から前記第2の項目の値の推定値を導出するk近傍交叉カーネル回帰による回帰関数を生成し、
前記第1の項目の値ごとの前記推定値の信頼区間幅、及び前記回帰関数に基づいて、前記第1の項目の値から前記推定値に関する所定の閾値を算出するための基準を決定し、
前記第1の項目の値及び前記第2の項目の値を有する第2のログデータの、前記第1の項目の値から前記回帰関数によって導出された前記第2の項目の推定値と、前記第2のログデータに含まれる前記第2の項目の実測値との差が、当該第1の項目の値から前記基準を基に算出された閾値以内であるか否かに基づいて、前記移動体の異常の有無を判定する
ことを特徴とする検知方法。
【請求項5】
移動体の動作に関する第1の項目の値及び第2の項目の値を有する第1のログデータに基づいて、前記第1の項目の値から前記第2の項目の値の推定値を導出するk近傍交叉カーネル回帰による回帰関数を生成する生成部と、
前記第1の項目の値ごとの前記推定値の信頼区間幅、及び前記回帰関数に基づいて、前記第1の項目の値から前記推定値に関する所定の閾値を算出するための基準を決定する決定部と、
前記第1の項目の値及び前記第2の項目の値を有する第2のログデータの、前記第1の項目の値から前記回帰関数によって導出された前記第2の項目の推定値と、前記第2のログデータに含まれる前記第2の項目の実測値との差が、当該第1の項目の値から前記基準を基に算出された閾値以内であるか否かに基づいて、前記移動体の異常の有無を判定する判定部と、
を有することを特徴とする検知装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検知プログラム、検知方法及び検知装置に関する。
【背景技術】
【0002】
従来、非線形回帰モデルを用いて得られた推定値と実測値との差を閾値により評価することにより異常を検知する手法が知られている。また、カーネル回帰による予測値の算出を高速化するための手法として、k近傍交叉カーネル回帰が知られている。k近傍交叉カーネル回帰では、各学習データのk近傍を使ってカーネルの計算が行われるため、各学習データについて他の全ての学習データを使ってカーネルの計算を行う場合と比べて、計算時間の短縮が期待できる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2004-118658号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の閾値を用いた異常検知手法には、適切な閾値の設定が困難であることから、異常検知の精度が低下する場合があるという問題がある。例えば、非線形回帰においては、変数の領域ごとに、推定精度が異なる場合がある。そのような場合に、全領域に対し一定の閾値が設定されると、例えば推定精度が高い領域では未検知が発生しやすくなり、推定精度が低い領域では誤検知が発生しやすくなるため、総合的な推定精度が低下することが考えられる。
【0005】
1つの側面では、適切な閾値を設定し、異常検知の精度を向上させることを目的とする。
【課題を解決するための手段】
【0006】
1つの態様において、検知プログラムは、移動体の動作に関する第1の項目の値及び第2の項目の値を有する第1のログデータに基づいて、第1の項目の値から第2の項目の値の推定値を導出するk近傍交叉カーネル回帰による回帰関数を生成する処理をコンピュータに実行させる。検知プログラムは、第1の項目の値ごとの推定値の信頼区間幅、及び回帰関数に基づいて、第1の項目の値から推定値に関する所定の閾値を算出するための基準を決定する処理をコンピュータに実行させる。検知プログラムは、第1の項目の値及び第2の項目の値を有する第2のログデータの、第1の項目の値から回帰関数によって導出された第2の項目の推定値と、第2のログデータに含まれる第2の項目の実測値との差を算出する処理をコンピュータに実行させる。検知プログラムは、算出した差が、当該第1の項目の値から基準を基に算出された閾値以内であるか否かに基づいて、移動体の異常の有無を判定する処理をコンピュータに実行させる。
【発明の効果】
【0007】
本発明の1実施態様によれば、適切な閾値を設定し、異常検知の精度を向上させることができる。
【図面の簡単な説明】
【0008】
図1図1は、実施例に係る検知装置の機能構成を示す機能ブロック図である。
図2図2は、説明変数空間におけるk2近傍を説明する図である。
図3図3は、k近傍の学習データを説明する図である。
図4図4は、信頼区間幅及び閾値関数を説明する図である。
図5図5は、検知処理の流れを示すフローチャートである。
図6図6は、検知システムの構成例を説明する図である。
図7図7は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0009】
以下に、本発明にかかる検知プログラム、検知方法及び検知装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0010】
実施例に係る検知装置は、例えば自動車、航空機及び船舶等の移動体が置かれた環境条件を基に異常検知を行う。例えば、環境条件は、移動体から所定の距離以内の領域における媒質の変動速度、形状、及び移動体の動力資源の残量等である。具体的には、環境条件は、移動体が置かれた場所の周囲の風速、風向、波速、波高、道路の勾配、ガソリンや電池等の動力資源の残量等である。このような環境条件は、環境により状況が急変しない連続系の物理モデルと考えることができる。
【0011】
検知装置は回帰モデルを用いて予測値を出力し、予測値と実測値との差が閾値を超えている場合は異常を検知する。予測値及び実測値は、例えば、移動体の速度、動力資源の消費量等であってもよい。このとき、環境条件及び予測値は、それぞれ回帰モデルにおける説明変数及び目的変数である。また、回帰モデルにおける説明変数は、複数の環境条件を多次元ベクトルで表したものであってもよい。また、検知装置は、カーネルを用いたカーネル回帰モデルを用いる。
【0012】
学習データは、環境条件及び移動体の性能に加え、移動体の状態が異常であるか否かが既知のデータである。また、予測データは、環境条件及び移動体の性能が既知であり、移動体の状態が異常であるか否かを検知する対象のデータである。上記の通り、環境条件を示すデータの分布は、一様かつ稠密に広がっている。
【0013】
[機能構成]
図1を用いて、実施例に係る検知装置の機能構成について説明する。図1は、実施例に係る検知装置の機能構成を示す機能ブロック図である。図1に示すように、検知装置10は、入力部11、出力部12、通信部13、記憶部14及び制御部15を有する。
【0014】
入力部11は、ユーザが情報を入力するための装置である。例えば、入力部11は、マウス及びキーボードである。また、出力部12は、画面を表示するディスプレイ等である。また、入力部11及び出力部12は、タッチパネルディスプレイであってもよい。
【0015】
通信部13は、他の装置との間でデータの通信を行うためのインタフェースである。例えば、通信部13はNIC(Network Interface Card)であり、インターネットを介してデータの通信を行う。
【0016】
記憶部14は、データや制御部15が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部14は、学習データ記憶部141及びカーネル情報記憶部142を有する。
【0017】
学習データ記憶部141は、あらかじめ収集された、環境条件及び移動体の性能の実測値の組み合わせである学習データを記憶する。説明変数をxi、目的変数をyとして、学習データは(x,y)(i=1,2,…,n)のように表される。ただし、nは学習データの個数である。また、xは、多次元ベクトルであってもよい。
【0018】
カーネル情報記憶部142は、カーネル回帰で用いられる計算値等を記憶する。例えば、カーネル情報記憶部142は、学習データのそれぞれについて事前に計算されたカーネル及び信頼区間幅を記憶する。なお、カーネル及び信頼区間幅の計算方法については後述する。
【0019】
制御部15は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部15は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部15は、生成部151、決定部152及び判定部153を有する。
【0020】
検知装置10が実行する各処理は、学習フェーズ、準備フェーズ、及び検知フェーズに分けることができる。学習フェーズにおいては、検知装置10は、学習データから、カーネル回帰関数に必要なカーネルを生成する。準備フェーズにおいては、検知装置10は、異常検知に必要な関数等を、カーネルを使って生成する。検知フェーズにおいては、予測データを関数を使い、実際に異常検知を行う。以降では、まずk2近傍について説明した後、各フェーズごとの処理を説明する。
【0021】
[k2近傍について]
本実施例では、入力部11に入力された移動体の運動に関する入力データを学習データとして扱う。言い換えれば、学習データは入力データの一例であるとも言える。生成部151は、学習データのうち、予測対象の環境条件に応じ特定の数で選択された区間のデータである区間データを用いて、移動体の運動に関するカーネル回帰関数を生成する。例えば、移動体から所定の距離以内の領域における媒質の変動速度、形状、及び移動体の動力資源の残量の少なくともいずれかを含む学習データから選択された区間データを用いて、カーネル回帰関数を生成する。この区間データがk2近傍である。
【0022】
学習データは、学習データ記憶部141に格納される。また、本実施例では、予測対象の環境条件に応じた特定の数を、k2と呼ぶ。また、区間データは、k2近傍に含まれる学習データと言い換えることができる。また、例えば、媒質は、空気、水及び地面等である。また、例えば、動力資源は、ガソリン及び電池等である。また、前述の通り、環境条件は、移動体が置かれた場所の周囲の風速、風向、波速、波高、道路の勾配、ガソリンや電池等の残量等である。
【0023】
生成部151は、k2としてあらかじめ設定された数を用いる。この数は、例えば、k2近傍を用いて生成されたカーネル回帰関数に基づき算出された目的変数と、移動体の運動に関する学習データの全てを用いて生成されたカーネル回帰関数に基づき算出された目的変数との差が所定値以下になるように設定される。また例えば、生成部151は、k2の値を1からnまで設定できるが、推定精度が落ちずに高速に計算できるよう、チューニングして決定された値をk2として用いる。例えば、生成部151は、学習データの数が10,000を超えるような場合であっても、k2を100以下の小さい数に設定することができる場合がある。このように、実施例では、カーネル関数の生成に用いるデータの数を非常に小さくすることができるため、高速なカーネル回帰の計算が可能になる。
【0024】
生成部151は、移動体の運動に関する学習データから、予測対象の環境条件を表す予測データとのユークリッド距離が小さい順に特定の数だけ選択したk2近傍を用いてカーネル回帰関数を生成する。ここで、予測対象の環境条件は、予測データの回帰モデルにおける説明変数と言い換えることができる。つまり、生成部151は、予測データの説明変数と学習データそれぞれの説明変数とのユークリッド距離を計算する。
【0025】
図2は、説明変数空間におけるk2近傍を説明する図である。x及びxは、説明変数の項目である。ここでは簡単のため、説明変数を2次元とするが、実際には説明変数は3次元以上であってもよい。また、図2の○は予測データの説明変数である。また、図2の×は、学習データの説明変数である。図2の204の領域は、説明変数201のk2近傍を示す。
【0026】
カーネル回帰関数による予測精度が高いほど、異常検知精度も高くなる。ここで、環境条件が近い場合、移動体の運動に関する性能は近くなるという物理特性を鑑みると、k2近傍の説明変数は、予測精度の向上に寄与することが考えられる。
【0027】
ここで、k2近傍に含まれる学習データは、(1)式のように表される。
【0028】
【数1】
【0029】
また、k2近傍Xk2は、(2)式のように表される。ただし、j=1,2,…,k2である。
【0030】
【数2】
【0031】
[学習フェーズの処理]
まず、学習フェーズにおける検知装置10の各部の処理を説明する。学習フェーズにおいて、生成部151は、各学習データについて、あらかじめカーネルK(x,x)を計算し、カーネル情報記憶部142に格納する。このとき、生成部151は、従来のk近傍交叉カーネル回帰と同様の方法でカーネルを計算することができる。すなわち、生成部151は、xのカーネルを、xのk近傍に含まれる学習データの説明変数から計算する。なお、ここでのkは、k2近傍におけるk2とは別個に設定される自然数である。
【0032】
[準備フェーズ]
次に、準備フェーズにおける検知装置10の各部の処理を説明する。なお、準備フェーズの各処理は、学習データを使って行われるため、学習フェーズに含まれていてもよい。準備フェーズにおいて、生成部151は、学習フェーズにおいて計算したカーネルを用いて、(3)式に示すカーネル回帰関数を生成する。
【0033】
【数3】
【0034】
k近傍は、学習データの説明変数xによって、図3のように決定される。図3は、k近傍の学習データを説明する図である。図3に示すように、k近傍の学習データの説明変数は、説明変数xを中心とする一定の範囲内に含まれる。
【0035】
このように、生成部151は、移動体の動作に関する第1の項目の値及び第2の項目の値を有する学習用のログデータに基づいて、第1の項目の値から第2の項目の値の推定値を導出するk近傍交叉カーネル回帰による回帰関数を生成する。学習用のログデータは、第1のログデータの一例である。説明変数xiは、第1の項目の一例である。また、目的変数yは、第2の項目の一例である。また、生成部151は、一様かつ稠密な学習用のログデータの第1の項目の値のそれぞれについて、k個(ただし、kは正の整数)の近傍からカーネル関数を生成するということができる。
【0036】
また、生成部151は、(4)式により、学習データそれぞれについて信頼区間幅を計算する。信頼区間幅は、カーネル回帰関数により出力された予測値の標準偏差ということができる。
【0037】
【数4】
【0038】
なお、関数の生成とは、単に関数を使って計算を行う際に必要なパラメータを計算し記憶しておくことを指すものであってもよい。例えば、生成部151は、(3)式で用いられるパラメータとして、学習データのそれぞれのカーネルK(x,x)及び信頼区間V(x)を計算し記憶部14に格納しておくだけでもよい。
【0039】
決定部152は、第1の項目の値ごとの推定値の信頼区間幅、及び回帰関数に基づいて、第1の項目の値から推定値に関する所定の閾値を算出するための基準を決定する。例えば、決定部152は、推定値の標準偏差の近似値を定数倍にする関数を基準として決定する。
【0040】
まず、決定部152は、(5)式を満たす最小のδを定数に設定することができる。ただし、xのk近傍xi,1,xi,2,…,xi,k∈Xikに対する目的変数をyi,1,yi,2,…,yi,kとする。
【0041】
【数5】
【0042】
そして、決定部152は、(6)式のように閾値関数μ(x)を決定する。
【0043】
【数6】
【0044】
閾値関数μ(x)は、閾値を算出するための基準の一例である。閾値関数μ(x)は、任意の点xの信頼区間幅^V(x)(以降、^AはAの直上に^が付されている記号を表すものとする。)と同等である。ここで、(4)式より、V(x)は標準偏差に該当する。また、信頼区間幅^V(x)は、V(x)から作成されるため、^V(x)についても標準偏差に該当するものとして扱うことができる。
【0045】
これより、(6)式の閾値関数μ(x)は、標準偏差の定数倍ということができる。なお、δは、あらかじめ定められた定数であってもよい。例えば、δを4に設定すると、閾値関数μ(x)は、平均を中心とするいわゆる4σの範囲(-4σ~+4σ)を表すものとなり、統計的に意味があるものといえる。
【0046】
[検知フェーズ]
判定部153は、第1の項目の値及び第2の項目の値を有する判定用のログデータの、第1の項目の値から回帰関数によって導出された第2の項目の推定値と、判定用のログデータに含まれる第2の項目の実測値との差を算出する。判定用のログデータは、第2のログデータの一例である。そして、判定部153は、算出した差が、当該第1の項目の値から基準を基に算出された閾値以内であるか否かに基づいて、移動体の異常の有無を判定する。
【0047】
具体的には、まず判定部153は、カーネル回帰関数に基づき、予測データの目的変数の推定値を算出する。そして、判定部153は、(3)式のxに予測データの説明変数を代入し、予測値を算出する。
【0048】
ここで、予測データの説明変数をx´、予測データの目的変数をy´とする。このとき、判定部153は、(3)式の回帰関数式及び(6)式の閾値関数を使って、(7)式により評価を行う。
【0049】
【数7】
【0050】
判定部153は、(7)式が成り立つ場合は、異常と判定する。(7)式が成り立つということは、予測値と実測値との差が閾値を超えているということである。また、判定部153は、(7)式が成り立たない場合は、正常と判定する。(7)式が成り立たないということは、予測値と実測値との差が閾値以内であるということである。判定部153は、判定の結果を異常フラグ又は正常フラグとして出力する。
【0051】
図4を用いて、信頼区間幅及び閾値関数について説明する。信頼区間幅^V(x)は、閾値関数μ(x)と同等である。図4に示すように、信頼区間幅^V(x)は、xに応じて大きさが変化する。これにともない、異常検知のための閾値もxに応じて変化するため、本実施例では適切な閾値の設定が可能になる。
【0052】
[検知システム]
図6に示すように、移動体に異常検知機能を持たせることができる。図6は、検知システムの構成例を説明する図である。図6に示すように、検知システムにおいて、学習装置20は、生成部251と決定部252を有する。学習装置20は、例えばサーバである。また、移動体30は、判定部353を有する。移動体30は、例えば自動車である。
【0053】
生成部251、決定部252及び判定部353は、それぞれ生成部151、決定部152及び判定部153と同様の機能を有する。このため、例えば、学習装置20は、移動体30から正常状態の環境条件を示す学習データを受け取り、学習フェーズ及び準備フェーズの処理を行う。そして、移動体30は、学習装置20からカーネル回帰関数及び閾値関数を受け取り、検知フェーズの処理を行うことができる。
【0054】
例えば、移動体30は、予測データとして環境条件をサンプリングし、サンプリングのたびに異常の有無を判定し、結果をフラグとして出力する。
【0055】
[閾値関数が統計量であることの証明]
ここで、実施例では、k2近傍を使った予測値の算出を行うことにより、回帰関数、信頼区間幅及び閾値関数を、関連する統計量として扱うことができるようにしている。このことは、以下のように証明される。
【0056】
まず、実施例では、環境条件が、環境により状況が急変しない連続系の物理モデルであると仮定する。また、学習データの数をnとすると、nとk近傍の数k及びk2近傍の数k2には、n>>k>k2の関係が成り立つものとする。例えば、n=8575、k=30、k=8とすることができる。また、環境条件から得られる学習データ及び予測データの分布は、一様かつ稠密に広がっているものとする。
【0057】
学習データの各説明変数x(i=1,2,…,n)のk近傍Xikに対し、xi,1,xi,2,…,xi,k∈Xikに対する目的変数値をyi,1,yi,2,…,yi,kとするとき、Yik={yi,1,yi,2,…,yi,k}とおく。また、xのk2近傍をXk2とし、xi1,…,xik2∈Xk2に対する目的変数値を、yi1,…,yik2とするとき、Yk2={yi1,…,yik2}とおく。
【0058】
k→2のとき、一様稠密性から、Xik内の各2点のユークリッド距離は0に近くなり、モデルの連続性より、Yikの各2点のユークリッド距離も0に近くなる。従って、kの値が小さいとき、min y=min yi,j(yi,j∈Yik)、max y=max yi,j(yi,j∈Yik)とすると、max yi―min yの値も小さくなる。
【0059】
(3)式のカーネル回帰関数の推定値~f(x)は、Yk2の各点の重み付き平均であり、(1/k)Σj=1 i,jはYikの各点の平均であり、Yk2はYikに含まれるから、min yi≦~f(x)及び(1/k)Σj=1 i,j≦max yが成り立つ。なお、このことは、k2近傍を使用しない従来の非線形回帰関数では成り立たない。
【0060】
また、max y-min yが小さい値であることより、(8-1)式が成り立ち、さらに(8-2)式が成り立つため、V(x)は標準偏差となる。これより、~f(x)はYikの平均、V(x)はYikの標準偏差となる。なお、このことも、k2近傍を使用しない従来の非線形回帰関数では成り立たない。
【0061】
【数8】
【0062】
一様稠密性が徐々になくなっていくと、k→2のとき、Xik内の各2点のユークリッド距離が0に近くならないものが出てくる。よって、~f(x)と(1/k)Σj=1 i,jが徐々に違う値になっていく。従って、V(x)が徐々に標準偏差と違う値になっていく。
【0063】
[処理の流れ]
図5を用いて、検知装置10による予測処理の流れを説明する。図5は、検知処理の流れを示すフローチャートである。図5に示すように、まず、検知装置10は、学習データそれぞれのk近傍を作成する(ステップS11)。次に、検知装置10は、学習データそれぞれについて、k近傍に含まれる学習データを用いてカーネル及び信頼区間幅を計算する(ステップS12)。
【0064】
ここで、検知装置10は、説明変数空間における予測データのk2近傍を作成する(ステップS13)。そして、検知装置10は、k2近傍に含まれる学習データ及びカーネルからカーネル回帰関数を生成する(ステップS14)。そして、検知装置10は、カーネル回帰関数を用いて予測値及び信頼区間幅を算出する(ステップS15)。また、検知装置10は、カーネル回帰関数及び信頼区間幅から閾値関数を生成する(ステップS16)。
【0065】
検知装置10は、カーネル回帰関数を用いて算出した予測値を、閾値関数を用いて評価する(ステップS17)。このとき、予測値と実測値の差が閾値以内でない場合(ステップS18、No)、検知装置10は、異常と判定する(ステップS19)。一方、予測値と実測値の差が閾値以内である場合、(ステップS18、Yes)検知装置10は、異常と判定しない。
【0066】
[効果]
上述したように、検知装置10は、移動体の動作に関する第1の項目の値及び第2の項目の値を有する学習用のログデータに基づいて、第1の項目の値から第2の項目の値の推定値を導出するk近傍交叉カーネル回帰による回帰関数を生成する。検知装置10は、第1の項目の値ごとの推定値の信頼区間幅、及び回帰関数に基づいて、第1の項目の値から推定値に関する所定の閾値を算出するための基準を決定する。検知装置10は、第1の項目の値及び第2の項目の値を有する判定用のログデータの、第1の項目の値から回帰関数によって導出された第2の項目の推定値と、判定用のログデータに含まれる第2の項目の実測値との差を算出する。検知装置10は、算出した差が、当該第1の項目の値から基準を基に算出された閾値以内であるか否かに基づいて、移動体の異常の有無を判定する。このように、検知装置10は、説明変数の値に応じて、異常検知のための閾値を変化させることができる。このため、実施例によれば、適切な閾値を設定し、異常検知の精度を向上させることが可能になる。
【0067】
検知装置10は、学習用のログデータの第1の項目の値のそれぞれについて、k個(ただし、kは正の整数)の近傍からカーネル関数を生成する。このように、検知装置10は、k近傍からカーネルを計算するので、計算時間が短縮される。
【0068】
また、検知装置10は、学習用のログデータの第1の項目の値のそれぞれについて、k2個(ただし、k2はk>k2を満たす正の整数)の近傍の第1の項目の値及びカーネル関数から導出された推定値を用いて判定を行う。これにより、信頼区間幅を標準偏差とみなし、標準偏差に基づく閾値を設定することが可能になる。
【0069】
また、検知装置10は、推定値の標準偏差の近似値を定数倍にする関数を基準として決定する。例えば、定数に4等を設定することで、閾値に統計的な意味を持たせることができる。
【0070】
なお、上記の実施例では、k2の値について、あらかじめ設定されるか、又は信頼区間幅に応じて変化させるものとしたが、検知装置10は他の方法でk2を設定してもよい。例えば、検知装置10は、ユーザによるk2の値の指定を随時受け付けるようにしてもよいし、あらかじめ設定された計算時間の上限を超えない範囲でk2をできるだけ大きい値に設定してもよい。
【0071】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【0072】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0073】
[ハードウェア]
図7は、ハードウェア構成例を説明する図である。図7に示すように、検知装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図7に示した各部は、バス等で相互に接続される。
【0074】
通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、図1に示した機能を動作させるプログラムやDBを記憶する。
【0075】
プロセッサ10dは、図1に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図1等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、検知装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、生成部151、決定部152及び判定部153と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、生成部151、決定部152及び判定部153等と同様の処理を実行するプロセスを実行する。
【0076】
このように検知装置10は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、検知装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、検知装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0077】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0078】
10 検知装置
11 入力部
12 出力部
13 通信部
14 記憶部
15 制御部
141 学習データ記憶部
142 カーネル情報記憶部
151 生成部
152 決定部
153 判定部
図1
図2
図3
図4
図5
図6
図7