以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[第1の実施形態の概要]
第1の実施形態に係る分析装置は、機械学習によるデータ分析を支援するための装置である。ここで、機械学習によるデータ分析を行う場合、予測モデルを構築する一連の処理であるパイプラインが決定される。例えば、パイプラインの決定は、予測モデルに関する複数の設定項目ごとの設定内容の候補を選択肢として用意しておき、選択肢の中から設定内容を順次決定することで行うことができる。第1の実施形態に係る分析装置は入力されたデータを分析し設定内容を決定する処理を自動的に行う。
図1を用いて、第1の実施形態に係る分析装置10の処理概要を説明する。図1は、第1の実施形態に係る分析装置の処理概要を説明するための図である。図1に示すように、分析装置10は、予測モデルを構築する際に実行される複数の処理に対応するステップを順次実行することで、各設定項目の設定内容の決定を行う。例えば、分析装置10は、各ステップにおいて、前処理で用いられる手法、予測器のアルゴリズム及びハイパーパラメータ等を決定する。
例えば、分析装置10は、ステップ1では、前処理の1つである欠損値補完で用いられる手法を、平均値、中央値、最頻値、削除の中から決定する。このとき、分析装置10は、学習用データ20の欠損値補完に平均値、中央値、最頻値、削除の各手法を用いた場合のそれぞれについて、構築される予測モデルの予測精度を計算し、予測モデルの予測精度が最も高くなる手法を欠損値補完の手法に決定する。図1の例では、平均値を用いた場合の予測精度が60%、中央値を用いた場合の予測精度が65%、最頻値を用いた場合の予測精度が70%、削除を用いた場合の予測精度が62%であり、最頻値を用いた場合に最も予測精度が高くなるため、分析装置10は、欠損値補完の手法を最頻値に決定する。
同様に、分析装置10は、ステップ2では、前処理の1つである正規化で用いられる手法を、最大最小、標準化、Zスコア、無処理の中から決定する。なお、無処理とは、当該前処理を行わないことである。また、分析装置10は、ステップ3では、前処理の1つである特徴選択で用いられる手法を、決定木、L1正則化、分散分析、無処理の中から決定する。
また、分析装置10は、ステップ4では、予測器A、予測器B及び予測器Cのうち、構築される予測モデルの予測精度が最も高くなる予測器Bを、予測モデルで用いる予測器に決定する。なお、予測器A、予測器B及び予測器Cのアルゴリズムは、それぞれ異なるものとする。また、分析装置10は、ステップ4で、さらに予測器ごとのハイパーパラメータを決定する。
この結果、分析装置10によって決定されるパイプラインは、前処理として、最頻値を用いた欠損値補完、標準化を用いた正規化、分散分析を用いた特徴選択を行い、予測器として予測器Bを用いるものとなる。また、分析装置10は、各ステップにおいて、データの一部を用いて学習し、残りのデータで予測モデルの予測精度を検証する交差検証を行いながら予測精度を計算してもよい。
[第1の実施形態の構成]
次に、図2を用いて、分析装置10の構成について説明する。図2は、第1の実施形態に係る分析装置の構成の一例を示す図である。図2に示すように、分析装置10は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部11と、出力部12と、通信制御部13と、記憶部14と、制御部15とを備える。
入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して各種指示情報を入力する。出力部12は、液晶ディスプレイ等の表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、データ分析の結果等を操作者に対して出力する。
通信制御部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネット等の電気通信回線を介した管理サーバ等の外部の装置と制御部15との通信を制御する。
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14には、分析装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータ等があらかじめ記憶され、あるいは処理の都度一時的に記憶される。記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。また、記憶部14は、設定情報141及び予測器情報142を記憶する。
ここで、図3を用いて、設定情報141について説明する。図3は、第1の実施形態に係る設定情報のデータ構成の一例を示す図である。図3に示すように、設定情報141は、ステップごとの実行順序、設定内容候補、及びパラメータ候補を含む。設定内容候補は、各ステップに対応する設定項目の設定内容の候補である。また、パラメータ候補は、選択された設定内容に設定可能なパラメータの候補である。
図3の例では、設定情報141は、ステップとして「欠損値補完手法探索」、「正規化手法探索」、「特徴選択手法探索」及び「ハイパーパラメータ探索」があることを示している。なお、これらのステップは、図1のステップ1〜4に対応している。
図3の例では、設定情報141は、ステップ「特徴選択手法探索」が3番目に実行されるステップであることを示している。また、設定情報141は、ステップ「特徴選択手法探索」に対応する設定項目の設定内容の候補として、「決定木」、「L1正則化」、「分散分析」及び「無処理」があることを示している。なお、図3の例では、ステップ「特徴選択手法探索」に対応する設定項目は、特徴選択で用いられる手法である。また、設定情報141は、設定内容候補「決定木」のパラメータである木の数Nの候補として、100及び300があることを示している。また、パラメータ候補には優先度が設定されている。
次に、図4を用いて、予測器情報142について説明する。図4は、第1の実施形態に係る予測器情報のデータ構成の一例を示す図である。図4に示すように、予測器情報142は、予測器ごとのアルゴリズム及びデフォルトパラメータを含む。アルゴリズムは、各予測器で用いられるアルゴリズムであり、図4に示すように、「Random Forest」、「Logistic Regression」、「K Nearest Neighbors」等がある。また、デフォルトパラメータは、各アルゴリズムのパラメータのデフォルト値である。また、デフォルトパラメータは予測器のハイパーパラメータのデフォルト値を含む。例えば、予測器情報142は、予測器Aのアルゴリズム「Random Forest」のパラメータNのデフォルト値が100であることを示している。
制御部15は、CPU(Central Processing Unit)等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図2に例示するように、選択部151、計算部152、決定部153及び検証部154として機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
選択部151は、予測モデルを構築する際に実行される複数の処理、すなわちパイプラインのそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。決定部153は、各ステップの設定内容を、設定情報141に含まれる設定内容候補の中から決定する。このとき、選択部151は、設定情報141に示される実行順序に従って、設定内容が決定された次のステップを選択する。なお、いずれのステップも未実行である場合、選択部151は実行順序が最も前であるステップを選択する。
例えば、図3に示すように、ステップ「正規化手法探索」の次のステップは「特徴選択手法探索」なので、ステップ「正規化手法探索」の設定内容が決定された場合、選択部151は、次のステップとして「特徴選択手法探索」を選択する。
また、図3のステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」は、それぞれ、学習用及び分析用のデータの前処理である欠損値補完、正規化及び特徴選択の設定内容を決定する前処理決定ステップである。また、ステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」の設定内容候補は、それぞれ、欠損値補完、正規化及び特徴選択で用いられる手法である。また、ステップ「ハイパーパラメータ探索」は、前処理決定ステップより後に実行され、予測器のアルゴリズム及びハイパーパラメータを設定内容として決定する予測器決定ステップである。
計算部152は、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、選択部151によって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。
例えば、選択部151によってステップ「特徴選択手法探索」が選択された場合、ステップ「特徴選択手法探索」よりも実行順序が前であるステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容は決定済みであるため、ステップ「欠損値補完手法探索」及び「正規化手法探索」で決定された設定内容と、ステップ「特徴選択手法探索」の設定内容の候補のそれぞれを適用した予測モデルの構築が可能である。このとき、ステップ「特徴選択手法探索」の設定内容の候補は4つであるため、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容が1つに決定されている場合、少なくとも4通りの予測モデルが構築可能である。
そして、計算部152は、構築可能な予測モデルそれぞれについて予測精度を計算する。なお、このとき、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容は複数通り決定されていてもよい。例えば、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容が2通り決定されている場合、構築可能な予測モデルの数は少なくとも8通りである。
また、例えば、選択部151によってステップ「ハイパーパラメータ探索」が選択された場合、ステップ「ハイパーパラメータ探索」よりも実行順序が前であるステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」の設定内容は決定済みであるため、ステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」で決定された設定内容と、ステップ「ハイパーパラメータ探索」の設定内容の候補のそれぞれを適用した予測モデルの構築が可能である。そして、計算部152は、構築可能な予測モデルそれぞれについて予測精度を計算する。
また、計算部152は、所定数に分割した学習用のデータを用いた交差検証を行うことで予測精度を計算することができる。ここで、図5を用いて交差検証について説明する。図5は、第1の実施形態に係る交差検証について説明するための図である。
図5に示すように、まず、計算部152は、学習用データ20を学習用データ20a、20b、20c及び20dの4つに分割する。そして、計算部152は、1回目の処理として、予測モデルを用いて、学習用データ20b、20c及び20dを予測器に学習させ、学習用データ20aを用いて学習済みの予測器の精度を測定する。
同様に、計算部152は、2回目の処理では、学習用データ20a、20c及び20dを予測器に学習させ、学習用データ20bを用いて学習済みの予測器の精度を測定する。また、計算部152は、3回目の処理では、学習用データ20a、20b及び20dを予測器に学習させ、学習用データ20cを用いて学習済みの予測器の精度を測定する。また、計算部152は、4回目の処理では、学習用データ20a、20b及び20cを予測器に学習させ、学習用データ20dを用いて学習済みの予測器の精度を測定する。そして、計算部152は、4回の処理で測定した精度の平均値である交差検証精度を予測精度とする。なお、交差検証における分割数は4に限定されず、任意の数とすることができる。
また、計算部152は、複数の予測器の候補のそれぞれを用いて予測精度を計算することができる。例えば、図3に示すように、ステップ「ハイパーパラメータ探索」より前のステップでは、予測モデルで用いられる予測器は決定されないため、ステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」では、計算部152は、予測器A、予測器B及び予測器Cのそれぞれを用いた場合の予測精度を計算する。例えば、選択部151によってステップ「特徴選択手法探索」が選択され、かつ、ステップ「欠損値補完手法探索」及び「正規化手法探索」の設定内容が1つに決定されている場合、ステップ「特徴選択手法探索」の設定内容の候補が4つであり、予測器の候補が3つであるため、計算部152は、少なくとも12通りの予測モデルの予測精度を計算する。
決定部153は、計算部152によって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、選択部151によって選択されたステップに対応する処理の設定内容に決定する。
例えば、図1に示すように、ステップ「正規化手法探索」では、計算部152は、設定内容「最大最小」に対応する予測モデルの予測精度を72%と計算し、設定内容「標準化」に対応する予測モデルの予測精度を78%と計算し、設定内容「Zスコア」に対応する予測モデルの予測精度を72%と計算し、設定内容「無処理」に対応する予測モデルの予測精度を70%と計算した。このとき、ステップ「正規化手法探索」において最も予測精度が高い予測モデルは設定内容「標準化」に対応する予測モデルであるため、決定部153は、ステップ「正規化手法探索」に対応する設定項目の設定内容を「標準化」に決定する。つまり、決定部153は、データの前処理である正規化で用いられる手法を標準化に決定する。
そして、前述の通り、選択部151は、決定部153によって設定内容が決定されたステップの次に実行されるステップを選択する。例えば、決定部153によってステップ「正規化手法探索」における設定内容が決定された場合、選択部151は、ステップ「特徴選択手法探索」を選択する。
検証部154は、決定部153によって決定された設定内容が適用された一連の処理、すなわち、決定されたパイプラインに基づいて構築される予測モデルの検証を行う。図6は、第1の実施形態に係る予測モデルの検証について説明するための図である。図6に示すように、決定部153によって全てのステップの設定内容が決定されると、検証部154は、決定されたパイプラインに基づいて予測器に学習用データ20を学習させ、予測モデルを構築する。そして、検証部154は、学習用データ20とは別のテスト用データ30を用いて、構築した予測モデルの予測精度をテスト精度として測定する。例えば、分析装置10は、ここで測定されたテスト精度を最終的な出力としてもよい。また、学習用データ20と異なるテスト用データ30を用いた検証を行うことで、過学習状態及び未学習状態の確認が可能となる。
ここで、図7〜9を用いて、分析装置10の各ステップにおける処理を詳細に説明する。図7〜9は、第1の実施形態に係る各ステップの処理の一例を示す図である。また、図7〜9に関する説明において、ステップ「欠損値補完手法探索」、「正規化手法探索」及び「特徴選択手法探索」を前処理決定ステップと呼び、ステップ「ハイパーパラメータ探索」を予測器決定ステップと呼ぶ。
まず、図7を用いて、前処理決定ステップにおいて、前処理で用いられる手法が決定される場合の例について説明する。図7の例では、1番目のステップである「欠損値補完手法探索」において決定された手法を用いて欠損値補完が行われた欠損値補完済みデータ21が生成済みであることとする。
まず、選択部151は、ステップ「欠損値補完手法探索」において設定内容が決定されると、設定情報141を参照し、ステップ「正規化手法探索」を選択する。そして、計算部152は、設定情報141及び予測器情報142を参照し、ステップ「正規化手法探索」に対応する設定内容候補及び予測器の候補の各組み合わせが適用された場合のパイプラインのそれぞれに基づいて構築された予測モデルのそれぞれについて、交差検証を用いて予測精度を計算する。
このとき、予測器のハイパーパラメータは未決定であるため、計算部152は、予測器情報142のデフォルトパラメータに示されるハイパーパラメータを用いて構築された予測モデルの予測精度を計算する。また、図3に示すように、設定情報141のステップ「正規化手法探索」の各設定内容のパラメータ候補は設定されていない。
図7には、ステップ「正規化手法探索」における設定内容「最大最小」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度が、それぞれ60%、68%及び72%であったことが示されている。
また、図7には、ステップ「正規化手法探索」における設定内容「標準化」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度が、それぞれ64%、68%及び78%であったことが示されている。
図7に示す予測精度の最高値は78%であるため、決定部153は、計算部152によって計算された各予測精度を比較し、予測モデルのうち最も予測精度が高い予測モデルが、設定内容「標準化」と予測器Cとの組み合わせが適用されたパイプラインに基づいて構築された予測モデルであることを特定する。そして、決定部153は、設定内容「標準化」を、ステップ「正規化手法探索」の設定内容に決定する。
次に、図8を用いて、前処理決定ステップにおいて、前処理で用いられる手法及び手法に関するパラメータが決定される場合の例について説明する。図8の例では、2番目のステップである「正規化手法探索」において決定された手法を用いて正規化が行われた正規化済みデータ22が生成済みであることとする。
図3に示すように、設定情報141には、ステップ「特徴選択手法探索」の各設定内容のパラメータ候補が優先度ごとに設定されている。ここで、設定内容「決定木」のパラメータ候補には、優先度1のパラメータとして木の数Nが設定されており、優先度2以降のパラメータは設定されていない。また、設定内容「分散分析」のパラメータ候補には、優先度1のパラメータとして選択基準が設定されており、優先度2のパラメータとして検定係数pが設定されており、優先度3のパラメータは設定されていない。
まず、選択部151は、ステップ「正規化手法探索」において設定内容が決定されると、設定情報141を参照し、ステップ「特徴選択手法探索」を選択する。そして、計算部152は、設定情報141及び予測器情報142を参照し、ステップ「特徴選択手法探索」に対応する設定内容候補、パラメータ候補及び予測器の候補の所定の組み合わせが適用された場合のパイプラインのそれぞれに基づいて構築された予測モデルのそれぞれについて、交差検証を用いて予測精度を計算する。
計算部152は、各設定内容候補について、各パラメータ候補を適用したうえで構築された予測モデルの予測精度を計算する。このとき、予測器のハイパーパラメータは未決定であるため、計算部152は、予測器情報142のデフォルトパラメータに示されるハイパーパラメータを用いて構築された予測モデルの予測精度を計算する。また、各設定内容候補に関する未決定のパラメータについても、計算部152は、あらかじめ設定されたデフォルトのパラメータを用いる。
図8に示すように、ステップ「特徴選択手法探索」において、木の数Nを100とし、設定内容「決定木」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ70%、72%及び75%である。
また、図8に示すように、ステップ「特徴選択手法探索」において、木の数Nを300とし、設定内容「決定木」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ80%、82%及び76%である。
また、図8に示すように、ステップ「特徴選択手法探索」において、選択基準を「fclassif」とし、設定内容「分散分析」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ80%、80%及び81%である。
また、図8に示すように、ステップ「特徴選択手法探索」において、選択基準を「chi2」とし、設定内容「分散分析」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ80%、80%及び76%である。
図8に示すように、設定内容「分散分析」を適用した場合の、優先度1のパラメータ候補について予測精度を計算した時点での予測精度の最高値は81%であるため、決定部153は、設定内容「分散分析」の優先度1のパラメータを選択基準「fclassif」に決定する。
ここで、設定情報141には、設定内容「分散分析」の優先度2のパラメータ候補があるため、計算部152は、さらに優先度2のパラメータ候補についても予測精度の計算を行う。つまり、計算部152は、選択基準を「fclassif」とした設定内容「分散分析」について、検定係数pを0.05とした場合と、検定係数pを0.01とした場合と、のそれぞれについて、予測器A、予測器B及び予測器Cのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの予測精度を計算する。
図8に示すように、ステップ「特徴選択手法探索」において、選択基準を「fclassif」とし、検定係数pを0.05とした設定内容「分散分析」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ82%、80%及び84%である。
また、図8に示すように、ステップ「特徴選択手法探索」において、選択基準を「fclassif」とし、検定係数pを0.01とした設定内容「分散分析」と、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ82%、88%及び84%である。
以上より、図8に示すように、設定内容「決定木」を適用した場合、パラメータNを300とした場合に予測精度が最高値の82%となる。また、設定内容「分散分析」を適用した場合、パラメータ選択基準を「fclassif」、pを0.01とした場合に予測精度が最高値の88%となる。このため、決定部153は、計算部152によって計算された各予測精度を比較し、予測モデルのうち最も予測精度が高い予測モデルが、選択基準を「fclassif」とし、検定係数pを0.01とした設定内容「分散分析」と、予測器Bとの組み合わせが適用されたパイプラインに基づいて構築された予測モデルであることを特定する。そして、決定部153は、選択基準を「fclassif」とし、検定係数pを0.01とした設定内容「分散分析」を、ステップ「特徴選択手法探索」の設定内容に決定する。
なお、図8では省略されているが、設定内容「L1正則化」及び「無処理」についても、予測器A、予測器B及び予測器Cとの組み合わせのそれぞれが適用されたパイプラインに基づいて構築された予測モデルの予測精度が計算部152によって計算されている。ただし、ここでは、設定内容「L1正則化」及び「無処理」について計算された予測精度は、いずれも設定内容「決定木」及び「分散分析」について計算された予測精度の最高値より低かったものとする。
次に、図9を用いて、予測器決定ステップにおいて、予測器のアルゴリズム及びハイパーパラメータが決定される場合の例について説明する。図9の例では、3番目のステップである「特徴選択手法探索」において決定された手法を用いて特徴選択が行われた特徴選択済みデータ23が生成済みであることとする。
図3に示すように、設定情報141には、ステップ「ハイパーパラメータ探索」の各設定内容のパラメータ候補が優先度ごとに設定されている。ここで、設定内容「予測器A」、「予測器B」及び「予測器C」のパラメータ候補には、優先度1のパラメータとしてNが設定されている。また、設定内容「予測器A」及び「予測器C」のパラメータ候補には、優先度2以降のパラメータは設定されていない。また、設定内容「予測器B」のパラメータ候補には、優先度2のパラメータとしてPが設定されており、優先度3のパラメータとしてαが設定されている。
まず、選択部151は、ステップ「特徴選択手法探索」において設定内容が決定されると、設定情報141を参照し、ステップ「ハイパーパラメータ探索」を選択する。そして、計算部152は、設定情報141及び予測器情報142を参照し、ステップ「ハイパーパラメータ探索」に対応する設定内容候補及びパラメータ候補の所定の組み合わせが適用された場合のパイプラインのそれぞれに基づいて構築された予測モデルのそれぞれについて、交差検証を用いて予測精度を計算する。
計算部152は、各設定内容候補について、各パラメータ候補を適用したうえで構築された予測モデルの予測精度を計算する。なお、ステップ「ハイパーパラメータ探索」におけるパラメータ候補は、予測器のハイパーパラメータである。計算部152は、予測器情報142のデフォルトパラメータに示されるハイパーパラメータを用いて構築された予測モデルの予測精度を計算する。また、計算部152は、各設定内容候補に関する未決定のパラメータがある場合、予測器情報142のデフォルトパラメータに示されるハイパーパラメータを当該未決定のパラメータとして用いる。
図9に示すように、ステップ「ハイパーパラメータ探索」において、設定内容「予測器A」のパラメータNを100としたパイプライン、及び設定内容「予測器A」のパラメータNを300としたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ82%及び83%である。
また、図9に示すように、ステップ「ハイパーパラメータ探索」において、設定内容「予測器B」のパラメータNを100としたパイプライン、及び設定内容「予測器B」のパラメータNを300としたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、それぞれ81%及び83%である。
図9に示すように、設定内容「予測器B」を適用した場合の、優先度1のパラメータ候補について予測精度を計算した時点での予測精度の最高値は83%であるため、決定部153は、設定内容「予測器B」の優先度1のパラメータNを300に決定する。
ここで、設定情報141には、設定内容「予測器B」の優先度2のパラメータ候補があるため、計算部152は、さらに優先度2のパラメータ候補についても予測精度の計算を行う。つまり、計算部152は、パラメータNを300とした設定内容「予測器B」について、パラメータPを1としたパイプラインと、パラメータPを10としたパイプラインと、のそれぞれに基づいて構築された予測モデルの予測精度を計算する。
図9に示すように、ステップ「ハイパーパラメータ探索」において、設定内容「予測器B」のパラメータNを300とし、パラメータPを1としたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、88%である。また、図9に示すように、ステップ「ハイパーパラメータ探索」において、設定内容「予測器B」のパラメータNを300とし、パラメータPを10としたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、87%である。
図9に示すように、設定内容「予測器B」を適用した場合の、優先度2のパラメータ候補について予測精度を計算した時点での予測精度の最高値は88%であるため、決定部153は、設定内容「予測器B」の優先度2のパラメータPを1に決定する。
ここで、設定情報141には、設定内容「予測器B」の優先度3のパラメータ候補があるため、計算部152は、さらに優先度3のパラメータ候補についても予測精度の計算を行う。つまり、計算部152は、パラメータNを300とし、パラメータPを1とした設定内容「予測器B」について、パラメータαを2としたパイプラインと、パラメータαを10としたパイプラインと、のそれぞれに基づいて構築された予測モデルの予測精度を計算する。
図9に示すように、ステップ「ハイパーパラメータ探索」において、設定内容「予測器B」のパラメータNを300とし、パラメータPを1とし、パラメータαを2としたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、89%である。また、図9に示すように、ステップ「ハイパーパラメータ探索」において、設定内容「予測器B」のパラメータNを300とし、パラメータPを1とし、パラメータαを10としたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度は、93%である。
また、図9に示すように、ステップ「ハイパーパラメータ探索」において、設定内容「予測器C」のパラメータNを100としたパイプライン、及び設定内容「予測器C」のパラメータNを300としたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された予測精度が、それぞれ84%及び83%である。
以上より、図9に示すように、設定内容「予測器A」を適用した場合、パラメータNを300とした場合に予測精度が最高値の83%となる。また、設定内容「予測器B」を適用した場合、パラメータNを300、Pを1、αを10とした場合に予測精度が最高値の93%となる。このため、決定部153は、計算部152によって計算された各予測精度を比較し、予測モデルのうち最も予測精度が高い予測モデルが、Nを300、Pを1、αを10とした設定内容「予測器B」が適用されたパイプラインに基づいて構築された予測モデルであることを特定する。そして、決定部153は、Nを300、Pを1、αを10とした設定内容「予測器B」を、ステップ「ハイパーパラメータ探索」の設定内容に決定する。
ステップ「ハイパーパラメータ探索」の実行後、分析装置10は最適設定24を得る。このとき、最適設定24には、例えば、最頻値を用いて欠損値補完を行い、標準化を用いて正規化を行い、選択基準をfclassifとし、検定係数を0.01とした分散分析によって特徴選択を行い、パラメータN、P、αをそれぞれ300、1、10とした予測器Bで予測モデルの構築を行うことが示されている。
[第1の実施形態の処理]
図10及び11を用いて、第1の実施形態に係る分析装置10の処理の流れについて説明する。図10及び11は、第1の実施形態に係る分析装置の処理の流れを示すフローチャートである。図10に示すように、まず、分析装置10は、学習用データ20を読み込む(ステップS101)。次に、分析装置10は、読み込んだ学習用データ20を用いて、予測精度が最も高くなるパイプラインを決定する(ステップS102)。分析装置10の検証部154は、決定されたパイプラインに基づいて予測モデルを構築し(ステップS103)、構築した予測モデルをテスト用データ30を用いて検証する(ステップS104)。
次に、図11を用いて、分析装置10がパイプラインを決定する処理(図10のステップS102)について詳細に説明する。図11に示すように、選択部151は、未選択のステップがある場合(ステップS201、Yes)、設定情報141を参照し、次のステップを選択する(ステップS202)。なお、次のステップとは、未選択のステップのうち、最も実行順序が早いステップである。一方、未選択のステップがない場合(ステップS201、No)、分析装置10はパイプラインを決定する処理を終了する。
選択部151によって選択されたステップの設定内容候補のうち、未選択の設定内容がある場合(ステップS203、Yes)、計算部152は、次の設定内容を選択する(ステップS204)。一方、未選択の設定内容がない場合(ステップS203、No)、決定部153は、計算部152によって計算された予測精度が最も高い設定内容を選択部151によって選択されたステップの設定内容に決定する(ステップS206)。
計算部152は、設定内容を選択すると、当該選択した設定内容を適用したパイプラインに基づいて構築される予測モデルの予測精度を計算する(ステップS205)。このとき、計算部152は、所定数に分割した学習用データ20を用いた交差検証によって予測精度の計算を行うことができる。そして、計算部152は、未選択の設定内容がなくなるまで、ステップS203〜S205の処理を繰り返す。
[第1の実施形態の効果]
選択部151は、予測モデルを構築する際に実行される複数の処理、すなわちパイプラインのそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。また、計算部152は、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、選択部151によって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。また、決定部153は、計算部152によって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、選択部151によって選択されたステップに対応する処理の設定内容に決定する。
予測精度の高い予測モデルを構築可能なパイプラインを決定する際には、なるべく多くの処理及び手法について検討することが望ましい。一方で、近年、予測モデル構築のための処理や、各処理に関する手法が数多く提案されているため、各処理及び手法を組み合わせて得られるパイプラインの数も膨大になってきている。
従来のSMBOを用いた手法では、パイプラインの数が増加した場合、パイプラインの数の増加度合いに従って探索領域が大きくなるため、パイプラインの数の増加後に構築される予測モデルの精度を維持又は向上させたい場合、探索すべき領域が膨大になる。
一方、本実施形態では、パイプラインの数が増加した場合、パイプラインを構成する処理及び手法の増加度合いに従って探索領域が追加されるに過ぎない。このため、本実施形態では、パイプラインの数の増加後に構築される予測モデルの精度を維持又は向上させたい場合の、探索すべき領域の増加度合いは、従来の手法に比べて小さい。このため、本実施形態によれば、予測精度の高い予測モデルを効率良く構築することができる。
また、従来のSMBOを用いた手法では、パイプラインごとに予測精度を評価していたのに対し、本実施形態では、ステップ及び設定内容ごとに予測精度を評価しているため、各ステップ又は各設定内容と予測精度との関連を分析することが容易になる。
また、計算部152は、所定数に分割した学習用のデータを用いた交差検証を行うことで予測精度を計算する。これにより、学習用のデータが限られている場合であっても、予測モデルの評価の正確性を向上させることができる。
選択部151は、学習用及び分析用のデータの前処理で用いられる手法を設定内容として決定するステップである前処理決定ステップと、前処理決定ステップより後に実行され、予測器のアルゴリズム及びハイパーパラメータを設定内容として決定するステップである予測器決定ステップと、のそれぞれにおいて設定内容が決定されるたびに、設定内容が決定されたステップの次に実行されるステップを選択する。予測器に関する設定よりも、データの前処理に関する設定の方が予測モデルの予測精度への影響が大きい場合がある。このため、より精度が高くなるデータの前処理の手法がパイプラインに含まれないことを防止することができる。
計算部152は、複数の予測器の候補のそれぞれを用いた予測精度を計算することができる。これにより、複数の予測器について網羅的にパイプラインの評価を行うことができるようになる。
[第2の実施形態]
第2の実施形態について説明する。なお、第2の実施形態に係る分析装置10の基本的な構成及び処理は、第1の実施形態に係る分析装置10の構成及び処理と同様である。以下では、第2の実施形態に係る分析装置10の構成及び処理のうち、第1の実施形態に係る分析装置10の構成及び処理と同様であるものについては適宜説明を省略する。
第1の実施形態では、予測器が未決定のステップにおいて、計算部152は、複数の予測器の候補のそれぞれについて予測精度を計算していた。一方、第2の実施形態では、予測器ごとに各ステップを実行する。つまり、選択部151は、複数の予測器の候補から予測器を順次選択し、予測器を選択するたびに、予測モデルを構築する際に実行される複数の処理のそれぞれに対応するステップを選択する。また、計算部152は、選択部151によって選択された予測器を用いた予測モデルについて予測精度を計算する。
図12を用いて、第2の実施形態に係る分析装置10の処理概要を説明する。図12は、第2の実施形態に係る分析装置の処理概要を説明するための図である。図12に示すように、分析装置10は、予測器ごとに、ステップ1〜4を順次実行することで予測モデルの構築に必要なパイプラインの決定を行う。例えば、まず、選択部151は、予測器Aを選択する。そして、分析装置10は、予測精度を計算する際の予測器を予測器Aに固定し、ステップ1〜4を実行する。次に、選択部151は、予測器Bを選択する。そして、分析装置10は、予測精度を計算する際の予測器を予測器Bに固定し、ステップ1〜4を実行する。各ステップにおける処理は第1の実施形態と同様である。そして、分析装置10は、全ての予測器の候補について予測精度を計算し、予測モデルの予測精度が最も高くなるパイプラインを決定する。
例えば、図12に示すように、予測器Aについて計算された予測精度のうち最も高い予測精度が94%であり、予測器Bについて計算された予測精度のうち最も高い予測精度が93%であった場合。分析装置10は、予測器Aについて計算された予測精度が94%であった際のパイプラインを最適設定24におけるパイプラインに決定する。
なお、第1の実施形態のステップ4、すなわちステップ「ハイパーパラメータ探索」の設定内容候補は、予測器であったのに対し、第2の実施形態のステップ「ハイパーパラメータ探索」の設定内容候補は、ハイパーパラメータである。
[第2の実施形態の処理]
図13を用いて、第2の実施形態に係る分析装置10の処理の流れについて説明する。図13は、第2の実施形態に係る分析装置の処理の流れを示すフローチャートである。図13に示すように、まず、分析装置10は、学習用データ20を読み込む(ステップS301)。次に、分析装置10は、未選択の予測器がある場合(ステップS302、Yes)、予測器情報142を参照し、次の予測器を選択する(ステップS303)。次に、分析装置10は、読み込んだ学習用データ20を用いて、選択した予測器のパイプラインを決定する(ステップS304)。なお、ステップS304の処理は、図11と同様である。
一方、未選択の予測器がない場合(ステップS302、No)、分析装置10は、予測精度に基づいて、予測器別のパイプラインの中から最終的なパイプラインを決定する(ステップS305)。そして、分析装置10の検証部154は、決定されたパイプラインに基づいて予測モデルを構築し(ステップS306)、構築した予測モデルをテスト用データ30を用いて検証する(ステップS307)。
[第2の実施形態の効果]
選択部151は、複数の予測器の候補から予測器を順次選択し、予測器を選択するたびに、予測モデルを構築する際に実行される複数の処理のそれぞれに対応するステップを選択する。また、計算部152は、選択部151によって選択された予測器を用いた予測モデルについて予測精度を計算する。分析対象のデータによっては、どの予測器を用いるかが予測精度に大きく影響する場合がある。第2の実施形態では、そのような場合に、より精度が高くなる予測器がパイプラインに含まれないことを防止することができる。
[第3の実施形態]
第3の実施形態について説明する。なお、第3の実施形態に係る分析装置10の基本的な構成及び処理は、第1の実施形態に係る分析装置10の構成及び処理と同様である。以下では、第3の実施形態に係る分析装置10の構成及び処理のうち、第1の実施形態に係る分析装置10の構成及び処理と同様であるものについては適宜説明を省略する。
第1の実施形態では、決定部153は、各ステップにおいて、予測精度が最も高くなる設定内容を1つ決定していた。ここで、予測モデルの予測精度は、様々な指標によって表される。例えば、予測モデルの予測精度を表す指標には、正解率及びF値がある。例えば、予測モデルのうち、正解率が最も高い予測モデル、及びF値が最も高い予測モデルは、いずれも予測精度が最も高い予測モデルということができる。なお、正解率及びF値は、が高いほど予測精度も高いといえるので、正解率及びF値は高いほど良い。このため、第3の実施形態では、決定部153は、予測精度を表す複数の指標のそれぞれが最も良くなる予測モデルに対応する設定内容を、各ステップで決定する。
図14を用いて、第3の実施形態に係る分析装置10の処理概要を説明する。図14は、第3の実施形態に係る分析装置の処理概要を説明するための図である。まず、計算部152は、設定情報141及び予測器情報142を参照し、ステップ「欠損値補完手法探索」に対応する設定内容候補及び予測器の候補の各組み合わせが適用された場合のパイプラインのそれぞれに基づいて構築された予測モデルのそれぞれについて、交差検証を用いて予測精度を計算する。このとき、計算部152は、予測精度として、正解率及びF値の両方を計算する。
図14に示すように、ステップ「欠損値補完手法探索」における設定内容「平均値」と予測器Aとの組み合わせが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された正解率は60%であり、F値が75%である。また、図14に示すように、ステップ「欠損値補完手法探索」における設定内容「平均値」と予測器Bとの組み合わせが適用されたパイプラインに基づいて構築された予測モデルの、計算部152によって計算された正解率は55%であり、F値は70%である。同様に、図14には、各設定内容と予測器との組み合わせに対応した正解率及びF値が示されている。
図14に示す正解率の最高値は70%であるため、決定部153は、計算部152によって計算された各正解率を比較し、予測モデルのうち最も正解率が高い予測モデルが、設定内容「最頻値」と、予測器Bとの組み合わせが適用されたパイプラインに基づいて構築された予測モデルであることを特定する。そして、決定部153は、設定内容「最頻値」を、ステップ「欠損値補完手法探索」の設定内容の1つに決定する。
また、図14に示すF値の最高値は75%であるため、決定部153は、計算部152によって計算された各F値を比較し、予測モデルのうち最もF値が高い予測モデルが、設定内容「平均値」と、予測器Aとの組み合わせが適用されたパイプラインに基づいて構築された予測モデルであることを特定する。そして、決定部153は、設定内容「平均値」を、ステップ「欠損値補完手法探索」の設定内容の1つに決定する。
ここで、ステップ「欠損値補完手法探索」では、2つの設定内容が決定されるため、それぞれの設定内容に対応した欠損値補完済みデータ、すなわち正解率優先の欠損値補完済みデータ21a、及びF値優先の欠損値補完済みデータ21bが生成される。そして、次のステップでは、それぞれの欠損値補完済みデータ及び対応するパイプラインに従ってさらに予測精度の計算及び設定内容の決定が行われる。
[第3の実施形態の効果]
計算部152は、計算した予測精度を複数の指標で表す。このとき、決定部153は、設定内容の候補のうち複数の指標のいずれかが最も良くなる設定内容の候補を、選択部151によって選択されたステップに対応する処理の設定内容に決定する。どのような指標を用いて予測モデルの予測精度を表すかは、データの分析結果の利用場面等に応じて異なる場合がある。このため、第3の実施形態では、各指標に対応した複数のパイプラインを得ることができるため、様々な利用場面に対応することができる。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
一実施形態として、分析装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、分析装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析に関するサービスを提供する分析サーバ装置として実装することもできる。例えば、分析サーバ装置は、学習用データを入力とし、パイプライン又は予測モデルを出力とする分析サービスを提供するサーバ装置として実装される。この場合、分析サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図15は、分析プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、分析装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分析装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。