(57)【要約】【課題】オンライン機械学習における同一のデータによる学習の繰り返し回数を容易に設定すること。【解決手段】学習部１５ａが、教師データの入力を受け付けて、学習の繰り返しの回数ごとに、教師データを用いて予測モデルを学習し、該予測モデルの精度を測定し、選択部１５ｂが、学習の繰り返しの回数が所定の回数に達した場合に、該所定の回数−１までの各回数において測定された予測モデルの精度を用いて、測定された精度と、予測した精度との誤差が最も小さくなるフィッティング関数を、予測関数として選択し、判定部１５ｂが、所定の回数において測定された精度と、選択されたフィッティング関数を用いて予測される精度とを比較して、精度の向上が収束しているか否かを判定する。【選択図】図２
2018190129.tif 000002
【特許請求の範囲】
【請求項１】
教師データの入力を受け付けて、学習の繰り返しの回数ごとに、前記教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する学習部と、
前記回数が所定の回数に達した場合に、該所定の回数より１少ない回数までの各回数において測定された前記精度を用いて、測定された前記精度と、予測した精度との誤差が最も小さくなる関数を、予測関数として選択する選択部と、
前記所定の回数において測定された前記精度と、選択された前記関数を用いて予測される精度とを比較して、前記精度の向上が収束しているか否かを判定する判定部と、
を備えることを特徴とする判定装置。
【請求項２】
前記判定部は、前記所定の回数において測定された前記精度と、当該所定の回数における前記予測される精度、または、前記予測される精度の最大値とを比較して、精度の向上が収束しているか否かを判定することを特徴とする請求項１に記載の判定装置。
【請求項３】
前記判定部は、精度の向上が収束していないと判定した場合に、前記所定の回数に任意の自然数を加算し、学習を繰り返すことを特徴とする請求項１または２に記載の判定装置。
【請求項４】
前記判定部は、精度の向上が収束していると判定した場合に、前記所定の回数を学習の繰り返しの回数と決定し、該所定の回数において測定された前記精度とともに出力することを特徴とする請求項１〜３のいずれか１項に記載の判定装置。
【請求項５】
分析装置と判定装置とを有する分析システムであって、
前記分析装置は、
前記判定装置で実行される判定処理を含む、予測モデルを構築する際に実行される複数の処理のそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する選択部と、
前記複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、前記選択部によって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する計算部と、
前記計算部によって計算された各予測精度を比較し、前記設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、前記選択部によって選択されたステップに対応する処理の設定内容に決定する決定部と、を備え、
前記判定装置は、
教師データの入力を受け付けて、学習の繰り返しの回数ごとに、前記教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する学習部と、
前記回数が複数の所定の回数に達した場合に、該所定の回数のそれぞれについて、該所定の回数より１少ない回数までの各回数において測定された前記精度を用いて、測定された前記精度と、予測した精度との誤差が最も小さくなる関数を、予測関数として選択する選択部と、
前記所定の回数において測定された前記精度と、選択された前記関数を用いて予測される精度とを比較して、前記精度の向上が収束しているか否かを判定する判定処理を行う判定部と、を備える
ことを特徴とする分析システム。
【請求項６】
判定装置で実行される判定方法であって、
教師データの入力を受け付けて、学習の繰り返しの回数ごとに、前記教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する学習工程と、
前記回数が所定の回数に達した場合に、該所定の回数より１少ない回数までの各回数において測定された前記精度を用いて、測定された前記精度と、予測した精度との誤差が最も小さくなる関数を、予測関数として選択する選択工程と、
前記所定の回数において測定された前記精度と、選択された前記関数を用いて予測される精度とを比較して、前記精度の向上が収束しているか否かを判定する判定工程と、
を含んだことを特徴とする判定方法。
【請求項７】
教師データの入力を受け付けて、学習の繰り返しの回数ごとに、前記教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する学習ステップと、
前記回数が所定の回数に達した場合に、該所定の回数より１少ない回数までの各回数において測定された前記精度を用いて、測定された前記精度と、予測した精度との誤差が最も小さくなる関数を、予測関数として選択する選択ステップと、
前記所定の回数において測定された前記精度と、選択された前記関数を用いて予測される精度とを比較して、前記精度の向上が収束しているか否かを判定する判定ステップと、
をコンピュータに実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定装置、分析システム、判定方法および判定プログラムに関する。
【背景技術】
【０００２】
近年、機械学習を用いたデータ分析の適用事例が増加している。一方、データ分析に不可欠な統計や機械学習の知識の習得には、中長期的な教育が必要となる。そこで、非専門家が、統計や機械学習の知識を習得しなくても容易にデータ分析に従事できるよう、データ分析を支援する技術が開示されている（非特許文献１，２参照）。
【０００３】
また、オンライン機械学習において、同一のデータを用いて繰り返し学習させることにより、頑健性の高い予測モデルを構築することができる。しかしながら、繰り返し回数が増加すれば学習時間が増加する。そこで、従来、学習の繰り返し回数と予測モデルの予測精度との関係を表す学習曲線を用いて、予測精度が向上しなくなったことを判定して繰り返し回数を制限している。なお、既定の学習曲線を用いて、学習に用いるサンプルデータ数を推定する技術が開示されている（非特許文献３参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】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”，2016年11月
【非特許文献３】Rosa  L  Figueroa，Qing  Zeng-Treitler，Sasikiran  Kandula，Long  H  Ngo，“Predicting  sample  size  required  for  classification  performance”，BMC  Medical  Informatics  and  Decision  Making，2012年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、学習曲線のフィッティングに用いられるフィッティング関数は、学習に用いられる教師データにより異なる。そのため、学習曲線のフィッティング関数と学習の繰り返し回数とは、知識と経験に基づいて人手により決定されており、スキルと多大な作業時間とを要していた。
【０００６】
本発明は、上記に鑑みてなされたものであって、オンライン機械学習における同一のデータによる学習の繰り返し回数を容易に設定することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る判定装置は、教師データの入力を受け付けて、学習の繰り返しの回数ごとに、前記教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する学習部と、前記回数が所定の回数に達した場合に、該所定の回数より１少ない回数までの各回数において測定された前記精度を用いて、測定された前記精度と、予測した精度との誤差が最も小さくなる関数を、予測関数として選択する選択部と、前記所定の回数において測定された前記精度と、選択された前記関数を用いて予測される精度とを比較して、前記精度の向上が収束しているか否かを判定する判定部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、オンライン機械学習における同一のデータによる学習の繰り返し回数を容易に設定することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施形態に係る判定装置を含む分析システムの処理概要を説明するための説明図である。
【図２】図２は、本実施形態の判定装置の概略構成を例示する模式図である。
【図３】図３は、選択部の処理を説明するための説明図である。
【図４】図４は、判定部の処理を説明するための説明図である。
【図５】図５は、判定部の処理を説明するための説明図である。
【図６】図６は、分析装置の概略構成を例示する模式図である。
【図７】図７は、設定情報のデータ構成の一例を示す図である。
【図８】図８は、分析システムの処理を説明するための説明図である。
【図９】図９は、本実施形態の判定処理手順を示すフローチャートである。
【図１０】図１０は、判定プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［分析システムの処理概要］
まず、図１を参照して、本実施形態に係る判定装置を含む分析システムの処理概要を説明する。図１に示すように、本実施形態において、分析システム１は、機械学習によるデータ分析を支援するためのシステムである。ここで、機械学習によるデータ分析を行う場合、予測モデルを構築する一連の処理であるパイプラインが決定される。例えば、パイプラインの決定は、予測モデルに関する複数の設定項目ごとの設定内容の候補を選択肢として用意しておき、選択肢の中から設定内容を順次決定することで行うことができる。
【００１２】
分析システム１は、予想モデルを構築する際に実行される複数の処理に対応するステップを順次実行することで、各設定項目の設定内容を決定する。例えば、分析システム１は、各ステップにおいて、学習に用いるデータに対する前処理等の前処理の方式と、データの学習からは決まらない予測モデルのハイパーパラメータとを逐次的に決定する。
【００１３】
ここで、前処理には、欠損値補完、正規化、特徴選択、オンライン機械学習の繰り返し回数等が挙げられる。欠損値補完とは、データの欠損値補完の方式を意味し、例えば、平均値、中央値、最頻値、あるいは削除等が選択肢となる。また、正規化とは、データの正規化の方式を意味し、例えば、最大値を１、最小値を０とする最大最小方式、標準化、平均値０、標準偏差１の標準正規分布に置き換えるＺスコア方式、あるいは無処理等が選択肢となる。特徴選択とは、データの特徴を選択する際の方式を意味し、例えば、決定木、Ｌ１正則化、分散分析あるいは無処理等が選択肢となる。オンライン機械学習の繰り返し回数については後述する。また、分析システム１は、前処理の後、予測モデルのハイパーパラメータの探索を行う。
【００１４】
図１には、前処理として、前処理１、前処理２、および前処理３の３ステップが例示されており、このうち、例えば、前処理１についての選択肢が、選択肢１１、選択肢１２、選択肢１３および選択肢１４となっている。また、図１には、予測モデルのハイパーパラメータ探索として、予測アルゴリズムＡのパラメータＣを対象とする１ステップが例示され、その選択肢が、０．１，１．０，１０および１００となっている。
【００１５】
分析システム１は、各ステップにおいて、データの一部を用いて学習し、残りのデータで精度を検証する交差検証を行いながら、選択肢の中から最も精度の高いものを採用する。これにより、分析システム１は、図１に実線矢印で表される採用された選択肢からなるパイプラインに従って、採用された方式で前処理を行う。
【００１６】
次に、分析システム１は、採用されたハイパーパラメータが設定された予測アルゴリズムＡを用いて学習を行って、予測モデルを構築する。これにより、分析システム１は、高精度であることが予測される予測モデルを用いて効率よくデータの学習を行って、精度の高い予測モデルを構築できる。
【００１７】
本実施形態において、分析システム１は、分析装置と判定装置とを含む。分析装置は、予測モデルを構築する際に実行される複数の処理に対応するステップを順次実行することにより、各設定項目の設定内容の決定を行う。例えば、分析装置は、各ステップにおいて、前処理の方式、予測モデルのアルゴリズムおよびハイパーパラメータ等を決定する。また、判定装置は、前処理の一つとして、オンライン機械学習の繰り返し回数を決定する処理を実行する。
【００１８】
［判定装置の構成］
次に、図２を参照して、本実施形態に係る判定装置の概略構成を説明する。図２に示すように、本実施形態に係る判定装置１０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１と出力部１２と通信制御部１３と、記憶部１４と、制御部１５とを備える。
【００１９】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、後述する判定処理の結果等を操作者に対して出力する。
【００２０】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した管理サーバ等の外部の装置と制御部１５との通信を制御する。
【００２１】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４には、判定装置１０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００２２】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図２に例示するように、学習部１５ａ、選択部１５ｂおよび判定部１５ｃとして機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
【００２３】
学習部１５ａは、教師データの入力を受け付けて、学習の繰り返しの回数ごとに、教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する。具体的に、学習部１５ａは、入力部１１あるいは通信制御部１３を介してオンラインで入力された教師データを用いて予測モデルの学習を行うオンライン学習器として機能する。
【００２４】
また、学習部１５ａは、学習した予測モデルについて、精度を測定する。例えば、学習部１５ａは、教師データとは異なるテストデータを取得して、予測モデルの精度を測定する。あるいは、学習部１５ａは、交差検証により、入力された教師データの一部を学習に用い、残りの教師データを用いて予測モデルの精度を測定する。
【００２５】
学習部１５ａは、同一の教師データを用いて、例えば教師データの順序を並べ替える等して、予測モデルの学習を繰り返し、各回に精度を測定する。
【００２６】
選択部１５ｂは、学習の繰り返しの回数が所定の回数に達した場合に、該所定の回数より１少ない回数までの各回数において測定された予測モデルの精度を用いて、測定された精度と、予測した精度との誤差が最も小さくなる関数を、精度の予測関数として選択する。
【００２７】
具体的に、図３を参照して、選択部１５ｂの処理について説明する。選択部１５ｂは、学習部１５ａの学習の繰り返しの回数を計数している。この繰り返しの回数が所定の回数Ｎに達した場合に、選択部１５ｂは、１〜（Ｎ−１）回の各回に測定された予測モデルの精度を用いて、横軸を繰り返し回数、縦軸を精度とする座標系に測定値を表す点をプロットする。ここで、所定の回数Ｎは、例えば、学習に必要な繰り返しの最低回数とする。
【００２８】
次に、選択部１５ｂは、プロットされた点を繰り返し回数順に結んだ学習曲線に近似するフィッティング関数を選択する。例えば、選択部１５ｂは、フィッティング関数として、非同次ポアソン過程を表す関数の中から選択する。具体的に、指数分布、ガンマ分布、パレート分布、切断正規分布、対数正規分布、切断ロジスティック分布、対数ロジスティック分布、切断最大値分布、対数最大値分布、切断最小値分布、対数最小値分布等の選択肢の中から選択される。
【００２９】
選択部１５ｂは、フィッティング関数を選択する際、併せて、プロットされた点との誤差が最小となるように、パラメータを選択する。例えば、選択部１５ｂは、上記の関数の選択肢の全てについて、レーベンバーグ・マーカート（Levenberg-Marquardt）法等の最小二乗法を利用して、フィッティング関数とパラメータとを同時に最適化する。
【００３０】
図３に示す例では、測定値が丸で表され、フィッティング関数が実線で表されている。同一の測定値に対して、図３（ａ）では、関数Ａおよびパラメータｘが選択されており、図３（ｂ）では、関数Ａおよびパラメータｙが選択されており、図３（ｃ）では、パラメータなしの関数Ｂが選択されている。また、測定値と各関数との誤差が、図３（ａ）に示す関数Ａおよびパラメータｘでは５であり、図３（ｂ）に示す関数Ａおよびパラメータｙでは１０であり、図３（ｃ）に示す関数Ｂでは２０であることが示されている。この場合に、選択部１５ｂは、誤差が最小である関数Ａおよびパラメータｘを選択する。
【００３１】
図２の説明に戻る。判定部１５ｃは、所定の回数Ｎにおいて測定された精度と、選択された関数を用いて予測される精度とを比較して、精度の向上が収束しているか否かを判定する。
【００３２】
具体的に、図４および図５を参照して、判定部１５ｃの処理を説明する。判定部１５ｃは、学習部１５ａが測定したＮ回での精度の測定値と、選択部１５ｂが選択したフィッティング関数を用いて予測されるＮ回での精度の予測値、または予測される精度の最大値とを比較して、予測モデルの精度の向上が収束しているか否かを判定する。
【００３３】
判定部１５ｃは、例えば、図４に破線の丸で示されるＮ回での測定値の精度と、実線で示されるフィッティング関数を用いて予測されるＮ回での予測値の精度とを比較する。ここで、図４（ａ）に例示するように、Ｎ回での精度の測定値が予測値を上回り、その差が例えば、予測値の所定の割合以上に大きい場合には、判定部１５ｃは、予測モデルの精度の向上が収束していないと判定する。
【００３４】
一方、学習曲線は増加関数で表されるため、図４（ｂ）に例示するように、Ｎ回での精度の測定値が予測値の所定の割合以下に下回った場合には、判定部１５ｃは、それ以上精度が向上することはないものとして、予測モデルの精度の向上が収束したと判定する。
【００３５】
あるいは、判定部１５ｃは、図５に破線の丸で示されるＮ（＝Ｎ１，Ｎ２）回での測定値の精度と、予測される精度の最大値とを比較する。ここで、学習曲線は増加関数で表されるため、予測される精度の最大値は、精度がとり得る最大値以下、かつ最大繰り返し回数以下の繰り返し回数における精度とする。例えば、精度が正解率やＦ値の場合に、とり得る最大値は１．０となる。図５に示す例では、予測される精度の最大値は、実線で示されるフィッティング関数の極大値である。
【００３６】
そして、図５に示すＮ１回での測定値のように、予測される精度の最大値に対する割合が所定の値未満であれば、判定部１５ｃは、予測モデルの精度の向上が収束していないと判定する。一方、図５に示すＮ２回での測定値のように、予測される精度の最大値に対する割合が所定の値以上であれば、判定部１５ｃは、予測モデルの精度の向上が収束したと判定する。
【００３７】
判定部１５ｃは、予測モデルの精度の向上が収束したと判定した場合の所定の回数Ｎを、この予測モデルに対する学習の繰り返しの回数と決定する。また判定部１５ｃは、予測モデルの精度をあわせて出力する。
【００３８】
また、判定部１５ｃは、予測モデルの精度の向上が収束していないと判定した場合には、所定の回数Ｎに任意の自然数を加算し、学習を繰り返す。本実施形態では、判定部１５ｃは「１」を加算する。その場合に、学習部１５ａが、再度、同一の教師データによる学習の繰り返しと精度の測定とを実行する。そして、選択部１５ｂと判定部１５ｃとが、１〜（Ｎ＋１）回の各回に測定された精度を用いて、上述した処理を実行する。以上の処理は、判定部１５ｃが予測モデルの精度の向上が収束したと判定するまで繰り返される。これにより、判定部１５ｃが、収束したと判定した場合の所定の回数（≧Ｎ＋１）を、この予測モデルに対する学習の繰り返しの回数として決定する。
【００３９】
なお、判定装置１０による判定処理が分析システム１の前処理の一つとして適用される場合に、選択肢として、例えば、学習に必要な繰り返しの最低回数について、１０回、１００回、１０００回というようにオーダが異なる複数の値が設定される。そして、判定部１５ｃが、各値に対応して決定した繰り返しの回数のうち、収束した予測モデルの精度が最大となるものを採用する。
【００４０】
［分析装置の構成］
次に、図６を参照して、本実施形態に係る分析装置の概略構成を説明する。図６に示すように、本実施形態に係る分析装置２０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部２１と出力部２２と通信制御部２３と、記憶部２４と、制御部２５とを備える。
【００４１】
入力部２１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部２５に対して各種指示情報を入力する。出力部２２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、データ分析の結果等を操作者に対して出力する。
【００４２】
通信制御部２３は、ＮＩＣ等で実現され、ＬＡＮやインターネットなどの電気通信回線を介した管理サーバ等の外部の装置と制御部２５との通信を制御する。
【００４３】
記憶部２４は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部２４には、分析装置２０を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。記憶部２４は、通信制御部２３を介して制御部２５と通信する構成でもよい。また、記憶部２４は、設定情報２４ａを記憶する。
【００４４】
図７は、設定情報２４ａのデータ構成の一例を示す図である。設定情報２４ａは、ステップごとの実行順序、および設定内容候補を含む。設定内容候補は、各ステップに対応する設定項目の設定内容の候補である。本実施形態において、例えば、図１に示したステップ２に対応して、学習繰り返し回数探索が行われるものとする。この場合に、図７に例示するように、実行順序２のステップに「学習繰り返し回数探索」が設定される。また、設定内容候補として、最低回数＝１０，１００，１０００および１００００が設定される。
【００４５】
制御部２５は、ＣＰＵ等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図５に例示するように、選択部２５ａ、計算部２５ｂ、決定部２５ｃおよび検証部２５ｄとして機能する。なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。
【００４６】
選択部２５ａは、予測モデルを構築する際に実行される複数の処理、すなわちパイプラインのそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。決定部２５ｃは、各ステップの設定内容を、設定情報２４ａに含まれる設定内容候補の中から決定する。このとき、選択部２５ａは、設定情報２４ａに示される実行順序に従って、設定内容が決定された次のステップを選択する。なお、いずれのステップも未実行である場合、選択部２５ａは実行順序が最も早いステップを選択する。
【００４７】
計算部２５ｂは、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行う。また、計算部２５ｂは、選択部２５ａによって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。その際、計算部２５ｂは、所定数に分割した学習用のデータを用いた交差検証を行うことで予測精度を計算する。また、計算部２５ｂは、予測モデルで用いられる予測器が決定されていない場合、複数のアルゴリズムに対応する予測器の候補のそれぞれを用いて予測精度を計算する。
【００４８】
決定部２５ｃは、計算部２５ｂによって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、選択部２５ａによって選択されたステップに対応する処理の設定内容に決定する。その後、選択部２５ａは、決定部２５ｃによって設定内容が決定されたステップの次に実行されるステップを選択する。
【００４９】
ここで、図８を参照して、分析システム１の処理について説明する。本実施形態において、例えば、図１に示したステップ２において、図８に例示するように、学習繰り返し回数探索が行われる。図８の例では、図１に示したステップ１の前処理１方式探索において決定された方式を用いてデータの前処理が行われた前処理１済みデータが生成されているものとする。
【００５０】
選択部２５ａは、ステップ２において、設定情報２４ａを参照して学習繰り返し回数探索を選択する。また、計算部２５ｂは、設定内容候補である最低回数＝１０，１００，１０００および１００００のそれぞれが適用された場合について、通信制御部２３を介して判定装置１０に判定処理を実行させる。判定処理により、各最低回数から学習回数を増やした場合の予測モデルの精度向上の収束を判定することにより、学習の繰り返しの回数が決定する。また、計算部２５ｂは、判定装置１０による判定処理の結果を受け取って、判定装置１０が決定した学習の繰り返しの回数を用いて構築される予測モデルのそれぞれについて、交差検証を用いて予測精度を計算する。この結果、図８に示す例では、決定部２５ｃは、予測精度が７８％と最も高くなった最低回数＝１０００とした場合に決定された繰り返し回数を、学習の繰り返しの回数として決定する。
【００５１】
検証部２５ｄは、決定部２５ｃによって決定された設定内容が適用された一連の処理、すなわち、決定されたパイプラインに基づいて構築される予測モデルの検証を行う。これにより、本実施形態の分析システム１によれば、容易に学習の繰り返しの回数を決定して、高精度な予測モデルを効率よく構築することができる。
【００５２】
［判定処理］
次に、図９を参照して、判定装置１０の判定処理について説明する。図９は判定処理手順を例示するフローチャートである。図９のフローチャートは、例えば、判定処理の対象の教師データが入力されたタイミングで開始される。
【００５３】
まず、学習部１５ａが、教師データの入力を受け付けて、学習の繰り返しの回数ごとに、教師データを用いて予測モデルの学習を実施する（ステップＳ１）。また、学習部１５ａが、交差検証やテストデータを用いることにより、学習した予測モデルの精度を測定する（ステップＳ２）。
【００５４】
選択部１５ｂは、学習部１５ａにおける繰り返しの回数を計数し、所定の最低回数Ｎ以上の学習が繰り返されたか否かを管理している（ステップＳ３）。所定の最低回数Ｎ以上の繰り返し学習が実施されていない場合には（ステップＳ３，Ｎｏ）、選択部１５ｂは、ステップＳ１に処理に戻す。一方、所定の最低回数Ｎ以上の繰り返し学習が実施された場合に（ステップＳ３，Ｙｅｓ）、選択部１５ｂは、ステップＳ４に処理を移行する。
【００５５】
ステップＳ４の処理では、選択部１５ｂが、１〜（Ｎ−１）回の各回に測定された（繰り返し回数Ｎ−１）個の精度の測定結果を用いて、測定結果との誤差が最小となるような回数と精度との関係を表すフィッティング関数・パラメータを選択する。
【００５６】
次に、判定部１５ｃが、回数Ｎに測定された精度とフィッティング関数を用いて予測される精度とを比較して、精度の向上が収束しているか否かの判定を行う（ステップＳ５）。収束していないと判定した場合に（ステップＳ５，Ｎｏ）、判定部１５ｃは、ステップＳ１に処理を戻し、収束するまで、所定の最低回数Ｎを増やして上記と同様の処理を行う。一方、収束していると判定した場合に（ステップＳ５，Ｙｅｓ）、判定部１５ｃは、一連の判定処理を終了させる。
【００５７】
以上、説明したように、本実施形態の判定装置１０では、学習部１５ａが、教師データの入力を受け付けて、学習の繰り返しの回数ごとに、教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する。また、選択部１５ｂが、学習の繰り返しの回数が所定の回数に達した場合に、該所定の回数より１少ない回数までの各回数において測定された予測モデルの精度を用いて、測定された精度と、予測した精度との誤差が最も小さくなるフィッティング関数を、精度の予測関数として選択する。また、判定部１５ｂが、所定の回数Ｎにおいて測定された精度と、選択されたフィッティング関数を用いて予測される精度とを比較して、精度の向上が収束しているか否かを判定する。
【００５８】
これにより、判定部１５ｃは、収束していると判定した場合の繰り返しの回数すなわち所定の回数Ｎを学習の繰り返し回数と決定することができる。また、判定部１５ｃは、収束していないと判定した場合にも、所定の回数Ｎに１を加算して、収束するまで処理を繰り返すことにより、同様に学習の繰り返しの回数を決定することができる。このように、本実施形態の判定装置１０の判定処理によれば、オンライン機械学習における同一のデータによる学習の繰り返しの回数を容易に設定することができる。
【００５９】
また、本実施形態の判定装置１０による判定処理は、オンライン機械学習の繰り返しの回数の決定に限定されず、例えば、追加学習の教師データの追加量の決定にも適用できる。例えば、教師データが大量にあると、全ての教師データを用いた学習の処理負荷が大きくなる。一方で、教師データの一部を抽出して学習を行っても、予測モデルの精度は十分に高い値を得られる場合が多い。ただし、教師データを増やせば、精度が向上する。オンライン機械学習では、追加したデータのみを用いた追加学習が可能であるため、精度の向上が収束するまで、教師データを追加する。
【００６０】
この場合に、判定装置１０は、例えば１０００件単位でレコード群の追加を行いながら、横軸をレコード数、縦軸を精度とする学習曲線のフィッティング関数を選択する。これにより、追加学習に適量な教師データの追加量を判定することが可能となる。
【００６１】
また、本実施形態の判定装置１０による判定処理は、分析システム１の前処理の１つとしてのオンライン機械学習の繰り返し回数の決定処理に適用される。その場合に、分析装置２０では、選択部２５ａが、判定装置１０で実行される判定処理を含む、予測モデルを構築する際に実行される複数の処理のそれぞれに対応し、対応する処理の設定内容を順次決定するステップにおいて、設定内容が決定されるたびに、次に実行されるステップを選択する。また、計算部２５ｂが、複数の処理のうち、設定内容が決定済みの処理を当該決定済みの設定内容を適用して行うとともに、選択部２５ａによって選択されたステップに対応する処理を設定内容の候補のそれぞれを適用して行った場合に構築される予測モデルのそれぞれについて予測精度を計算する。また、決定部２５ｃが、計算部２５ｂによって計算された各予測精度を比較し、設定内容の候補のうち予測精度が最も高くなる設定内容の候補を、選択部２５ａによって選択されたステップに対応する処理の設定内容に決定する。
【００６２】
また、判定装置１０では、学習部１５ａが、教師データの入力を受け付けて、学習の繰り返しの回数ごとに、前記教師データを用いて予測モデルを学習し、該予測モデルの精度を測定する。また、選択部１５ｂが、学習の回数が複数の最低回数に対応する複数の所定の回数に達した場合に、該所定の回数のそれぞれについて、該所定の回数より１少ない回数までの各回数において測定された精度を用いて、測定された精度と、予測した精度との誤差が最も小さくなるフィッティング関数を、精度の予測関数として選択する。また、判定部１５ｃが、所定の回数において測定された精度と、選択された関数を用いて予測される精度とを比較して、精度の向上が収束しているか否かを判定する。
【００６３】
このように、複数の最低回数に対応して複数の所定の回数が設定された場合に、それぞれに対応して決定した学習の繰り返しの回数を決定し、決定した繰り返しの回数において測定された精度とともに出力されるので、より高効率に高精度な学習の繰り返しの回数を決定することができる。これにより、本実施形態の分析システム１によれば、容易に学習の繰り返しの回数を決定して、高精度な予測モデルを効率よく構築することができる。
【００６４】
［プログラム］
上記実施形態に係る判定装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、判定装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の判定処理を実行する判定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の判定プログラムを情報処理装置に実行させることにより、情報処理装置を判定装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の判定処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、判定装置１０は、教師データを入力とし、学習の繰り返しの回数を出力する判定処理サービスを提供するサーバ装置として実装される。この場合、判定装置１０は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の判定処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、判定装置１０と同様の機能を実現する判定プログラムを実行するコンピュータの一例を説明する。
【００６５】
図１０に示すように、判定プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６７】
ここで、図１０に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６８】
また、判定プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した判定装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００６９】
また、判定プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７０】
なお、判定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、判定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７１】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００７２】
１  分析システム
１０  判定装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１５  制御部
１５ａ  学習部
１５ｂ  選択部
１５ｃ  判定部
２０  分析装置
２１  入力部
２２  出力部
２３  通信制御部
２４  記憶部
２４ａ  設定情報
２５  制御部
２５ａ  選択部
２５ｂ  計算部
２５ｃ  決定部
２５ｄ  検証部
【図１】
2018190129.tif 000003
【図２】
2018190129.tif 000004
【図３】
2018190129.tif 000005
【図４】
2018190129.tif 000006
【図５】
2018190129.tif 000007
【図６】
2018190129.tif 000008
【図７】
2018190129.tif 000009
【図８】
2018190129.tif 000010
【図９】
2018190129.tif 000011
【図１０】
2018190129.tif 000012