JP6849915B2 - 比較プログラム、比較方法および比較装置 - Google Patents

比較プログラム、比較方法および比較装置 Download PDF

Info

Publication number
JP6849915B2
JP6849915B2 JP2017071439A JP2017071439A JP6849915B2 JP 6849915 B2 JP6849915 B2 JP 6849915B2 JP 2017071439 A JP2017071439 A JP 2017071439A JP 2017071439 A JP2017071439 A JP 2017071439A JP 6849915 B2 JP6849915 B2 JP 6849915B2
Authority
JP
Japan
Prior art keywords
machine learning
performance
sample size
variance
prediction performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017071439A
Other languages
English (en)
Other versions
JP2018173813A (ja
Inventor
小林 健一
健一 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017071439A priority Critical patent/JP6849915B2/ja
Priority to US15/940,132 priority patent/US11423263B2/en
Publication of JP2018173813A publication Critical patent/JP2018173813A/ja
Application granted granted Critical
Publication of JP6849915B2 publication Critical patent/JP6849915B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は比較プログラム、比較方法および比較装置に関する。
コンピュータを利用したデータ分析の1つとして、機械学習が行われることがある。機械学習では、幾つかの既知の事例を示す訓練データをコンピュータに入力する。コンピュータは、訓練データを分析して、要因(説明変数や独立変数と言うことがある)と結果(目的変数や従属変数と言うことがある)との間の関係を一般化したモデルを学習する。学習されたモデルを用いることで、未知の事例についての結果を予測することができる。
機械学習では、学習されるモデルの正確さ、すなわち、未知の事例の結果を正確に予測する能力(予測性能と言うことがある)が高いことが好ましい。予測性能は、学習に用いる訓練データのサンプルサイズが大きいほど高くなる。一方、訓練データのサンプルサイズが大きいほど学習時間も長くなる。そこで、実用上十分な予測性能をもつモデルを効率的に得られるようにする方法として、プログレッシブサンプリング法が提案されている。
プログレッシブサンプリング法では、コンピュータは、まず小さなサンプルサイズの訓練データを用いてモデルを学習する。コンピュータは、訓練データとは異なる既知の事例を示すテストデータを用いて、モデルによって予測した結果と既知の結果とを比較し、学習されたモデルの予測性能を評価する。予測性能が十分でない場合、コンピュータは、前回よりもサンプルサイズが大きい訓練データを用いてモデルを再度学習する。以上を予測性能が十分に高くなるまで繰り返すことで、過度にサンプルサイズの大きな訓練データを使用することを抑制でき、モデルの学習時間を短縮することができる。
また、小さなサンプルサイズの訓練データに対応する予測性能の実測値を用いて、訓練データのサンプルサイズと予測性能との間の関係を示す予測性能曲線を推定し、推定した予測性能曲線を用いて大きなサンプルサイズの訓練データに対応する予測性能を算出する方法が提案されている。提案の方法では、予測性能曲線を示す推定式として、サンプルサイズが小さいうちは予測性能の上昇量が大きく、サンプルサイズが大きくなると予測性能が一定の上限値に収束する非線形関数が仮定される。提案の方法では、予測性能の実測値を用いて非線形回帰分析を行い、推定式に含まれる未知の係数を決定する。
また、非線形回帰分析によって予測性能曲線を推定する際に、複数の予測性能の実測値に対して異なる重みを付与する方法も提案されている。提案の方法では、小さなサンプルサイズの訓練データに対応する実測値には小さな重みを付与し、大きなサンプルサイズの訓練データに対応する実測値には大きな重みを付与する。
Foster Provost, David Jensen and Tim Oates, "Efficient Progressive Sampling", Proc. of the 5th International Conference on Knowledge Discovery and Data Mining, pp. 23-32, Association for Computing Machinery (ACM), 1999. Prasanth Kolachina, Nicola Cancedda, Marc Dymetman and Sriram Venkatapathy, "Prediction of Learning Curves in Machine Translation", Proc. of the 50th Annual Meeting of the Association for Computational Linguistics, pp. 22-30, 2012. Rosa L Figueroa, Qing Zeng-Treitler, Sasikiran Kandula and Long H Ngo, "Predicting sample size required for classification performance", BMC Medical Informatics and Decision Making, Vol. 12 No. 8, 2012.
ところで、訓練データからモデルを生成するアルゴリズムとして、回帰分析、サポートベクタマシン(SVM)、ランダムフォレストなど様々な機械学習アルゴリズムがある。使用する機械学習アルゴリズムが異なると、生成されるモデルの予測性能も異なることが多い。そのため、複数の機械学習アルゴリズムを試行する方が、1つの機械学習アルゴリズムのみを使用する場合よりも予測性能を向上できることが多い。
複数の機械学習アルゴリズムを使用する機械学習では、機械学習アルゴリズム毎に予測性能曲線を推定し、推定した予測性能曲線に基づいて複数の機械学習アルゴリズムの間でモデルの予測性能に関する比較を行い、機械学習を制御することが考えられる。例えば、大きなサンプルサイズにおける予測性能の推定値が高い機械学習アルゴリズムを優先的に実行することなどが考えられる。各機械学習アルゴリズムの予測性能曲線は、例えば、幾つかの小さなサンプルサイズの訓練データによってモデルを生成して予測性能を測定し、幾つかの予測性能の実測値から回帰分析によって算出することが考えられる。
しかし、予測性能の実測値は、訓練データおよびテストデータの選択の偶然性などの影響を受けて、期待値からの乖離としての誤差を含んでいる。このとき、訓練データのサンプルサイズが異なると偶然性の影響度が異なるため、予測性能の実測値に含まれる誤差はサンプルサイズによって変わる。特に、小さなサンプルサイズにおける予測性能の実測値は、偶然性の影響を強く受けて大きな誤差を含むことがある。
そのため、上記の非特許文献2のように、等分散性を前提とした通常の回帰分析によって予測性能曲線を推定すると、予測性能曲線の推定精度が低下するという問題がある。また、予測性能の実測値に含まれる誤差の程度を直接的に把握することは難しい。
上記の非特許文献3は予測性能の実測値に重みを付与しているものの、実際の誤差の程度を反映しておらず、予測性能曲線の推定精度を向上させることが難しいという問題がある。よって、複数の機械学習アルゴリズムの間の予測性能に関する比較の精度が低くなってしまう。
1つの側面では、本発明は、複数の機械学習アルゴリズムの間の予測性能に関する比較の精度を向上させる比較プログラム、比較方法および比較装置を提供することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させる比較プログラムが提供される。第1の機械学習アルゴリズムを用いて、同一のデータ母集合から抽出される複数の第1のサンプルサイズの訓練データを用いて複数の学習モデルを生成することにより、複数の学習モデルそれぞれが有する予測性能の測定結果を示す複数の予測性能測定値を算出する。予測性能に関する期待値と分散との間の関係を示す関係情報と、複数の予測性能測定値とを用いて、複数の第1のサンプルサイズそれぞれに対して生じる予測性能の分散の推定結果を示す複数の分散推定値を算出する。複数の予測性能測定値と複数の分散推定値とを用いた回帰分析により、サンプルサイズと予測性能との間の関係を示す曲線であって予測性能が一定の予測性能上限値に漸近する第1の予測性能曲線を生成する。第1の予測性能曲線と第2のサンプルサイズとに基づいて第1の機械学習アルゴリズムに対する第1の評価値を算出する。第1の評価値と、第2の機械学習アルゴリズムに対応する第2の予測性能曲線と第2のサンプルサイズとに基づいて算出される第2の機械学習アルゴリズムに対する第2の評価値とを比較する。
また、1つの態様では、コンピュータが実行する比較方法が提供される。また、1つの態様では、記憶部と処理部とを有する比較装置が提供される。
1つの側面では、複数の機械学習アルゴリズムの間の予測性能に関する比較の精度を向上できる。
第1の実施の形態の比較装置を説明する図である。 機械学習装置のハードウェア例を示すブロック図である。 サンプルサイズと予測性能の関係例を示すグラフである。 学習時間と予測性能の関係例を示すグラフである。 複数の機械学習アルゴリズムの使用例を示す図である。 予測性能の分布例を示すグラフである。 予測性能曲線の推定例を示すグラフである。 サンプルサイズとロスの関係例を示すグラフである。 機械学習装置の機能例を示すブロック図である。 管理テーブルの例を示す図である。 性能改善量推定部の機能例を示すブロック図である。 機械学習の手順例を示すフローチャートである。 機械学習の手順例を示すフローチャート(続き)である。 ステップ実行の手順例を示すフローチャートである。 時間推定の手順例を示すフローチャートである。 性能改善量推定の手順例を示すフローチャートである。 予測性能曲線算出の手順例を示すフローチャートである。 予測性能の分布の第1の推定例を示すグラフである。 予測性能の分布の第2の推定例を示すグラフである。 予測性能の分布の第3の推定例を示すグラフである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の比較装置を説明する図である。
第1の実施の形態の比較装置10は、機械学習に用いる訓練データのサンプルサイズと学習モデルの予測性能との間の関係を示す予測性能曲線を推定し、異なる機械学習アルゴリズムの間で予測性能に関する比較を行う。比較装置10は、ユーザが操作するクライアント装置でもよいしサーバ装置でもよい。比較装置10はコンピュータでもよい。
比較装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性のストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プログラムには比較プログラムが含まれる。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うこともある。
記憶部11は、関係情報13と予測性能測定値17a,17bとを記憶する。
予測性能測定値17a,17bは、処理部12によって算出される。処理部12は、第1の機械学習アルゴリズムにより同一のデータ母集合から抽出されるサンプルサイズ16a,16bの訓練データを用いて異なる学習モデルを生成し、異なる学習モデルが有する予測性能の測定結果を示す予測性能測定値17a,17bを算出する。予測性能測定値17aはサンプルサイズ16aに対応し、予測性能測定値17bはサンプルサイズ16bに対応する。第1の実施の形態では説明を簡単にするため、処理部12は2つのサンプルサイズに対応する2つの予測性能測定値を算出しているが、3以上のサンプルサイズに対応する3以上の予測性能測定値を算出してもよい。なお、機械学習アルゴリズムの種類には、ロジスティック回帰分析、サポートベクタマシン、ランダムフォレストなどが含まれる。予測性能は、未知の事例の結果を正確に予測する能力であり「精度」と言うこともできる。予測性能の指標には、正答率(Accuracy)、適合率(Precision)、平均二乗誤差(MSE)、二乗平均平方根誤差(RMSE)などが含まれる。
関係情報13は、予測性能に関する期待値と分散との間の所定の関係を示す。関係情報13が示す関係は、予測性能に関する期待値と分散との間に経験的に見出された法則であってもよい。関係情報13が示す関係は、例えば、所定の数式によって表現される。関係情報13は、学習モデルによる予測の失敗度の期待値を示す期待ロスELと、第1の機械学習アルゴリズムにとっての期待ロスの低下限界を示す期待バイアスEB2と、予測性能の分散VLとの間の関係を示すものであってもよい。また、関係情報13は、予測性能の分散VLが、期待ロスELと期待バイアスEB2の和に比例し、かつ、期待ロスELと期待バイアスEB2の差に比例することを示すものであってもよい。
処理部12は、関係情報13と予測性能測定値17a,17bとを用いて、サンプルサイズ16a,16bに対して生じる予測性能の分散の推定結果を示す分散推定値18a,18bを算出する。分散推定値18aはサンプルサイズ16aにおける予測性能の分散を示し、分散推定値18bはサンプルサイズ16bにおける予測性能の分散を示す。通常、サンプルサイズが小さいほど予測性能の分散は大きくなる。
例えば、処理部12は、予測性能測定値17a,17bをそれぞれ期待ロス推定値に変換すると共に、予測性能測定値17a,17bに基づいて第1の機械学習アルゴリズムにとっての期待バイアス推定値を算出する。予測性能測定値17a,17bを期待ロス推定値に変換する方法は、使用する予測性能の指標や期待ロスの指標に依存する。例えば、予測性能測定値yに対応する期待ロス推定値は、1−y,y,y2などになることがある。期待バイアス推定値は、例えば、予測性能測定値17a,17bを試行錯誤的に曲線にフィッティングすることで、期待ロスの下限値として算出することができる。処理部12は、複数の期待ロス推定値それぞれと期待バイアス推定値とを関係情報13が示す式に代入することで、分散推定値18a,18bを算出することができる。
処理部12は、予測性能測定値17a,17bと分散推定値18a,18bを用いて、非線形回帰分析により、第1の機械学習アルゴリズムについての予測性能曲線14を生成する。予測性能曲線14は、サンプルサイズと予測性能との間の関係を示す曲線であって、予測性能が一定の予測性能上限値に漸近する非線形の回帰曲線である。このとき、処理部12は、分散推定値18a,18bに応じて予測性能測定値17a,17bに対して重みを付与してもよい。分散推定値が大きいほど重みが小さくなることが好ましく、例えば、重みは分散推定値に反比例する。重みが小さいことは、予測性能曲線14上の予測性能推定値と予測性能測定値との間に大きな残差が許容されることを意味する。
処理部12は、予測性能曲線14とサンプルサイズ16cとに基づいて、第1の機械学習アルゴリズムに対する評価値19aを算出する。サンプルサイズ16cは、例えば、予測性能測定値を算出済みであるサンプルサイズ16a,16bよりも大きい。評価値19aは、サンプルサイズ16cの予測性能の推定結果に関する値である。例えば、処理部12は、予測性能曲線14によって推定されるサンプルサイズ16cの予測性能推定値を求め、予測性能推定値または予測性能推定値から変換された値を評価値19aとする。
また、処理部12は、第2の機械学習アルゴリズムについての予測性能曲線15を取得する。処理部12は、予測性能曲線14と同様の方法で予測性能曲線15を生成してもよい。処理部12は、予測性能曲線15とサンプルサイズ16cとに基づいて、第2の機械学習アルゴリズムに対する評価値19bを算出する。評価値19bは、評価値19aと同様にサンプルサイズ16cの予測性能の推定結果に関する値である。例えば、処理部12は、予測性能曲線15によって推定されるサンプルサイズ16cの予測性能推定値を求め、予測性能推定値または予測性能推定値から変換された値を評価値19bとする。
そして、処理部12は、評価値19aと評価値19bとを比較し、比較結果(評価値19aと評価値19bの大小)に応じて機械学習の実行を制御する。例えば、処理部12は、第1の機械学習アルゴリズムと第2の機械学習アルゴリズムのうち評価値が高い方の機械学習アルゴリズムが優先的に実行されるように制御する。
第1の実施の形態の比較装置10によれば、ある機械学習アルゴリズムの複数のサンプルサイズにおける予測性能測定値と関係情報13とから、各サンプルサイズで生じる分散を推定した分散推定値が算出される。複数のサンプルサイズそれぞれにおける予測性能測定値と分散推定値とを用いて、回帰分析により予測性能曲線14が生成される。そして、予測性能曲線14から算出される評価値19aと他の機械学習アルゴリズムの予測性能曲線15から算出される評価値19bとが比較される。
これにより、サンプルサイズによって予測性能の分散が異なること(異分散性)を考慮しない場合よりも、予測性能曲線14の推定精度が向上する。その結果、異なる機械学習アルゴリズムの間の予測性能に関する比較の精度を向上させることができる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、機械学習装置のハードウェア例を示すブロック図である。
機械学習装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107は、バス108に接続されている。なお、機械学習装置100は、第1の実施の形態の比較装置10に対応する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
CPU101は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、機械学習装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには比較プログラムが含まれる。なお、機械学習装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、機械学習装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
入力信号処理部105は、機械学習装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、機械学習装置100に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の装置と通信を行うインタフェースである。通信インタフェース107は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
次に、機械学習におけるサンプルサイズと予測性能と学習時間の間の関係、および、プログレッシブサンプリング法について説明する。
第2の実施の形態の機械学習では、既知の事例を示す複数の単位データを含むデータを予め収集しておく。機械学習装置100または他の情報処理装置が、センサデバイスなどの各種デバイスからネットワーク114経由でデータを収集してもよい。収集されるデータは、「ビッグデータ」と呼ばれるサイズの大きなデータであってもよい。各単位データは、通常、1以上の説明変数の値と1つの目的変数の値とを含む。例えば、商品の需要予測を行う機械学習では、気温や湿度など商品需要に影響を与える要因を説明変数とし、商品需要量を目的変数とした実績データを収集する。
機械学習装置100は、収集されたデータの中から一部の単位データを訓練データとしてサンプリングし、訓練データを用いてモデルを学習する。モデルは、説明変数と目的変数との間の関係を示し、通常、1以上の説明変数と1以上の係数と1つの目的変数とを含む。モデルは、例えば、線形式、二次以上の多項式、指数関数、対数関数などの各種数式によって表されてもよい。数式の形は、機械学習の前にユーザによって指定されてもよい。係数は、機械学習によって訓練データに基づいて決定される。
学習されたモデルを用いることで、未知の事例の説明変数の値(要因)から、未知の事例の目的変数の値(結果)を予測することができる。例えば、来期の気象予報から来期の商品需要量を予測できる。モデルによって予測される結果は、0以上1以下の確率などの連続量であってもよいし、YES/NOの2値などの離散値であってもよい。
学習されたモデルに対しては「予測性能」を算出することができる。予測性能は、未知の事例の結果を正確に予測する能力であり、「精度」と言うこともできる。機械学習装置100は、収集されたデータの中から訓練データ以外の単位データをテストデータとしてサンプリングし、テストデータを用いて予測性能を算出する。テストデータのサイズは、例えば、訓練データのサイズの1/2程度とする。機械学習装置100は、テストデータに含まれる説明変数の値をモデルに入力し、モデルが出力する目的変数の値(予測値)とテストデータに含まれる目的変数の値(実績値)とを比較する。なお、学習したモデルの予測性能を検証することを「バリデーション」と言うことがある。
予測性能の指標としては、正答率(Accuracy)、適合率(Precision)、平均二乗誤差(MSE)、二乗平均平方根誤差(RMSE)などが挙げられる。例えば、結果がYES/NOの2値で表されるとする。また、N1件のテストデータの事例のうち、予測値=YES・実績値=YESの件数をTp、予測値=YES・実績値=NOの件数をFp、予測値=NO・実績値=YESの件数をFn、予測値=NO・実績値=NOの件数をTnとする。正答率は予測が当たった割合であり、(Tp+Tn)/N1と算出される。適合率は「YES」の予測を間違えない確率であり、Tp/(Tp+Fp)と算出される。平均二乗誤差MSEは、各事例の実績値をyと表し予測値をy^と表すと、sum(y−y^)2/N1と算出される。二乗平均平方根誤差RMSEは、(sum(y−y^)2/N11/2と算出される。MSE=RMSE2である。
ここで、ある1つの機械学習アルゴリズムを使用する場合、訓練データとしてサンプリングする単位データの数(サンプルサイズ)が大きいほど予測性能は高くなる。
図3は、サンプルサイズと予測性能の関係例を示すグラフである。
曲線21は、モデルの予測性能とサンプルサイズとの間の関係を示す。サンプルサイズs1,s2,s3,s4,s5の間の大小関係は、s1<s2<s3<s4<s5である。例えば、s2はs1の2倍または4倍、s3はs2の2倍または4倍、s4はs3の2倍または4倍、s5はs4の2倍または4倍である。
曲線21が示すように、サンプルサイズがs2の場合の予測性能はs1の場合よりも高い傾向にある。サンプルサイズがs3の場合の予測性能はs2の場合よりも高い傾向にある。サンプルサイズがs4の場合の予測性能はs3の場合よりも高い傾向にある。サンプルサイズがs5の場合の予測性能はs4の場合よりも高い傾向にある。このように、サンプルサイズが大きくなるほど予測性能も高くなる傾向にある。ただし、予測性能が低いうちは、サンプルサイズの増加に応じて予測性能が大きく上昇する。一方で、予測性能には上限があり、予測性能が上限に近づくと、サンプルサイズの増加量に対する予測性能の上昇量の比は逓減する。
また、サンプルサイズが大きいほど、機械学習に要する学習時間も大きくなる傾向にある。このため、サンプルサイズを過度に大きくすると、学習時間の点で機械学習が非効率になる。図3の例の場合、サンプルサイズをs4とすると、上限に近い予測性能を短時間で達成できる。一方、サンプルサイズをs3とすると、予測性能が不十分であるおそれがある。また、サンプルサイズをs5とすると、予測性能は上限に近いものの、単位学習時間当たりの予測性能の上昇量が小さく、機械学習が非効率になる。
このようなサンプルサイズと予測性能との間の関係は、同じ機械学習アルゴリズムを使用する場合であっても、使用するデータの性質(データの種類)によって異なる。このため、予測性能の上限や上限に近い予測性能を達成できる最小のサンプルサイズを、機械学習を行う前に事前に推定することは難しい。そこで、プログレッシブサンプリング法という機械学習方法が提案されている。プログレッシブサンプリング法については、例えば、前述の非特許文献1("Efficient Progressive Sampling")に記載がある。
プログレッシブサンプリング法では、サンプルサイズを小さな値から始めて段階的に大きくしていき、予測性能が所定条件を満たすまで機械学習を繰り返す。例えば、機械学習装置100は、サンプルサイズs1で機械学習を行い、学習されたモデルの予測性能を評価する。予測性能が不十分であれば、機械学習装置100は、サンプルサイズs2で機械学習を行って予測性能を評価する。このとき、サンプルサイズs2の訓練データは、サンプルサイズs1の訓練データ(前に使用した訓練データ)の一部または全部を包含していてもよい。同様に、機械学習装置100は、サンプルサイズs3で機械学習を行って予測性能を評価し、サンプルサイズs4で機械学習を行って予測性能を評価する。サンプルサイズs4で予測性能が十分と判断すると、機械学習装置100は、機械学習を停止しサンプルサイズs4で学習したモデルを採用する。
上記のように、プログレッシブサンプリング法では、1つのサンプルサイズに対する処理(1つの学習ステップ)毎に、モデルの学習と当該モデルの予測性能の評価とを行う。各学習ステップ内の手順(バリデーション方法)としては、例えば、クロスバリデーションやランダムサブサンプリングバリデーションなどを用いることができる。
クロスバリデーションでは、機械学習装置100は、サンプリングしたデータをK個(Kは2以上の整数)のブロックに分割し、このうちK−1個のブロックを訓練データとして使用して1個のブロックをテストデータとして使用する。機械学習装置100は、テストデータとして使用するブロックを変えながらモデルの学習と予測性能の評価をK回繰り返す。1つの学習ステップの結果として、例えば、K個のモデルのうち最も予測性能の高いモデルと、K回の予測性能の平均値とが出力される。クロスバリデーションは、限定された量のデータを活用して予測性能の評価を可能とする。
ランダムサブサンプリングバリデーションでは、機械学習装置100は、データの母集合から訓練データとテストデータをランダムにサンプリングし、訓練データを用いてモデルを学習し、テストデータを用いてモデルの予測性能を算出する。機械学習装置100は、サンプリングとモデルの学習と予測性能の評価をK回繰り返す。
各サンプリングは、非復元抽出サンプリングである。すなわち、1回のサンプリングの中で、訓練データ内に同じ単位データは重複して含まれず、テストデータ内に同じ単位データは重複して含まれない。また、1回のサンプリングの中で、訓練データとテストデータに同じ単位データは重複して含まれない。ただし、K回のサンプリングの間で、同じ単位データが選択されることはあり得る。1つの学習ステップの結果として、例えば、K個のモデルのうち最も予測性能の高いモデルと、K回の予測性能の平均値とが出力される。
ところで、訓練データからモデルを学習する手順(機械学習アルゴリズム)には様々なものが存在する。機械学習装置100は、複数の機械学習アルゴリズムを使用することができる。機械学習装置100が使用できる機械学習アルゴリズムの数は、数十〜数百程度であってもよい。機械学習アルゴリズムの一例として、ロジスティック回帰分析、サポートベクタマシン、ランダムフォレストなどを挙げることができる。
ロジスティック回帰分析は、目的変数yの値と説明変数x1,x2,…,xkの値をS字曲線にフィッティングする回帰分析である。目的変数yおよび説明変数x1,x2,…,xkは、log(y/(1−y))=a11+a22+…+akk+bの関係を満たすと仮定される。a1,a2,…,ak,bは係数であり、回帰分析によって決定される。
サポートベクタマシンは、空間に配置された単位データの集合を、2つのクラスに最も明確に分割するような境界面を算出する機械学習アルゴリズムである。境界面は、各クラスとの距離(マージン)が最大になるように算出される。
ランダムフォレストは、複数の単位データを適切に分類するためのモデルを生成する機械学習アルゴリズムである。ランダムフォレストでは、母集合から単位データをランダムにサンプリングする。説明変数の一部をランダムに選択し、選択した説明変数の値に応じてサンプリングした単位データを分類する。説明変数の選択と単位データの分類を繰り返すことで、複数の説明変数の値に基づく階層的な決定木を生成する。単位データのサンプリングと決定木の生成を繰り返すことで複数の決定木を取得し、それら複数の決定木を合成することで、単位データを分類するための最終的なモデルを生成する。
なお、機械学習アルゴリズムは、その挙動を制御するための1以上のハイパーパラメータをもつことがある。ハイパーパラメータは、モデルに含まれる係数(パラメータ)と異なり機械学習を通じて値が決定されるものではなく、機械学習アルゴリズムの実行前に値が与えられるものである。ハイパーパラメータの例として、ランダムフォレストにおける決定木の生成本数、回帰分析のフィッティング精度、モデルに含まれる多項式の次数などが挙げられる。ハイパーパラメータの値として、固定値が使用されることもあるし、ユーザから指定された値が使用されることもある。生成されるモデルの予測性能は、ハイパーパラメータの値にも依存する。機械学習アルゴリズムとサンプルサイズが同じでも、ハイパーパラメータの値が変わるとモデルの予測性能も変化し得る。
第2の実施の形態では、機械学習アルゴリズムの種類が同じでハイパーパラメータの値が異なる場合、異なる機械学習アルゴリズムを使用したものとして取り扱ってもよい。機械学習アルゴリズムの種類とハイパーパラメータの値の組み合わせを、コンフィギュレーションと言うこともある。すなわち、機械学習装置100は、異なるコンフィギュレーションを異なる機械学習アルゴリズムとして取り扱ってもよい。
図4は、学習時間と予測性能の関係例を示すフラグである。
曲線22〜24は、著名なデータ集合(CoverType)を用いて測定された学習時間と予測性能の間の関係を示している。予測性能の指標として、ここでは正答率を用いている。曲線22は、機械学習アルゴリズムとしてロジスティック回帰分析を用いた場合の学習時間と予測性能の間の関係を示す。曲線23は、機械学習アルゴリズムとしてサポートベクタマシンを用いた場合の学習時間と予測性能の間の関係を示す。曲線24は、機械学習アルゴリズムとしてランダムフォレストを用いた場合の学習時間と予測性能の間の関係を示す。なお、図4の横軸は、学習時間について対数目盛になっている。
曲線22が示すように、ロジスティック回帰分析を使用した場合、サンプルサイズ=800における予測性能は約0.71、学習時間は約0.2秒である。サンプルサイズ=3200における予測性能は約0.75、学習時間は約0.5秒である。サンプルサイズ=12800における予測性能は約0.755、学習時間は1.5秒である。サンプルサイズ=51200における予測性能は約0.76、学習時間は約6秒である。
曲線23が示すように、サポートベクタマシンを使用した場合、サンプルサイズ=800における予測性能は約0.70、学習時間は約0.2秒である。サンプルサイズ=3200における予測性能は約0.77、学習時間は約2秒である。サンプルサイズ=12800における予測性能は約0.785、学習時間は約20秒である。
曲線24が示すように、ランダムフォレストを使用した場合、サンプルサイズ=800における予測性能は約0.74、学習時間は約2.5秒である。サンプルサイズ=3200における予測性能は約0.79、学習時間は約15秒である。サンプルサイズ=12800における予測性能は約0.82、学習時間は約200秒である。
このように、上記のデータ集合に対しては、ロジスティック回帰分析は全体的に学習時間が短く予測性能が低い。サポートベクタマシンは、全体的にロジスティック回帰分析よりも学習時間が長く予測性能が高い。ランダムフォレストは、全体的にサポートベクタマシンよりも更に学習時間が長く予測性能が高い。ただし、図4の例では、サンプルサイズが小さい場合のサポートベクタマシンの予測性能は、ロジスティック回帰分析の予測性能よりも低くなっている。すなわち、プログレッシブサンプリング法における初期段階の予測性能の上昇カーブも、機械学習アルゴリズムによって異なる。
また、前述のように、個々の機械学習アルゴリズムの予測性能の上限や予測性能の上昇カーブは、使用するデータの性質にも依存する。そのため、複数の機械学習アルゴリズムのうち、予測性能の上限が最も高い機械学習アルゴリズムや上限に近い予測性能を最も短時間で達成できる機械学習アルゴリズムを事前に特定することは難しい。そこで、機械学習装置100は、以下のように複数の機械学習アルゴリズムを使用して、予測性能の高いモデルを効率的に得られるようにする。
図5は、複数の機械学習アルゴリズムの使用例を示す図である。
ここでは説明を簡単にするため、機械学習アルゴリズムA,B,Cの3つの機械学習アルゴリズムが存在する場合を考える。機械学習アルゴリズムAのみを使用してプログレッシブサンプリング法を行う場合、学習ステップ31,32,33(A1,A2,A3)が順に実行される。機械学習アルゴリズムBのみを使用してプログレッシブサンプリング法を行う場合、学習ステップ34,35,36(B1,B2,B3)が順に実行される。機械学習アルゴリズムCのみを使用してプログレッシブサンプリング法を行う場合、学習ステップ37,38,39(C1,C2,C3)が順に実行される。なお、ここでは、学習ステップ33,36,39でそれぞれ停止条件が満たされるものと仮定する。
学習ステップ31,34,37のサンプルサイズは同じである。例えば、学習ステップ31,34,37の単位データ数はそれぞれ1万である。学習ステップ32,35,38のサンプルサイズは同じであり、学習ステップ31,34,37のサンプルサイズの2倍または4倍程度である。例えば、学習ステップ32,35,38の単位データ数はそれぞれ4万である。学習ステップ33,36,39のサンプルサイズは同じであり、学習ステップ32,35,38のサンプルサイズの2倍または4倍程度である。例えば、学習ステップ33,36,39の単位データ数はそれぞれ16万である。
機械学習装置100は、各機械学習アルゴリズムについて、サンプルサイズが1段階大きい学習ステップを実行した場合の予測性能の改善速度を推定し、改善速度が最大の機械学習アルゴリズムを選択して実行する。学習ステップを1つ進める毎に、改善速度の推定値が見直される。このため、最初のうちは複数の機械学習アルゴリズムの学習ステップが混在して実行され、徐々に使用する機械学習アルゴリズムが限定されていく。
改善速度の推定値は、性能改善量の推定値を実行時間の推定値で割ったものである。性能改善量の推定値は、次の学習ステップの予測性能の推定値と、複数の機械学習アルゴリズムを通じて現在までに達成された予測性能の最大値(達成予測性能と言うことがある)との差である。次の学習ステップの予測性能は、同じ機械学習アルゴリズムの過去の予測性能と次の学習ステップのサンプルサイズとに基づいて推定される。実行時間の推定値は、次の学習ステップに要する時間の推定値であり、同じ機械学習アルゴリズムの過去の実行時間と次の学習ステップのサンプルサイズとに基づいて推定される。
機械学習装置100は、機械学習アルゴリズムAの学習ステップ31と、機械学習アルゴリズムBの学習ステップ34と、機械学習アルゴリズムCの学習ステップ37とを実行する。機械学習装置100は、学習ステップ31,34,37の実行結果に基づいて、機械学習アルゴリズムA,B,Cの改善速度をそれぞれ推定する。ここでは、機械学習アルゴリズムAの改善速度=2.5、機械学習アルゴリズムBの改善速度=2.0、機械学習アルゴリズムCの改善速度=1.0と推定されたとする。すると、機械学習装置100は、改善速度が最大の機械学習アルゴリズムAを選択し、学習ステップ32を実行する。
学習ステップ32が実行されると、機械学習装置100は、機械学習アルゴリズムA,B,Cの改善速度を更新する。ここでは、機械学習アルゴリズムAの改善速度=0.73、機械学習アルゴリズムBの改善速度=1.0、機械学習アルゴリズムCの改善速度=0.5と推定されたとする。学習ステップ32によって達成予測性能が上昇したため、機械学習アルゴリズムB,Cの改善速度も低下している。機械学習装置100は、改善速度が最大の機械学習アルゴリズムBを選択し、学習ステップ35を実行する。
学習ステップ35が実行されると、機械学習装置100は、機械学習アルゴリズムA,B,Cの改善速度を更新する。ここでは、機械学習アルゴリズムAの改善速度=0.0、機械学習アルゴリズムBの改善速度=0.8、機械学習アルゴリズムCの改善速度=0.0と推定されたとする。機械学習装置100は、改善速度が最大の機械学習アルゴリズムBを選択し、学習ステップ36を実行する。学習ステップ36によって予測性能が十分に上昇したと判定されると、機械学習は終了する。この場合、機械学習アルゴリズムAの学習ステップ33や機械学習アルゴリズムCの学習ステップ38,39は実行されない。
ここで、次の学習ステップの予測性能を推定するにあたっては、統計誤差を考慮し、予測性能が今後上昇する可能性のある機械学習アルゴリズムを早期に切り捨ててしまうリスクを低減することが好ましい。例えば、機械学習装置100は、回帰分析によって予測性能の期待値とその95%予測区間を算出し、95%予測区間の上限値(UCB:Upper Confidence Bound)を、改善速度を算出する際の予測性能を推定値として使用することが考えられる。95%予測区間は、測定される予測性能のばらつきを示すものであり、新たに測定される予測性能が95%の確率でこの区間に収まると予想されることを示す。すなわち、統計上の期待値よりも統計誤差に応じた幅だけ大きい値を使用する。
ただし、UCBに代えて、機械学習装置100は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える確率(PI:Probability of Improvement)を算出してもよい。また、機械学習装置100は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える期待値(EI:Expected Improvement)を算出してもよい。
このように、予測性能の改善に寄与しない学習ステップは実行されず、全体の学習時間を短縮することができる。また、単位時間当たりの性能改善量が最大である機械学習アルゴリズムの学習ステップが優先的に実行される。このため、学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルとなる。また、少しでも予測性能の改善に寄与する学習ステップは、実行順序が後になる可能性はあるものの実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムを切り捨ててしまうリスクを低減できる。
次に、予測性能の推定について説明する。
図6は、予測性能の分布例を示すグラフである。
あるサンプルサイズに対する予測性能の実測値は、機械学習アルゴリズムとデータの母集合の性質とから決まる期待値から乖離するリスクがある。すなわち、同じデータ母集合を使用しても、訓練データおよびテストデータの選択の偶然性などによって、予測性能の実測値にばらつきが生じる。予測性能のばらつき(分散や標準偏差など)は、サンプルサイズが小さいほど大きく、サンプルサイズが大きいほど小さくなる傾向にある。
グラフ41は、サンプルサイズと予測性能との間の関係を示す。ここでは、同じ機械学習アルゴリズムおよび同じデータ母集合を用いて、サンプルサイズ1つ当たり50回ずつ学習ステップを実行している。グラフ41は、1つのサンプルサイズにつき50個の予測性能の実測値をプロットしたものである。なお、グラフ41では、予測性能の指標として、値が大きいほど予測性能が高いことを示す正答率を用いている。
この例では、グラフ41に示すように、サンプルサイズが「100」の場合の予測性能の実測値は、約0.58〜0.68であり広範囲に広がっている。サンプルサイズが「500」の場合の予測性能の実測値は、約0.69〜0.75であり、サンプルサイズが「100」の場合よりもその範囲が狭くなっている。以降、サンプルサイズが大きくなるに従い、予測性能の実測値の範囲は狭くなる。サンプルサイズが十分に大きくなると、予測性能の実測値は約0.76に収束している。
上記のように、機械学習装置100は、機械学習アルゴリズム毎に、次の学習ステップを実行した場合に達成される予測性能を推定する。予測性能の推定のため、機械学習装置100は、それまでに取得した予測性能の実測値に基づいて予測性能曲線を推定する。しかし、予測性能の実測値(特に、小さなサンプルサイズにおける予測性能の実測値)は、期待値から乖離することがある。また、グラフ41ではサンプルサイズ1つ当たり50回ずつ学習ステップを実行しているが、時間的制約から、サンプルサイズ1つ当たりの学習ステップの実行回数を1回または少数回とすることが好ましい。よって、推定される予測性能曲線の精度が問題となる。
図7は、予測性能曲線の推定例を示すグラフである。
ここでは、複数のサンプルサイズのうち小さい方から6つについて学習ステップを実行して予測性能の実測値を取得し、その6つの予測性能の実測値を用いて予測性能曲線を推定している。そして、それ以降のサンプルサイズについて学習ステップを進め、取得された予測性能の実測値と推定した予測性能曲線とを対比している。
曲線42は、予測性能の実測値を非線形関数に直接フィッティングして、非線形回帰分析により算出した予測性能曲線である。この例では、4番目と5番目の実測値が期待値よりも小さくなっている。このため、曲線42は、4番目と5番目の実測値の影響を受けて予測性能の上限を小さく見積もったものとなっている。その結果、7番目以降のサンプルサイズについて、曲線42が示す予測性能の推定値は実測値を大きく下回っている。
曲線42aは、曲線42に対する予測区間の上限を示す。曲線42bは、曲線42に対する予測区間の下限を示す。予測区間は、同じ条件で実測値を繰り返し取得した場合に、取得した実測値の95%が収まると予想される範囲である。予測区間は、回帰分析の過程で曲線42と併せて算出される。曲線42a,42bが示すように、予測性能の実測値を非線形関数に直接フィッティングすると、予測区間が著しく広くなっている。そのため、予測性能が推定値から乖離するリスクを適切に評価することが難しい。
このように、単純な非線形回帰分析では、算出される予測性能曲線の推定精度が高くならないおそれがある。これは、サンプルサイズによって予測性能のばらつきが異なる、すなわち、等分散性が成立しないことが一因である。等分散性は、推定式に含まれる説明変数の何れの値に対しても、目的変数の実測値と推定値の差(残差)の分散が等しくなるという統計上の性質である。通常、回帰分析では等分散性が成立していることを仮定する。これに対し、グラフ41に示したように、サンプルサイズと予測性能には等分散性が成立しない。そのため、サンプルサイズを説明変数とし予測性能を目的変数とする回帰分析において、予測性能曲線を高精度に推定することは容易でない。
そこで、機械学習装置100は、以下のようにして予測性能曲線を推定する。
まず、バイアス・バリアンス分解の考え方について説明する。バイアス・バリアンス分解は、1つの機械学習アルゴリズムの良否や機械学習アルゴリズムに適用するハイパーパラメータの良否を評価するために用いられることがある。バイアス・バリアンス分解では、ロス(損失)とバイアスとバリアンスという3つの指標が用いられる。ロス=バイアスの二乗+バリアンスという関係が成立する。
ロスは、機械学習によって生成されるモデルが予測を外す度合いを示す指標である。ロスの種類には0−1ロスや二乗ロスなどがある。0−1ロスは、予測に成功すれば0を付与し予測に失敗すれば1を付与することで算出されるロスであり、その期待値は予測が失敗する確率を示す。予測が外れることが少ないほど0−1ロスの期待値は小さく、予測が外れることが多いほど0−1ロスの期待値は大きい。二乗ロスは、予測値と真の値との差(予測誤差)の二乗である。予測誤差が小さいほど二乗ロスは小さく、予測誤差が大きいほど二乗ロスは大きい。期待ロス(ロスの期待値)と予測性能とは相互に変換できる。予測性能が正答率(Accuracy)でありロスが0−1ロスである場合、期待ロス=1−予測性能である。予測性能が平均二乗誤差(MSE)でありロスが二乗ロスである場合、期待ロス=MSEである。予測性能が二乗平均平方根誤差(RMSE)でありロスが二乗ロスである場合、期待ロス=RMSEの二乗である。
バイアスは、機械学習によって生成されるモデルの予測値が真の値に対して偏る程度を示す指標である。バイアスが小さいほど精度の高いモデルであると言うことができる。バリアンスは、機械学習によって生成されるモデルの予測値がばらつく程度を示す指標である。バリアンスが小さいほど精度の高いモデルであると言うことができる。ただし、バイアスとバリアンスの間にはトレードオフの関係があることが多い。
次数の小さい多項式など複雑性の低いモデル(表現力の低いモデルと言うこともできる)では、モデルの係数をどの様に調整しても、複数のサンプルケースの全てについて真の値に近い予測値を出力するようにすることは難しい。すなわち、複雑性の低いモデルを用いると複雑な事象を表現できない。よって、複雑性の低いモデルのバイアスは大きくなる傾向にある。この点、次数の大きい多項式など複雑性の高いモデル(表現力の高いモデルと言うこともできる)では、モデルの係数を適切に調整することで、複数のサンプルケースの全てについて真の値に近い予測値を出力することができる余地がある。よって、複雑性の高いモデルのバイアスは小さくなる傾向にある。
一方で、複雑性の高いモデルでは、訓練データとして使用するサンプルケースの特徴に過度に依存したモデルが生成されるという過学習が生じるリスクがある。過学習によって生成されたモデルは、他のサンプルケースについて適切な予測値を出力できないことが多い。例えば、n次の多項式を用いると、n+1個のサンプルケースについて真の値と完全に一致する予測値を出力するモデル(残差が0のモデル)を生成できる。しかし、あるサンプルケースについて残差が0になるモデルは、通常は過度に複雑なモデルであり、他のサンプルケースについて予測誤差が著しく大きい予測値を出力してしまうリスクが高くなる。よって、複雑性の高いモデルのバリアンスは大きくなる傾向にある。この点、複雑性の低いモデルでは、予測誤差が著しく大きい予測値を出力してしまうリスクは低く、バリアンスは小さくなる傾向にある。このように、ロスの成分としてのバイアスとバリアンスは、モデルを生成する機械学習アルゴリズムの特性に依存している。
次に、ロスとバイアスとバリアンスの形式的定義を説明する。ここでは、二乗ロスをバイアスとバリアンスに分解する例について説明する。
同一のデータ母集合からK個の訓練データDk(k=1,2,…,K)が抽出され、K個のモデルが生成されたとする。また、上記のデータ母集合からn個のテストケースを含むテストデータTが抽出されたとする。i番目のテストケースは、説明変数の値Xiと目的変数の真の値Yiとを含む(i=1,2,…,n)。k番目のモデルからは説明変数の値Xiに対して目的変数の予測値yikが算出される。
すると、k番目のモデルとi番目のテストケースとの間で算出される予測誤差eikはeik=Yi−yikと定義され、そのロス(二乗ロス)はeik 2と定義される。i番目のテストケースに対しては、バイアスBiとバリアンスViとロスLiが定義される。バイアスBiはBi=ED[eik]と定義される。ED[]はK個の訓練データの間の平均値(期待値)を表す。バリアンスViはVi=VD[eik]と定義される。VD[]はK個の訓練データの間の分散を表す。ロスLiはLi=ED[eik 2]と定義される。前述のロスとバイアスとバリアンスの間の関係からLi=Bi 2+Viが成立する。
テストデータT全体に対しては、期待バイアスEB2と期待バリアンスEVと期待ロスELが定義される。期待バイアスEB2はEB2=Ex[Bi 2]と定義される。Ex[]はn個のテストケースの間の平均値(期待値)を表す。期待バリアンスEVはEV=Ex[Vi]と定義される。期待ロスELはEL=Ex[Li]と定義される。前述のロスとバイアスとバリアンスの間の関係からEL=EB2+EVが成立する。
次に、予測性能曲線を推定するにあたって、各サンプルサイズで測定される予測性能に生じるばらつき度(分散度)を推定する方法を説明する。第2の実施の形態では、予測性能の分散の推定に上記のバイアス・バリアンス分解の考え方を応用する。
本出願の発明者らは、各サンプルサイズにおける予測性能の分散が、次の数式によって近似されることを発見した。VLj=C×(ELj+EB2)×(ELj−EB2)。VLjはサンプルサイズsjにおける予測性能の分散を表す。Cは所定の定数である。第2の実施の形態では複数のサンプルサイズの間の分散VLjの比を予測性能曲線の推定に利用するため、定数Cの値は不明であってもよい。例えば、C=1と仮定してもよい。ELjはサンプルサイズsjにおける期待ロスを表す。EB2は機械学習アルゴリズムの期待バイアスを表す。以下、この数式の意味について説明を加える。
図8は、サンプルサイズとロスの関係例を示すグラフである。
曲線43はサンプルサイズとロスの推定値との間の関係を示すロス曲線である。図3では縦軸が予測性能であるのに対し、図8では縦軸がロスに変換されている。前述のように予測性能とロスは、予測性能の指標とロスの指標に応じて相互に変換可能である。曲線43は、サンプルサイズの増加に応じてロスが単調に減少し一定の下限ロスに漸近する非線形曲線である。サンプルサイズが小さいうちはロスの減少量が大きく、サンプルサイズが大きくなるとロスの減少量が小さくなっていく。
サンプルサイズsjにおける曲線43上の点のロス(ロス=0から曲線43上の点までの距離)は、サンプルサイズsjの期待ロスELjに相当する。曲線43によって特定される下限ロスは、図3の曲線21によって特定される予測性能上限に対応しており、0より大きい値である。例えば、予測性能上限をcとおくと、予測性能が正答率(Accuracy)である場合、下限ロスは1−cとなる。予測性能が平均二乗誤差(MSE)である場合、下限ロスはcとなる。予測性能が二乗平均平方根誤差(RMSE)である場合、下限ロスはc2となる。下限ロスは、この機械学習アルゴリズムにとっての期待バイアスEB2に相当する。サンプルサイズが十分大きくなると、機械学習に使用する訓練データの特徴がデータ母集合の特徴に一致し、期待バリアンスが0に近づくためである。
期待ロスELjと期待バイアスEB2の差は、サンプルサイズsjにおけるギャップと言うことができる。ギャップは、サンプルサイズを大きくすることでその機械学習アルゴリズムがロスを低減できる余地を表している。ギャップは、図3の曲線21上の点と予測性能上限との間の距離に対応し、サンプルサイズを大きくすることでその機械学習アルゴリズムが予測性能を改善できる余地を表しているとも言える。ギャップは、サンプルサイズsjにおける期待バリアンスの影響を受ける。
ここで、上記の分散VLjの近似式は、ELj+EB2という項とELj−EB2という項を含む。これは、分散VLjは、期待ロスと期待バイアスの和に比例する側面と、期待ロスと期待バイアスの差であるギャップに比例する側面を有していることを意味している。
期待バイアスEB2が十分に小さい、すなわち、予測性能上限が十分に大きい機械学習アルゴリズムでは、サンプルサイズがある程度大きくなってもELj+EB2の値とELj−EB2の値は共に変化する。また、この場合にはELj+EB2の値はELj−EB2の値に近似する。よって、分散VLjは全体としてギャップの二乗に比例する傾向にある。一方、期待バイアスEB2が十分に大きい、すなわち、予測性能上限が十分に大きいとは言えない機械学習アルゴリズムでは、サンプルサイズがある程度大きくなるとELj+EB2の値はほとんど変化しなくなり、早期に定数化する。よって、分散VLjは全体としてギャップに比例する傾向にある。このように、機械学習アルゴリズムによって、分散VLjが概ねギャップの二乗に比例する場合とギャップに比例する場合とがある。
第2の実施の形態で使用するVLj=C×(ELj+EB2)×(ELj−EB2)という数式の導出過程の詳細については後述する。
次に、機械学習装置100が行う処理について説明する。
図9は、機械学習装置の機能例を示すブロック図である。
機械学習装置100は、データ記憶部121、管理テーブル記憶部122、学習結果記憶部123、制限時間入力部131、ステップ実行部132、時間推定部133、性能改善量推定部134および学習制御部135を有する。データ記憶部121、管理テーブル記憶部122および学習結果記憶部123は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実装される。制限時間入力部131、ステップ実行部132、時間推定部133、性能改善量推定部134および学習制御部135は、例えば、CPU101が実行するプログラムモジュールを用いて実装される。
データ記憶部121は、機械学習に使用できるデータの集合を記憶する。データの集合は、それぞれが目的変数の値(結果)と1以上の説明変数の値(要因)とを含む単位データの集合である。データ記憶部121に記憶されたデータは、機械学習装置100または他の情報処理装置が各種デバイスから収集したものでもよいし、機械学習装置100または他の情報処理装置に対してユーザが入力したものでもよい。
管理テーブル記憶部122は、機械学習の進行を管理する管理テーブルを記憶する。管理テーブルは、学習制御部135によって更新される。管理テーブルの詳細は後述する。
学習結果記憶部123は、機械学習の結果を記憶する。機械学習の結果には、目的変数と1以上の説明変数との間の関係を示すモデルが含まれる。例えば、各説明変数の重みを示す係数が機械学習によって決定される。また、機械学習の結果には、学習されたモデルの予測性能が含まれる。また、機械学習の結果には、モデルの学習に用いた機械学習アルゴリズムとサンプルサイズを示す情報が含まれる。機械学習アルゴリズムを示す情報には、使用されたハイパーパラメータが含まれることがある。
制限時間入力部131は、機械学習の制限時間の情報を取得し、制限時間を学習制御部135に通知する。制限時間の情報は、入力デバイス112を通じてユーザから入力されてもよい。また、制限時間の情報は、RAM102またはHDD103に記憶された設定ファイルから読み出すようにしてもよい。また、制限時間の情報は、ネットワーク114を介して他の情報処理装置から受信してもよい。
ステップ実行部132は、複数の機械学習アルゴリズムそれぞれを実行する。ステップ実行部132は、学習制御部135から、機械学習アルゴリズムとサンプルサイズの指定を受け付ける。すると、ステップ実行部132は、データ記憶部121に記憶されたデータを用いて、指定された機械学習アルゴリズムおよび指定されたサンプルサイズについての学習ステップを実行する。すなわち、ステップ実行部132は、指定されたサンプルサイズに基づいて、データ記憶部121から訓練データとテストデータを抽出する。ステップ実行部132は、訓練データおよび指定された機械学習アルゴリズムを用いてモデルを学習し、テストデータを用いて予測性能を算出する。
モデルの学習と予測性能の算出について、ステップ実行部132は、クロスバリデーションやランダムサブサンプリングバリデーションなどの各種のバリデーション方法を使用できる。使用するバリデーション方法は、ステップ実行部132に予め設定されてもよい。また、ステップ実行部132は、1つの学習ステップに要した実行時間を測定する。ステップ実行部132は、モデルと予測性能と実行時間を学習制御部135に出力する。
時間推定部133は、ある機械学習アルゴリズムのある学習ステップの実行時間を推定する。時間推定部133は、学習制御部135から機械学習アルゴリズムとサンプルサイズの指定を受け付ける。すると、時間推定部133は、指定された機械学習アルゴリズムに属する実行済みの学習ステップの実行時間から、実行時間の推定式を生成する。時間推定部133は、指定されたサンプルサイズと生成した推定式から実行時間を推定する。時間推定部133は、推定した実行時間を学習制御部135に出力する。
性能改善量推定部134は、ある機械学習アルゴリズムのある学習ステップの性能改善量を推定する。性能改善量推定部134は、学習制御部135から機械学習アルゴリズムとサンプルサイズの指定を受け付ける。すると、性能改善量推定部134は、指定された機械学習アルゴリズムに属する実行済みの学習ステップの予測性能から、予測性能の推定式を生成する。性能改善量推定部134は、指定されたサンプルサイズと生成した推定式から予測性能を推定する。このとき、性能改善量推定部134は、統計誤差を考慮して、UCBなど期待値よりも大きい予測性能を用いる。性能改善量推定部134は、現在の達成予測性能からの改善量を算出し、学習制御部135に出力する。
学習制御部135は、複数の機械学習アルゴリズムを用いた機械学習を制御する。学習制御部135は、まず複数の機械学習アルゴリズムそれぞれについて少なくとも1つの学習ステップをステップ実行部132に実行させる。学習制御部135は、学習ステップが進むと、同じ機械学習アルゴリズムの次の学習ステップの実行時間を時間推定部133に推定させ、次の学習ステップの性能改善量を性能改善量推定部134に推定させる。学習制御部135は、性能改善量を実行時間で割った改善速度を算出する。
そして、学習制御部135は、複数の機械学習アルゴリズムの中から改善速度が最大のものを選択し、選択した機械学習アルゴリズムの次の学習ステップをステップ実行部132に実行させる。学習制御部135は、改善速度の更新と機械学習アルゴリズムの選択とを、予測性能が所定の停止条件を満たすか学習時間が制限時間を超えるまで繰り返す。学習制御部135は、機械学習の停止までに得られたモデルのうち予測性能が最大のモデルを学習結果記憶部123に保存する。また、学習制御部135は、予測性能と機械学習アルゴリズムの情報とサンプルサイズの情報を学習結果記憶部123に保存する。
図10は、管理テーブルの例を示す図である。
管理テーブル122aは、学習制御部135によって生成されて管理テーブル記憶部122に記憶される。管理テーブル122aは、アルゴリズムID、サンプルサイズ、改善速度、予測性能および実行時間の項目を含む。
アルゴリズムIDの項目には、機械学習アルゴリズムを識別する識別情報が登録される。以下では、i番目(i=1,2,3,…)の機械学習アルゴリズムのアルゴリズムIDをaiと表記することがある。サンプルサイズの項目には、ある機械学習アルゴリズムについて次に実行すべき学習ステップのサンプルサイズが登録される。以下では、i番目の機械学習アルゴリズムに対応するサンプルサイズをkiと表記することがある。
なお、ステップ番号とサンプルサイズとは1対1に対応する。以下では、j番目の学習ステップのサンプルサイズをsjと表記することがある。データ記憶部121に記憶されたデータ集合をDとし、Dのサイズ(単位データの数)を|D|とすると、例えば、s1=|D|/210,sj=s1×2j-1と決定される。
改善速度の項目には、機械学習アルゴリズム毎に、次に実行すべき学習ステップの改善速度の推定値が登録される。改善速度の単位は、例えば、[秒-1]である。以下では、i番目の機械学習アルゴリズムに対応する改善速度をriと表記することがある。予測性能の項目には、機械学習アルゴリズム毎に、既に実行された学習ステップの予測性能の実測値が列挙される。以下では、i番目の機械学習アルゴリズムのj番目の学習ステップで算出された予測性能をpi,jと表記することがある。実行時間の項目には、機械学習アルゴリズム毎に、既に実行された学習ステップの実行時間の実測値が列挙される。実行時間の単位は、例えば、[秒]である。以下では、i番目の機械学習アルゴリズムのj番目の学習ステップの実行時間をTi,jと表記することがある。
図11は、性能改善量推定部の機能例を示すブロック図である。
性能改善量推定部134は、推定式生成部141、重み設定部142、非線形回帰部143、分散推定部144、予測性能推定部145および推定値出力部146を有する。
推定式生成部141は、ある機械学習アルゴリズムの実行履歴から、当該機械学習アルゴリズムについてサンプルサイズと予測性能の関係を示す予測性能曲線を推定する。予測性能曲線は、サンプルサイズの増加に応じて予測性能が一定の限界値に漸近する曲線であって、サンプルサイズが小さいときは予測性能の変化が大きくサンプルサイズが大きいときは予測性能の変化が小さくなる曲線である。予測性能の期待値は、y=c−exp(a×log(x)+b)などの非線形式によって表される。xはサンプルサイズを示す説明変数、yは予測性能を示す目的変数、a,b,cは係数である。
非線形回帰分析によって係数a,b,cが決定される。推定式生成部141は、予測性能曲線の推定に用いる実測データとして、実行済みの学習ステップのサンプルサイズxjと測定された予測性能yjの組<xj,yj>の集合を取得する。推定式生成部141は、この実測データに基づいて係数a,b,cを決定するよう重み設定部142に指示する。推定式生成部141は、決定された係数a,b,cを含む上記の非線形式を、サンプルサイズから予測性能の期待値を推定する関数として生成する。また、推定式生成部141は、サンプルサイズから予測性能の分散を推定する関数を生成する。各サンプルサイズに対する分散は、上記の非線形回帰分析を通じて、各サンプルサイズに対する期待値と合わせて統計処理によって特定される。推定式生成部141は、予測性能曲線に関する期待値の関数と分散の関数を予測性能推定部145に出力する。
重み設定部142は、非線形回帰分析に用いる実績データの中の各サンプルサイズxjに対して重みwjを設定する。重み設定部142は最初に、重みwjをwj=1に初期化する。重み設定部142は、設定した重みwjを非線形回帰部143に通知し、非線形回帰分析によって算出された係数a,b,cを非線形回帰部143から取得する。重み設定部142は、係数a,b,cが十分に収束したか判断する。十分に収束したとは言えない場合、重み設定部142は、係数cを分散推定部144に通知し、係数cに依存する各サンプルサイズxjの分散VLjを分散推定部144から取得する。重み設定部142は、分散VLjを用いて重みwjを更新する。通常、分散VLjと重みwjは反比例し、VLjが大きいほどwjは小さくなる。例えば、重み設定部142はwj=1/VLjとする。重み設定部142は、更新した重みwjを非線形回帰部143に通知する。このように、係数a,b,cが十分に収束するまで重みwjの更新と係数cの更新が繰り返される。
非線形回帰部143は、重み設定部142から通知された重みwjを用いて、実績データの<xj,yj>を上記の非線形式にフィッティングして係数a,b,cを決定する。非線形回帰部143は、決定した係数a,b,cを重み設定部142に通知する。非線形回帰部143が行う非線形回帰分析は重み付き回帰分析である。重みが小さいサンプルサイズについては相対的に大きな残差が許容され、重みが大きいサンプルサイズについては相対的に残差の制限が強くなる。例えば、各サンプルサイズの重みと残差平方の積を合計した評価値が最小になるように係数a,b,cが決定される。よって、重みが大きいサンプルサイズにおける残差を小さくすることが優先される。通常、サンプルサイズが大きいほど重みが大きいため、大きなサンプルサイズの残差を小さくすることが優先される。
分散推定部144は、重み設定部142から通知された係数cを用いて、実績データの予測性能yjに内包される誤差に関して各サンプルサイズxjの分散VLjを推定する。分散VLjは前述のように、期待バイアスEB2とサンプルサイズxjにおける期待ロスELjとから算出される。具体的には、VLj=C×(ELj+EB2)×(ELj−EB2)である。ただし、複数のサンプルサイズの間のVLjの比のみが重要であり各VLjの大きさ自体は重要でないことから、分散推定部144は計算を簡単にするため定数C=1とみなす。期待バイアスEB2は係数cから算出される。期待ロスELjは予測性能yjから算出される。分散推定部144は、推定した分散VLjを重み設定部142に通知する。
予測性能推定部145は、推定式生成部141から通知された関数と学習制御部135から指定されたサンプルサイズkiとを用いて、サンプルサイズkiにおける予測性能の期待値と分散を推定する。すなわち、期待値を出力する関数の引数にkiを代入し、分散を出力する関数の引数にkiを代入することで、期待値および分散を算出する。予測性能推定部145は、推定した期待値と分散を推定値出力部146に通知する。
推定値出力部146は、予測性能推定部145から通知された予測性能の期待値と分散を用いて性能改善量gi,j+1を算出する。例えば、推定値出力部146は、予測性能の期待値と分散から、予測性能の95%予測区間の推定上限値Upを算出する。推定値出力部146は、推定上限値Upから現在の達成予測性能Pを引いて性能改善量gi,j+1を算出する。ただし、Up−P<0である場合にはgi,j+1=0とする。推定値出力部146は、算出した性能改善量gi,j+1を学習制御部135に通知する。
図12は、機械学習の手順例を示すフローチャートである。
(S10)学習制御部135は、データ記憶部121を参照して、プログレッシブサンプリング法における学習ステップのサンプルサイズs1,s2,s3,…を決定する。例えば、学習制御部135は、データ記憶部121に記憶されたデータ集合Dのサイズに基づいて、s1=|D|/210,sj=s1×2j-1と決定する。
(S11)学習制御部135は、管理テーブル122aの各機械学習アルゴリズムのサンプルサイズを最小値s1に初期化する。また、学習制御部135は、各機械学習アルゴリズムの改善速度を、改善速度が取り得る最大値に初期化する。また、学習制御部135は、達成予測性能Pを、達成予測性能Pが取り得る最低値(例えば、0)に初期化する。
(S12)学習制御部135は、管理テーブル122aの中から、改善速度が最大の機械学習アルゴリズムを選択する。ここで選択した機械学習アルゴリズムをaiとする。
(S13)学習制御部135は、機械学習アルゴリズムaiの改善速度riが、閾値Tr未満であるか判断する。閾値Trは、予め学習制御部135に設定されていてもよい。例えば、閾値Tr=0.001/3600とする。改善速度riが閾値Tr未満である場合はステップS28に処理が進み、それ以外の場合はステップS14に処理が進む。
(S14)学習制御部135は、管理テーブル122aから、機械学習アルゴリズムaiに対応する次のサンプルサイズkiを検索する。
(S15)学習制御部135は、ステップ実行部132に対して機械学習アルゴリズムaiとサンプルサイズkiを指定する。ステップ実行部132は、機械学習アルゴリズムaiとサンプルサイズkiとに基づく学習ステップを実行する。ステップ実行部132の処理の詳細は後述する。
(S16)学習制御部135は、ステップ実行部132から、学習されたモデルと当該モデルの予測性能pi,jと実行時間Ti,jとを取得する。
(S17)学習制御部135は、ステップS16で取得した予測性能pi,jと、達成予測性能P(現在までに達成された最大の予測性能)とを比較し、前者が後者より大きいか判断する。予測性能pi,jが達成予測性能Pよりも大きい場合はステップS18に処理が進み、それ以外の場合はステップS19に処理が進む。
(S18)学習制御部135は、達成予測性能Pを予測性能pi,jに更新する。また、学習制御部135は、達成予測性能Pと対応付けて、その予測性能が得られた機械学習アルゴリズムaiとサンプルサイズkiとを記憶しておく。
(S19)学習制御部135は、管理テーブル122aに記憶されたサンプルサイズkiを、1段階大きなサンプルサイズ(例えば、現在のサンプルサイズの2倍)に増加させる。また、学習制御部135は、合計時間tsumを0に初期化する。
図13は、機械学習の手順例を示すフローチャート(続き)である。
(S20)学習制御部135は、機械学習アルゴリズムaiの更新後のサンプルサイズkiとデータ記憶部121に記憶されたデータ集合Dのサイズとを比較し、前者が後者より大きいか判断する。サンプルサイズkiがデータ集合Dのサイズよりも大きい場合はステップS21に処理が進み、それ以外の場合はステップS22に処理が進む。
(S21)学習制御部135は、管理テーブル122aに記憶された改善速度のうち、機械学習アルゴリズムaiに対応する改善速度riを0に更新する。これにより、機械学習アルゴリズムaiは実行されなくなる。そして、前述のステップS12に処理が進む。
(S22)学習制御部135は、時間推定部133に対して機械学習アルゴリズムaiとサンプルサイズkiを指定する。時間推定部133は、機械学習アルゴリズムaiについてサンプルサイズkiに基づく次の学習ステップを実行した場合の実行時間ti,j+1を推定する。時間推定部133の処理の詳細は後述する。
(S23)学習制御部135は、性能改善量推定部134に対して機械学習アルゴリズムaiとサンプルサイズkiを指定する。性能改善量推定部134は、機械学習アルゴリズムaiについてサンプルサイズkiに基づく次の学習ステップを実行した場合の性能改善量gi,j+1を推定する。性能改善量推定部134の処理の詳細は後述する。
(S24)学習制御部135は、時間推定部133から取得した実行時間ti,j+1に基づいて、合計時間tsumをtsum+ti,j+1に更新する。また、学習制御部135は、更新した合計時間tsumと性能改善量推定部134から取得した性能改善量gi,j+1とに基づいて、改善速度ri=gi,j+1/tsumを算出する。学習制御部135は、管理テーブル122aに記憶された改善速度riを上記の値に更新する。
(S25)学習制御部135は、改善速度riが閾値Tr未満であるか判断する。改善速度riが閾値Tr未満の場合はステップS26に処理が進み、改善速度riが閾値Tr以上の場合はステップS27に処理が進む。
(S26)学習制御部135は、サンプルサイズkiを1段階大きなサンプルサイズに増加させる。そして、ステップS20に処理が進む。
(S27)学習制御部135は、機械学習を開始してからの経過時間が、制限時間入力部131から指定された制限時間を超えたか判断する。経過時間が制限時間を超えた場合はステップS28に処理が進み、それ以外の場合はステップS12に処理が進む。
(S28)学習制御部135は、達成予測性能Pとその達成予測性能Pが得られたモデルとを学習結果記憶部123に保存する。また、学習制御部135は、達成予測性能Pに対応付けられた機械学習アルゴリズムのアルゴリズムIDと達成予測性能Pに対応付けられたサンプルサイズとを、学習結果記憶部123に保存する。このとき、当該機械学習アルゴリズムに対して設定されたハイパーパラメータを更に保存してもよい。
図14は、ステップ実行の手順例を示すフローチャートである。
ここでは、バリデーション方法として、データ集合Dのサイズに応じて、ランダムサブサンプリングバリデーションまたはクロスバリデーションを実行する場合を考える。ただし、ステップ実行部132は、他のバリデーション方法を用いてもよい。
(S30)ステップ実行部132は、学習制御部135から指定された機械学習アルゴリズムaiとサンプルサイズki=sj+1とを特定する。また、ステップ実行部132は、データ記憶部121に記憶されているデータ集合Dを特定する。
(S31)ステップ実行部132は、サンプルサイズkiが、データ集合Dのサイズの2/3よりも大きいか判断する。サンプルサイズkiが2/3×|D|よりも大きい場合、ステップ実行部132は、データ量が不足しているためクロスバリデーションを選択する。そして、ステップS38に処理が進む。サンプルサイズkiが2/3×|D|以下である場合、ステップ実行部132は、データ量が十分あるためランダムサブサンプリングバリデーションを選択する。そして、ステップS32に処理が進む。
(S32)ステップ実行部132は、データ集合Dからサンプルサイズkiの訓練データDtをランダムに抽出する。訓練データの抽出は、非復元抽出サンプリングとして行う。よって、訓練データには互いに異なるki個の単位データが含まれる。
(S33)ステップ実行部132は、データ集合Dのうち訓練データDtを除いた部分から、サイズki/2のテストデータDsをランダムに抽出する。テストデータの抽出は、非復元抽出サンプリングとして行う。よって、テストデータには、訓練データDtと異なりかつ互いに異なるki/2個の単位データが含まれる。なお、ここでは訓練データDtのサイズとテストデータDsのサイズの比を2:1としたが、比を変更してもよい。
(S34)ステップ実行部132は、機械学習アルゴリズムaiとデータ集合Dから抽出した訓練データDtとを用いてモデルmを学習する。
(S35)ステップ実行部132は、学習したモデルmとデータ集合Dから抽出したテストデータDsとを用いて、モデルmの予測性能pを算出する。予測性能pを表す指標として、正答率、適合率、MSE、RMSEなど任意の指標を用いることができる。予測性能pを表す指標が、予めステップ実行部132に設定されてもよい。
(S36)ステップ実行部132は、上記ステップS32〜S35の繰り返し回数と閾値Kとを比較し、前者が後者未満であるか判断する。閾値Kは、予めステップ実行部132に設定されていてもよい。例えば、閾値K=10とする。繰り返し回数が閾値K未満の場合はステップS32に処理が進み、それ以外の場合はステップS37に処理が進む。
(S37)ステップ実行部132は、ステップS35で算出されたK個の予測性能pの平均値を算出し、予測性能pi,jとして出力する。また、ステップ実行部132は、ステップS30が開始されてからステップS32〜S36の繰り返しが終了するまでの実行時間Ti,jを算出して出力する。また、ステップ実行部132は、ステップS34で学習されたK個のモデルのうち予測性能pが最大のモデルを出力する。そして、ランダムサブサンプリングバリデーションによる1つの学習ステップが終了する。
(S38)ステップ実行部132は、上記のランダムサブサンプリングバリデーションに代えて、前述のクロスバリデーションを実行する。例えば、ステップ実行部132は、データ集合Dからサンプルサイズkiのサンプルデータをランダムに抽出し、抽出したサンプルデータをK個のブロックに均等に分割する。ステップ実行部132は、K−1個のブロックを訓練データとして使用し1個のブロックをテストデータとして使用することを、テストデータのブロックを変えながらK回繰り返す。ステップ実行部132は、K個の予測性能の平均値と、実行時間と、予測性能が最大のモデルとを出力する。
図15は、時間推定の手順例を示すフローチャートである。
(S40)時間推定部133は、学習制御部135から指定された機械学習アルゴリズムaiとサンプルサイズki=sj+1とを特定する。
(S41)時間推定部133は、機械学習アルゴリズムaiについてサンプルサイズが異なる2以上の学習ステップを実行済みか判断する。2以上の学習ステップを実行済みである場合はステップS42に処理が進み、実行済みの学習ステップが1つのみである場合はステップS45に処理が進む。
(S42)時間推定部133は、管理テーブル122aから機械学習アルゴリズムaiに対応する実行時間Ti,1,Ti,2を検索する。
(S43)時間推定部133は、サンプルサイズs1,s2と実行時間Ti,1,Ti,2を用いて、サンプルサイズsから実行時間tを推定する推定式t=α×s+βの係数α,βを決定する。係数α,βは、Ti,1をtに代入しs1をsに代入した式と、Ti,2をtに代入しs2をsに代入した式とを含む連立方程式を解くことで決定できる。ただし、機械学習アルゴリズムaiについて3以上の学習ステップを実行済みである場合、時間推定部133は、それら学習ステップの実行時間から回帰分析によって係数α,βを決定してもよい。ここでは、サンプルサイズと実行時間とが一次式で説明できると仮定している。
(S44)時間推定部133は、上記の実行時間の推定式とサンプルサイズkiを用いて(kiを推定式のsに代入して)、次の学習ステップの実行時間ti,j+1を推定する。時間推定部133は、推定した実行時間ti,j+1を出力する。
(S45)時間推定部133は、管理テーブル122aから機械学習アルゴリズムaiに対応する実行時間Ti,1を検索する。
(S46)時間推定部133は、サンプルサイズs1,s2と実行時間Ti,1を用いて、2番目の学習ステップの実行時間ti,2をs2/s1×Ti,1と推定する。時間推定部133は、推定した実行時間ti,2を出力する。
図16は、性能改善量推定の手順例を示すフローチャートである。
(S50)性能改善量推定部134の推定式生成部141は、学習制御部135から指定された機械学習アルゴリズムaiとサンプルサイズki=sj+1とを特定する。
(S51)推定式生成部141は、管理テーブル122aから機械学習アルゴリズムaiに対応する全ての予測性能pi,1,pi,2,…を検索する。
(S52)推定式生成部141は、サンプルサイズs1,s2,…と実測値としての予測性能pi,1,pi,2,…とを用いて、サンプルサイズから予測性能を推定する予測性能曲線を算出する。算出される予測性能曲線の情報は、例えば、サンプルサイズから予測性能の期待値を求める関数と、サンプルサイズから予測性能の分散を求める関数とを含む。予測性能曲線算出の詳細は後述する。
(S53)予測性能推定部145は、ステップS52で算出された予測性能曲線とサンプルサイズkiを用いて(例えば、ki=sj+1を関数に代入して)、kiに対応する予測性能の期待値を算出する。同様に、予測性能推定部145は、予測性能曲線とサンプルサイズkiを用いて、kiに対応する予測性能の分散を算出する。
(S54)推定値出力部146は、ステップS53で算出された期待値と分散に基づいて、サンプルサイズkiにおける95%予測区間の推定上限値Upを算出する。
(S55)推定値出力部146は、現在の達成予測性能Pと推定上限値Upを比較して性能改善量gi,j+1を算出し、算出した性能改善量gi,j+1を出力する。性能改善量gi,j+1は、Up>PであればUp−Pであり、Up≦Pであれば0である。
図17は、予測性能曲線算出の手順例を示すフローチャートである。
この予測性能曲線算出は、上記のステップS52で実行される。
(S60)推定式生成部141は、予測性能の実測データとして、サンプルサイズxjと予測性能yjの組である<xj,yj>の集合を取得する。この実測データは、予測性能曲線を学習するための訓練データとしての意味をもつ。
(S61)重み設定部142は、各xjに対する重みwjをwj=1に初期化する。
(S62)非線形回帰部143は、ステップS60で取得された<xj,yj>の集合を用いて、非線形回帰分析により非線形式y=c−exp(a×log(x)+b)の係数a,b,cの値を算出する。サンプルサイズxが説明変数であり、予測性能yが目的変数である。この非線形回帰分析は、残差の評価に当たって各xjに対する重みwjを考慮する重み付き回帰分析である。重みが小さいサンプルサイズについては相対的に大きな残差が許容され、重みが大きいサンプルサイズについては相対的に残差の制限が強くなる。複数のサンプルサイズの間で異なる重みを設定できる。これにより、予測性能の等分散性が成立しない(異分散性が成立する)ことによる回帰分析の精度低下をカバーすることができる。なお、上記の非線形式は推定式の一例であり、xが増加したときにyが一定の限界値に漸近する曲線を示すような他の非線形式を用いてもよい。このような非線形回帰分析は、例えば、統計パッケージソフトウェアを用いて実行できる。
(S63)重み設定部142は、ステップS62で算出された今回の係数a,b,cと前回の係数a,b,cとを比較し、係数a,b,cが所定の収束条件を満たすか判断する。例えば、重み設定部142は、今回の係数a,b,cと前回の係数a,b,cとが一致したとき、または、両者の差が閾値未満であるとき、収束条件を満たすと判断する。1回目に算出された係数a,b,cは、まだ収束条件を満たしていないと判断される。収束条件を満たさない場合はステップS64に処理が進み、収束条件を満たす場合(係数a,b,cが十分に収束した場合)はステップS68に処理が進む。
(S64)分散推定部144は、ステップS62で算出された係数cを期待バイアスEB2に変換する。係数cは機械学習アルゴリズムaiを用いた場合の予測性能向上の限界を表しており、期待バイアスEB2と対応している。係数cと期待バイアスEB2との間の関係は、予測性能yの指標に依存する。予測性能yが正答率(Accuracy)である場合、EB2=1−cである。予測性能yが平均二乗誤差(MSE)である場合、EB2=cである。予測性能yが二乗平均平方根誤差(RMSE)である場合、EB2=c2である。
ただし、実測データに含まれる予測性能yjの数が少ないうちは、非線形回帰分析によって算出される係数cの信頼性が著しく低くなるおそれがある。そこで、分散推定部144は、以下のようにして期待バイアスEB2を算出してもよい。
サンプルサイズxjの学習ステップが実行された際には、抽出された訓練データに対するロスの期待値(訓練ロス)を直接的に求めることができる。この訓練ロスは一般にバイアスより大きくはならず、バイアスの下限としての意味をもつ。そこで、分散推定部144は、各サンプルサイズxjに対して測定された訓練ロスを取得する。分散推定部144は、上記のように係数cから変換された値および複数の訓練ロスを相互に比較し、係数cから変換された値および複数の訓練ロスの中の最大値を期待バイアスEB2する。この場合、ステップ実行部132は1つの学習ステップを実行する毎に更に訓練ロスを出力し、管理テーブル122aに訓練ロスが記録されることになる。
(S65)分散推定部144は、各サンプルサイズxjに対する予測性能yjを期待ロスELjに変換する。測定された予測性能yjと期待ロスELjとの間の関係は、予測性能yの指標に依存する。予測性能yが正答率(Accuracy)である場合、ELj=1−yjである。予測性能yが平均二乗誤差(MSE)である場合、ELj=yjである。予測性能yが二乗平均平方根誤差(RMSE)である場合、ELj=yj 2である。
(S66)分散推定部144は、ステップS64の期待バイアスEB2とステップS65の期待ロスELjとを用いて、各サンプルサイズxjに対する予測性能の分散VLjを算出する。VLj=(ELj+EB2)×(ELj−EB2)である。
(S67)重み設定部142は、各xjに対する重みwjをwj=1/VLjに更新する。そして、処理がステップS62に戻り、再び非線形回帰分析が行われる。
(S68)推定式生成部141は、最後にステップS62で算出された係数a,b,cを用いた推定式(ステップS62の非線形式)を、サンプルサイズから予測性能の期待値を推定する関数として生成する。また、推定式生成部141は、サンプルサイズから予測性能の分散を推定する関数を生成する。各サンプルサイズにおける予測性能の分散は、ステップS62の非線形回帰分析を通じて非線形回帰部143によって算出される。例えば、統計パッケージソフトウェアによって期待値と合わせて分散が推定される。推定式生成部141は、期待値を求める関数と分散を求める関数を出力する。
次に、第2の実施の形態における予測性能の分散の推定精度について説明する。
図18は、予測性能の分布の第1の推定例を示すグラフである。
このグラフは、前述の非特許文献2("Prediction of Learning Curves in Machine Translation")に従って単純な非線形回帰分析によって推定した予測性能曲線を示している。また、このグラフは、複数のサンプルサイズそれぞれに対する予測性能の実測値を示している。各サンプルサイズについて50個の予測性能の実測値がプロットされている。予測性能の指標として、値が大きいほど予測性能が高いことを示す正答率を用いている。
曲線44は、幾つかの予測性能の実測値から推定された、サンプルサイズと予測性能の期待値との間の関係を示す予測性能曲線である。直線44aは、曲線44から推定される予測性能上限を示している。曲線44bは、回帰分析を通じて算出された95%信頼区間の上限を示しており、測定される予測性能の上方向への分布を推定したものである。曲線44cは、回帰分析を通じて算出された95%信頼区間の下限を示しており、測定される予測性能の下方向への分布を推定したものである。
曲線44b,44cによれば、推定した95%信頼区間はサンプルサイズが小さいほど狭くなりサンプルサイズが大きいほど広くなっている。これは、サンプルサイズが小さいほど予測性能の分散が大きくサンプルサイズが大きいほど予測性能の分散が小さいという、実際のプロットの分布と矛盾している。よって、予測性能曲線の推定にあたって、サンプルサイズ毎の予測性能の分散が適切に評価されているとは言えない。
図19は、予測性能の分布の第2の推定例を示すグラフである。
このグラフは、第2の実施の形態とは別の方法によって推定した予測性能曲線を示している。別の方法とは、各サンプルサイズにおける予測性能の分散が、当該サンプルサイズにおける予測性能の期待値と予測性能上限との間の差(ギャップ)に比例すると仮定して、予測性能曲線を推定する方法である。この別の方法は、第2の実施の形態よりも簡易的な推定方法であると言うこともできる。複数のサンプルサイズそれぞれに対する予測性能の実測値のプロットは、図18と同じである。
曲線45は、サンプルサイズと予測性能の期待値との間の関係を示す予測性能曲線である。直線45aは、曲線45から推定される予測性能上限を示している。曲線45bは、回帰分析を通じて算出された95%信頼区間の上限を示している。曲線45cは、回帰分析を通じて算出された95%信頼区間の下限を示している。
曲線45b,45cによれば、推定した95%信頼区間はサンプルサイズが小さいほど広くなりサンプルサイズが大きいほど狭くなっている。この傾向は、予測性能の実測値の分布と適合している。しかし、推定した95%信頼区間の広さは、必ずしも実際の予測性能の分散と一致していない。小さいサンプルサイズでは、推定した95%信頼区間の広さは実際の分散よりも過大となっており、大きいサンプルサイズでは、推定した95%信頼区間の広さは実際の分散よりも過小となっている。よって、予測性能曲線の推定にあたって、サンプルサイズ毎の予測性能の分散が適切に評価されているとは言えない。
図20は、予測性能の分布の第3の推定例を示すグラフである。
このグラフは、前述の第2の実施の形態の方法によって推定した予測性能曲線を示している。複数のサンプルサイズそれぞれに対する予測性能の実測値のプロットは、図18,19と同じである。曲線46は、サンプルサイズと予測性能の期待値との間の関係を示す予測性能曲線である。直線46aは、曲線46から推定される予測性能上限を示している。曲線46bは、回帰分析を通じて算出された95%信頼区間の上限を示している。曲線46cは、回帰分析を通じて算出された95%信頼区間の下限を示している。
曲線46b,46cによれば、推定した95%信頼区間はサンプルサイズが小さいほど広くなりサンプルサイズが大きいほど狭くなっている。この傾向は、予測性能の実測値の分布と適合している。また、推定した95%信頼区間の広さは、小さいサンプルサイズと大きいサンプルサイズの両方について実際の予測性能の分散と十分に整合している。すなわち、図19よりも95%信頼区間の精度が高くなっている。よって、予測性能曲線の推定にあたって、サンプルサイズ毎の予測性能の分散が適切に評価されていると言える。予測性能の分散が適切に評価されることで、予測性能曲線の推定精度が向上する。また、複数の機械学習アルゴリズムの間の予測性能の比較を正確に行うことができる。
次に、予測性能の分散を算出する数式の数学的根拠について説明する。
(a)問題の形式的な記述
同一の母集合からm通りの訓練データD1,D2,…,DmとテストデータTが抽出されたとする。ある機械学習アルゴリズムに対して訓練データDkを与えて学習されたモデルをfkとする(k=1,2,…,m)。テストデータTをインスタンス<Yi,Xi>の集合とする(i=1,2,…,n)。Xiは説明変数の値(入力値)であり、Yiは入力値Xiに対応する目的変数の既知の値(真値)である。入力値Xiに対してモデルfkが予測した値(予測値)をyik=fk(Xi)とする。入力値Xiに対するモデルfkによる予測の誤差はeik=Yi−yikと定義される。テストデータTに含まれるインスタンスの数、すなわち、テストデータTのサイズはnである。以下では主に、添え字i,jはテストデータTのインスタンスを識別する変数、添え字kはモデルを識別する変数として使用する。
機械学習アルゴリズムが回帰を目的とする場合、予測値は連続量であり、ロスの指標として数式(1)の二乗ロスが用いられることが多い。この二乗ロスをテストデータTの全てのインスタンスについて平均したものが数式(2)のMSE(平均二乗誤差)である。
Figure 0006849915
Figure 0006849915
ここで、E[・]は期待値を求める演算子であり、V[・]は分散を求める演算子である。E[・],V[・]に付加する添え字Xは、この演算子がテストデータTの複数のインスタンスの間の演算であることを示す。E[・],V[・]に付加する添え字Mは、この演算子が複数のモデルの間の演算であることを示す。すなわち、EX[・]はテストデータTの複数のインスタンスの間で平均化した期待値を示し、EM[・]は複数のモデルの間で平均化した期待値を示す。VX[・]はテストデータTの複数のインスタンスの間の分散を示し、VM[・]は複数のモデルの間の分散を示す。また、cov(・,・)は共分散を求める共分散関数であり、cor(・,・)は相関係数を求める相関係数関数である。cov(・,・),cor(・,・)にも添え字X,Mが付加される。
機械学習アルゴリズムが二値分類を目的とする場合、予測値は{−1,1}のような二値の離散値であり、ロスの指標として数式(3)の0−1ロスが用いられることが多い。この0−1ロスをテストデータTの全てのインスタンスについて平均して1から引いたものが、数式(4)の正答率(Accuracy)である。
Figure 0006849915
Figure 0006849915
MSEは値が小さいほど予測性能が高いことを示し、正答率は値が大きいほど予測性能が高いことを示す。ただし、両者ともテストデータT全体について平均化したロスがモデルの予測性能の良否を表している点で共通しており、モデルロスと言うことができる。モデルfkに対するモデルロスMLkは数式(5)の通りである。予測性能の分散は、数式(6)のように複数のモデルの間のモデルロスの分散として表される。
Figure 0006849915
Figure 0006849915
(b)バイアス・バリアンス分解
モデルによる予測で生じるロスはバイアスとバリアンスに分解できる。バイアスはモデルの予測値の偏りを示す量である。バイアスが低いモデルほど正確なモデルであると言える。表現力の低いモデル(調整可能な係数が少ないような複雑性の低いモデル)はバイアスが高くなる傾向にある。バリアンスはモデルの予測値のばらつきを示す量である。バリアンスが低いほど正確なモデルであると言える。表現力の高いモデル(調整可能な係数が多いような複雑性の高いモデル)はバリアンスが高くなる傾向にある。表現力の高いモデルには、訓練データに過剰適合するという過学習のリスクがある。
テストデータTの入力値Xiに対するロスLi、バイアスBiおよびバリアンスViは、数式(7)〜(9)のように定義される。ロスLiは複数のモデルの間の二乗誤差の期待値であり、バイアスBiは複数のモデルの間の誤差の期待値であり、バリアンスViは複数のモデルの間の誤差の分散である。ロスLiとバイアスBiとバリアンスViとの間には、数式(10)の関係(バイアス・バリアンス分解)が成立する。
Figure 0006849915
Figure 0006849915
Figure 0006849915
Figure 0006849915
様々な入力値Xiに対するロスLiの期待値を期待ロスEL、バイアスBiの二乗の期待値を期待バイアスEB2、バリアンスViの期待値を期待バリアンスEVとする。期待ロスEL、期待バイアスEB2、期待バリアンスEVは、数式(11)〜(13)のように定義される。期待ロスELと期待バイアスEB2と期待バリアンスEVとの間には、数式(14)の関係(バイアス・バリアンス分解)が成立する。
Figure 0006849915
Figure 0006849915
Figure 0006849915
Figure 0006849915
ここでの目的は、EL,EB2,EVとモデルロスの分散との間の関係を導出することである。なお、期待ロスELとモデルロスMLkの期待値とは、数式(15)に示すように等価である。一方、ロスLiの分散とモデルロスMLkの分散とは等価でない。以下では、予測性能の分散を推定する数式を次の流れで導出する。第1に、インスタンスのロスの分散をバイアスとバリアンスで記述する。第2に、モデルロスの分散をインスタンス成分と相互作用成分に分解する。第3に、インスタンス成分を算出する。第4に、相互作用成分を算出する。第5に、モデルロスの分散をバイアスとバリアンスで記述する。
Figure 0006849915
(c)ロスの分散をバイアスとバリアンスで記述
テストデータTの入力値Xiを固定して複数のモデルの誤差を並べた誤差ベクトルを考える。誤差eを確率変数とみなしてその分布が正規分布に従うと仮定すると、複数のモデルの間のロスの分散は数式(16)のように定義され、バイアスBiとバリアンスViの組またはロスLiとバイアスBiの組によって記述することができる。数式(16)の1行目から2行目への変形では、数式(17)に示す統計学上の性質(確率変数の4乗の期待値)が利用されている。数式(17)においてXは確率変数であり、Sは歪度であり、Kは尖度である。正規分布の場合はS=0かつK=3である。
Figure 0006849915
Figure 0006849915
(d)モデルロスの分散をインスタンス成分と相互作用成分に分解
分散の基本的性質から、予測性能の分散(複数のモデルの間のモデルロスの分散)について数式(18)が成立する。これをn×n行列の成分の平均と考えると、i=jである対角成分は入力値Xiに対するロスの分散を表しており、その相関係数は1になる。一方、i≠jである非対角成分の相関係数は異なる入力値の間のロスの相関を表している。異なる入力値に対する誤差の発生状況は共通点が少ないため、その相関係数は十分に小さくなることが多く、予測性能の高いモデルほどその相関係数は0に近づく。対角成分と非対角成分とは性質が異なるため、数式(19)のように両者を分離して考える。
Figure 0006849915
Figure 0006849915
数式(19)では、モデルロスの分散を第1項のインスタンス成分と第2項の相互作用成分とに分解している。第1項はインスタンスのロスの分散の期待値を表しており、モデルロスの分散の大部分を占めることが多い。第2項は異なる入力値の間の共分散の期待値を表しており、モデルロスの分散に対する寄与は小さいことが多い。第1項はテストデータTのサイズnに反比例するため、テストデータTのインスタンスを増やすことでモデルロスの分散を低減できる。ただし、第2項が存在することから低減効果には限界がある。
(e)インスタンス成分を算出
数式(19)の第1項について検討する。上記の数式(16)より数式(20)が成立する。ここで、数式(20)の第1項と第2項を算出するために幾つかの仮定をおく。多くの機械学習アルゴリズムは不偏推定量を出力するようにモデルを学習することから、数式(21)のように誤差の期待値が0になるという仮定をおく。数式(21)からバイアスBiについて数式(22)の性質が導出される。
Figure 0006849915
Figure 0006849915
Figure 0006849915
確率分布の中には、訓練データのサンプルサイズやサンプリング方法に依存して期待値や分散が変化することはあっても、確率分布の形状を示す歪度や尖度は変化しない(または、変化が非常に緩やかである)ものがあると仮定する。具体的には、入力値Xiに対する複数のモデルの間の誤差の分布は正規分布を形成し、尖度=3かつ歪度=0になることを仮定する。また、バイアスBiの分布の尖度K1は変化しないことを仮定する。バイアスBiの分布の尖度K1は、数式(23)のように定義される。数式(23)と上記の数式(12)から数式(24)が算出される。
Figure 0006849915
Figure 0006849915
また、モデルfkに対する複数の入力値の間の誤差の分布の尖度K2は、モデル間で共通でありかつ変化しないことを仮定する。尖度K2は数式(25)のように定義される。K1,K2の値はそれぞれ3〜10の範囲内であることが多く、両者は近いことが多い。
Figure 0006849915
数式(25)から数式(26)が導出される。数式(26)を数式(18),(19)に代入することで数式(27)が算出される。ここで、尖度K2はサイズnより十分に小さいため、1−K2/nは1に近似される。数式(20),(23)を数式(18),(19)に代入することで数式(28)が算出される。数式(28)から数式(27)を減算して数式(29)が算出される。そして、数式(20),(24),(29)から数式(30)が算出される。これが、数式(19)の第1項の主要成分である。
Figure 0006849915
Figure 0006849915
Figure 0006849915
Figure 0006849915
Figure 0006849915
(f)相互作用成分を算出
不動点Cor1vを数式(31)のように定義する。不動点Cor1vは、訓練データのサンプルサイズを変化させても値が変化しないかまたは非常に緩やかに変化することが多いため、ここではサンプルサイズに依存しないと仮定する。不動点Cor1vの値は0.001〜0.1程度であることが多い。
Figure 0006849915
ここで、数式(32)に示す統計学上の性質(誤差の相関係数の期待値)を利用する。誤差の期待値が0であるとき、2つの誤差の相関係数の期待値は0に近似する。この性質から数式(33)が成立し、上記の数式(31)から数式(34)が算出される。
Figure 0006849915
Figure 0006849915
Figure 0006849915
また、数式(35)が成立する。数式(35)の2行目から3行目への変形では、相関係数corMとバリアンスVi,Vjとは互いに独立であることを仮定している。数式(35)の3行目から4行目への変形では、上記の数式(34)を利用しており、また、Vi・Vjの期待値がEV2に近似することを利用している。数式(35)の4行目の近似では、サイズnが1より十分に大きいため1/(n−1)2を無視している。
Figure 0006849915
ここで、数式(36)に示す統計学上の性質(共分散の二乗と二乗の共分散の関係)を利用する。確率変数X,Yの結合確率が二次元正規分布に従うならば数式(36)が成立する。上記の仮定より誤差の分散が正規分布に従うため、数式(36)を利用して数式(37)が算出される。また、数式(38)が成立する。数式(38)の1行目から2行目への変形では、共分散covMとバイアスBi,Bjは概ね独立であることを仮定している。数式(38)の2行目の近似では、Bijの期待値はバイアスBiの期待値の二乗に近似しその結果0に近似するという性質を利用している。数式(35),(38)を数式(37)に代入することで数式(39)が算出される。これが、数式(19)の第2項の主要成分である。
Figure 0006849915
Figure 0006849915
Figure 0006849915
Figure 0006849915
(g)モデルロスの分散をバイアスとバリアンスで記述
上記の数式(18),(19),(30),(39)より数式(40)の近似式が成立する。尖度K2は尖度K1に近似するため、数式(40)は数式(41)のように近似される。典型的にはK1(EL+EB2)はcor1v(EL−EB2)より十分に大きいため、数式(41)は更に数式(42)のように近似される。尖度K1は事前には不明であるが、第2の実施の形態ではその具体的な値は不要である。よって、数式(42)は比例定数Cを用いて数式(43)のように単純化できる。これにより、予測性能の分散が、期待ロスELと期待バイアスEB2の差に比例し、かつ、期待ロスELと期待バイアスEB2の和に比例するという数式が導出される。
Figure 0006849915
Figure 0006849915
Figure 0006849915
Figure 0006849915
第2の実施の形態の機械学習装置100によれば、複数の機械学習アルゴリズムそれぞれについて、1段階大きなサンプルサイズを用いた次の学習ステップを実行した場合の単位時間当たりの予測性能の改善量(改善速度)が推定される。そして、改善速度が最大の機械学習アルゴリズムが選択され、選択された機械学習アルゴリズムの次の学習ステップが実行される。改善速度の推定と機械学習アルゴリズムの選択とが繰り返され、予測性能が最も高くなったモデルが最終的に出力される。
これにより、予測性能の改善に寄与しない学習ステップは実行されず、全体の学習時間を短縮することができる。また、改善速度の推定値が最大の機械学習アルゴリズムが選択されるため、学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルとなる。また、少しでも予測性能の改善に寄与する学習ステップは、実行順序が後になる可能性はあるものの実行される余地が残される。このため、予測性能の上限が高い機械学習アルゴリズムをサンプルサイズが小さいうちに切り捨ててしまうリスクを低減できる。このように、複数の機械学習アルゴリズムを利用してモデルの予測性能を効率的に向上させることができる。
また、次の学習ステップで達成される予測性能を推定するにあたり、サンプルサイズと予測性能の実測値とを対応付けた実測データから、非線形回帰分析により予測性能曲線が推定される。このとき、予測性能の実測値に内包される誤差の分散がサンプルサイズによって異なるという異分散性をカバーするため、サンプルサイズによって異なる重みが付与される。あるサンプルサイズの重みは、当該サンプルサイズにおける分散の推定値に反比例するように設定される。あるサンプルサイズにおける分散は、バイアス・バリアンス分解の考え方を応用して、分散と期待ロスと期待バイアスの間の関係を示す所定の計算式に従って推定される。これにより、非線形回帰分析の精度が向上し、誤差を含む実測値からも信頼性の高い予測性能曲線を推定することができ、未実行のサンプルサイズについての予測性能の期待値と分散を精度よく推定することが可能となる。
また、予測性能の推定精度が向上することで、予測性能の上限値が低い機械学習アルゴリズムを誤選択してしまうリスクが下がり、全体の学習時間を短縮することができる。また、各機械学習アルゴリズムについて予測性能が上限値に十分近づいたか否かを早い段階で判断することができ、学習ステップの打ち切りを適切なタイミングで判断できる。
10 比較装置
11 記憶部
12 処理部
13 関係情報
14,15 予測性能曲線
16a,16b,16c サンプルサイズ
17a,17b 予測性能測定値
18a,18b 分散推定値
19a,19b 評価値

Claims (6)

  1. コンピュータに、
    第1の機械学習アルゴリズムを用いて、同一のデータ母集合から抽出される複数の第1のサンプルサイズの訓練データを用いて複数の学習モデルを生成することにより、前記複数の学習モデルそれぞれが有する予測性能の測定結果を示す複数の予測性能測定値を算出し、
    予測性能に関する期待値と分散との間の関係を示す関係情報と、前記複数の予測性能測定値とを用いて、前記複数の第1のサンプルサイズそれぞれに対して生じる予測性能の分散の推定結果を示す複数の分散推定値を算出し、
    前記複数の予測性能測定値と前記複数の分散推定値とを用いた回帰分析により、サンプルサイズと予測性能との間の関係を示す曲線であって予測性能が一定の予測性能上限値に漸近する第1の予測性能曲線を生成し、
    前記第1の予測性能曲線と第2のサンプルサイズとに基づいて前記第1の機械学習アルゴリズムに対する第1の評価値を算出し、
    前記第1の評価値と、第2の機械学習アルゴリズムに対応する第2の予測性能曲線と前記第2のサンプルサイズとに基づいて算出される前記第2の機械学習アルゴリズムに対する第2の評価値とを比較する、
    処理を実行させる比較プログラム。
  2. 前記関係情報は、予測の失敗度の期待値を示す期待ロスと前記期待ロスの低下限界を示す期待バイアスと予測性能の分散との間の関係を示し、
    前記複数の分散推定値の算出では、前記複数の予測性能測定値に基づいて、前記複数の第1のサンプルサイズそれぞれに対する前記期待ロスの推定結果を示す複数の期待ロス推定値と、前記期待バイアスの推定結果を示す期待バイアス推定値とを算出し、前記複数の期待ロス推定値と前記期待バイアス推定値とを用いて前記複数の分散推定値を算出する、
    請求項1記載の比較プログラム。
  3. 前記関係情報は、予測性能の分散が前記期待ロスと前記期待バイアスの和に比例しかつ前記期待ロスと前記期待バイアスの差に比例することを示す、
    請求項2記載の比較プログラム。
  4. 前記第1の予測性能曲線の生成では、前記複数の分散推定値に基づいて、分散推定値が小さいほど重みが大きくなるように前記複数の予測性能測定値に対して複数の重みを割り当て、前記複数の予測性能測定値と前記複数の重みとを用いて前記回帰分析を行う、
    請求項1記載の比較プログラム。
  5. コンピュータが実行する比較方法であって、
    第1の機械学習アルゴリズムを用いて、同一のデータ母集合から抽出される複数の第1のサンプルサイズの訓練データを用いて複数の学習モデルを生成することにより、前記複数の学習モデルそれぞれが有する予測性能の測定結果を示す複数の予測性能測定値を算出し、
    予測性能に関する期待値と分散との間の関係を示す関係情報と、前記複数の予測性能測定値とを用いて、前記複数の第1のサンプルサイズそれぞれに対して生じる予測性能の分散の推定結果を示す複数の分散推定値を算出し、
    前記複数の予測性能測定値と前記複数の分散推定値とを用いた回帰分析により、サンプルサイズと予測性能との間の関係を示す曲線であって予測性能が一定の予測性能上限値に漸近する第1の予測性能曲線を生成し、
    前記第1の予測性能曲線と第2のサンプルサイズとに基づいて前記第1の機械学習アルゴリズムに対する第1の評価値を算出し、
    前記第1の評価値と、第2の機械学習アルゴリズムに対応する第2の予測性能曲線と前記第2のサンプルサイズとに基づいて算出される前記第2の機械学習アルゴリズムに対する第2の評価値とを比較する、
    比較方法。
  6. 同一のデータ母集合から抽出される複数の第1のサンプルサイズの訓練データおよび第1の機械学習アルゴリズムを用いて生成される複数の学習モデルそれぞれが有する予測性能の測定結果を示す複数の予測性能測定値と、予測性能に関する期待値と分散との間の関係を示す関係情報とを記憶する記憶部と、
    前記関係情報と前記複数の予測性能測定値とを用いて、前記複数の第1のサンプルサイズそれぞれに対して生じる予測性能の分散の推定結果を示す複数の分散推定値を算出し、前記複数の予測性能測定値と前記複数の分散推定値とを用いた回帰分析により、サンプルサイズと予測性能との間の関係を示す曲線であって予測性能が一定の予測性能上限値に漸近する第1の予測性能曲線を生成し、前記第1の予測性能曲線と第2のサンプルサイズとに基づいて前記第1の機械学習アルゴリズムに対する第1の評価値を算出し、前記第1の評価値と、第2の機械学習アルゴリズムに対応する第2の予測性能曲線と前記第2のサンプルサイズとに基づいて算出される前記第2の機械学習アルゴリズムに対する第2の評価値とを比較する処理部と、
    を有する比較装置。
JP2017071439A 2017-03-31 2017-03-31 比較プログラム、比較方法および比較装置 Active JP6849915B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017071439A JP6849915B2 (ja) 2017-03-31 2017-03-31 比較プログラム、比較方法および比較装置
US15/940,132 US11423263B2 (en) 2017-03-31 2018-03-29 Comparison method and comparison apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017071439A JP6849915B2 (ja) 2017-03-31 2017-03-31 比較プログラム、比較方法および比較装置

Publications (2)

Publication Number Publication Date
JP2018173813A JP2018173813A (ja) 2018-11-08
JP6849915B2 true JP6849915B2 (ja) 2021-03-31

Family

ID=63670777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017071439A Active JP6849915B2 (ja) 2017-03-31 2017-03-31 比較プログラム、比較方法および比較装置

Country Status (2)

Country Link
US (1) US11423263B2 (ja)
JP (1) JP6849915B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107808098B (zh) * 2017-09-07 2020-08-21 阿里巴巴集团控股有限公司 一种模型安全检测方法、装置以及电子设备
US11157819B2 (en) * 2018-04-27 2021-10-26 International Business Machines Corporation Technology to automatically stream confidence and prediction intervals for non-parametric and non-stationary time series data
CN112313679A (zh) * 2018-06-27 2021-02-02 索尼公司 信息处理设备、信息处理方法和程序
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
KR102102418B1 (ko) * 2018-12-10 2020-04-20 주식회사 티포러스 인공지능 솔루션을 테스트하는 장치 및 방법
RU2720954C1 (ru) * 2018-12-13 2020-05-15 Общество С Ограниченной Ответственностью "Яндекс" Способ и система построения поискового индекса с использованием алгоритма машинного обучения
JP7192895B2 (ja) * 2019-02-12 2022-12-20 日本電気株式会社 モデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体
US11475296B2 (en) 2019-05-29 2022-10-18 International Business Machines Corporation Linear modeling of quality assurance variables
US11067786B2 (en) * 2019-06-07 2021-07-20 Leica Microsystems Inc. Artifact regulation methods in deep model training for image transformation
JP7393882B2 (ja) * 2019-06-18 2023-12-07 キヤノンメディカルシステムズ株式会社 医用情報処理装置及び医用情報処理システム
JP7352070B2 (ja) * 2019-07-30 2023-09-28 横浜ゴム株式会社 データ処理方法、データ処理装置、及びプログラム
JP7559762B2 (ja) 2019-09-11 2024-10-02 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
CN112651534B (zh) * 2019-10-10 2024-07-02 顺丰科技有限公司 一种预测资源供应链需求量的方法、装置及存储介质
JP7413011B2 (ja) * 2019-12-27 2024-01-15 キヤノンメディカルシステムズ株式会社 医用情報処理装置
US11592828B2 (en) * 2020-01-16 2023-02-28 Nvidia Corporation Using neural networks to perform fault detection in autonomous driving applications
JP6774129B1 (ja) 2020-02-03 2020-10-21 望 窪田 解析装置、解析方法及び解析プログラム
US11481682B2 (en) * 2020-05-07 2022-10-25 International Business Machines Corporation Dataset management in machine learning
US20220074751A1 (en) * 2020-09-04 2022-03-10 Here Global B.V. Method, apparatus, and system for providing an estimated time of arrival with uncertain starting location
JP2022082064A (ja) * 2020-11-20 2022-06-01 富士通株式会社 混合物物性特定方法、混合物物性特定装置、及び混合物物性特定プログラム
CN112463640B (zh) * 2020-12-15 2022-06-03 武汉理工大学 一种基于联合概率域适应的跨项目软件老化缺陷预测方法
US20220222570A1 (en) * 2021-01-12 2022-07-14 Optum Technology, Inc. Column classification machine learning models
US11711257B1 (en) * 2021-03-03 2023-07-25 Wells Fargo Bank, N.A. Systems and methods for automating incident severity classification
CN115545124B (zh) * 2022-11-29 2023-04-18 支付宝(杭州)信息技术有限公司 样本不平衡场景下的样本增量、模型训练方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6536295B2 (ja) * 2015-08-31 2019-07-03 富士通株式会社 予測性能曲線推定プログラム、予測性能曲線推定装置および予測性能曲線推定方法
JP6555015B2 (ja) * 2015-08-31 2019-08-07 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法

Also Published As

Publication number Publication date
US20180285694A1 (en) 2018-10-04
US11423263B2 (en) 2022-08-23
JP2018173813A (ja) 2018-11-08

Similar Documents

Publication Publication Date Title
JP6849915B2 (ja) 比較プログラム、比較方法および比較装置
JP6947981B2 (ja) 推定方法、推定装置および推定プログラム
US11334813B2 (en) Method and apparatus for managing machine learning process
US11568300B2 (en) Apparatus and method for managing machine learning with plurality of learning algorithms and plurality of training dataset sizes
JP6536295B2 (ja) 予測性能曲線推定プログラム、予測性能曲線推定装置および予測性能曲線推定方法
US11762918B2 (en) Search method and apparatus
US11860617B2 (en) Forecasting industrial aging processes with machine learning methods
JP2017049677A (ja) 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
Araújo et al. Hybrid morphological methodology for software development cost estimation
KR102239464B1 (ko) 심층 구조를 이용한 전력 수요 예측 방법 및 장치
JP7071624B2 (ja) 探索プログラム、探索方法および探索装置
JP7481902B2 (ja) 管理計算機、管理プログラム、及び管理方法
JP7231829B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
Sousa et al. Applying Machine Learning to Estimate the Effort and Duration of Individual Tasks in Software Projects
Ditzler et al. Domain adaptation bounds for multiple expert systems under concept drift
Reetz et al. Expert system based fault diagnosis for railway point machines
Haque et al. Parameter and Hyperparameter Optimisation of Deep Neural Network Model for Personalised Predictions of Asthma
JP2012181739A (ja) 工数見積装置、工数見積方法、工数見積プログラム
Wohlin et al. Software reliability
US20190034825A1 (en) Automatically selecting regression techniques
TWI757828B (zh) 原料採購決策方法、電子裝置與電腦程式產品
Rawat et al. A review on software reliability: metrics, models and tools.
KR20230077280A (ko) 시계열 데이터 회귀 예측을 위한 예측 모델의 학습 방법 및 예측 모델을 이용한 예측 방법
Shastry et al. Bayesian Network Based Bug-fix Effort Prediction Model
Zio et al. Recognizing signal trends on-line by a fuzzy-logic-based methodology optimized via genetic algorithms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200123

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210215

R150 Certificate of patent or registration of utility model

Ref document number: 6849915

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150