(57)【要約】【課題】誤分類の要因を特定する。【解決手段】判定部５５１は、分類器によって計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、分類ラベルと正解ラベルとが一致するか否かを判定する。また、抽出部５５２は、スコア、及びスコアに関する統計量の少なくともいずれかに基づいて、レコードから、所定の確度より高い確度で分類ラベルが付与されたと推定されるレコードを抽出する。また、計算部５５３は、抽出部５５２によって抽出されたレコードのうち、判定部５５１によって分類ラベルと正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、特徴量ごと、又はレコードごとに、正解ラベルと異なる分類ラベルが付与されたことへの影響の大きさを示す値を計算する。【選択図】図５
2020009494.tif 000002
【特許請求の範囲】
【請求項１】
分類器によって計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、前記分類ラベルと前記正解ラベルとが一致するか否かを判定する判定部と、
前記スコア、及び前記スコアに関する統計量の少なくともいずれかに基づいて、前記レコードから、所定の確度より高い確度で前記分類ラベルが付与されたと推定されるレコードを抽出する抽出部と、
前記抽出部によって抽出されたレコードのうち、前記判定部によって前記分類ラベルと前記正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、前記特徴量ごとに、前記正解ラベルと異なる前記分類ラベルが付与されたことへの影響の大きさを示す値を計算する計算部と、
を有することを特徴とする特定装置。
【請求項２】
特徴量が設定されたレコードであって、分類器によって前記特徴量を基に計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、前記分類ラベルと前記正解ラベルとが一致するか否かを判定する判定部と、
前記スコア、及び前記スコアに関する統計量の少なくともいずれかに基づいて、前記レコードから、所定の確度より高い確度で前記分類ラベルが付与されたと推定されるレコードを抽出する抽出部と、
前記抽出部によって抽出されたレコードのうち、前記判定部によって前記分類ラベルと前記正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、前記特徴量ごと、又は前記レコードごとに、前記正解ラベルと異なる前記分類ラベルが付与されたことへの影響の大きさを示す値を計算する計算部と、
を有することを特徴とする特定装置。
【請求項３】
特定装置によって実行される特定方法であって、
分類器によって計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、前記分類ラベルと前記正解ラベルとが一致するか否かを判定する判定工程と、
前記スコア、及び前記スコアに関する統計量の少なくともいずれかに基づいて、前記レコードから、所定の確度より高い確度で前記分類ラベルが付与されたと推定されるレコードを抽出する抽出工程と、
前記抽出工程によって抽出されたレコードのうち、前記判定工程によって前記分類ラベルと前記正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、前記特徴量ごとに、前記正解ラベルと異なる前記分類ラベルが付与されたことへの影響の大きさを示す値を計算する計算工程と、
を含んだことを特徴とする特定方法。
【請求項４】
特定装置によって実行される特定方法であって、
特徴量が設定されたレコードであって、分類器によって前記特徴量を基に計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、前記分類ラベルと前記正解ラベルとが一致するか否かを判定する判定工程と、
前記スコア、及び前記スコアに関する統計量の少なくともいずれかに基づいて、前記レコードから、所定の確度より高い確度で前記分類ラベルが付与されたと推定されるレコードを抽出する抽出工程と、
前記抽出工程によって抽出されたレコードのうち、前記判定工程によって前記分類ラベルと前記正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、前記特徴量ごと、又は前記レコードごとに、前記正解ラベルと異なる前記分類ラベルが付与されたことへの影響の大きさを示す値を計算する計算工程と、
を含んだことを特徴とする特定方法。
【請求項５】
コンピュータを、請求項１又は２に記載の特定装置として機能させるための特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定装置、特定方法及び特定プログラムに関する。
【背景技術】
【０００２】
近年、機械学習を用いたデータ分析の適用事例が増加している。一方、データ分析に不可欠な統計や機械学習の知識の習得には、中長期的な教育が必要となる。そこで、非専門家が統計や機械学習の知識の習得を行うことなく、容易にデータ分析に従事できるよう、データ分析を支援する技術が開示されている。
【０００３】
例えば、逐次的最適化手法（ＳＭＢＯ：Sequential  model-based  optimization）を用いてパイプラインごとに精度の評価を行い、最適なパイプラインを探索する手法が知られている（例えば、非特許文献１及び２を参照）。なお、ここでは、パイプラインとは、予測モデルを構築する一連の処理であり、入力されたデータに対する前処理、ハイパーパラメータに基づくデータの学習等が含まれる。また、あらかじめ専門家が設計した多数のパイプラインの中から、分析対象のデータに適合した少数のパイプラインをユーザに提示する技術が知られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Matthias  Feurer，Aaron  Klein，Katharina  Eggensperger，Jost  Tobias  Springenberg，Manuel  Blum，Frank  Hutter，“Efficient  and  Robust  Automated  Machine  Learning”，NIPS'15  Proceedings  of  the  28th  International  Conference  on  Neural  Information  Processing  Systems，2015年12月，PP.2755-2763
【非特許文献２】Lisha  Li，Kevin  Jamieson，Giulia  DeSalvo，Afshin  Rostamizadeh，Ameet  Talwalkar，“Hyperband:A  Novel  Bandit-Based  Approach  to  Hyperparameter  Optimization”，arXiv:1603.06560v3，cs.LG，2016年11月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のデータ分析を自動化する技術では、予測モデルによる誤った分析結果の要因を特定することができない場合があった。通常、予測モデルの分析結果には誤りが含まれている場合が多く、予測精度が１００％となることは極めてまれである。一方、従来のパイプラインの探索及び提示をする技術では、パイプラインに基づく予測モデルの分析結果に誤りが含まれていた場合に、当該誤りの要因を特定することは困難であった。
【課題を解決するための手段】
【０００６】
本発明の特定装置は、分類器によって計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、前記分類ラベルと前記正解ラベルとが一致するか否かを判定する判定部と、前記スコア、及び前記スコアに関する統計量の少なくともいずれかに基づいて、前記レコードから、所定の確度より高い確度で前記分類ラベルが付与されたと推定されるレコードを抽出する抽出部と、前記抽出部によって抽出されたレコードのうち、前記判定部によって前記分類ラベルと前記正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、前記特徴量ごとに、前記正解ラベルと異なる前記分類ラベルが付与されたことへの影響の大きさを示す値を計算する計算部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、予測モデルによる誤った分析結果の要因を特定することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る分析システムの構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る分析装置の構成の一例を示す図である。
【図３】図３は、第１の実施形態に係る分析装置の処理概要を説明するための図である。
【図４】図４は、第１の実施形態に係る予測モデルの検証について説明するための図である。
【図５】図５は、第１の実施形態に係る特定装置の構成の一例を示す図である。
【図６】図６は、第１の実施形態に係る正分類及び誤分類の判定について説明するための図である。
【図７】図７は、第１の実施形態に係る抽出条件について説明するための図である。
【図８】図８は、第１の実施形態に係る抽出されるレコードについて説明するための図である。
【図９】図９は、第１の実施形態に係る抽出されるレコードについて説明するための図である。
【図１０】図１０は、第１の実施形態に係る抽出されるレコードについて説明するための図である。
【図１１】図１１は、第１の実施形態に係る抽出条件について説明するための図である。
【図１２】図１２は、第１の実施形態に係る抽出されるレコードについて説明するための図である。
【図１３】図１３は、第１の実施形態に係る抽出されるレコードについて説明するための図である。
【図１４】図１４は、第１の実施形態に係る抽出されるレコードについて説明するための図である。
【図１５】図１５は、第１の実施形態に係る抽出されるレコードについて説明するための図である。
【図１６】図１６は、第１の実施形態に係る元データについて説明するための図である。
【図１７】図１７は、第１の実施形態に係る重みの一例を示す図である。
【図１８】図１８は、第１の実施形態に係る重み付き特徴量の計算について説明するための図である。
【図１９】図１９は、第１の実施形態に係る重み付き特徴量の一例を示す図である。
【図２０】図２０は、第１の実施形態に係る重み付き特徴量の合計の一例を示す図である。
【図２１】図２１は、第１の実施形態に係る計算結果について説明するための図である。
【図２２】図２２は、第１の実施形態に係る元データについて説明するための図である。
【図２３】図２３は、第１の実施形態に係る重みの一例を示す図である。
【図２４】図２４は、第１の実施形態に係る重み付き特徴量の一例を示す図である。
【図２５】図２５は、第１の実施形態に係る特定装置の処理の流れを示すフローチャートである。
【図２６】図２６は、特定プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１０】
［第１の実施形態の概要］
まず、図１を用いて、第１の実施形態に係る分析システムについて説明する。図１は、第１の実施形態に係る分析システムの構成の一例を示す図である。図１に示すように、分析システム１は、分析装置３０及び特定装置５０を有する。
【００１１】
分析システム１は、機械学習によるデータ分析を支援するためのシステムである。ここで、機械学習によるデータ分析を行う場合、予測モデルを構築する一連の処理であるパイプラインが決定される場合がある。例えば、パイプラインの決定は、予測モデルに関する複数の設定項目ごとの設定内容の候補を選択肢として用意しておき、選択肢の中から設定内容を順次決定することで行うことができる。
【００１２】
分析装置３０は、入力されたデータを分析し設定内容を決定する処理を自動的に行う。また、例えば、分析装置３０は、決定されたパイプラインに基づいて構築された予測モデルの予測精度を出力する。このとき、予測モデルの予測精度が１００％になることは極めてまれであり、予測モデルは一部のデータについて誤った予測を行う場合が多い。また、誤った予測が行われた原因の特定は、従来人手によって行われていた。
【００１３】
そこで、特定装置５０は、予測モデルによる予測結果に含まれる誤りの原因を自動的に特定する。図１に示すように、分析装置３０は、学習用データ１０を用いて予測モデルを構築する。ここでは、分析装置３０は、予測モデルとして、線型分類器を使った予測モデルを構築することとする。そして、分析装置３０は、分類結果４０として、テスト用データ２０の各レコードに対して付された分類ラベルを出力する。そして、特定装置５０は、テスト用データ２０及び分類結果４０を基に、特定した要因６０を出力する。特定した要因６０には、例えば誤分類に影響を与えた特徴量やレコードが含まれる。
【００１４】
［分析装置の構成］
図２を用いて、分析装置３０の構成について説明する。図２は、第１の実施形態に係る分析装置の構成の一例を示す図である。図２に示すように、分析装置３０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部３１と、出力部３２と、通信制御部３３と、記憶部３４と、制御部３５とを備える。
【００１５】
入力部３１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部３５に対して各種指示情報を入力する。出力部３２は、液晶ディスプレイ等の表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、データ分析の結果等を操作者に対して出力する。
【００１６】
通信制御部３３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネット等の電気通信回線を介した管理サーバ等の外部の装置と制御部３５との通信を制御する。通信制御部３３は、例えば特定装置５０との通信を制御する。
【００１７】
記憶部３４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部３４には、分析装置３０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータ等があらかじめ記憶され、あるいは処理の都度一時的に記憶される。記憶部３４は、通信制御部３３を介して制御部３５と通信する構成でもよい。
【００１８】
制御部３５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図２に例示するように、選択部３５１、計算部３５２、決定部３５３及び検証部３５４として機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
【００１９】
選択部３５１は、予測モデルを構築する際に実行される複数の処理、すなわちパイプラインのそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。決定部３５３は、各ステップの設定内容を、設定内容候補の中から決定する。このとき、選択部３５１は、所定の実行順序に従って、設定内容が決定された次のステップを選択する。なお、いずれのステップも未実行である場合、選択部３５１は実行順序が最も前であるステップを選択する。
【００２０】
図３は、第１の実施形態に係る分析装置の処理概要を説明するための図である。例えば、図３に示すように、ステップ「正規化手法探索」の次のステップは「特徴選択手法探索」なので、ステップ「正規化手法探索」の設定内容が決定された場合、選択部３５１は、次のステップとして「特徴選択手法探索」を選択する。
【００２１】
また、図３のステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」は、それぞれ、学習用及び分析用のデータの前処理である欠損値補完、正規化及び特徴選択の設定内容を決定する前処理決定ステップである。また、ステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」の設定内容候補は、それぞれ、欠損値補完、正規化及び特徴選択で用いられる手法である。また、ステップ「ハイパーパラメータ探索」は、前処理決定ステップより後に実行され、分類器のアルゴリズム及びハイパーパラメータを設定内容として決定する分類器決定ステップである。
【００２２】
計算部３５２は、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、選択部３５１によって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。
【００２３】
例えば、選択部３５１によってステップ「特徴選択手法探索」が選択された場合、ステップ「特徴選択手法探索」よりも実行順序が前であるステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容は決定済みであるため、ステップ「欠損値補完手法探索」及び「正規化手法探索」で決定された設定内容と、ステップ「特徴選択手法探索」の設定内容の候補のそれぞれを適用した予測モデルの構築が可能である。このとき、ステップ「特徴選択手法探索」の設定内容の候補は４つであるため、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容が１つに決定されている場合、少なくとも４通りの予測モデルが構築可能である。
【００２４】
そして、計算部３５２は、構築可能な予測モデルそれぞれについて予測精度を計算する。なお、このとき、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容は複数通り決定されていてもよい。例えば、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容が２通り決定されている場合、構築可能な予測モデルの数は少なくとも８通りである。
【００２５】
また、例えば、選択部３５１によってステップ「ハイパーパラメータ探索」が選択された場合、ステップ「ハイパーパラメータ探索」よりも実行順序が前であるステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」の設定内容は決定済みであるため、ステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」で決定された設定内容と、ステップ「ハイパーパラメータ探索」の設定内容の候補のそれぞれを適用した予測モデルの構築が可能である。そして、計算部３５２は、構築可能な予測モデルそれぞれについて予測精度を計算する。
【００２６】
決定部３５３は、計算部３５２によって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、選択部３５１によって選択されたステップに対応する処理の設定内容に決定する。
【００２７】
例えば、図３に示すように、ステップ「正規化手法探索」では、計算部３５２は、設定内容「最大最小」に対応する予測モデルの予測精度を７２％と計算し、設定内容「標準化」に対応する予測モデルの予測精度を７８％と計算し、設定内容「Ｚスコア」に対応する予測モデルの予測精度を７２％と計算し、設定内容「無処理」に対応する予測モデルの予測精度を７０％と計算した。このとき、ステップ「正規化手法探索」において最も予測精度が高い予測モデルは設定内容「標準化」に対応する予測モデルであるため、決定部３５３は、ステップ「正規化手法探索」に対応する設定項目の設定内容を「標準化」に決定する。つまり、決定部３５３は、データの前処理である正規化で用いられる手法を標準化に決定する。
【００２８】
そして、前述の通り、選択部３５１は、決定部３５３によって設定内容が決定されたステップの次に実行されるステップを選択する。例えば、決定部３５３によってステップ「正規化手法探索」における設定内容が決定された場合、選択部３５１は、ステップ「特徴選択手法探索」を選択する。
【００２９】
検証部３５４は、決定部３５３によって決定された設定内容が適用された一連の処理、すなわち、決定されたパイプラインに基づいて構築される予測モデルの検証を行う。図４は、第１の実施形態に係る予測モデルの検証について説明するための図である。図４に示すように、決定部３５３によって全てのステップの設定内容が決定されると、検証部３５４は、決定されたパイプラインに基づいて分類器に学習用データ１０を学習させ、予測モデルを構築する。そして、検証部３５４は、学習用データ１０とは別のテスト用データ２０を用いて、構築した予測モデルの予測精度をテスト精度として測定する。そして、分析装置３０は、テスト精度及び分類結果４０を出力する。
【００３０】
［特定装置の構成］
図５を用いて、特定装置５０の構成について説明する。図５は、第１の実施形態に係る特定装置の構成の一例を示す図である。図５に示すように、特定装置５０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部５１と、出力部５２と、通信制御部５３と、記憶部５４と、制御部５５とを備える。
【００３１】
入力部５１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部５５に対して各種指示情報を入力する。出力部５２は、液晶ディスプレイ等の表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、データ分析の結果等を操作者に対して出力する。
【００３２】
通信制御部５３は、ＮＩＣ等で実現され、ＬＡＮやインターネット等の電気通信回線を介した管理サーバ等の外部の装置と制御部５５との通信を制御する。通信制御部５３は、例えば分析装置３０との通信を制御する。
【００３３】
記憶部５４は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部５４には、特定装置５０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータ等があらかじめ記憶され、あるいは処理の都度一時的に記憶される。記憶部５４は、通信制御部５３を介して制御部５５と通信する構成でもよい。
【００３４】
制御部５５は、ＣＰＵ等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図５に例示するように、判定部５５１、抽出部５５２及び計算部５５３として機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
【００３５】
判定部５５１は、分類器によって計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、分類ラベルと正解ラベルとが一致するか否かを判定する。つまり、判定部５５１は、テスト用データ２０の各レコードが正分類レコードであるか誤分類レコードであるかを判定する。図６を用いて、判定部５５１による正分類及び誤分類の判定について説明する。図６は、第１の実施形態に係る正分類及び誤分類の判定について説明するための図である。
【００３６】
図６に示すように、テスト用データ２０の各レコードは、正解ラベル及び特徴量が設定されている。また、分類結果４０には、テスト用データ２０の各レコードの分類ラベルが含まれる。なお、Ｃｏｌ＿Ｘ及びＣｏｌ＿Ｙは特徴量の項目の一例である。
【００３７】
例えば、レコードＲ＿１の分類ラベル及び正解ラベルはいずれもＡであり、分類ラベルと正解ラベルが同一であるため、判定部５５１は、レコードＲ＿１を正分類レコードと判定する。また、レコードＲ＿３の分類ラベルはＡ、正解ラベルはＢであり、分類ラベルと正解ラベルが異なるため、判定部５５１は、レコードＲ＿３を誤分類レコードと判定する。これにより、テスト用データ２０の各レコードは、正分類レコード群及び誤分類レコード群に分けられる。また、テスト用データ２０の各レコードは、正解ラベルに応じて、正解ラベルＡにおける正分類レコード群、正解ラベルＢにおける誤分類レコード群等に分けられる。
【００３８】
抽出部５５２は、テスト用データ２０のレコードから、分類器により「自信を持って分類された」レコードを抽出する。ここで、分類器により「自信を持って分類された」レコードとは、分類器によって計算されたスコア、及びスコアに関する統計量の少なくともいずれかに基づいて、所定の確度より高い確度で分類ラベルが付与されたと推定されるレコードである。つまり、抽出部５５２は、スコア、及びスコアに関する統計量の少なくともいずれかに基づいて、レコードから、所定の確度より高い確度で分類ラベルが付与されたと推定されるレコードを抽出する。
【００３９】
抽出部５５２は、抽出条件に合致するレコードを、所定の確度より高い確度で分類ラベルが付与されたと推定し抽出する。抽出部５５２が用いる抽出条件は、分類器による分類ラベルの付与方法によって異なる。分類器によるラベルの付与方法には、例えば、Classifier／Recommender、及びAnomalyがある。
【００４０】
（Classifier／Recommender）
Classifier／Recommenderに基づいて分類ラベルを付与する場合、分類器は、レコードのそれぞれについて、分類ラベルごとにスコアを計算し、分類ラベルのうち対応するスコアが最も高い分類ラベルを付与する。このとき、抽出部５５２は、スコアのうち、最も高いスコアと、２番目に高いスコアとの差が所定の閾値以上であるレコードを抽出することができる。具体的には、図７に示すように、抽出部５５２は、１位のスコアと、２位以降のスコアとの関係に基づく抽出条件を用いてレコードの抽出を行う。図７は、第１の実施形態に係る抽出条件について説明するための図である。
【００４１】
図７に示すように、まず、抽出部５５２は、スコア１位と２位の差が大きいレコードを「自信を持って分類された」レコードとして抽出する。ここで、Ｓ＿ｋをｋ位のスコア、Ｓ＿ｍａｘ及びＳ＿ｍｉｎをそれぞれ最大及び最小スコア、Ｌをラベル数、Ｍ、Ｎ、Ｐを所定の係数とすると、スコア１位と２位の差が大きいレコードは、下記の抽出条件１−１を用いて抽出される。
（抽出条件１−１）
Ｓ＿１−Ｓ＿２≧（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ
【００４２】
この状況は、図８のように表すことができる。図８は、第１の実施形態に係る抽出されるレコードについて説明するための図である。図８の縦軸はスコアであり、Ａはスコアが１位のラベル、Ｂはスコアが２位のラベルである。
【００４３】
また、図７に示すように、抽出部５５２は、スコア１位〜ｋ位までが近いが、スコアｋ位とｋ＋１位の差が大きいレコードを「自信を持って分類された」レコードとして抽出する。ここで、Ｓ＿ｋをｋ位のスコア、Ｓ＿ｍａｘ及びＳ＿ｍｉｎをそれぞれ最大及び最小スコア、Ｌをラベル数、Ｍ、Ｎ、Ｐを所定の係数とすると、スコア１位〜ｋ位までが近いが、スコアｋ位とｋ＋１位の差が大きいレコードは、下記の抽出条件１−２を用いて抽出される。
（抽出条件１−２）
Ｓ＿１−Ｓ＿ｋ≦（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｎ
かつ
Ｓ＿ｋ−Ｓ＿（ｋ＋１）≧（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ
かつ
ｋ≦Ｌ／Ｐ
【００４４】
この状況は、図９のように表すことができる。図９は、第１の実施形態に係る抽出されるレコードについて説明するための図である。図９の縦軸はスコアであり、Ａはスコアが１位のラベル、Ｂはスコアがｋ位のラベル、Ｃはスコアがｋ＋１位のラベルである。
【００４５】
また、抽出部５５２は、抽出条件１−１及び抽出条件１−２のいずれにも合致しないレコードを、「自信がない」分類がされたものとして除外し、抽出しない。この状況は、図１０のように表すことができる。図１０は、第１の実施形態に係る抽出されるレコードについて説明するための図である。図１０の縦軸はスコアであり、Ａはスコアが１位のラベルである。
【００４６】
（Anomaly）
一方、Anomalyに基づいて分類ラベルを付与する場合、分類器は、スコアが閾値以上であるか否かによってレコードを分類する。このとき、抽出部５５２は、レコードから、スコアが第１の閾値以上であるレコード、及び、スコアが第２の閾値以下であるレコードを抽出することができる。第１の閾値及び第２の閾値は、分類器で用いられた閾値を基に計算される値である。具体的には、図１１に示すように、抽出部５５２は、スコアと閾値との関係に基づく抽出条件を用いてレコードの抽出を行う。図１１は、第１の実施形態に係る抽出条件について説明するための図である。また、ここでは、分類器は、スコアが閾値以上であるレコードを異常とし、スコアが閾値未満であるレコードを正常として分類するものとする。
【００４７】
図１１に示すように、まず、抽出部５５２は、スコアが閾値よりも十分に大きいレコードを「自信を持って異常として分類された」レコードとして抽出する。ここで、Ｓをスコア、Ｓ＿ｍａｘ及びＳ＿ｍｉｎをそれぞれ最大及び最小スコア、Ｍを所定の係数、ｔｈｒｅｓｈｏｌｄを分類器で用いられた閾値とすると、スコアが閾値よりも十分に大きいレコードは、下記の抽出条件２−１を用いて抽出される。
（抽出条件２−１）
（Ｓ＿ｎ−ｔｈｒｅｓｈｏｌｄ）≧（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ
【００４８】
この状況は、図１２のように表すことができる。図１２は、第１の実施形態に係る抽出されるレコードについて説明するための図である。図１２の縦軸はスコアであり、Ｓ＿ｎは抽出条件による判定対象のレコードのスコアである。
【００４９】
また、図１１に示すように、抽出部５５２は、スコアが閾値よりも十分に小さいレコードを「自信を持って正常として分類された」レコードとして抽出する。ここで、Ｓをスコア、Ｓ＿ｍａｘ及びＳ＿ｍｉｎをそれぞれ最大及び最小スコア、Ｍを所定の係数、ｔｈｒｅｓｈｏｌｄを分類器で用いられた閾値とすると、スコアが閾値よりも十分に小さいレコードは、下記の抽出条件２−２を用いて抽出される。
（抽出条件２−２）
（ｔｈｒｅｓｈｏｌｄ−Ｓ＿ｎ）≧（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ
【００５０】
この状況は、図１３のように表すことができる。図１３は、第１の実施形態に係る抽出されるレコードについて説明するための図である。図１３の縦軸はスコアであり、Ｓ＿ｎは抽出条件による判定対象のレコードのスコアである。
【００５１】
また、抽出部５５２は、抽出条件２−１及び抽出条件２−２のいずれにも合致しないレコードを、「自信がない」分類がされたものとして除外し、抽出しない。この状況は、図１４又は１５のように表すことができる。図１４及び１５は、第１の実施形態に係る抽出されるレコードについて説明するための図である。図１４及び１５の縦軸はスコアであり、Ｓ＿ｎは抽出条件による判定対象のレコードのスコアである。
【００５２】
なお、（抽出条件２−１）及び（抽出条件２−２）は、以下の（抽出条件２−１´）及び（抽出条件２−２´）ように書き換えることができる。
（抽出条件２−１´）
Ｓ＿ｎ≧（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ＋ｔｈｒｅｓｈｏｌｄ
（抽出条件２−２´）
Ｓ＿ｎ≦−（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ＋ｔｈｒｅｓｈｏｌｄ
【００５３】
（抽出条件２−１´）の（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ＋ｔｈｒｅｓｈｏｌｄは、第１の閾値の一例である。また、（抽出条件２−２´）の−（Ｓ＿ｍａｘ−Ｓ＿ｍｉｎ）＊Ｍ＋ｔｈｒｅｓｈｏｌｄは、第２の閾値の一例である。
【００５４】
また、計算部５５３は、抽出部５５２によって抽出されたレコードのうち、判定部５５１によって分類ラベルと正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、特徴量ごと、又はレコードごとに、正解ラベルと異なる分類ラベルが付与されたことへの影響の大きさを示す値を計算する。例えば、計算部５５３は、特徴量の合計を計算してもよい。
【００５５】
ここで、分類器は、レコードの特徴量に所定の重みを付けた重み付き特徴量を基にスコアを計算するものであってもよい。このとき、計算部５５３は、抽出部５５２によって抽出されたレコードのうち、判定部５５１によって分類ラベルと正解ラベルとが一致しないと判定されたレコードの重み付き特徴量の合計を、特徴量ごと、又はレコードごとに計算することができる。
【００５６】
まず、計算部５５３は、元データである学習用データ１０及び分類器によって各特徴量に付された重みを取得する。図１６は、第１の実施形態に係る元データについて説明するための図である。また、図１７は、第１の実施形態に係る重みの一例を示す図である。なお、Ｃｏｌ＿Ａ、Ｃｏｌ＿Ｂ、Ｃｏｌ＿Ｃ及びＣｏｌ＿Ｄは、特徴量の項目の一例である。
【００５７】
例えば、図１６に示すように、元データのレコードＲ＿１の特徴量Ｃｏｌ＿Ａ、Ｃｏｌ＿Ｂ、Ｃｏｌ＿Ｃ及びＣｏｌ＿Ｄの値は、それぞれ、１、２、３及び４である。また、図１７に示すように、分類器によって特徴量Ｃｏｌ＿Ａ、Ｃｏｌ＿Ｂ、Ｃｏｌ＿Ｃ及びＣｏｌ＿Ｄに付された重みは、それぞれ１、２、３及び４である。
【００５８】
次に、図１８に示すように、計算部５５３は、元データ及び重みを基に、重み付き特徴量を計算する。図１８は、第１の実施形態に係る重み付き特徴量の計算について説明するための図である。また、重み付後の特徴量を図１９に示す。図１９は、第１の実施形態に係る重み付き特徴量の一例を示す図である。例えば、レコードＲ＿１の特徴量Ｃｏｌ＿Ａの値は１、重みは１なので、計算部５５３は、レコードＲ＿１の特徴量Ｃｏｌ＿Ａの重み付き特徴量を１＊１＝１と計算する。また、例えば、レコードＲ＿２の特徴量Ｃｏｌ＿Ｃの値は３．５、重みは３なので、計算部５５３は、レコードＲ＿２の特徴量Ｃｏｌ＿Ｃの重み付き特徴量を３．５＊３＝１０．５と計算する。
【００５９】
次に、図２０に示すように、計算部５５３は、計算した重み付き特徴量の合計を計算する。図２０は、第１の実施形態に係る重み付き特徴量の合計の一例を示す図である。また、計算部５５３は、重み付き特徴量の合計が大きい順に各特徴量をソートし、重み付き特徴量の寄与率、及び寄与率の当該特徴量の順位までの累積率を計算する。なお、寄与率は、特徴量ごとの重み付き特徴量を全て合計した値に占める、各重み付き特徴量の割合である。
【００６０】
例えば、順位が１位である特徴量Ｃｏｌ＿Ｄの重み付き特徴量の合計Ｒ＿Ｓｕｍは、６６である。また、特徴量Ｃｏｌ＿Ｄの重み付き特徴量の寄与率は、０．５１５６である。また、特徴量Ｃｏｌ＿Ｄの重み付き特徴量の寄与率の累積率は、０．５１５６である。
【００６１】
また、順位が最下位である特徴量Ｃｏｌ＿Ａの重み付き特徴量の合計Ｒ＿Ｓｕｍは、５．５である。また、特徴量Ｃｏｌ＿Ａの重み付き特徴量の寄与率は、０．００４３である。また、特徴量Ｃｏｌ＿Ａの重み付き特徴量の寄与率の累積率は、１である。
【００６２】
そして、出力部５２は、計算部５５３の計算結果に基づいて出力を行う。図２１に示すように、出力部５２は、計算部５５３の計算結果をグラフにして出力してもよい。図２１は、第１の実施形態に係る計算結果について説明するための図である。
【００６３】
また、出力部５２は、累積率が閾値以上である特徴量を出力してもよい。例えば、閾値を０．８とすると、図２０及び２１より、出力部５２は、特徴量Ｃｏｌ＿Ｄ及びＣｏｌ＿Ｃを出力する。つまり、この場合、特徴量Ｃｏｌ＿Ｄ及びＣｏｌ＿Ｃが誤分類に特に大きな影響を与えていることが考えられる。
【００６４】
さらに、計算部５５３は、レコードごとの重み付き特徴量の合計を計算してもよい。例えば、図２２及び図２３に示す元データ及び重みに基づいて、重み付き特徴量を計算する。図２４に、この場合の重み付き特徴量を示す。図２２は、第１の実施形態に係る元データについて説明するための図である。また、図２３は、第１の実施形態に係る重みの一例を示す図である。図２４は、第１の実施形態に係る重み付き特徴量の一例を示す図である。
【００６５】
そして、計算部５５３は、レコードごとの重み付き特徴量のうち、誤分類への影響が大きい特徴量Ｃｏｌ＿Ｃ及びＣｏｌ＿Ｄの重み付き特徴量の合計を計算する。さらに、計算部５５３は、レコードごとの重み付き特徴量の寄与率を計算する。例えば、レコードＲ＿１のＣｏｌ＿Ｃ及びＣｏｌ＿Ｄの重み付き特徴量の合計は２５であり、寄与率は０．８３３３である。
【００６６】
そして、出力部５２は、累積率が閾値以上であるレコードを出力する。例えば、閾値を０．８とすると、図２４より、出力部５２は、レコードＲ＿１及びＲ＿５を出力する。つまり、出力部５２は、この場合、誤分類に特に大きな影響を与えていると考えられる特徴量Ｃｏｌ＿Ｄ及びＣｏｌ＿Ｃの影響が、分類器による分類に大きく影響したと考えられるレコードを出力する。
【００６７】
［第１の実施形態の処理］
図２５を用いて、第１の実施形態に係る特定装置５０の処理の流れについて説明する。図２５は、第１の実施形態に係る特定装置の処理の流れを示すフローチャートである。図２５に示すように、判定部５５１は、レコードごとに正分類であるか誤分類であるかを判定する（ステップＳ１０１）。抽出部５５２は、「自信を持って分類された」レコード、つまり、所定の確度より高い確度で分類ラベルが付与されたと推定されるレコードを抽出する（ステップＳ１０２）。
【００６８】
ここで、自信を持って誤分類されたレコードの数が所定数以上でない場合（ステップＳ１０３、Ｎｏ）、特定装置５０は、要因特定が不可であると判断し、要因特定不可の理由を出力する（ステップＳ１０４）。この場合の要因特定不可の理由は、目立った誤分類の要因がないことである。さらに、自信を持って誤分類されたレコード、及び自信を持って正分類されたレコードの数の両方がいずれも所定数以上でない場合、要因特定不可の理由は分類が曖昧であることである。
【００６９】
なお、自信を持って誤分類されたレコードの数が所定数以上であり、自信を持って正分類されたレコードの数が所定数以下である場合、正しく分類するための特徴量が不足していることが考えられるが、誤分類に関しては要因を特定できる可能性があるため、特定装置５０は処理を続行する。
【００７０】
一方、自信を持って誤分類されたレコードの数が所定数以上である場合（ステップＳ１０３、Ｙｅｓ）、抽出部５５２は、誤分類への影響が大きい特徴量を抽出する（ステップＳ１０５）。ここで、抽出部５５２によって、誤分類への影響が大きい特徴量が抽出されなかった場合（ステップＳ１０６、Ｎｏ）、特定装置５０は、要因特定が不可であると判断し、要因特定不可の理由を出力する（ステップＳ１０４）。この場合の要因特定不可の理由は、誤分類への影響が大きい特徴量が見つからないことである。
【００７１】
一方、抽出部５５２によって、誤分類への影響が大きい特徴量が抽出された場合（ステップＳ１０６、Ｙｅｓ）、抽出部５５２は、誤分類への影響が大きいレコードを抽出する（ステップＳ１０７）。ここで、抽出部５５２によって、誤分類への影響が大きいレコードが抽出されなかった場合（ステップＳ１０８、Ｎｏ）、特定装置５０は、要因特定が不可であると判断し、要因特定不可の理由を出力する（ステップＳ１０４）。この場合の要因特定不可の理由は、誤分類への影響が大きいレコードが見つからないことである。
【００７２】
一方、抽出部５５２によって、誤分類への影響が大きいレコードが抽出された場合（ステップＳ１０８、Ｙｅｓ）、特定装置５０は、特定した要因を出力する（ステップＳ１０９）。ここで、特定装置５０は、特定した要因として、特徴量ごと又はレコードごとの誤分類への影響の大きさを示す値の一覧を出力してもよいし、特に誤分類への影響が大きいと考えられる特徴量又はレコードを出力してもよい。
【００７３】
［第１の実施形態の効果］
判定部５５１は、分類器によって計算されたスコアに基づく分類ラベルと、あらかじめ設定された正解ラベルと、が付与されたレコードのそれぞれについて、分類ラベルと正解ラベルとが一致するか否かを判定する。また、抽出部５５２は、スコア、及びスコアに関する統計量の少なくともいずれかに基づいて、レコードから、所定の確度より高い確度で分類ラベルが付与されたと推定されるレコードを抽出する。また、計算部５５３は、抽出部５５２によって抽出されたレコードのうち、判定部５５１によって分類ラベルと正解ラベルとが一致しないと判定されたレコードの特徴量に基づいて、特徴量ごと、又はレコードごとに、正解ラベルと異なる分類ラベルが付与されたことへの影響の大きさを示す値を計算する。このように、特徴量又はレコードごとの誤分類への影響を値によって表すことにより、誤分類の要因を特定することが可能となる。
【００７４】
分類器は、レコードのそれぞれについて、分類ラベルごとにスコアを計算し、分類ラベルのうち対応するスコアが最も高い分類ラベルを付与するものであってもよい。このとき、抽出部５５２は、スコアのうち、最も高いスコアと、２番目に高いスコアとの差が所定の閾値以上であるレコードを抽出することができる。これにより、Classifier／Recommenderに基づいて分類ラベルを付与する分類器について、分類の際の確度が高いと推定されるレコードを抽出することができる。
【００７５】
抽出部５５２は、レコードから、スコアが第１の閾値以上であるレコード、及び、スコアが第２の閾値以下であるレコードを抽出することができる。これにより、Anomalyに基づいて分類ラベルを付与する分類器について、分類の際の確度が高いと推定されるレコードを抽出することができる。
【００７６】
分類器は、レコードの特徴量に所定の重みを付けた重み付き特徴量を基にスコアを計算するものであってもよい。このとき、計算部５５３は、抽出部５５２によって抽出されたレコードのうち、判定部５５１によって分類ラベルと正解ラベルとが一致しないと判定されたレコードの重み付き特徴量の合計を、特徴量ごと、又はレコードごとに計算することができる。これにより、分類器によって計算された重みを考慮にいれて、誤分類への影響を計算することができる。
【００７７】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７８】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７９】
［プログラム］
一実施形態として、特定装置５０は、パッケージソフトウェアやオンラインソフトウェアとして上記の要因特定を実行する特定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の特定プログラムを情報処理装置に実行させることにより、情報処理装置を特定装置５０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００８０】
また、特定装置５０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の要因特定に関するサービスを提供する特定サーバ装置として実装することもできる。例えば、特定サーバ装置は、学習用データ及び分類結果を入力とし、特定した要因を出力とする特定サービスを提供するサーバ装置として実装される。この場合、特定サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の要因特定に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００８１】
図２６は、特定プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００８２】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００８３】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、特定装置５０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、特定装置５０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００８４】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８５】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８６】
１０  学習用データ
２０  テスト用データ
３０  分析装置
４０  分類結果
５０  特定装置
６０  特定した要因
３１、５１  入力部
３２、５２  出力部
３３、５３  通信制御部
３４、５４  記憶部
３５、５５  制御部
３５１  選択部
３５２  計算部
３５３  決定部
３５４  検証部
５５１  判定部
５５２  抽出部
５５３  計算部
【図１】
2020009494.tif 000003
【図２】
2020009494.tif 000004
【図３】
2020009494.tif 000005
【図４】
2020009494.tif 000006
【図５】
2020009494.tif 000007
【図６】
2020009494.tif 000008
【図７】
2020009494.tif 000009
【図８】
2020009494.tif 000010
【図９】
2020009494.tif 000011
【図１０】
2020009494.tif 000012
【図１１】
2020009494.tif 000013
【図１２】
2020009494.tif 000014
【図１３】
2020009494.tif 000015
【図１４】
2020009494.tif 000016
【図１５】
2020009494.tif 000017
【図１６】
2020009494.tif 000018
【図１７】
2020009494.tif 000019
【図１８】
2020009494.tif 000020
【図１９】
2020009494.tif 000021
【図２０】
2020009494.tif 000022
【図２１】
2020009494.tif 000023
【図２２】
2020009494.tif 000024
【図２３】
2020009494.tif 000025
【図２４】
2020009494.tif 000026
【図２５】
2020009494.tif 000027
【図２６】
2020009494.tif 000028