(57)【特許請求の範囲】
【請求項１】
データ集合内にある異常なデータを検出又は調査するために用いられる、前記異常なデータを特徴付けるルールを生成する外れ値ルール生成装置において、
前記データが異常であることの度合いを示す外れ値度を算出する外れ値度計算部と、
前記外れ値度計算部によって算出された前記外れ値度に基づいて、データ集合からデータをサンプリングすることにより、異常なデータであるか否かを示すラベルを各前記データに付与するサンプリング部と、
前記サンプリング部によって前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータの集合を特徴付けるルールを生成する教師あり学習部と、
を備えることを特徴とする外れ値ルール生成装置。
【請求項２】
データ集合内にある異常なデータを検出する外れ値検出装置において、
前記異常なデータを特徴付けるルールの集合を保持する外れ値ルール保存部と、
前記外れ値ルール保存部が保持する前記ルールに基づいて、前記データ集合の各データが、異常なデータであるか否かを判定するフィルタリング部と、
前記フィルタリング部において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を算出する外れ値度計算部と、
前記外れ値度計算部により前記外れ値度を算出された各前記データに対して、算出された前記外れ値度に基づいてサンプリングすることにより、異常なデータであるか否かを示すラベルを付与するサンプリング部と、
前記サンプリング部によって前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存部で保持する前記ルールの集合に前記新たなルールを追加する教師あり学習部と、
を備えることを特徴とする外れ値検出装置。
【請求項３】
前記データ集合に対して、前記保持するルールに基づいて異常なデータを判定し、異常であると判定されたデータを出力し、前記異常ではないと判定された各データに基づいて異常なデータを特徴付ける新たなルールを生成し、前記保持するルールを更新する一連の処理を、前回の前記処理において異常ではないと判定されたデータのみを処理対象として、前記処理を予め定められた回数繰り返し実行することを特徴とする請求項２に記載の外れ値検出装置。
【請求項４】
順次入力されるデータ列に対し，データ列中の異常なデータを検出する外れ値検出装置において，
前記異常なデータを特徴付けるルールの集合を保持する外れ値ルール保存部と、
前記外れ値ルール保存部で保持する前記ルールに基づいて、前記順次入力される検査対象のデータ列が異常なデータであるか否かを判定するフィルタリング部と、
前記フィルタリング部において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を算出する外れ値度計算部と、
前記外れ値度計算部により前記外れ値度が算出された前記データが予め定められた一定量以上蓄積された場合に、算出された前記外れ値度に基づいて異常なデータであるか否かを示すラベルを各前記データに付与しながら前記データをサンプリングするサンプリング部と、
前記ラベルの付与された各前記データの集合に基づく教師あり学習により、異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存部で保持するルールの集合に追加する教師あり学習部と、
を備えることを特徴とする外れ値検出装置。
【請求項５】
前記外れ値ルール保存部で保持する前記ルールを、利用者の操作により編集するための外れ値ルール編集部を備えることを特徴とする請求項２から請求項４のいずれか１つに記載の外れ値検出装置。
【請求項６】
計算手段を備えるコンピュータ上で、データ集合内にある異常なデータを検出又は調査するために用いられる、前記異常なデータを特徴付けるルールを生成する外れ値ルール生成方法において、
前記データが異常であることの度合いを示す外れ値度を前記計算手段によって算出する外れ値度計算ステップと、
前記外れ値度計算ステップで算出された前記外れ値度に基づいて、入力されたデータ集合からデータを前記計算手段によってサンプリングすることにより、異常なデータであるか否かを示すラベルを各前記データに付与するサンプリングステップと、
前記サンプリングステップで前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータの集合を特徴付けるルールを前記計算手段によって生成する教師あり学習ステップと、
を備えることを特徴とする外れ値ルール生成方法。
【請求項７】
計算手段及び記憶手段を備えるコンピュータを制御することにより、データ集合内にある異常なデータを検出する外れ値検出方法において、
前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存ステップと、
前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールに基づいて、入力された前記データ集合の各データが、異常なデータであるか否かを前記計算手段で判定するフィルタリングステップと、
前記フィルタリングステップにおいて異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算ステップと、
前記外れ値度計算ステップで前記外れ値度を算出された各前記データに対して、算出された前記外れ値度に基づいてサンプリングすることにより、異常なデータであるか否かを示すラベルを前記計算手段で付与するサンプリングステップと、
前記サンプリングステップで前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールの集合に前記新たなルールを前記計算手段で追加する教師あり学習ステップと、
を備えることを特徴とする外れ値検出方法。
【請求項８】
入力された前記データ集合に対して、前記記憶手段に保持する前記ルールに基づいて異常なデータを前記計算手段で判定し、異常であると判定されたデータを出力し、前記異常ではないと判定された各データに基づいて異常なデータを特徴付ける新たなルールを前記計算手段で生成し、前記記憶手段に保持する前記ルールを更新する一連の処理を、前回の前記処理において異常ではないと判定されたデータのみを処理対象として、前記処理を予め定められた回数繰り返し実行することを特徴とする請求項７に記載の外れ値検出方法。
【請求項９】
計算手段及び記憶手段を備えるコンピュータを制御することにより、順次入力されるデータ列に対し、データ列中の異常なデータを検出する外れ値検出方法において，
前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存ステップと、
前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールに基づいて、前記順次入力される検査対象のデータ列が異常なデータであるか否かを前記計算手段で判定するフィルタリングステップと、
前記フィルタリングステップにおいて異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算ステップと、
前記外れ値度計算ステップで前記外れ値度が算出された前記データが予め定められた一定量以上蓄積された場合に、算出された前記外れ値度に基づいて異常なデータであるか否かを示すラベルを各前記データに付与しながら前記データを前記計算手段でサンプリングするサンプリングステップと、
前記ラベルの付与された各前記データの集合に基づく教師あり学習により、異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存ステップで前記記憶手段に保持するルールの集合に前記計算手段で追加する教師あり学習ステップと、
を備えることを特徴とする外れ値検出方法。
【請求項１０】
前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールを、利用者の操作により前記計算手段で編集するための外れ値ルール編集ステップを備えることを特徴とする請求項７から請求項９のいずれか１つに記載の外れ値検出方法。
【請求項１１】
計算手段を備えるコンピュータを制御することにより、データ集合内にある異常なデータを検出又は調査するために用いられる、前記異常なデータを特徴付けるルールを生成する外れ値ルール生成プログラムであって、
前記コンピュータに、
前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算処理と、
前記外れ値度計算処理で算出された前記外れ値度に基づいて、入力されたデータ集合からデータを前記計算手段によってサンプリングすることにより、異常なデータであるか否かを示すラベルを各前記データに付与するサンプリング処理と、
前記サンプリング処理で前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータの集合を特徴付けるルールを前記計算手段で生成する教師あり学習処理と、
を実行させることを特徴とする外れ値ルール生成プログラム。
【請求項１２】
計算手段及び記憶手段を備えるコンピュータを制御することにより、データ集合内にある異常なデータを検出する外れ値検出プログラムであって、
前記コンピュータに、
前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存処理と、
前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールに基づいて、入力された前記データ集合の各データが、異常なデータであるか否かを前記計算手段で判定するフィルタリング処理と、
前記フィルタリング処理において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算処理と、
前記外れ値度計算処理で前記外れ値度を算出された各前記データに対して、算出された前記外れ値度に基づいてサンプリングすることにより、異常なデータであるか否かを示すラベルを前記計算手段で付与するサンプリング処理と、
前記サンプリング処理で前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールの集合に前記計算手段で前記新たなルールを追加する教師あり学習処理と、
を実行させることを特徴とする外れ値検出プログラム。
【請求項１３】
前記コンピュータに、
入力された前記データ集合に対して、前記記憶手段に保持する前記ルールに基づいて異常なデータを前記計算手段で判定し、異常であると判定されたデータを出力し、前記異常ではないと判定された各データに基づいて異常なデータを特徴付ける新たなルールを前記計算手段で生成し、前記記憶手段に保持する前記ルールを更新する一連の処理を、前回の前記処理において異常ではないと判定されたデータのみを処理対象として、前記処理を予め定められた回数繰り返し実行させることを特徴とする請求項１２に記載の外れ値検出プログラム。
【請求項１４】
計算手段及び記憶手段を備えるコンピュータを制御することにより、順次入力されるデータ列に対し，データ列中の異常なデータを検出する外れ値検出プログラムであって，
前記コンピュータに、
前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存処理と、
前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールに基づいて、前記順次入力される検査対象のデータ列が異常なデータであるか否かを前記計算手段で判定するフィルタリング処理と、
前記フィルタリング処理において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算処理と、
前記外れ値度計算処理で前記外れ値度が算出された前記データが予め定められた一定量以上蓄積された場合に、算出された前記外れ値度に基づいて異常なデータであるか否かを示すラベルを各前記データに付与しながら前記データを前記計算手段でサンプリングするサンプリング処理と、
前記ラベルの付与された各前記データの集合に基づく教師あり学習により、異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールの集合に前記計算手段で追加する教師あり学習処理と、
を実行させることを特徴とする外れ値検出プログラム。
【請求項１５】
前記コンピュータに、
前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールを、利用者の操作により前記計算手段で編集するための外れ値ルール編集処理を実行させることを特徴とする請求項１２から請求項１４のいずれか１つに記載の外れ値検出プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、統計的外れ値検出、不正検出、詐欺検出を行なう外れ値ルール生成装置と外れ値検出装置、その外れ値ルール生成方法と外れ値検出方法及びそのプログラムに関する。
【０００２】
【従来の技術】
機械学習技術を用いた不正検出（異常検出、詐欺検出）の方式には大きく分けて、教師あり学習に基づく方式と、教師無し学習に基づく方式との二つがある。
【０００３】
教師あり学習に基づく方式には、T. FawcettとF. Provostによる方式（Combining data mining and machine learning for effective fraud detection, Proceedings of AI Approaches to Fraud Detection and Risk Management, pp:14-19, 1997）や、J. Ryan, M. Lin, R. Miikkulainenによる方式（Intrusion detection with neural networks, Proceedings of AI Approaches to Fraud Detection and Risk Management, pp:72-77, 1997）が知られている。
【０００４】
教師あり学習では、予め異常（不正）であるか否かを示すラベル（教師情報）の付いた「ラベル付きデータ」が必要となる。教師あり学習では、こうした過去のデータに基づいて異常データの特徴を学習し、異常なデータの検出に用いる。例えば、不正検出においては、過去に行われた不正のデータを検査対象のデータと照合して不正検出を行なうのであり、またこのため新たな特徴をもった不正の検出には対応できない。
【０００５】
また、教師無し学習では、このようなラベル付きデータを必要とせずに、異常データ（不正データ）の検出を行なう。教師無し学習による方式は、統計的外れ値検出の考え方を利用して行なう方式であり、P. BurgeとJ. Shawe-Taylorによる方式（Detecting cellular fraud using adaptive prototypes, in Proceedings of AI Approaches to Fraud Detection and Risk Management, pp:9-13, 1997）や、K. Yamanishi et. al.による方式（“On-line Unsupervised Oultlier Detection Using Finite Mixtures with Discounting Learning Algorithms”, in Proc. of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, ACM Press, pp:320-324, 2000）が知られている。
【０００６】
ここで、統計的外れ値検出とは、データセットにおいて、大多数のデータが従う確率分布から外れたデータ（発生しにくいデータ）を、「統計的外れ値」としてそのデータを異常（不正）と同定する技術である。特に、上記に引用した方式においては、データセット中の各データについて、それぞれがどの程度外れているかを示すスコアを算出するという特徴がある。
【０００７】
【発明が解決しようとする課題】
しかし、上述した従来の技術では、以下に述べるような問題点があった。
【０００８】
第１に、従来の教師あり学習による方式は、不正や異常の特徴を提示できるところに特徴があるが、前述のように、実際にはラベル付きデータを予め十分に揃えるのは難しく、よって精度良い学習が行えず不正検出の効率が悪くなるという問題点がある。
【０００９】
第２に、従来の教師無し学習による方式は、未知の異常や不正にも対応できるという特徴があるが、検出された異常なデータがどんな理由で異常と判定されたのかが示されないという問題点がある。
【００１０】
更に、構造的な異常がおきた場合や組織的に不正が行われた場合には、異常データがまとまりを持って発生することになり、このような場合に従来の教師無し学習による方式では、異常を検出することができないという問題点がある。
【００１１】
ここで、異常データがまとまりを持って発生した場合においても、その発生した異常の特徴を明示的に捉えて自動的にルール化し、またそのルールを用いて異常なデータの検出ができるのであれば、異常なデータを検出する効率の飛躍的な改善が実現できる。
【００１２】
本発明の目的は、上記従来技術の欠点を解決し、異常（不正）であるか否かがわかっていないデータ（教師無しデータ）を基に、異常データを特徴付けるルールを自動生成する外れ値ルール生成装置、更にその機能によって得られたルールを用いて効率良く異常なデータを検出する外れ値検出装置、その外れ値ルール生成方法と外れ値検出方法及びそのプログラムを提供することである。
【００１３】
【課題を解決するための手段】
上記目的を達成するため本発明の外れ値ルール生成装置は、データ集合内にある異常なデータを特徴付けるルールを生成する外れ値ルール生成装置において、前記データが異常であることの度合いを示す外れ値度を算出する外れ値度計算部と、前記外れ値度計算部によって算出された前記外れ値度に基づいて、データ集合からデータをサンプリングすることにより、異常なデータであるか否かを示すラベルを各前記データに付与するサンプリング部と、前記サンプリング部によって前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータの集合を特徴付けるルールを生成する教師あり学習部とを備えることを特徴とする。
【００１４】
請求項２の本発明の外れ値検出装置は、データ集合内にある異常なデータを検出する外れ値検出装置において、
前記異常なデータを特徴付けるルールの集合を保持する外れ値ルール保存部と、前記外れ値ルール保存部が保持する前記ルールに基づいて、前記データ集合の各データが、異常なデータであるか否かを判定するフィルタリング部と、前記フィルタリング部において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を算出する外れ値度計算部と、前記外れ値度計算部により前記外れ値度を算出された各前記データに対して、算出された前記外れ値度に基づいてサンプリングすることにより、異常なデータであるか否かを示すラベルを付与するサンプリング部と、前記サンプリング部によって前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存部で保持する前記ルールの集合に前記新たなルールを追加する教師あり学習部とを備えることを特徴とする。
【００１５】
請求項３の本発明の外れ値検出装置は、前記データ集合に対して、前記保持するルールに基づいて異常なデータを判定し、異常であると判定されたデータを出力し、前記異常ではないと判定された各データに基づいて異常なデータを特徴付ける新たなルールを生成し、前記保持するルールを更新する一連の処理を、前回の前記処理において異常ではないと判定されたデータのみを処理対象として、前記処理を予め定められた回数繰り返し実行することを特徴とする。
【００１６】
請求項４の本発明の外れ値検出装置は、順次入力されるデータ列に対し，データ列中の異常なデータを検出する外れ値検出装置において，前記異常なデータを特徴付けるルールの集合を保持する外れ値ルール保存部と、前記外れ値ルール保存部で保持する前記ルールに基づいて、前記順次入力される検査対象のデータ列が異常なデータであるか否かを判定するフィルタリング部と、前記フィルタリング部において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を算出する外れ値度計算部と、前記外れ値度計算部により前記外れ値度が算出された前記データが予め定められた一定量以上蓄積された場合に、算出された前記外れ値度に基づいて異常なデータであるか否かを示すラベルを各前記データに付与しながら前記データをサンプリングするサンプリング部と、前記ラベルの付与された各前記データの集合に基づく教師あり学習により、異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存部で保持するルールの集合に追加する教師あり学習部とを備えることを特徴とする。
【００１７】
請求項５の本発明の外れ値検出装置は、前記外れ値ルール保存部で保持する前記ルールを、利用者の操作により編集するための外れ値ルール編集部を備えることを特徴とする。
【００１８】
請求項６の本発明の外れ値ルール生成方法は、計算手段を備えるコンピュータ上で、データ集合内にある異常なデータを検出又は調査するために用いられる、前記異常なデータを特徴付けるルールを生成する外れ値ルール生成方法において、前記データが異常であることの度合いを示す外れ値度を前記計算手段によって算出する外れ値度計算ステップと、前記外れ値度計算ステップで算出された前記外れ値度に基づいて、入力されたデータ集合からデータを前記計算手段によってサンプリングすることにより、異常なデータであるか否かを示すラベルを各前記データに付与するサンプリングステップと、前記サンプリングステップで前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータの集合を特徴付けるルールを前記計算手段によって生成する教師あり学習ステップとを備えることを特徴とする。
【００１９】
請求項７の本発明の外れ値検出方法は、計算手段及び記憶手段を備えるコンピュータを制御することにより、データ集合内にある異常なデータを検出する外れ値検出方法において、前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存ステップと、前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールに基づいて、入力された前記データ集合の各データが、異常なデータであるか否かを前記計算手段で判定するフィルタリングステップと、前記フィルタリングステップにおいて異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算ステップと、前記外れ値度計算ステップで前記外れ値度を算出された各前記データに対して、算出された前記外れ値度に基づいてサンプリングすることにより、異常なデータであるか否かを示すラベルを前記計算手段で付与するサンプリングステップと、前記サンプリングステップで前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールの集合に前記新たなルールを前記計算手段で追加する教師あり学習ステップとを備えることを特徴とする。
【００２０】
請求項８の本発明の外れ値検出方法は、入力された前記データ集合に対して、前記記憶手段に保持する前記ルールに基づいて異常なデータを前記計算手段で判定し、異常であると判定されたデータを出力し、前記異常ではないと判定された各データに基づいて異常なデータを特徴付ける新たなルールを前記計算手段で生成し、前記記憶手段に保持する前記ルールを更新する一連の処理を、前回の前記処理において異常ではないと判定されたデータのみを処理対象として、前記処理を予め定められた回数繰り返し実行することを特徴とする。
【００２１】
請求項９の本発明の外れ値検出方法は、計算手段及び記憶手段を備えるコンピュータを制御することにより、順次入力されるデータ列に対し、データ列中の異常なデータを検出する外れ値検出方法において，前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存ステップと、前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールに基づいて、前記順次入力される検査対象のデータ列が異常なデータであるか否かを前記計算手段で判定するフィルタリングステップと、前記フィルタリングステップにおいて異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算ステップと、前記外れ値度計算ステップで前記外れ値度が算出された前記データが予め定められた一定量以上蓄積された場合に、算出された前記外れ値度に基づいて異常なデータであるか否かを示すラベルを各前記データに付与しながら前記データを前記計算手段でサンプリングするサンプリングステップと、前記ラベルの付与された各前記データの集合に基づく教師あり学習により、異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存ステップで前記記憶手段に保持するルールの集合に前記計算手段で追加する教師あり学習ステップとを備えることを特徴とする。
【００２２】
請求項１０の本発明の外れ値検出方法は、前記外れ値ルール保存ステップで前記記憶手段に保持する前記ルールを、利用者の操作により前記計算手段で編集するための外れ値ルール編集ステップを備えることを特徴とする。
【００２３】
請求項１１の本発明の外れ値ルール生成プログラムは、計算手段を備えるコンピュータを制御することにより、データ集合内にある異常なデータを検出又は調査するために用いられる、前記異常なデータを特徴付けるルールを生成する外れ値ルール生成プログラムであって、前記コンピュータに、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算処理と、前記外れ値度計算処理で算出された前記外れ値度に基づいて、入力されたデータ集合からデータを前記計算手段によってサンプリングすることにより、異常なデータであるか否かを示すラベルを各前記データに付与するサンプリング処理と、前記サンプリング処理で前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータの集合を特徴付けるルールを前記計算手段で生成する教師あり学習処理とを実行させることを特徴とする。
【００２４】
請求項１２の本発明の外れ値検出プログラムは、計算手段及び記憶手段を備えるコンピュータを制御することにより、データ集合内にある異常なデータを検出する外れ値検出プログラムであって、前記コンピュータに、前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存処理と、前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールに基づいて、入力された前記データ集合の各データが、異常なデータであるか否かを前記計算手段で判定するフィルタリング処理と、前記フィルタリング処理において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算処理と、前記外れ値度計算処理で前記外れ値度を算出された各前記データに対して、算出された前記外れ値度に基づいてサンプリングすることにより、異常なデータであるか否かを示すラベルを前記計算手段で付与するサンプリング処理と、前記サンプリング処理で前記ラベルを付与された各前記データの集合に基づく教師あり学習により、前記異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールの集合に前記計算手段で前記新たなルールを追加する教師あり学習処理とを実行させることを特徴とする。
【００２５】
請求項１３の本発明の外れ値検出プログラムは、前記コンピュータに、入力された前記データ集合に対して、前記記憶手段に保持する前記ルールに基づいて異常なデータを前記計算手段で判定し、異常であると判定されたデータを出力し、前記異常ではないと判定された各データに基づいて異常なデータを特徴付ける新たなルールを前記計算手段で生成し、前記記憶手段に保持する前記ルールを更新する一連の処理を、前回の前記処理において異常ではないと判定されたデータのみを処理対象として、前記処理を予め定められた回数繰り返し実行させることを特徴とする。
【００２６】
請求項１４の本発明の外れ値検出プログラムは、計算手段及び記憶手段を備えるコンピュータを制御することにより、順次入力されるデータ列に対し，データ列中の異常なデータを検出する外れ値検出プログラムであって、前記コンピュータに、前記異常なデータを特徴付けるルールの集合を前記記憶手段に保持する外れ値ルール保存処理と、前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールに基づいて、前記順次入力される検査対象のデータ列が異常なデータであるか否かを前記計算手段で判定するフィルタリング処理と、前記フィルタリング処理において異常なデータではないと判定された各データに対して、前記データが異常であることの度合いを示す外れ値度を前記計算手段で算出する外れ値度計算処理と、前記外れ値度計算処理で前記外れ値度が算出された前記データが予め定められた一定量以上蓄積された場合に、算出された前記外れ値度に基づいて異常なデータであるか否かを示すラベルを各前記データに付与しながら前記データを前記計算手段でサンプリングするサンプリング処理と、前記ラベルの付与された各前記データの集合に基づく教師あり学習により、異常なデータを特徴付ける新たなルールを生成し、前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールの集合に前記計算手段で追加する教師あり学習処理とを実行させることを特徴とする。
【００２７】
請求項１５の本発明の外れ値検出プログラムは、前記コンピュータに、前記外れ値ルール保存処理で前記記憶手段に保持する前記ルールを、利用者の操作により前記計算手段で編集するための外れ値ルール編集処理を実行させることを特徴とする。
【００４０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００４１】
なお、以下の説明においては、データセット中の１つのデータを、x＝(x1,x2,…,xd)∈Ｄ＝Ｘ1×…×Ｘdで表す。このＤを、ドメインと呼ぶ。各xi（i＝1,2,…,d）は、例えば連続値であったり、テキスト等の離散値であるものとする。このデータの集合Ｕ＝｛x1,x2,…,xn｝を、データセットと呼ぶ。
【００４２】
図１は、本発明の第１の実施の形態による外れ値ルール生成装置１００の構成を示すブロック図である。本実施の形態の外れ値ルール生成装置１００は、入力されるデータ集合に対して、データ集合内にある異常なデータを特徴付けるルールを生成する装置である。ここで生成されるルールは、データの異常を検出する他の装置等において、データ集合内にある異常なデータの検出に用いることや、異常なデータの傾向を調査する等のために用いることができる。
【００４３】
図１を参照すると、本実施の形態の外れ値ルール生成装置１００は、調査対象のデータ集合の各データに対して、その異常であることの度合いを示す外れ値度を算出する外れ値度計算部１２と、算出された外れ値度に基づいて各データをサンプリングし、異常なデータであるか否かを示すラベルを各データに付与するサンプリング部１３と、ラベルの付与された各データの集合に基づく教師あり学習により、異常なデータを特徴付けるルールを生成する教師あり学習部１４を備えている。
【００４４】
外れ値度計算部１２は、各データの不正（異常）であることの度合いを示す外れ値度を、計算し出力する。つまり、外れ値度計算部１２は、データセットからデータを順次読み込みながら、各データxtに対してその外れ値度stを計算し、Ｖ＝｛y1,y2,…,yn｝（yt＝（xt、st））として出力する。
【００４５】
次に、サンプリング部１３について説明する。サンプリング部１３は、外れ値度計算部１２が出力する各データの外れ値度に基づいて、各データに対し、そのデータが異常（不正）であるか否かを示すラベルを付加し、教師情報付きデータの集合を生成する。つまり、サンプリング部１３は、スコア付けされた（外れ値度の算出された）データセットＶ＝｛y1,y2,…,yn｝から、教師情報付きデータセットを生成するのであり、このとき、スコアの高い（不正である度合いの高い）データには‘positive’というラベルを、そうでないデータには‘negative’のラベルを付ける。
【００４６】
サンプリング部１３によるラベル付け処理の具体例を、以下に示す。まず、このデータセットＶ＝｛y1,y2,…,yn｝中のスコアの高い上位ｑ％のデータを取り出して、‘positive’のラベルを付け、上位ｑ％に入らないデータの中からランダムサンプリングを行って、全体のｋ*ｑ％のデータ（ｋは正の数。例えばｋ＝３等とする）を取り出し‘negative’のラベルを付ける。新たに生成されたデータをzi＝（xt(i)、lt(i)）と書く。ここに、ltはラベルである。ここにt(i)は、整数ｉ（1≦i≦m≦n）から｛1,2,…,n｝への一対一関数とする。ここで得られた新たなデータセットを、Ｗ＝｛z1,z2,…,zm｝と記す。
【００４７】
また他の方法として、例えば、「上位ｑ％」という取り出し方法ではなく、ある閾値を設けその閾値より高いスコアのデータに‘positive’のラベルを付け、その閾値より低いデータからランダムサンプリングで取り出して‘negative’のラベルを付ける方法も考えられる。
【００４８】
次に、教師あり学習部１４について説明する。教師あり学習部１４は、サンプリング部１３が出力する教師情報付きデータから、ルールを生成する。ここで、（教師あり学習部１４が実行する処理である）教師あり学習とは、教師情報付きデータセットＷ＝｛z1,z2,…,zm｝を入力として、関数ｆ：Ｄ→｛positive、negative｝を出力することを指す。あるいは、教師情報付きデータセットＷ＝｛z1,z2,…,zm｝を入力として、データxが与えられたもとでの、l∈｛positive、negative｝の条件付き確率分布ｆを出力することを指す。ここで、Ｗはトレーニングデータと呼ばれる。
【００４９】
例えば、x1が身長（ｃｍ）を表すデータであるとして、Ｗの中のデータについて、x1≧300の場合には不正である可能性が高いためpositiveのラベルを付け、それ以外のデータにはnegativeのラベルを付けてている場合を考える。この場合には、Ｗの入力に対して、
If x1≧300 then positive
を示す関数ｆが出力されることが求められる。
【００５０】
また実際には、トレーニングデータに隠されている規則性がもっと複雑であったり、データの集合にノイズが含まれていたりするため、学習はこのような簡明なものではない。そのように複雑な状況において、効率的に学習を行なうための様々な手法が提案されている。また、それらの手法によって、規則の表現の仕方にも、上記のような論理式を用いたり、ニューラルネットワークを用いたりする等、様々な方法がある。例えば、K. Yamanishiによる確率的決定リストの学習方式（K. Yamanishi, “A Learning Criterion for Stochastic Rules”Machine Learning, vol.9, pp. 165-203, 1992.）では、
If x1≧300 then positive with probability 0.9
Else if x2＝男性 then positive with probability 0.8
Else negative with probability 0.2
という形の表現を用いている。こうした表現系は、確率決定リストと呼ばれるが、これは条件付き確率分布を指定する。
【００５１】
なお以下、与えられたデータx∈Ｄについて、それがpositiveであるのかnegativeであるのかを判定することを、「フィルタリング」（データxのフィルタリング）と呼ぶこととする。対応ｆ：Ｄ∋x→｛positive、negative｝が一意に値の定められた関数の場合には、そのｆ自身をフィルタリングとして用いることができるが、ｆが条件付き確率分布の場合には、
If ｆ(positive｜x)≧ｐth then x is positive
という判定基準を用いる。ここに、ｐthは利用者が与える閾値であるが、通常はｐth＝0.5と指定する。
【００５２】
図２は、本実施の形態による外れ値ルール生成の動作を説明するためのフローチャートである。図２を参照すると、本実施の形態の外れ値ルール生成装置１００は、以下の順序で動作する。
【００５３】
まず、入力Ｕ＝｛x1,x2,…,xn｝が、外れ値度計算部１２に渡される（ステップ２０１）。
【００５４】
外れ値度計算部１２は、入力中の各データxtについて、各データの不正（異常）であることの度合いを示す外れ値度のスコアstを計算し、スコア付きデータＶ＝｛y1,y2,…,yn｝を作成し、サンプリング部１３に入力する（ステップ２０２）。
【００５５】
サンプリング部１３は、スコア付きデータＶからスコア上位の予め定められた割合のデータを取り出して、これにpositiveのラベルを付けpositiveデータとする。更にＶ中のスコアが下位のデータから、ランダムサンプリングによって予め定められた数のデータを取り出し、これにnegativeのラベルを付けてnegativeデータとする。このようにしてpositive、negativeのラベルを付けて、教師情報付きデータＷ＝｛z1,z2,…,zm｝を作成し、教師あり学習部１４に入力する（ステップ２０３）。
【００５６】
教師あり学習部１４は、入力された教師情報付きデータＷに基づいて、異常なデータを特徴付けるルールを求め出力する（ステップ２０４）。
【００５７】
以上説明したように、本実施の形態の外れ値ルール生成装置１００によれば、異常（不正）であるか否かがわかっていないデータ（教師無しデータ）を基に、異常データを特徴付けるルールを効率良く自動生成することができる。
【００５８】
図３は、本発明の第２の実施の形態による外れ値検出装置２００の構成を示すブロック図である。本実施の形態の外れ値検出装置２００は、データ集合内にある異常なデータを検出する装置である。また、本実施の形態の外れ値検出装置２００は、第１の実施の形態において説明した外れ値ルール生成装置１００の機能を備えて、入力されるデータ集合内にある異常なデータを特徴付けるルールを自動生成し、かつそのルールに基づいて異常なデータの検出を実行することを特徴とする。
【００５９】
図３を参照すると、本実施の形態の外れ値検出装置２００は、第１の実施の形態の外れ値ルール生成装置１００の構成に含まれる外れ値度計算部２２、サンプリング部２３、教師あり学習部２４に加えて、異常なデータを特徴付けるルールの集合を保持する外れ値ルール保存部２５と、その保持されているルールに基づいて、入力されるデータ集合の各データが異常なデータであるか否かを判定するフィルタリング部２１を備えている。
【００６０】
本実施の形態の外れ値検出装置２００では、外れ値度計算部２２は、フィルタリング部２１において異常なデータではないと判定された各データに対して、異常であることの度合いを示す外れ値度を算出する。
【００６１】
そして、サンプリング部２３は、外れ値度計算部２２により外れ値度の算出された各データを、算出された外れ値度に基づいてサンプリングし、異常なデータであるか否かを示すラベルを付与する。
【００６２】
そして、教師あり学習部２４は、ラベルの付与されたデータの集合に基づく教師あり学習により、異常なデータを特徴付ける新たなルールを生成する。そして、外れ値ルール保存部２５に対して、その保持する異常なデータを特徴付けるルールの集合に、この新規に生成されたルールを追加して格納する。
【００６３】
これにより、外れ値ルール保存部２５に保持されているルールが適切に更新され、その更新されたルールを用いることにより、より高い精度で異常なデータを検出できるようになる。
【００６４】
またこのため、本実施の形態の外れ値検出装置２００は、例えば、検査対象のデータ集合に対し上記の処理を予め定められた回数繰り返し実行して、外れ値ルール保存部２５に保持されているルールを異常なデータを高い精度で検出することのできるものに更新した後に、フィルタリング部２１がそのルールに基づいて検査対象のデータ集合から異常のあるデータを検出することにより、異常のあるデータの、効率の良い精度の高い検出が実現できる。
【００６５】
次に、本実施の形態の外れ値検出装置２００の動作を説明する。図４は、本実施の形態による外れ値検出の動作の一実施例を説明するためのフローチャートである。
【００６６】
図４を参照すると、まず、検査対象のデータ集合に対してステップ４０２〜４０６の処理を予め定められた回数繰り返し実行し、外れ値ルール保存部２５に保持されているルールを繰り返し更新する。すなわち、外れ値検出装置２００は、ｉ回目の繰り返し（イタレーション）において以下の順序で動作する。
【００６７】
入力Ｕが、外部からの入力により又は外れ値度計算部２２からフィルタリング部２１に渡される（ステップ４０１）。フィルタリング部２１は、外れ値ルール保存部２５に蓄えられている外れ値ルールの集合Ｒiに基づいて、入力されたデータを判定し、外れ値と判定されたデータを「外れ値１」として出力し、外れ値でないと判定されたデータ集合Ｕ’を、外れ値度計算部２２に送りこむ（ステップ４０２）。
【００６８】
外れ値度計算部２２は、フィルタリング部２１において外れ値でないと判定された各データxtについて、スコアstを計算し、スコア付きデータのセットＶiを作成し、サンプリング部２３に入力する（ステップ４０３）。同時に、予め定められた閾値以上の外れ値度をもったデータを「外れ値２」として出力し、そうでないと判定されたデータ集合をＵ”として、保持する。
【００６９】
サンプリング部２３は、予め定められた割合のスコア上位データをＶiから取り出しpositiveデータとし、更にＶi中のスコアが下位のデータから、ランダムサンプリングによって予め定められた数のデータを取り出しnegativeデータとして、教師情報付きデータＷiを作成し、教師あり学習部２４に入力する（ステップ４０４）。
【００７０】
教師あり学習部２４は、入力された教師情報付きデータに基づいて、異常なデータを特徴付けるルール群を求め、その中から予め決められた基準に従うか、あるいは利用者の選択によりルールを取捨選択して、外れ値ルール保存部２５に送りこむ（ステップ４０５）。
【００７１】
外れ値ルール保存部２５は、送りこまれたルールを、ルールの集合Ｒiに加えて、新たなルールの集合Ｒi+1を生成し保存する（ステップ４０６）。
【００７２】
外れ値検出装置２００は、以上のステップ４０２〜４０６の処理を予め定められた回数繰り返し実行することにより、外れ値ルール保存部２５に保持されているルールが、異常なデータをより高い精度で検出することのできるものに繰り返し更新され（ステップ４０７）、そして、その更新されたルールを用いて最終的なフィルタリングを実行し異常のあるデータを検出する（ステップ４０８）。
【００７３】
また、例えば、上述のルールの生成と更新の一連の処理を繰り返し実行する方式において、前回処理においてフィルタリング部２１において異常の検出されたデータを、次回以降の処理の対象から除外する等の方式も効果的である。つまりこの場合、毎回、フィルタリング部２１において異常の検出されたデータはその異常が検出された時点で出力することとし、これまでに異常の検出されなかった残りのデータにより、ルールの生成と更新の処理及び次回以降の一連の処理を行なうのである。
【００７４】
図５は、本実施の形態の外れ値検出装置２００の上述の実施例の動作を説明するためのフローチャートである。
【００７５】
図５を参照すると、まず、検査対象のデータ集合に対してステップ５０２〜５０８の処理を予め定められた回数繰り返し実行する。すなわち、外れ値検出装置２００は、ｉ回目の繰り返し（イタレーション）において以下の順序で動作する。
【００７６】
入力Ｕiが、外部からの入力により又は外れ値度計算部２２からフィルタリング部２１に渡される（ステップ５０１）。フィルタリング部２１は、外れ値ルール保存部２５に蓄えられている外れ値ルールの集合Ｒiに基づいて、入力されたデータを判定し、外れ値と判定されたデータを「外れ値１」として出力し、外れ値でないと判定されたデータ集合Ｕi’を、外れ値度計算部２２に送りこむ（ステップ５０２、５０３）。
【００７７】
ここで、もし予め定められた回数が終了しているのならば処理を終了し、まだ終了していない場合にはステップ５０５以下の処理に進む（ステップ５０４）。
【００７８】
外れ値度計算部２２は、フィルタリング部２１において外れ値でないと判定された各データxtについて、スコアstを計算し、スコア付きデータのセットＶiを作成し、サンプリング部２３に入力する。同時に、予め定められた閾値以上の外れ値度をもったデータを「外れ値２」として出力し、そうでないと判定されたデータ集合をＵi+1として、保持する（ステップ５０５）。
【００７９】
サンプリング部２３は、予め定められた割合のスコア上位データをＶiから取り出しpositiveデータとし、更にＶi中のスコアが下位のデータから、ランダムサンプリングによって予め定められた数のデータを取り出しnegativeデータとして、教師情報付きデータＷiを作成し、教師あり学習部２４に入力する（ステップ５０６）。
【００８０】
教師あり学習部２４は、入力された教師情報付きデータに基づいて、異常なデータを特徴付けるルール群を求め、その中から予め決められた基準に従うか、あるいは利用者の選択によりルールを取捨選択して、外れ値ルール保存部２５に送りこむ（ステップ５０７）。
【００８１】
外れ値ルール保存部２５は、送りこまれたルールを、ルールの集合Ｒiに加えて、新たなルールの集合Ｒi+1を生成し保存する（ステップ５０８）。
【００８２】
外れ値検出装置２００は、以上のステップ５０２〜５０８の処理を予め定められた回数繰り返し実行することにより、処理対象のデータＵiから異常なデータを順次取り出しながら検出することができ、また処理を繰り返す度に、保持されているルールＲiをより良いルールに更新していくことができる。
【００８３】
以上説明したように、本実施の形態の外れ値検出装置２００によれば、異常であるか否かがわかっていないデータを基に、異常データを特徴付けるルールを自動生成し、かつその自動生成されたルールを用いて効率良く異常なデータを検出することができる。
【００８４】
図６は、本発明の第３の実施の形態による外れ値検出装置２００ａの構成を示すブロック図である。図６を参照すると、本実施の形態の外れ値検出装置２００ａは、第２の実施の形態の外れ値検出装置２００の構成に加えて、外れ値ルール保存部３５に保存されている外れ値ルールを利用者が操作して編集するための外れ値ルール編集部３６を、新たに備えている。
【００８５】
本実施の形態では、この外れ値ルール編集部３６を用いることにより、外れ値ルール保存部３５に保存されている外れ値ルールを、必要に応じて利用者が自由に編集することができる。
【００８６】
次に、本実施の形態の外れ値検出装置２００ａの動作を説明する。図７は、本実施の形態による外れ値検出の動作の一実施例を説明するためのフローチャートである。
【００８７】
図７を参照すると、まず第２の実施の形態と同様に、検査対象のデータ集合に対してステップ６０２〜６０７の処理を予め定められた回数繰り返し実行し、外れ値ルール保存部３５に保持されているルールを繰り返し更新する。すなわち、外れ値検出装置２００ａは、ｉ回目の繰り返し（イタレーション）において以下の順序で動作する。
【００８８】
入力Ｕが、外部からの入力により又は外れ値度計算部３２からフィルタリング部３１に渡される（ステップ６０１）。フィルタリング部３１は、外れ値ルール保存部３５に蓄えられている外れ値ルールの集合Ｒiに基づいて、入力されたデータを判定し、外れ値と判定されたデータを「外れ値１」として出力し、外れ値でないと判定されたデータ集合Ｕ’を、外れ値度計算部３２に送りこむ（ステップ６０２）。
【００８９】
外れ値度計算部３２は、フィルタリング部３１において外れ値でないと判定された各データxtについて、スコアstを計算し、スコア付きデータのセットＶiを作成し、サンプリング部３３に入力する（ステップ６０３）。同時に、予め定められた閾値以上の外れ値度をもったデータを「外れ値２」として出力し、そうでないと判定されたデータ集合をＵ”として、保持する。
【００９０】
サンプリング部３３は、予め定められた割合のスコア上位データをＶiから取り出しpositiveデータとし、更にＶi中のスコアが下位のデータから、ランダムサンプリングによって予め定められた数のデータを取り出しnegativeデータとして、教師情報付きデータＷiを作成し、教師あり学習部３４に入力する（ステップ６０４）。
【００９１】
教師あり学習部３４は、入力された教師情報付きデータに基づいて、異常なデータを特徴付けるルール群を求め、その中から予め決められた基準に従うか、あるいは利用者の選択によりルールを取捨選択して、外れ値ルール保存部３５に送りこむ（ステップ６０５）。
【００９２】
外れ値ルール保存部３５は、送りこまれたルールを、ルールの集合Ｒiに加えて、新たなルールの集合Ｒi+1を生成し保存する（ステップ６０６）。また、利用者は、必要があれば外れ値ルール編集部３６を用いて、外れ値ルール保存部３５に保存されている外れ値ルールを編集することができる（ステップ６０７）。
【００９３】
外れ値検出装置２００ａは、以上のステップ６０２〜６０７の処理を予め定められた回数繰り返し実行することにより、外れ値ルール保存部３５に保持されているルールが、異常なデータをより高い精度で検出することのできるものに繰り返し更新される（ステップ６０８）。そして、その更新され（また更に、利用者により編集された）ルールを用いて、最終的なフィルタリングを実行し異常のあるデータを検出する（ステップ６０９）。
【００９４】
ここで、図７の実施例においては、利用者がルールを編集する処理を、ステップ６０２〜６０７の繰り返し処理の末尾のステップ６０７としているが、本実施の形態の外れ値検出の処理はこれに限るものではない。例えば、利用者がルールを編集する処理を、ステップ６０２〜６０７の繰り返し処理の終了や、その繰り返し処理のループ中のステップ６０５とステップ６０６との間等において実行する形態も同様に可能である。
【００９５】
また、例えば、上述のルールの生成と更新の一連の処理を繰り返し実行する方式において、前回処理においてフィルタリング部２１において異常の検出されたデータを、次回以降の処理の対象から除外する等の方式も効果的である。つまりこの場合、毎回、フィルタリング部２１において異常の検出されたデータはその異常が検出された時点で出力することとし、これまでに異常の検出されなかった残りのデータにより、ルールの生成と更新の処理及び次回以降の一連の処理を行なうのである。
【００９６】
図８は、本実施の形態の外れ値検出装置２００ａの上述の実施例の動作を説明するためのフローチャートである。
【００９７】
図８を参照すると、まず、検査対象のデータ集合に対してステップ７０２〜７０８の処理を予め定められた回数繰り返し実行する。すなわち、外れ値検出装置２００ａは、ｉ回目の繰り返し（イタレーション）において以下の順序で動作する。
【００９８】
入力Ｕiが、外部からの入力により又は外れ値度計算部３２からフィルタリング部３１に渡される（ステップ７０１）。フィルタリング部３１は、外れ値ルール保存部３５に蓄えられている外れ値ルールの集合Ｒiに基づいて、入力されたデータを判定し、外れ値と判定されたデータを「外れ値１」として出力し、外れ値でないと判定されたデータ集合Ｕi’を、外れ値度計算部３２に送りこむ（ステップ７０２、７０３）。
【００９９】
ここで、もし予め定められた回数が終了しているのならば処理を終了し、まだ終了していない場合にはステップ７０５以下の処理に進む（ステップ７０４）。
【０１００】
外れ値度計算部３２は、フィルタリング部３１において外れ値でないと判定された各データxtについて、スコアstを計算し、スコア付きデータのセットＶiを作成し、サンプリング部３３に入力する。同時に、予め定められた閾値以上の外れ値度をもったデータを「外れ値２」として出力し、そうでないと判定されたデータ集合をＵi+1として、保持する（ステップ７０５）。
【０１０１】
サンプリング部３３は、予め定められた割合のスコア上位データをＶiから取り出しpositiveデータとし、更にＶi中のスコアが下位のデータから、ランダムサンプリングによって予め定められた数のデータを取り出しnegativeデータとして、教師情報付きデータＷiを作成し、教師あり学習部３４に入力する（ステップ７０６）。
【０１０２】
教師あり学習部３４は、入力された教師情報付きデータに基づいて、異常なデータを特徴付けるルール群を求め、その中から予め決められた基準に従うか、あるいは利用者の選択によりルールを取捨選択して、外れ値ルール保存部３５に送りこむ（ステップ７０７）。
【０１０３】
外れ値ルール保存部３５は、送りこまれたルールを、ルールの集合Ｒiに加えて、新たなルールの集合Ｒi+1を生成し保存する（ステップ７０８）。また、利用者は、必要があれば外れ値ルール編集部３６を用いて、外れ値ルール保存部３５に保存されている外れ値ルールを編集することができる（ステップ７０９）。
【０１０４】
外れ値検出装置２００ａは、以上のステップ７０２〜７０９の処理を予め定められた回数繰り返し実行することにより、処理対象のデータＵiから異常なデータを順次取り出しながら検出することができ、また処理を繰り返す度に、保持されているルールＲiをより良いルールに更新していくことができる。
【０１０５】
ここで、図８の実施例においては、利用者がルールを編集する処理を、ステップ７０２〜７０９の繰り返し処理の末尾のステップ７０９としているが、本実施の形態の外れ値検出の処理はこれに限るものではない。
【０１０６】
以上説明したように、本実施の形態によれば、第２の実施の形態の効果に加えて、外れ値ルール保存部３５に保持されているルールを利用者が自由に編集することができ、このため例えば、自動判定された不適切なルールを修正したり、利用者が適切なルールを指定したりすることができる。
【０１０７】
図９は、本発明の第４の実施の形態による外れ値検出装置２００ｂの構成を示すブロック図である。第２、第３の実施の形態においては、外れ値検出装置に、検査対象のデータ集合を全て入力してその異常なデータを検出する方式であったが、本実施の形態においては、順次入力されるデータを検査対象とし、その入力を順次受け付けて異常なデータの検出を実行する。また、本実施の形態の外れ値検出装置２００ｂは、異常なデータの検出処理と同時に、異常なデータを検出するルールの判定とその更新を行なう。
【０１０８】
図１０は、本実施の形態による外れ値検出の動作を説明するためのフローチャートである。本実施の形態の外れ値検出装置２００ｂの各部の機能は、順次入力されるデータを検査対象とする以外は、第１の実施の形態の外れ値検出装置２００と同様であり、データが１つ入力されるごとに以下に示す動作を行なう。
【０１０９】
ここでは、ｔ番目のデータxtがフィルタリング部４１に渡された場合を例に説明する（ステップ８０１）。すなわち、ｔ番目のデータＶxtがフィルタリング部４１に渡されると、フィルタリング部４１は、外れ値ルール保存部４５に蓄えられている外れ値ルールの集合Ｒiに基づいて入力されたデータを判定し、外れ値と判定されれば「外れ値１」として出力し、外れ値でないと判定されれば外れ値度計算部４２に送りこむ（ステップ８０２）。
【０１１０】
外れ値度計算部４２は、入力されたデータxtについて、スコアstを計算し、スコア付きデータytを作成し、サンプリング部４３に入力する（ステップ８０３）。同時に、スコアが予め定められた閾値以上ならば、データxtを「外れ値２」として出力する。
【０１１１】
サンプリング部４３は、入力されたデータを保存し、保存されているデータの数が予め定められた数に達していれば、それらのデータの集合を対象に、予め定められた割合のスコア上位データを取り出しpositiveデータとし、更にスコアが下位のデータから、ランダムサンプリングによって予め定められた数のデータを取り出しnegativeデータとして、教師情報付きデータＷiを作成し、教師あり学習部４４に入力し、蓄えていたデータを全て消去する（ステップ８０４、８０５）。
【０１１２】
教師あり学習部４４は、ラベル付きデータＷiが入力されたとき、そのデータに基づいて、異常なデータを特徴付けるルール群を求め、その中から予め決められた基準に従うか、あるいは利用者の選択によりルールを取捨選択して、外れ値ルール保存部４５に送りこむ（ステップ８０６）。外れ値ルール保存部４５は、送りこまれたルールを、ルールの集合Ｒiに加えて、新たなルールの集合Ｒi+1を生成し保存する（ステップ８０７）。
【０１１３】
以上説明したように、本実施の形態の外れ値検出装置２００ｂによれば、異常であるか否かがわかっていない順次入力されるデータを基に、異常データを特徴付けるルールを自動生成しかつ順次適切に更新することができ、以後入力されるデータに対して、その自動生成された最新のルールを用いて効率良く異常なデータを検出することができる。
【０１１４】
図１１は、本発明の第５の実施の形態による外れ値検出装置２００ｃの構成を示すブロック図である。図１１を参照すると、本実施の形態の外れ値検出装置２００ｃは、第４の実施の形態の外れ値検出装置２００ｂの構成に加えて、外れ値ルール保存部５５に保存されている外れ値ルールを利用者が操作して編集するための外れ値ルール編集部５６を、新たに備えている。
【０１１５】
本実施の形態では、この外れ値ルール編集部５６を用いることにより、外れ値ルール保存部５５に保存されている外れ値ルールを、必要に応じて利用者が自由に編集することができる。
【０１１６】
次に、本実施の形態の外れ値検出装置２００ｃの動作を説明する。図１２は、本実施の形態による外れ値検出の動作の一実施例を説明するためのフローチャートである。
【０１１７】
ここでは、ｔ番目のデータxtがフィルタリング部５１に渡された場合を例に説明する（ステップ１００１）。すなわち、ｔ番目のデータＶxtがフィルタリング部５１に渡されると、フィルタリング部５１は、外れ値ルール保存部５５に蓄えられている外れ値ルールの集合Ｒiに基づいて入力されたデータを判定し、外れ値と判定されれば「外れ値１」として出力し、外れ値でないと判定されれば外れ値度計算部５２に送りこむ（ステップ１００２）。
【０１１８】
外れ値度計算部５２は、入力されたデータxtについて、スコアstを計算し、スコア付きデータytを作成し、サンプリング部５３に入力する（ステップ１００３）。同時に、スコアが予め定められた閾値以上ならば、データxtを「外れ値２」として出力する。
【０１１９】
サンプリング部５３は、入力されたデータを保存し、保存されているデータの数が予め定められた数に達していれば、それらのデータの集合を対象に、予め定められた割合のスコア上位データを取り出しpositiveデータとし、更にスコアが下位のデータから、ランダムサンプリングによって予め定められた数のデータを取り出しnegativeデータとして、教師情報付きデータＷiを作成し、教師あり学習部５４に入力し、蓄えていたデータを全て消去する（ステップ１００４、１００５）。
【０１２０】
教師あり学習部５４は、ラベル付きデータＷiが入力されたとき、そのデータに基づいて、異常なデータを特徴付けるルール群を求め、その中から予め決められた基準に従うか、あるいは利用者の選択によりルールを取捨選択して、外れ値ルール保存部５５に送りこむ（ステップ１００６）。
【０１２１】
外れ値ルール保存部５５は、送りこまれたルールを、ルールの集合Ｒiに加えて、新たなルールの集合Ｒi+1を生成し保存する（ステップ１００７）。また、利用者は、必要があれば外れ値ルール編集部５６を用いて、外れ値ルール保存部５５に保存されている外れ値ルールを編集することができる（ステップ１００８）。
【０１２２】
ここで、図１２の実施例においては、利用者がルールを編集する処理は、保持しているルールの更新（ステップ１００７）後としているが、本実施の形態の外れ値検出の処理はこれに限るものではない。例えば、利用者がルールを編集する処理を、その他のステップの間において実行する形態も同様に可能である。
【０１２３】
以上説明したように、本実施の形態によれば、第４の実施の形態の効果に加えて、外れ値ルール保存部５５に保持されているルールを利用者が自由に編集することができ、このため例えば、自動判定された不適切なルールを修正したり、利用者が適切なルールを指定したりすることができる。
【０１２４】
なお、上記各実施の形態の外れ値ルール生成装置１００と外れ値検出装置２００、２００ａ、２００ｂ、２００ｃは、フィルタリング部２１、３１、４１、５１、外れ値度計算部１２、２２、３２、４２、５２、サンプリング部１３、２３、３３、４３、５３、教師あり学習部１４、２４、３４、４４、５４、外れ値ルール保存部２５、３５、４５、５５、外れ値ルール編集部３６、５６の機能や、その他の機能をハードウェア的に実現することは勿論として、各機能を備えるコンピュータプログラムである外れ値ルール生成プログラム、外れ値検出プログラムを、コンピュータ処理装置のメモリにロードされることで実現することができる。この外れ値ルール生成プログラム及び外れ値検出プログラムは、磁気ディスク、半導体メモリその他の記録媒体９１、９２、９３、９４、９５に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【０１２５】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０１２６】
【発明の効果】
以上説明したように本発明の外れ値ルール生成装置と外れ値検出装置によれば、異常（不正）であるか否かがわかっていないデータ（教師無しデータ）を基に、異常データを特徴付けるルールを自動生成し、更にその生成されたルールを用いて効率良く異常なデータを検出することができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態による外れ値ルール生成装置の構成を示すブロック図である。
【図２】  本発明の第１の実施の形態による外れ値ルール生成の動作を説明するためのフローチャートである。
【図３】  本発明の第２の実施の形態による外れ値検出装置の構成を示すブロック図である。
【図４】  本発明の第２の実施の形態による外れ値検出の動作を説明するためのフローチャートである。
【図５】  本発明の第２の実施の形態による外れ値検出の他の実施例の動作を説明するためのフローチャートである。
【図６】  本発明の第３の実施の形態による外れ値検出装置の構成を示すブロック図である。
【図７】  本発明の第３の実施の形態による外れ値検出の動作を説明するためのフローチャートである。
【図８】  本発明の第３の実施の形態による外れ値検出の他の実施例の動作を説明するためのフローチャートである。
【図９】  本発明の第４の実施の形態による外れ値検出装置の構成を示すブロック図である。
【図１０】  本発明の第４の実施の形態による外れ値検出の動作を説明するためのフローチャートである。
【図１１】  本発明の第５の実施の形態による外れ値検出装置の構成を示すブロック図である。
【図１２】  本発明の第５の実施の形態による外れ値検出の動作を説明するためのフローチャートである。
【符号の説明】
１００  外れ値ルール生成装置
２００、２００ａ、２００ｂ、２００ｃ  外れ値検出装置
２１、３１、４１、５１  フィルタリング部
１２、２２、３２、４２、５２  外れ値度計算部
１３、２３、３３、４３、５３  サンプリング部
１４、２４、３４、４４、５４  教師あり学習部
２５、３５、４５、５５  外れ値ルール保存部
３６、      ５６  外れ値ルール編集部
９１、９２、９３、９４、９５  記録媒体
【図１】
0003832281.tif 000002
【図２】
0003832281.tif 000003
【図３】
0003832281.tif 000004
【図４】
0003832281.tif 000005
【図５】
0003832281.tif 000006
【図６】
0003832281.tif 000007
【図７】
0003832281.tif 000008
【図８】
0003832281.tif 000009
【図９】
0003832281.tif 000010
【図１０】
0003832281.tif 000011
【図１１】
0003832281.tif 000012
【図１２】
0003832281.tif 000013