(57)【要約】【課題】パイプラインの探索に要する時間を短縮しつつ、予測精度の高い予測モデルを構築することができる。【解決手段】抽出部１５１は、入力されたデータからサンプルデータを抽出する。推定部１５４は、サンプルデータを用いて一部の処理を行った際の所要時間を基に、処理全体の所要時間を推定し、推定した時間が制限時間未満である場合、サンプル率を増加させる。サンプル率が増加した場合、抽出部１５１は、さらにサンプルデータを抽出する。また、探索部１５２は、予測モデルを構築する際に実行される複数の処理の設定内容の組合せの候補から、適用された場合に構築されるサンプルデータに基づく予測モデルの予測精度が高くなる組合せを探索する。また、選択部１５３は、探索された組合せから、適用された場合に構築される入力されたデータに基づく予測モデルの予測精度が所定の閾値以上となる設定内容の組合せを選択する。【選択図】図１
2018190130.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）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図１に例示するように、抽出部１５１、探索部１５２、推定部１５４、合成部１５５及び検証部１５６として機能する。また、探索部１５２は、ステップ選択部１５２ａ、精度計算部１５２ｂ及び設定内容決定部１５２ｃを含む。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
【００２０】
抽出部１５１は、データが入力された場合、当該入力されたデータから所定の割合のデータをサンプルデータとして抽出し、所定の割合が増加した場合、入力されたデータから当該増加した所定の割合のデータをサンプルデータとしてさらに抽出する。図４に示すように、抽出部１５１は、入力された全データである学習用データからサンプルデータを抽出する。図４は、第１の実施形態に係る分析装置の処理概要を説明するための図である。ここで、抽出部１５１がサンプルデータを抽出する所定の割合、すなわちサンプリングにおけるサンプル率は、あらかじめ設定されているものとする。
【００２１】
探索部１５２は、所定のデータに基づく予測モデルを構築する際に実行される複数の処理に適用される設定内容の組合せの候補から、複数の処理に適用された場合に構築されるサンプルデータに基づく予測モデルの予測精度が所定の条件を満たすような設定内容の組合せを探索する。
【００２２】
図４に示すように、探索部１５２は、予測器ごとに探索を行う。また、探索部１５２は、前処理の有効性判定を行ったうえでパラメータ探索を行い、交差検証による交差検証精度でパイプラインの取捨選択を行う。
【００２３】
ここで、図５を用いて、探索部１５２の処理について説明する。図５は、第１の実施形態に係るパイプラインの探索について説明するための図である。なお、探索部１５２における処理は、ステップ選択部１５２ａ、精度計算部１５２ｂ及び設定内容決定部１５２ｃによって行われる。
【００２４】
図５に示すように、まず、探索部１５２は、予測器ごとに、ステップ１〜３を実行することで予測モデルの構築に必要なパイプラインの決定を行う。例えば、探索部１５２は、予測器Ａ１についてステップ１〜３を実行した後、パラメータ探索を実行する。
【００２５】
ステップ選択部１５２ａは、予測モデルを構築する際に実行される複数の処理、すなわちパイプラインのそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。設定内容決定部１５２ｃは、各ステップの設定内容を、設定情報１４１に含まれる設定内容候補の中から決定する。このとき、ステップ選択部１５２ａは、設定情報１４１に示される実行順序に従って、設定内容が決定された次のステップを選択する。なお、いずれのステップも未実行である場合、ステップ選択部１５２ａは実行順序が最も前であるステップを選択する。
【００２６】
例えば、図５に示すように、ステップ「正規化手法探索」の次のステップは「特徴選択手法探索」なので、ステップ「正規化手法探索」の設定内容が決定された場合、ステップ選択部１５２ａは、次のステップとして「特徴選択手法探索」を選択する。
【００２７】
また、図５のステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」は、それぞれ、学習用及び分析用のデータの前処理である欠損値補完、正規化及び特徴選択の設定内容を決定するステップである。また、ステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」の設定内容候補は、それぞれ、欠損値補完、正規化及び特徴選択で用いられる手法である。
【００２８】
精度計算部１５２ｂは、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、ステップ選択部１５２ａによって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。
【００２９】
例えば、ステップ選択部１５２ａによってステップ「特徴選択手法探索」が選択された場合、ステップ「特徴選択手法探索」よりも実行順序が前であるステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容は決定済みであるため、ステップ「欠損値補完手法探索」及び「正規化手法探索」で決定された設定内容と、ステップ「特徴選択手法探索」の設定内容の候補のそれぞれを適用した予測モデルの構築が可能である。このとき、ステップ「特徴選択手法探索」の設定内容の候補は４つであるため、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容が１つに決定されている場合、少なくとも４通りの予測モデルが構築可能である。
【００３０】
そして、精度計算部１５２ｂは、構築可能な予測モデルそれぞれについて予測精度を計算する。なお、このとき、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容は複数通り決定されていてもよい。例えば、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容が２通り決定されている場合、構築可能な予測モデルの数は少なくとも８通りである。また、精度計算部１５２ｂは、所定数に分割した学習用のデータを用いた交差検証を行うことで予測精度を計算することができる。ここで、図６を用いて交差検証について説明する。図６は、第１の実施形態に係る交差検証について説明するための図である。
【００３１】
図６に示すように、まず、精度計算部１５２ｂは、サンプルデータを分割データ２０ａ、２０ｂ、２０ｃ及び２０ｄの４つに分割する。そして、精度計算部１５２ｂは、１回目の処理として、予測モデルを用いて、分割データ２０ｂ、２０ｃ及び２０ｄを予測器に学習させ、分割データ２０ａを用いて学習済みの予測器の精度を測定する。
【００３２】
同様に、精度計算部１５２ｂは、２回目の処理では、分割データ２０ａ、２０ｃ及び２０ｄを予測器に学習させ、分割データ２０ｂを用いて学習済みの予測器の精度を測定する。また、精度計算部１５２ｂは、３回目の処理では、分割データ２０ａ、２０ｂ及び２０ｄを予測器に学習させ、分割データ２０ｃを用いて学習済みの予測器の精度を測定する。また、精度計算部１５２ｂは、４回目の処理では、分割データ２０ａ、２０ｂ及び２０ｃを予測器に学習させ、分割データ２０ｄを用いて学習済みの予測器の精度を測定する。そして、精度計算部１５２ｂは、４回の処理で測定した精度の平均値である交差検証精度を予測精度とする。なお、交差検証における分割数は４に限定されず、任意の数とすることができる。
【００３３】
設定内容決定部１５２ｃは、精度計算部１５２ｂによって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、ステップ選択部１５２ａによって選択されたステップに対応する処理の設定内容に決定する。
【００３４】
例えば、図５に示すように、ステップ「正規化手法探索」では、精度計算部１５２ｂは、設定内容「最大最小」に対応する予測モデルの予測精度を７２％と計算し、設定内容「標準化」に対応する予測モデルの予測精度を７８％と計算し、設定内容「Ｚスコア」に対応する予測モデルの予測精度を７２％と計算し、設定内容「無処理」に対応する予測モデルの予測精度を７０％と計算した。このとき、ステップ「正規化手法探索」において最も予測精度が高い予測モデルは設定内容「標準化」に対応する予測モデルであるため、設定内容決定部１５２ｃは、ステップ「正規化手法探索」に対応する設定項目の設定内容を「標準化」に決定する。つまり、設定内容決定部１５２ｃは、データの前処理である正規化で用いられる手法を標準化に決定する。
【００３５】
そして、前述の通り、ステップ選択部１５２ａは、設定内容決定部１５２ｃによって設定内容が決定されたステップの次に実行されるステップを選択する。例えば、設定内容決定部１５２ｃによってステップ「正規化手法探索」における設定内容が決定された場合、ステップ選択部１５２ａは、ステップ「特徴選択手法探索」を選択する。
【００３６】
さらに、探索部１５２は、パラメータ探索を行う。パラメータ探索では、探索部１５２は、ハイパーパラメータの組合せごとの予測精度を網羅的に計算し、最も予測精度が高くなるベストパラメータを探索する。
【００３７】
探索部１５２は、最終的に、パイプラインのうち、予測モデルの予測精度が所定の条件を満たすようなパイプラインを探索する。例えば、予測精度の閾値を７０％とし、予測精度が閾値以上であるパイプラインのみを探索する場合、図７に示すように、探索部１５２は、パイプラインＰ１〜Ｐ３を探索結果とする。図７は、第１の実施形態に係るパイプラインの探索について説明するための図である。
【００３８】
なお、探索部１５２によるハイパーパラメータの探索結果は、図８に示すように、領域として表すことができる。図８は、第１の実施形態に係る有望領域について説明するための図である。例えば、図８の（ａ）の縦軸は第１のハイパーパラメータを表し、横軸は第２のパラメータを表している。そして、図８の（ａ）は、パターンが密である領域ほど予測精度が高かったことを示している。
【００３９】
このとき、探索部１５２は、予測精度が７０％以上となるパイプラインだけでなく、予測精度が７０％と統計的な有意差のない値になるようなパイプラインを探索結果とすることができる。つまり、探索部１５２は、複数の処理に適用された場合に構築されるサンプルデータに基づく予測モデルの予測精度が７０％以上であるような設定内容の組合せ、及び、予測精度と７０％以上である予測精度との間に統計的な有意差がないような設定内容の組合せを探索する。なお、ここでの７０％は、第２の閾値の一例である。そして、この場合の探索結果に対応するハイパーパラメータの組合せに対応する領域を有望領域とよぶ。
【００４０】
ここで、図８の（ａ）は、サンプルデータを用いた場合の予測精度の有望領域を表している。また、図８の（ｂ）は、サンプルデータの抽出元である学習用データを用いた場合の予測精度の有望領域を表している。図８に示すように、２つの有望領域は類似する。有望領域は、選択部１５３による処理で用いられる。
【００４１】
選択部１５３は、探索部１５２によって探索された設定内容の組合せから、複数の処理に適用された場合に構築される入力されたデータに基づく予測モデルの予測精度が所定の閾値以上となる設定内容の組合せを選択する。
【００４２】
つまり、探索部１５２がサンプルデータを用いて予測モデルの予測精度を評価していたのに対し、選択部１５３は学習用データを用いて予測モデルの予測精度を評価する。このとき、選択部１５３は、探索部１５２によって探索されたパイプラインごとの予測精度を、さらに閾値を用いて絞り込む。
【００４３】
ここで、選択部１５３は、単に各予測精度が閾値以上となるパイプラインを選択してもよいし、各予測精度を最大予測精度で割った値が閾値以上となるパイプラインを選択してもよい。例えば、図９に示すように、パイプラインＰ１、Ｐ２、Ｐ３の予測精度が８５％、７０％、８３％である場合、最大予測精度は８５％である。図９は、第１の実施形態に係るパイプラインの選択について説明するための図である。
【００４４】
このとき、選択部１５３は、パイプラインＰ１については８５／８５と閾値を比較し、パイプラインＰ２については８３／８５と閾値を比較し、パイプラインＰ１については７０／８５と閾値を比較した結果を用いてパイプラインの選択を行うことができる。
【００４５】
さらに、選択部１５３は、選択した組合せのデータの前処理に関する設定内容を固定し、ハイパーパラメータ探索を行う。ここで、探索部１５２による探索の結果、最も予測精度が高かったハイパーパラメータをベストパラメータ２１０とすると、有望領域は図１０のように表すことができる。図１０は、第１の実施形態に係る有望領域について説明するための図である。
【００４６】
図１０の塗りつぶされた部分は有望領域を表している。また、図１０の斜線部分は、探索部１５２によるハイパーパラメータ探索の対象であったが、選択部１５３によるハイパーパラメータ探索の対象から除外された領域である。なお、探索部１５２は、ベストパラメータ２１０の場合の予測精度を用いたｔ検定によって有意差の有無を判定することができる。
【００４７】
推定部１５４は、抽出部１５１によってサンプルデータが抽出されるたびに、サンプルデータを用いて所定の処理のうちの一部を行った際に要した時間に基づいて、入力されたデータを用いて所定の処理を行った際に要する時間を推定し、当該推定した時間があらかじめ設定された制限時間未満である場合、所定の割合を増加させる。推定部１５４による処理は、探索部１５２の処理の実行中の任意のタイミング、又は、探索部１５２の処理の実行前、又は、探索部１５２の処理の実行後であって選択部１５３の処理が行われる前に実行されてもよい。例えば、推定部１５４は、図５のステップ「欠損値補完手法探索」についての「平均値」の予測精度が計算された時点で、探索部１５２及び選択部１５３の処理時間を推定することができる。
【００４８】
まず、予測器ごとの、データ数が増加した場合の計算量の増加量が既知であることとする。例えば予測器Ａ１の計算量の増加量がＯ（ｎ２）であるとする。また、サンプル率を２０％とし、ステップ「欠損値補完手法探索」についての「平均値」の予測精度の計算に要した時間が１００秒であったとする。図５に示すように、ステップは３つであり、各ステップには４つずつの設定内容の候補があるため、推定部１５４は、予測器Ａ１についての探索部１５２の処理時間を、式（１）のように計算する。
１００（秒）×３（ステップ）×４（設定内容）＝１２００（秒）・・・（１）
【００４９】
また、選択部１５３では、探索部１５２の１００／２０倍、すなわち５倍のデータが対象となるため、推定部１５４は、予測器Ａ１についての選択部１５３の処理時間を、式（２）のように計算する。
１００（秒）×５２（計算量の増加量）×３（ステップ）×１（設定内容）
＝７５００（秒）・・・（２）
【００５０】
ここで、推定部１５４によって計算された処理時間（（１）と（２）の合計）があらかじめ定められた制限時間未満であるか否かによって、以降の処理が異なる。探索部１５２は、推定部１５４によって推定された所要時間があらかじめ定められた制限時間未満である場合、所定の割合よりも高い割合で抽出部１５１によって抽出されたサンプルデータを用いてさらに探索を行う。
【００５１】
一方、探索部１５２は、推定部１５４によって推定された所要時間が制限時間以上である場合、予測方法が類似した予測アルゴリズムを除外して探索を実行する。このとき、探索部１５２は、推定時間が制限時間未満になるまで、予測アルゴリズムを除外する。
【００５２】
具体的には、まず、予測器情報１４２は、予測アルゴリズム、すなわち予測器ごとのカテゴリを記憶しておく。そして、探索部１５２は、推定部１５４によって推定された所要時間が制限時間以上である場合、予測器情報１４２を参照し、カテゴリが同一である複数の予測器のうちのいずれかを除外する。例えば、探索部１５２は、あらかじめ設定された実行時間に関する情報に基づいて、実行時間が長い順に予測器を除外する。
【００５３】
例えば、図３の予測器Ａ１をＲａｎｄｏｍ  Ｆｏｒｅｓｔ、予測器Ａ２をＥｘｔｒａ  Ｒａｎｄｏｍ  Ｔｒｅｅｓ、予測器Ａ３をＬｏｇｉｓｔｉｃ  Ｒｅｇｒｅｓｓｉｏｎ、Ａ４をＬｉｎｅａｒ  ＳＶＭとする。そして、予測器情報１４２には、Ａ１及びＡ２のカテゴリとして「決定木カテゴリ」が設定され、Ａ３及びＡ４のカテゴリとして「線形予測器カテゴリ」が設定されていることとする。また、予測器情報１４２には、実行時間の長さの順序が、Ａ２、Ａ１、Ａ３、Ａ４であることが設定されていることとする。
【００５４】
このとき、探索部１５２は、推定部１５４によって推定された所要時間が制限時間以上である場合、まず、同一のカテゴリに複数の予測器が設定されていて、かつ、最も実行時間が長いＡ２を除外する。ここで、Ａ１が除外されても所要時間が制限時間以上であると推定される場合、探索部１５２は、残った予測器のうち、同一のカテゴリに複数の予測器が設定されていて、かつ、最も実行時間が長いＡ３を除外する。探索部１５２は、複数の予測器が設定されたカテゴリがなくなるまで、又は、所要時間が制限時間以上であると推定されなくなるまで予測器の除外を繰り返す。
【００５５】
合成部１５５は、複数の設定内容の組合せが選択部１５３によって選択された場合、複数の設定内容の組合せのそれぞれに対応する複数の予測モデルを、所定のアンサンブル手法を用いて合成する。例えば、図１１に示すように、選択部１５３によって２つのパイプラインが選択された場合、Ｍｏｄｅｌ  Ａ１及びＭｏｄｅｌ  Ａ３の２つの予測モデルが構築可能となる。図１１は、第１の実施形態に係る予測モデルの合成について説明するための図である。このとき、合成部１５５は、所定のアンサンブル手法により、Ｍｏｄｅｌ  Ａ１及びＭｏｄｅｌ  Ａ３にそれぞれ重みｗ１及び重みｗ２を付けて合成する。
【００５６】
さらに、合成部１５５は、図１２に示すように、Ｍｏｄｅｌ  Ａ１、Ｍｏｄｅｌ  Ａ３、及び合成したＥｎｓｅｍｂｌｅ  Ｍｏｄｅｌのうち、汎化性能が最も大きい予測モデルをベストモデルとする。図１２は、第１の実施形態に係る予測モデルの合成について説明するための図である。
【００５７】
検証部１５６は、選択部１５３によって選択されたパイプラインに基づいて構築される予測モデルの検証を行う。選択部１５３によってパイプラインが選択されると、検証部１５６は、決定されたパイプラインに基づいて予測器に学習用データを学習させ、予測モデルを構築する。そして、検証部１５６は、学習用データとは別のテスト用データを用いて、構築した予測モデルの予測精度をテスト精度として測定する。例えば、分析装置１０は、ここで測定されたテスト精度を最終的な出力としてもよい。また、学習用データと異なるテスト用データを用いた検証を行うことで、過学習状態及び未学習状態の確認が可能となる。
【００５８】
［第１の実施形態の処理］
図１３及び１４を用いて、第１の実施形態に係る分析装置１０の処理の流れについて説明する。図１３及び１４は、第１の実施形態に係る分析装置の処理の流れを示すフローチャートである。図１３に示すように、まず、分析装置１０は、学習用データを読み込む（ステップＳ１０１）。次に、抽出部１５１は、学習データから所定のサンプルサイズのサンプルデータを抽出する（ステップＳ１０２）。
【００５９】
次に、探索部１５２は、未選択の予測器がある場合（ステップＳ１０３、Ｙｅｓ）、予測器情報１４２を参照し、次の予測器を選択する（ステップＳ１０４）。次に、探索部１５２は、読み込んだ学習用データを用いて、選択した予測器のパイプラインを決定する（ステップＳ１０５）。探索部１５２は、複数のパイプラインを決定してもよい。
【００６０】
次に、図１４を用いて、探索部１５２がパイプラインを決定する処理（図１３のステップＳ１０５）について詳細に説明する。図１４に示すように、ステップ選択部１５２ａは、未選択のステップがある場合（ステップＳ２０１、Ｙｅｓ）、設定情報１４１を参照し、次のステップを選択する（ステップＳ２０２）。なお、次のステップとは、未選択のステップのうち、最も実行順序が早いステップである。また、本実施形態では、各ステップはデータの前処理のそれぞれに対応するものである。一方、未選択のステップがない場合（ステップＳ２０１、Ｎｏ）、分析装置１０は、ハイパーパラメータの探索を行う（ステップＳ２０７）。
【００６１】
ステップ選択部１５２ａによって選択されたステップの設定内容候補のうち、未選択の設定内容がある場合（ステップＳ２０３、Ｙｅｓ）、精度計算部１５２ｂは、次の設定内容を選択する（ステップＳ２０４）。一方、未選択の設定内容がない場合（ステップＳ２０３、Ｎｏ）、設定内容決定部１５２ｃは、精度計算部１５２ｂによって計算された予測精度が最も高い設定内容をステップ選択部１５２ａによって選択されたステップの設定内容に決定する（ステップＳ２０６）。
【００６２】
精度計算部１５２ｂは、設定内容を選択すると、当該選択した設定内容を適用したパイプラインに基づいて構築される予測モデルの予測精度を計算する（ステップＳ２０５）。このとき、精度計算部１５２ｂは、所定数に分割した学習用データを用いた交差検証によって予測精度の計算を行うことができる。そして、精度計算部１５２ｂは、未選択の設定内容がなくなるまで、ステップＳ２０３〜Ｓ２０５の処理を繰り返す。
【００６３】
図１３に戻り、推定部１５４は、未選択の予測器がない場合（ステップＳ１０３、Ｎｏ）、処理全体の時間を推定する（ステップＳ１０６）。推定した時間が制限時間未満である場合（ステップＳ１０７、Ｙｅｓ）、推定部１５４はサンプル率を増加させる（ステップＳ１０８）。そして、抽出部１５１は増加したサンプル率で再度サンプルデータを抽出する（ステップＳ１０２）。その後、分析装置１０は、推定部１５４によって推定される時間が制限時間未満でなくなるまで処理を繰り返す。
【００６４】
一方、推定部１５４によって推定された時間が制限時間未満でない場合（ステップＳ１０７、Ｎｏ）、探索部１５２は、予測アルゴリズムを削減する（ステップＳ１０９）。そして、選択部１５３は、探索部１５２によって決定されたパイプラインから予測精度が閾値以上であるパイプラインを選択し、さらに、選択したパイプラインについてのハイパーパラメータ探索を行う（ステップＳ１１０）。そして、検証部１５６は、選択されたパイプラインに基づいて予測モデルを構築し（ステップＳ１１１）、構築した予測モデルをテスト用データを用いて検証する（ステップＳ１１２）。
【００６５】
［第１の実施形態の効果］
抽出部１５１は、データが入力された場合、当該入力されたデータから所定の割合のデータをサンプルデータとして抽出し、所定の割合が増加した場合、入力されたデータから当該増加した所定の割合のデータをサンプルデータとしてさらに抽出する。推定部１５４は、抽出部１５１によってサンプルデータが抽出されるたびに、サンプルデータを用いて所定の処理のうちの一部を行った際に要した時間に基づいて、入力されたデータを用いて所定の処理を行った際に要する時間を推定し、当該推定した時間があらかじめ設定された制限時間未満である場合、所定の割合を増加させる。また、探索部１５２は、所定のデータに基づく予測モデルを構築する際に実行される複数の処理に適用される設定内容の組合せの候補から、複数の処理に適用された場合に構築されるサンプルデータに基づく予測モデルの予測精度が所定の条件を満たすような設定内容の組合せを探索する。また、選択部１５３は、探索部１５２によって探索された設定内容の組合せから、複数の処理に適用された場合に構築される入力されたデータに基づく予測モデルの予測精度が所定の閾値以上となる設定内容の組合せを選択する。このように、サンプルデータを用いて予測精度が高くなるようなパイプラインを大まかに決定しておき、全データを用いて最終的なパイプラインを選択することで、パイプラインの探索に要する時間を短縮しつつ、予測精度の高い予測モデルを構築することができる。
【００６６】
図１５は、ａｕｔｏ−ｓｋｌｅａｒｎを用いた場合及び本実施形態を用いた場合についての、同じ実行時間の分析によって構築された予測モデルの予測精度を示している。図１５は、第１の実施形態の効果を説明するための図である。図１５に示すように、１２種類中８種類のデータで、本実施形態の方が予測精度が高くなった。また、残り４種類についても、ほぼ同等の予想精度となった。
【００６７】
また、図１６は、サンプルの抽出を行わずに探索部１５２及び選択部１５３の処理を行った場合（自動化ルール）、及び本実施形態の場合の、実行時間及び予測精度を示している。図１６は、第１の実施形態の効果を説明するための図である。図１６に示すように、本実施形態では、予測精度をほとんど低下させることなく、約７０％の処理時間を削減することができた。
【００６８】
探索部１５２は、推定部１５４によって推定された所要時間が制限時間以上である場合、予測方法が類似した予測アルゴリズムを除外して探索を実行する。これにより、時間に余裕がない場合はさらに処理時間を短縮でき、時間に余裕がある場合はさらに予想精度の高い予測モデルを構築することができる。
【００６９】
探索部１５２は、複数の処理に適用された場合に構築されるサンプルデータに基づく予測モデルの予測精度が第２の閾値以上であるような設定内容の組合せ、及び、予測精度と第２の閾値以上である予測精度との間に統計的な有意差がないような設定内容の組合せを探索する。これにより、最適なハイパーパラメータを短時間で探索することができるようになる。
【００７０】
合成部１５５は、複数の設定内容の組合せが選択部１５３によって選択された場合、複数の設定内容の組合せのそれぞれに対応する複数の予測モデルを、所定のアンサンブル手法を用いて合成する。これにより、各パイプラインを単独で選択する場合と比べて、より予測精度の高い予測モデルを構築できる。
【００７１】
［第２の実施形態］
第１の実施形態では、探索部１５２によってパイプラインが決定された後に、推定部１５４による処理時間の推定が行われる場合について説明した。ここで、前述の通り、推定部１５４による処理は、探索部１５２の処理の実行中の任意のタイミング、又は、探索部１５２の処理の実行前に行われてもよい。第２の実施形態では、探索部１５２によるパイプラインの決定に関する処理が開始される前に、推定部１５４による処理時間の推定が行われる。
【００７２】
［第２の実施形態の処理］
図１７を用いて、第２の実施形態に係る分析装置１０の処理の流れについて説明する。図１７は、第２の実施形態に係る分析装置の処理の流れを示すフローチャートである。図１７に示すように、まず、分析装置１０は、学習用データを読み込む（ステップＳ３０１）。次に、抽出部１５１は、学習データから所定のサンプルサイズのサンプルデータを抽出する（ステップＳ３０２）。
【００７３】
次に、推定部１５４は、未選択の予測器がある場合（ステップＳ３０３、Ｙｅｓ）、予測器情報１４２を参照し、次の予測器を選択する（ステップＳ３０４）。次に、推定部１５４は、サンプルデータでの実行時間を実測し、学習用データでの実行時間を予測する（ステップＳ３０５）。
【００７４】
ここで、推定部１５４は、サンプルデータを用いた交差検証を実際に行い、その際に要した時間を計測する。具体的には、推定部１５４は、図６に示すような、精度計算部１５２ｂによる処理と同様の処理を行う。ただし、推定部１５４は、処理に要した時間を計測することを目的としているため、予測精度の計算は行わなくてもよい。
【００７５】
また、精度計算部１５２ｂは、サンプルデータに対し前処理を行ったうえで当該サンプルデータを予測器に学習させる。これに対し、推定部１５４は、サンプルデータに対し前処理を行わず、直接学習器に学習させる。また、推定部１５４は、前述の式（１）及び（２）を用いて、学習用データでの実行時間を予測する。
【００７６】
推定部１５４は、予測器を順次選択し、ステップＳ３０５を実行する。推定部１５４は、未選択の予測器がない場合（ステップＳ３０３、Ｎｏ）、処理全体の時間を推定する（ステップＳ３０６）。推定した時間が制限時間未満である場合（ステップＳ３０７、Ｙｅｓ）、推定部１５４はサンプル率を増加させる（ステップＳ３０８）。そして、抽出部１５１は増加したサンプル率で再度サンプルデータを抽出する（ステップＳ３０２）。その後、分析装置１０は、推定部１５４によって推定される時間が制限時間未満でなくなるまで処理を繰り返す。
【００７７】
一方、推定部１５４によって推定された時間が制限時間未満でない場合（ステップＳ３０７、Ｎｏ）、探索部１５２は、予測アルゴリズムを削減する（ステップＳ３０９）。次に、探索部１５２は、未選択の予測器がある場合（ステップＳ３１０、Ｙｅｓ）、予測器情報１４２を参照し、次の予測器を選択する（ステップＳ３１１）。次に、探索部１５２は、読み込んだ学習用データを用いて、選択した予測器のパイプラインを決定する（ステップＳ３１２）。探索部１５２は、複数のパイプラインを決定してもよい。なお、探索部１５２がパイプラインを決定する処理は、図１４に示す処理と同様である。
【００７８】
未選択の予測器がない場合（ステップＳ３１０、Ｎｏ）、選択部１５３は、探索部１５２によって決定されたパイプラインから予測精度が閾値以上であるパイプラインを選択し、さらに、選択したパイプラインについてのハイパーパラメータ探索を行う（ステップＳ３１３）。そして、検証部１５６は、選択されたパイプラインに基づいて予測モデルを構築し（ステップＳ３１４）、構築した予測モデルをテスト用データを用いて検証する（ステップＳ３１５）。
【００７９】
［その他の実施形態］
探索部１５２は、入力されたデータの特徴量に所定のデータ特性がある場合、設定内容の組合せの候補のうち、所定のデータ特性にあらかじめ対応付けられた設定内容の組合せの候補から探索を行ってもよい。例えば、テキストデータのように、データに占めるゼロの割合が多いデータの場合、すなわちデータがスパースである場合、線形の予測器でも十分な精度が得られることが多い。このため、探索部１５２は、学習用データ又はサンプルデータがスパースである場合、予測器のうち、非線形の予測器を除外する。例えば、探索部１５２は、ゼロの割合が閾値ｒｆ以上であるスパースな特徴量の、全体に占める割合が閾値ｒａ以上である場合、データがスパースであると判定する。閾値ｒｆ及びｒａは、例えば０．９とすることができる。
【００８０】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８１】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８２】
［プログラム］
一実施形態として、分析装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００８３】
また、分析装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析に関するサービスを提供する分析サーバ装置として実装することもできる。例えば、分析サーバ装置は、学習用データを入力とし、パイプライン又は予測モデルを出力とする分析サービスを提供するサーバ装置として実装される。この場合、分析サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００８４】
図１８は、分析プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００８５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００８６】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、分析装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、分析装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００８７】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８８】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８９】
１０  分析装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１５  制御部
１４１  設定情報
１４２  予測器情報
１５１  抽出部
１５２  探索部
１５２ａ  ステップ選択部
１５２ｂ  精度計算部
１５２ｃ  設定内容決定部
１５３  選択部
１５４  推定部
１５５  合成部
１５６  検証部
【図１】
2018190130.tif 000003
【図２】
2018190130.tif 000004
【図３】
2018190130.tif 000005
【図４】
2018190130.tif 000006
【図５】
2018190130.tif 000007
【図６】
2018190130.tif 000008
【図７】
2018190130.tif 000009
【図８】
2018190130.tif 000010
【図９】
2018190130.tif 000011
【図１０】
2018190130.tif 000012
【図１１】
2018190130.tif 000013
【図１２】
2018190130.tif 000014
【図１３】
2018190130.tif 000015
【図１４】
2018190130.tif 000016
【図１５】
2018190130.tif 000017
【図１６】
2018190130.tif 000018
【図１７】
2018190130.tif 000019
【図１８】
2018190130.tif 000020