(57)【特許請求の範囲】
【請求項１】
コンピュータに、
機械学習アルゴリズムに適用可能な複数のパラメータ値のうちの第１のパラメータ値と第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第１の測定値を取得し、前記第１の測定値に基づいて、前記第１のパラメータ値と第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第１の期待値と第１の分散度とを算出し、
前記複数のパラメータ値のうちの第２のパラメータ値と前記第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第２の測定値を取得し、前記第２の測定値に基づいて、前記第２のパラメータ値と前記第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第２の期待値と第２の分散度とを算出し、
前記第１の期待値、前記第１の分散度、前記第２の期待値および前記第２の分散度に基づいて、前記複数のパラメータ値のうちの第３のパラメータ値と前記第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第３の期待値と第３の分散度とを算出する、
処理を実行させる機械学習管理プログラム。
【請求項２】
前記第３の分散度は、前記第１の分散度および前記第２の分散度を用いずに前記第１の期待値および前記第２の期待値を用いて抽出された複数のサンプル値に対する回帰分析によって算出される分散度より大きい、
請求項１記載の機械学習管理プログラム。
【請求項３】
前記第３の分散度の算出では、
前記第１の期待値と前記第１の分散度とに基づいて、予測性能の第１のサンプル値を抽出し、また、前記第２の期待値と前記第２の分散度とに基づいて、予測性能の第２のサンプル値を抽出し、前記第１のサンプル値および前記第２のサンプル値を用いて前記第３の分散度を算出する、
請求項１記載の機械学習管理プログラム。
【請求項４】
前記第３の分散度の算出では、
前記第１の期待値および前記第２の期待値の変動によって生じる前記第３の期待値の変動を示す第１の分散成分と、前記第１の期待値および前記第２の期待値から前記第３の期待値を推定することで生じる統計誤差を示す第２の分散成分とを算出し、前記第１の分散成分と前記第２の分散成分とを合成して前記第３の分散度を算出する、
請求項１記載の機械学習管理プログラム。
【請求項５】
前記コンピュータに更に、
前記第３の期待値と前記第３の分散度とに基づいて、前記第３の期待値より大きい予測性能の指標値を算出し、前記指標値に基づいて、前記第３のパラメータ値と前記第２のサイズの訓練データとを用いた機械学習を行うか否か判定する、
処理を実行させる請求項１記載の機械学習管理プログラム。
【請求項６】
コンピュータが実行する機械学習管理方法であって、
機械学習アルゴリズムに適用可能な複数のパラメータ値のうちの第１のパラメータ値と第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第１の測定値を取得し、前記第１の測定値に基づいて、前記第１のパラメータ値と第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第１の期待値と第１の分散度とを算出し、
前記複数のパラメータ値のうちの第２のパラメータ値と前記第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第２の測定値を取得し、前記第２の測定値に基づいて、前記第２のパラメータ値と前記第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第２の期待値と第２の分散度とを算出し、
前記第１の期待値、前記第１の分散度、前記第２の期待値および前記第２の分散度に基づいて、前記複数のパラメータ値のうちの第３のパラメータ値と前記第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第３の期待値と第３の分散度とを算出する、
機械学習管理方法。
【請求項７】
機械学習アルゴリズムに適用可能な複数のパラメータ値のうちの第１のパラメータ値と第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第１の測定値と、前記複数のパラメータ値のうちの第２のパラメータ値と前記第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第２の測定値とを記憶する記憶部と、
前記第１の測定値に基づいて、前記第１のパラメータ値と第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第１の期待値と第１の分散度とを算出し、前記第２の測定値に基づいて、前記第２のパラメータ値と前記第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第２の期待値と第２の分散度とを算出し、前記第１の期待値、前記第１の分散度、前記第２の期待値および前記第２の分散度に基づいて、前記複数のパラメータ値のうちの第３のパラメータ値と前記第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第３の期待値と第３の分散度とを算出する演算部と、
を有する機械学習管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械学習管理プログラム、機械学習管理方法および機械学習管理装置に関する。
【背景技術】
【０００２】
コンピュータを利用したデータ分析の１つとして、機械学習が行われることがある。機械学習では、幾つかの既知の事例を示す訓練データをコンピュータに入力する。コンピュータは、訓練データを分析して、要因（説明変数や独立変数と言うことがある）と結果（目的変数や従属変数と言うことがある）との間の関係を一般化したモデルを学習する。学習されたモデルを用いることで、未知の事例についての結果を予測することができる。例えば、複数人の生活習慣と病気の有無を調査した訓練データから、任意の人の病気の発症リスクを予測するモデルを学習できる。また、過去の商品・サービスの需要量を示す訓練データから、将来の商品・サービスの需要量を予測するモデルを学習できる。
【０００３】
機械学習では、学習されるモデルの正確さ、すなわち、未知の事例の結果を正確に予測する能力（予測性能と言うことがある）が高いことが好ましい。予測性能は、学習に用いる訓練データのサイズが大きいほど高くなる。一方、訓練データのサイズが大きいほど、モデルの学習時間も長くなる。そこで、実用上十分な予測性能をもつモデルを効率的に得られるようにする方法として、プログレッシブサンプリング法が提案されている。
【０００４】
プログレッシブサンプリング法では、コンピュータは、まず小さなサイズの訓練データを用いてモデルを学習する。コンピュータは、訓練データとは異なる既知の事例を示すテストデータを用いて、モデルによって予測した結果と既知の結果とを比較し、学習されたモデルの予測性能を評価する。予測性能が十分でない場合、コンピュータは、前回よりもサイズが大きい訓練データを用いてモデルを再学習する。以上を予測性能が十分に高くなるまで繰り返すことで、過度にサイズの大きな訓練データを使用することを抑制でき、モデルの学習時間を短縮することができる。
【０００５】
なお、サポートベクタマシン（ＳＶＭ：Support Vector Machine）を用いて動画像からシーン境界を検出するにあたり、ＳＶＭの予測性能を向上させる再学習方法が提案されている。提案の再学習方法は、動画像である初期訓練データを用いてＳＶＭを学習し、初期訓練データの明度やコントラストを変換した追加訓練データを生成し、初期訓練データと追加訓練データの両方を用いてＳＶＭを再学習する。
【０００６】
また、訓練データの確率分布とテストデータの確率分布とが異なる場合であってもモデルを効率的に学習できる学習装置が提案されている。提案の学習装置は、訓練データの生成確率とテストデータの生成確率との比を重要度として算出する。学習装置は、重要度に依存する損失関数である重み付き損失関数を用いてモデルを学習する。
【０００７】
また、一部の説明変数の値が欠損している訓練データからモデルを学習できる予測モデル学習装置が提案されている。提案の予測モデル学習装置は、説明変数の値の欠損パターンに応じて訓練データを複数のグループに分割し、グループ毎にモデルを学習する。予測モデル学習装置は、複数のモデルの使用割合を算出し、学習した複数のモデルと算出した使用割合とに基づいて最終的なモデルを決定する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２１７３４８号公報
【特許文献２】特開２０１０−９２２６６号公報
【特許文献３】特開２０１５−６０２３７号公報
【非特許文献】
【０００９】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、機械学習アルゴリズムには、その挙動を調整するパラメータ（ハイパーパラメータと言うこともある）が存在することがある。例えば、機械学習アルゴリズムの１つであるＲＢＦ（Radial Basis Function）カーネルＳＶＭには、「Ｃ」と「γ」というパラメータが存在する。パラメータ値を変更することで、当該機械学習アルゴリズムの挙動を変更することができる。
【００１１】
パラメータ値を変更すると、機械学習アルゴリズムによって生成されるモデルが変わり、生成されるモデルの予測性能が変化することがある。ただし、どの様なパラメータ値を用いれば予測性能の高いモデルを生成できるかは、機械学習に用いる訓練データの特性に依存するため、最初から最適なパラメータ値を選択することは難しい。そのため、機械学習アルゴリズムのパラメータ値を変更可能である場合、機械学習を繰り返して、訓練データに合った適切なパラメータ値を探索することになる。
【００１２】
このとき、どの様にすれば適切なパラメータ値を効率的に探索できるかが問題となる。特に、プログレッシブサンプリング法のように機械学習に用いる訓練データのサイズも変更可能である場合に、適切なパラメータ値を探索する方法が問題となる。
【００１３】
１つの側面では、本発明は、機械学習において適切なパラメータ値を効率的に探索できる機械学習管理プログラム、機械学習管理方法および機械学習管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
１つの態様では、コンピュータに以下の処理を実行させる機械学習管理プログラムが提供される。機械学習アルゴリズムに適用可能な複数のパラメータ値のうちの第１のパラメータ値と第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第１の測定値を取得し、第１の測定値に基づいて、第１のパラメータ値と第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第１の期待値と第１の分散度とを算出する。複数のパラメータ値のうちの第２のパラメータ値と第１のサイズの訓練データとを用いて学習されたモデルにおける予測性能の第２の測定値を取得し、第２の測定値に基づいて、第２のパラメータ値と第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第２の期待値と第２の分散度とを算出する。第１の期待値、第１の分散度、第２の期待値および第２の分散度に基づいて、複数のパラメータ値のうちの第３のパラメータ値と第２のサイズの訓練データとを用いて学習されるモデルにおける予測性能の第３の期待値と第３の分散度とを算出する。
【００１５】
また、１つの態様では、コンピュータが実行する機械学習管理方法が提供される。また、１つの態様では、記憶部と演算部とを有する機械学習管理装置が提供される。
【発明の効果】
【００１６】
１つの側面では、機械学習において適切なパラメータ値を効率的に探索できる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施の形態の機械学習管理装置の例を示す図である。
【図２】機械学習装置のハードウェア例を示すブロック図である。
【図３】サンプルサイズと予測性能の関係例を示すグラフである。
【図４】ハイパーパラメータと予測性能の関係例を示すグラフである。
【図５】予測性能の変化の三次元表示例を示すグラフである。
【図６】プログレッシブサンプリング法の第１の進行例を示す図である。
【図７】第１の学習進行画面の例を示す図である。
【図８】予測性能の第１の推定方法の例を示す図である。
【図９】予測性能の標準偏差の第１の推定例を示す図である。
【図１０】予測性能の第２の推定方法の例を示す図である。
【図１１】機械学習装置の機能例を示すブロック図である。
【図１２】学習結果テーブルの例を示す図である。
【図１３】中間推定テーブルの例を示す図である。
【図１４】推定テーブルの例を示す図である。
【図１５】機械学習の第１の手順例を示すフローチャートである。
【図１６】性能改善量推定の第１の手順例を示すフローチャートである。
【図１７】時間推定の手順例を示すフローチャートである。
【図１８】ステップ実行の手順例を示すフローチャートである。
【図１９】性能改善量推定の第２の手順例を示すフローチャートである。
【図２０】予測性能の標準偏差の第２の推定例を示す図である。
【図２１】プログレッシブサンプリング法の第２の進行例を示す図である。
【図２２】機械学習の第２の進行画面例を示す図である。
【図２３】機械学習の第２の手順例を示すフローチャートである。
【図２４】予測性能の上限値と推定値と標準誤差の関係例を示すグラフである。
【図２５】推定式生成の手順例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００１９】
図１は、第１の実施の形態の機械学習管理装置の例を示す図である。
第１の実施の形態の機械学習管理装置１０は、機械学習の進行を管理する。機械学習管理装置１０が管理する機械学習は、既知の事例を示す訓練データから、未知の事例の結果を予測するモデルを生成する。機械学習の結果は、病気の発症リスクの予測、将来の商品・サービスの需要量の予測、工場における新製品の歩留まりの予測など、様々な用途に利用することができる。機械学習管理装置１０が自ら機械学習を行ってもよいし、機械学習管理装置１０が他の装置に機械学習を行わせてもよい。機械学習管理装置１０は、ユーザが操作するクライアントコンピュータでもよいし、クライアントコンピュータからネットワーク経由でアクセスされるサーバコンピュータでもよい。
【００２０】
機械学習管理装置１０は、記憶部１１および演算部１２を有する。記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリでもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性のストレージでもよい。演算部１２は、例えば、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。ただし、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリ（記憶部１１でもよい）に記憶されたプログラムを実行する。プログラムには、機械学習管理プログラムが含まれる。複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼ぶこともある。
【００２１】
機械学習には、ロジスティック回帰分析、ＳＶＭ、ランダムフォレストなどの機械学習アルゴリズムが用いられる。機械学習アルゴリズムに適用するパラメータ（ハイパーパラメータと言うこともある）の値を変更することで、その機械学習アルゴリズムの挙動を変更することができる。ここで言うパラメータは、モデルに含まれる係数とは異なって機械学習を通じて値が決定されるものではなく、機械学習アルゴリズムの開始前に値が与えられるものである。パラメータの例として、ランダムフォレストにおける決定木の生成本数、回帰分析のフィッティング精度、モデルに含まれる多項式の次数などが挙げられる。
【００２２】
記憶部１１は、既に生成されたモデル（既に行った機械学習の結果）について測定した予測性能の測定値を記憶する。予測性能を示す指標として、例えば、正答率（Accuracy）、適合率（Precision）、平均二乗誤差（ＲＭＳＥ：Root Mean Squared Error）などを用いることができる。記憶部１１が記憶する測定値には、測定値１５ａ（第１の測定値）と測定値１５ｂ（第２の測定値）が含まれる。測定値１５ａは、機械学習アルゴリズムにパラメータ値１３ａ（第１のパラメータ値）を適用し、サイズ１４ａ（第１のサイズ）の訓練データを用いて学習されたモデルの予測性能を示す。測定値１５ｂは、機械学習アルゴリズムにパラメータ値１３ｂ（第２のパラメータ値）を適用し、サイズ１４ａの訓練データを用いて学習されたモデルの予測性能を示す。
【００２３】
演算部１２は、測定値１５ａに基づいて、予測性能の期待値１６ａ（第１の期待値）および分散度１７ａ（第１の分散度）を算出する。期待値１６ａおよび分散度１７ａは、機械学習アルゴリズムにパラメータ値１３ａを適用し、サイズ１４ｂ（第２のサイズ）の訓練データを用いて学習されるモデルの予測性能の推定を示す。このとき、パラメータ値１３ａおよびサイズ１４ｂの組に対応する機械学習は未実行であってよい。また、演算部１２は、測定値１５ｂに基づいて、予測性能の期待値１６ｂ（第２の期待値）および分散度１７ｂ（第２の分散度）を算出する。期待値１６ｂおよび分散度１７ｂは、機械学習アルゴリズムにパラメータ値１３ｂを適用し、サイズ１４ｂの訓練データを用いて学習されるモデルの予測性能の推定を示す。このとき、パラメータ値１３ｂおよびサイズ１４ｂの組に対応する機械学習は未実行であってよい。
【００２４】
サイズ１４ｂは、好ましくはサイズ１４ａよりも大きい。例えば、サイズ１４ａが８００個、サイズ１４ｂが１６００個などである。期待値１６ａ，１６ｂおよび分散度１７ａ，１７ｂは、例えば、回帰分析によって算出される。期待値１６ａ，１６ｂは、例えば、予測性能の推定値の平均である。分散度１７ａ，１７ｂは、例えば、予測性能の推定値のばらつき程度を示す値であり、統計上の分散や標準偏差などである。
【００２５】
すなわち、演算部１２は、パラメータ値が同じでサイズが異なる予測性能の間の関係を分析し、訓練データのサイズを変えた場合の予測性能の変化を推定する。ただし、測定値が少ないうちは期待値１６ａ，１６ｂの推定精度が低くなることがある。また、測定値１５ａ，１５ｂには理論値からの乖離を示す誤差が含まれており、特にサイズ１４ａが小さい場合には訓練データのサンプリングの偏りに起因する誤差が含まれている。よって、予測性能が期待値１６ａ，１６ｂより大きくなる可能性を考慮するため、演算部１２は、期待値１６ａ，１６ｂに加えて分散度１７ａ，１７ｂを算出する。
【００２６】
演算部１２は、期待値１６ａ，１６ｂおよび分散度１７ａ，１７ｂに基づいて、予測性能の期待値１６ｃ（第３の期待値）および分散度１７ｃ（第３の分散度）を算出する。期待値１６ｃおよび分散度１７ｃは、機械学習アルゴリズムにパラメータ値１３ｃ（第３のパラメータ値）を適用し、サイズ１４ｂの訓練データを用いて学習されるモデルの予測性能の推定を示す。このとき、パラメータ値１３ｃおよびサイズ１４ｂの組に対応する機械学習は未実行であってよい。期待値１６ｃおよび分散度１７ｃは、例えば、パラメータ値１３ａ，１３ｂ，１３ｃの近さに基づいて回帰分析により算出される。期待値１６ｃは、例えば、予測性能の推定値の平均である。分散度１７ｃは、例えば、予測性能の推定値のばらつき程度を示す値であり、統計上の分散や標準偏差などである。
【００２７】
すなわち、演算部１２は、サイズが同じでパラメータ値が異なる予測性能の間の関係を分析し、パラメータ値を変えた場合の予測性能の変化を推定する。ここで分析に用いるデータには、既に実行された機械学習についての測定値だけでなく推定値も含まれる。分散度１７ａ，１７ｂを算出したときと同様、予測性能が期待値１６ｃより大きくなる可能性を考慮するため、演算部１２は、期待値１６ｃに加えて分散度１７ｃを算出する。
【００２８】
分散度１７ｃを算出するにあたり、演算部１２は、期待値１６ａ，１６ｂに加えて分散度１７ａ，１７ｂも考慮する。期待値１６ａ，１６ｂのみから回帰分析により分散度１７ｃを算出するなど、分散度１７ａ，１７ｂを考慮せずに分散度１７ｃを算出してしまうと、期待値１６ａ，１６ｂに推定誤差が含まれることを無視することになる。その結果、分散度１７ａ，１７ｂが大きい場合でも、分散度１７ｃが不当に小さくなるおそれがある。そこで、演算部１２は、分散度１７ａ，１７ｂを使用して分散度１７ｃを算出する。
【００２９】
例えば、演算部１２は、パラメータ値１３ａについて、期待値１６ａと分散度１７ａに基づいて予測性能のサンプル値を抽出し、パラメータ値１３ｂについて、期待値１６ｂと分散度１７ｂに基づいて予測性能のサンプル値を抽出する。演算部１２は、抽出したサンプル値を用いて回帰分析を行い、パラメータ値１３ｃについての推定値のばらつき程度を算出する。サンプル値の抽出は、モンテカルロシミュレーションによって行ってもよい。また、例えば、演算部１２は、ガウス過程を用いた推定方法により、所定の計算式に従って、期待値１６ａ，１６ｂおよび分散度１７ａ，１７ｂから期待値１６ｃおよび分散度１７ｃを直接算出する。分散度１７ａ，１７ｂを考慮して算出される分散度１７ｃは、分散度１７ａ，１７ｂを考慮しないで算出される分散度よりも大きくなる。
【００３０】
演算部１２は、算出された期待値１６ａ，１６ｂ，１６ｃおよび分散度１７ａ，１７ｂ，１７ｃに基づいて、次に行う機械学習で使用するパラメータ値を選択するようにしてもよい。例えば、演算部１２は、期待値１６ｃと分散度１７ｃに基づいて、期待値１６ｃより大きい予測性能の指標値を算出する。指標値は、例えば、９５％予測区間の上限値（ＵＣＢ：Upper Confidence Bound）である。演算部１２は、算出した指標値に基づいて、パラメータ値１３ｃとサイズ１４ｂの組に対応する機械学習を行うか否か判定する。
【００３１】
なお、図１ではパラメータ値１３ａの期待値１６ａおよび分散度１７ａと、パラメータ値１３ｂの期待値１６ｂおよび分散度１７ｂから、パラメータ値１３ｃの期待値１６ｃおよび分散度１７ｃを算出している。これに対し、３以上のパラメータ値の期待値および分散度から、期待値１６ｃおよび分散度１７ｃを算出することも可能である。また、別のパラメータ値とサイズ１４ｂの組について、機械学習を実行済みであり予測性能の測定値が存在する場合、期待値１６ａ，１６ｂおよび分散度１７ａ，１７ｂに加えて当該測定値を用いて、期待値１６ｃおよび分散度１７ｃを算出してもよい。
【００３２】
第１の実施の形態の機械学習管理装置１０によれば、パラメータ値１３ａとサイズ１４ａの組に対応する測定値１５ａに基づいて、パラメータ値１３ａとサイズ１４ｂの組に対応する期待値１６ａおよび分散度１７ａが算出される。また、パラメータ値１３ｂとサイズ１４ａの組に対応する測定値１５ｂに基づいて、パラメータ値１３ｂとサイズ１４ｂの組に対応する期待値１６ｂおよび分散度１７ｂが算出される。そして、期待値１６ａ，１６ｂおよび分散度１７ａ，１７ｂに基づいて、パラメータ値１３ｃとサイズ１４ｂの組に対応する期待値１６ｃおよび分散度１７ｃが算出される。
【００３３】
これにより、パラメータ値１３ｃを用いた機械学習が未実行であっても、その機械学習によって生成されるモデルの予測性能を推定することが可能となる。よって、モデルの予測性能が高くなるような適切なパラメータ値を効率的に探索することができる。また、分散度１７ａ，１７ｂを用いて分散度１７ｃを算出するため、分散度１７ｃが過剰に小さく算出されてしまうことを抑制できる。よって、パラメータ値１３ｃを使用することで予測性能が高くなる可能性が過小評価されてしまうことを抑制できる。
【００３４】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、機械学習装置のハードウェア例を示すブロック図である。
【００３５】
機械学習装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７は、バス１０８に接続されている。なお、機械学習装置１００は、第１の実施の形態の機械学習管理装置１０に対応する。ＣＰＵ１０１は、第１の実施の形態の演算部１２に対応する。ＲＡＭ１０２またはＨＤＤ１０３は、第１の実施の形態の記憶部１１に対応する。
【００３６】
ＣＰＵ１０１は、プログラムの命令を実行するプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、機械学習装置１００は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。
【００３７】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００３８】
ＨＤＤ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、機械学習管理プログラムが含まれる。なお、機械学習装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００３９】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、機械学習装置１００に接続されたディスプレイ１１１に画像を出力する。ディスプレイ１１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、プラズマディスプレイ（ＰＤＰ：Plasma Display Panel）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなどを用いることができる。
【００４０】
入力信号処理部１０５は、機械学習装置１００に接続された入力デバイス１１２から入力信号を取得し、ＣＰＵ１０１に出力する。入力デバイス１１２としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、機械学習装置１００に、複数の種類の入力デバイスが接続されていてもよい。
【００４１】
媒体リーダ１０６は、記録媒体１１３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０６は、例えば、記録媒体１１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４２】
通信インタフェース１０７は、ネットワーク１１４に接続され、ネットワーク１１４を介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース１０７は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
【００４３】
次に、機械学習におけるサンプルサイズと予測性能とハイパーパラメータの関係、および、プログレッシブサンプリング法について説明する。
第２の実施の形態の機械学習では、既知の事例を示す複数の単位データを含むデータを予め収集しておく。機械学習装置１００または他の情報処理装置が、センサデバイスなどの各種デバイスからネットワーク１１４経由でデータを収集してもよい。収集されるデータは、「ビッグデータ」と呼ばれるサイズの大きなデータであってもよい。各単位データは、通常は、２以上の説明変数の値と１つの目的変数の値とを含む。例えば、商品の需要予測を行う機械学習では、気温や湿度など商品需要に影響を与える要因を説明変数とし、商品需要量を目的変数とした実績データを収集する。
【００４４】
機械学習装置１００は、収集されたデータの中から一部の単位データを訓練データとしてサンプリングし、訓練データを用いてモデルを学習する。モデルは、説明変数と目的変数との間の関係を示し、通常は、２以上の説明変数と２以上の係数と１つの目的変数とを含む。モデルは、例えば、線形式・二次以上の多項式・指数関数・対数関数などの各種数式によって表される。数式の形は、機械学習の前にユーザによって指定されてもよい。係数は、機械学習を通じて訓練データに基づいて決定される。
【００４５】
学習されたモデルを用いることで、未知の事例の説明変数の値（要因）から、未知の事例の目的変数の値（結果）を予測することができる。例えば、来期の気象予報から来期の商品需要量を予測できる。モデルによって予測される結果は、０以上１以下の確率値などの連続値であってもよいし、ＹＥＳ／ＮＯの２値などの離散値であってもよい。
【００４６】
学習されたモデルに対しては「予測性能」を算出することができる。予測性能は、未知の事例の結果を正確に予測する能力であり、「精度」と言うこともできる。機械学習装置１００は、収集されたデータの中から訓練データ以外の単位データをテストデータとしてサンプリングし、テストデータを用いて予測性能を算出する。テストデータのサイズは、例えば、訓練データのサイズの１／２程度とする。機械学習装置１００は、テストデータに含まれる説明変数の値をモデルに入力し、モデルが出力する目的変数の値（予測値）とテストデータに含まれる目的変数の値（実績値）とを比較する。なお、学習したモデルの予測性能を検証することを「バリデーション」と言うことがある。
【００４７】
予測性能の指標としては、正答率（Accuracy）、適合率（Precision）、平均二乗誤差（ＲＭＳＥ）などが挙げられる。例えば、結果がＹＥＳ／ＮＯの２値で表されるとする。また、Ｎ件のテストデータの事例のうち、予測値＝ＹＥＳ・実績値＝ＹＥＳの件数をＴｐ、予測値＝ＹＥＳ・実績値＝ＮＯの件数をＦｐ、予測値＝ＮＯ・実績値＝ＹＥＳの件数をＦｎ、予測値＝ＮＯ・実績値＝ＮＯの件数をＴｎとする。この場合、正答率は予測が当たった割合であり、（Ｔｐ＋Ｔｎ）／Ｎと算出される。適合率は「ＹＥＳ」の予測を間違えない確率であり、Ｔｐ／（Ｔｐ＋Ｆｐ）と算出される。平均二乗誤差は、各事例の実績値をｙと表し予測値をｙ＾と表すと、（ｓｕｍ（ｙ−ｙ＾）2／Ｎ）1/2と算出される。
【００４８】
第２の実施の形態では、機械学習に特定の１つの機械学習アルゴリズムを使用する場合を考える。使用する機械学習アルゴリズムは、ユーザによって指定されてもよいし、機械学習装置１００が選択してもよい。機械学習装置１００は、複数の機械学習アルゴリズムを使い分けるようにしてもよい。機械学習アルゴリズムとしては、ロジスティック回帰分析、ＳＶＭ、ランダムフォレストなどが挙げられる。
【００４９】
ロジスティック回帰分析は、目的変数ｙの値と説明変数ｘ1，ｘ2，…，ｘkの値をＳ字曲線にフィッティングする回帰分析である。目的変数ｙおよび説明変数ｘ1，ｘ2，…，ｘkは、ｌｏｇ（ｙ／（１−ｙ））＝ａ1ｘ1＋ａ2ｘ2＋…＋ａkｘk＋ｂの関係を満たすと仮定される。ａ1，ａ2，…，ａk，ｂは係数であり、回帰分析によって決定される。
【００５０】
サポートベクタマシンは、Ｎ次元空間に配置された単位データの集合を、２つのクラスに最も明確に分割するような境界面を算出する機械学習アルゴリズムである。境界面は、各クラスとの距離（マージン）が最大になるように算出される。
【００５１】
ランダムフォレストは、複数の単位データを適切に分類するためのモデルを生成する機械学習アルゴリズムである。ランダムフォレストでは、母集合から単位データをランダムにサンプリングする。説明変数の一部をランダムに選択し、選択した説明変数の値に応じてサンプリングした単位データを分類する。説明変数の選択と単位データの分類を繰り返すことで、複数の説明変数の値に基づく階層的な決定木を生成する。単位データのサンプリングと決定木の生成を繰り返すことで複数の決定木を取得し、それら複数の決定木を合成することで、単位データを分類するための最終的なモデルを生成する。
【００５２】
機械学習アルゴリズムは、その挙動を調整するためのハイパーパラメータをもつ。ハイパーパラメータは、モデルに含まれる係数とは異なって機械学習を通じて値が決定されるものではなく、機械学習アルゴリズムの実行前に値が与えられるものである。ハイパーパラメータの例として、ランダムフォレストにおける決定木の生成本数、回帰分析のフィッティング精度、モデルに含まれる多項式の次数などが挙げられる。一般的に、同じハイパーパラメータ値を使用する場合には、訓練データとしてサンプリングする単位データの数（サンプルサイズ）が多いほどモデルの予測性能は高くなる。
【００５３】
図３は、サンプルサイズと予測性能の関係例を示すグラフである。
曲線２１ａは、ハイパーパラメータθの値が２．１である場合のサンプルサイズと予測性能の関係を示す。曲線２１ｂは、ハイパーパラメータθの値が３．４である場合のサンプルサイズと予測性能の関係を示す。曲線２１ｃは、ハイパーパラメータθの値が９．５である場合のサンプルサイズと予測性能の関係を示す。
【００５４】
曲線２１ａ，２１ｂ，２１ｃが示すように、任意のハイパーパラメータ値について、サンプルサイズが大きいほどモデルの予測性能は高くなる。予測性能が低いうちはサンプルサイズの増加に応じて予測性能が大きく上昇する。一方、予測性能には上限があり、予測性能が上限に近づくとサンプルサイズの増加量に対する予測性能の上昇量の比は逓減する。また、サンプルサイズが大きいほど、機械学習に要する学習時間も長くなる。このため、サンプルサイズを過度に大きくすると、学習時間の点で機械学習が非効率になる。
【００５５】
予測性能の上限は、機械学習アルゴリズムに適用するハイパーパラメータθの値によって異なる。図３の例では、θ＝３．４の場合の予測性能の上限はθ＝９．５の場合よりも高く、θ＝２．１の場合の予測性能の上限はθ＝３．４の場合よりも更に高い。
【００５６】
ただし、サンプルサイズと予測性能の間の関係は、ハイパーパラメータ値が同じであっても、機械学習に用いる訓練データの特性（訓練データの種類）に応じて変わる。また、異なるハイパーパラメータ値の間の予測性能の大小関係も、機械学習に用いる訓練データの特性に応じて変わる。このため、機械学習を開始する前に、予測性能が最大になるハイパーパラメータ値を特定することは難しく、上限に近い予測性能を達成できる最小のサンプルサイズを特定することも難しい。よって、幾つかのハイパーパラメータ値とサンプルサイズの組について機械学習を試行し、予測性能の高いモデルを効率的に生成できるハイパーパラメータ値とサンプルサイズの組を探索することになる。
【００５７】
図４は、ハイパーパラメータと予測性能の関係例を示すグラフである。
曲線２２ａ，２２ｂ，２２ｃは、予測性能の変化を図３とは異なる座標軸を用いて表したものである。曲線２２ａは、サンプルサイズｓが２００である場合のハイパーパラメータθと予測性能の関係を示す。曲線２２ｂは、サンプルサイズｓが８００である場合のハイパーパラメータθと予測性能の関係を示す。曲線２２ｃは、サンプルサイズｓが３２００である場合のハイパーパラメータθと予測性能の関係を示す。
【００５８】
曲線２２ａ，２２ｂ，２２ｃが示す例によれば、同じサンプルサイズの中では、θ＝７．６の場合の予測性能はθ＝９．５の場合よりも高い。θ＝５．２の場合の予測性能は、θ＝７．６の場合よりも更に高い。θ＝３．４の場合の予測性能は、θ＝５．２の場合よりも更に高い。θ＝２．１の場合の予測性能は、θ＝３．４の場合よりも更に高い。サンプルサイズが大きくなると、θ＝２．１，θ＝３．４，θ＝５．２，θ＝７．６，θ＝９．５の場合の予測性能は全体として高くなる。
【００５９】
なお、図４では、異なるハイパーパラメータ値の間の予測性能の大小関係は、全てのサンプルサイズにおいて同じになっている。これに対し、サンプルサイズによって予測性能の大小関係が変わることもあり得る。例えば、サンプルサイズｓ＝２００ではθ＝９．５の場合の予測性能がθ＝７．６の場合より高く、サンプルサイズｓ＝８００ではθ＝９．５の場合の予測性能がθ＝７．６の場合より低くなるということもあり得る。
【００６０】
図５は、予測性能の変化の三次元表示例を示すグラフである。
曲線２３ａは、ハイパーパラメータθの値が２．１である場合のサンプルサイズと予測性能の関係を示しており、図３の曲線２１ａに相当する。曲線２３ｂは、ハイパーパラメータθの値が３．４である場合のサンプルサイズと予測性能の関係を示しており、図３の曲線２１ｂに相当する。曲線２３ｃは、ハイパーパラメータθの値が９．５である場合のサンプルサイズと予測性能の関係を示しており、図３の曲線２１ｃに相当する。なお、図４の曲線２２ａは、図５のサンプルサイズｓ＝２００の面を切り取ったものに相当する。図４の曲線２２ｂは、サンプルサイズｓ＝８００の面を切り取ったものに相当する。図４の曲線２２ｃは、サンプルサイズｓ＝３２００の面を切り取ったものに相当する。
【００６１】
このようなハイパーパラメータθとサンプルサイズｓと予測性能の関係は、機械学習を開始していない時点では不明である。そこで、機械学習装置１００は、小さなサンプルサイズで機械学習を試行し、その学習結果から図５のような曲線を推定し、機械学習に用いるハイパーパラメータ値とサンプルサイズの組を絞り込んでいく。そのために、機械学習装置１００は、プログレッシブサンプリング法を応用して、複数のハイパーパラメータ値の中から最適なハイパーパラメータ値を探索できるようにする。
【００６２】
図６は、プログレッシブサンプリング法の第１の進行例を示す図である。
機械学習装置１００は、１つのハイパーパラメータ値と１つのサンプルサイズの組に対応する１回の機械学習（１つの学習ステップ）を順次実行していく。機械学習装置１００は、１つの学習ステップが終わる毎に、これまでに実行した学習ステップの結果に基づいて、次に実行する学習ステップのハイパーパラメータ値とサンプルサイズを動的に選択する。機械学習装置１００は、機械学習アルゴリズムに適用可能な複数のハイパーパラメータ値と複数のサンプルサイズの組を網羅的に実行するのではなく、実行するハイパーパラメータ値とサンプルサイズの組を絞り込むようにする。
【００６３】
図６の例では、機械学習装置１００は、まず学習ステップ２４ａを実行する。学習ステップ２４ａでは、θ＝２．１かつｓ＝１００に設定して機械学習を行う。ただし、機械学習装置１００は、サンプルサイズの増加に対する予測性能の変化を適切に推定できるように、サンプルサイズが小さいうちはハイパーパラメータ値が同じでサンプルサイズが異なる機械学習をまとめて実行することとする。よって、学習ステップ２４ａでは、θ＝２．１かつｓ＝１００，ｓ＝２００，ｓ＝４００，ｓ＝８００の機械学習を連続的に行う。
【００６４】
次に、機械学習装置１００は、学習ステップ２４ｂを実行する。学習ステップ２４ｂでは、θ＝９．５かつｓ＝１００，ｓ＝２００，ｓ＝４００，ｓ＝８００に設定して機械学習を行う。次に、機械学習装置１００は、学習ステップ２４ｃを実行する。学習ステップ２４ｃでは、θ＝５．２かつｓ＝１００，ｓ＝２００，ｓ＝４００，ｓ＝８００に設定して機械学習を行う。次に、機械学習装置１００は、学習ステップ２４ｄを実行する。学習ステップ２４ｄでは、θ＝３．４かつｓ＝１００，ｓ＝２００，ｓ＝４００，ｓ＝８００に設定して機械学習を行う。次に、機械学習装置１００は、学習ステップ２４ｅを実行する。学習ステップ２４ｅでは、θ＝７．６かつｓ＝１００，ｓ＝２００，ｓ＝４００，ｓ＝８００に設定して機械学習を行う。
【００６５】
次に、機械学習装置１００は、学習ステップ２４ｆを実行する。学習ステップ２４ｆでは、θ＝２．１かつｓ＝１６００に設定して機械学習を行う。次に、機械学習装置１００は、学習ステップ２４ｇを実行する。学習ステップ２４ｇでは、θ＝５．２かつｓ＝１６００に設定して機械学習を行う。次に、機械学習装置１００は、学習ステップ２４ｈを実行する。学習ステップ２４ｈでは、θ＝２．１かつｓ＝３２００に設定して機械学習を行う。θ＝３．４，θ＝７．６，θ＝９．５かつｓ＝１６００に設定した機械学習は、予測性能が向上する可能性が小さければ実行しなくてよい。
【００６６】
１つの学習ステップの中では、機械学習装置１００は、訓練データを用いてモデルを生成し、テストデータを用いてモデルの予測性能を評価する。１つの学習ステップ内での手順（バリデーション方法）として、例えば、機械学習装置１００は、クロスバリデーションやランダムサブサンプリングバリデーションなどを用いることができる。
【００６７】
クロスバリデーションでは、機械学習装置１００は、サンプリングしたデータをＭ個（Ｍは２以上の整数）のブロックに分割し、このうちＭ−１個のブロックを訓練データとして使用して１個のブロックをテストデータとして使用する。機械学習装置１００は、テストデータとして使用するブロックを変えながらモデルの学習と予測性能の評価をＭ回繰り返す。１つの学習ステップの結果として、例えば、Ｍ個のモデルのうち最も予測性能の高いモデルと、Ｍ回の予測性能の平均値とが出力される。クロスバリデーションは、限定された量のデータを活用して予測性能の評価を可能とする。
【００６８】
ランダムサブサンプリングバリデーションでは、機械学習装置１００は、データの母集合から訓練データとテストデータをランダムにサンプリングし、訓練データを用いてモデルを学習し、テストデータを用いてモデルの予測性能を算出する。機械学習装置１００は、サンプリングとモデルの生成と予測性能の評価とをＭ回繰り返す。各サンプリングは、非復元抽出サンプリングである。すなわち、１回のサンプリングの中で、訓練データ内に同じ単位データは重複して含まれず、テストデータ内に同じ単位データは重複して含まれない。また、１回のサンプリングの中で、訓練データとテストデータに同じ単位データは重複して含まれない。ただし、Ｍ回のサンプリングの間で、同じ単位データが選択されることはあり得る。１つの学習ステップの結果として、例えば、Ｍ個のモデルのうち最も予測性能の高いモデルと、Ｍ回の予測性能の平均値とが出力される。
【００６９】
次の学習ステップで用いるハイパーパラメータ値とサンプルサイズの組を選択する方法として、機械学習装置１００は、ハイパーパラメータ値毎に予測性能の改善速度を推定し、改善速度が最大のハイパーパラメータ値を選択する。機械学習装置１００は、選択したハイパーパラメータ値について、実行済みのサンプルサイズより１段階大きいサンプルサイズを選択し、選択したハイパーパラメータ値とサンプルサイズの組を用いて学習ステップを実行する。改善速度は、学習ステップを１つ進める毎に見直される。
【００７０】
改善速度の推定値は、性能改善量の推定値を実行時間の推定値で割ったものである。性能改善量の推定値は、サンプルサイズを大きくした場合の予測性能の推定値と、複数のハイパーパラメータ値を通じて現在までに達成された予測性能の最大値（達成予測性能）との差である。実行時間の推定値は、サンプルサイズを大きくした場合の機械学習に要する時間の推定値である。実行したことのあるハイパーパラメータ値については、小さなサンプルサイズでの予測性能の測定値と実行時間の測定値とに基づいて、大きなサンプルサイズでの予測性能の推定値と実行時間の推定値とが算出される。実行したことのないハイパーパラメータ値については、他のハイパーパラメータ値についての予測性能と実行時間とに基づいて、予測性能の推定値と実行時間の推定値とが算出される。
【００７１】
機械学習装置１００は、未実行のハイパーパラメータ値とサンプルサイズの組それぞれについて、予測性能の推定値と実行時間の推定値とを算出する。機械学習装置１００は、予測性能の推定値と現在の達成予測性能から性能改善量の推定値を算出する。また、機械学習装置１００は、未実行のサンプルサイズの実行時間の推定値を累積して累積実行時間の推定値を算出する。これにより、未実行のハイパーパラメータ値とサンプルサイズの組それぞれについて、性能改善量の推定値と累積実行時間の推定値が算出される。
【００７２】
機械学習装置１００は、未実行のハイパーパラメータ値とサンプルサイズの組それぞれについて、性能改善量の推定値を累積実行時間の推定値で割った指標値を算出する。機械学習装置１００は、ハイパーパラメータ値が同じでサンプルサイズが異なる複数の指標値の中から１つの指標値を選択し、選択した指標値を当該ハイパーパラメータ値の改善速度の推定値とする。例えば、機械学習装置１００は、閾値を超える指標値のうちサンプルサイズが最小である指標値を、改善速度の推定値として選択する。また、例えば、機械学習装置１００は、最大のサンプルサイズの指標値を、改善速度の推定値として選択する。
【００７３】
図６の例では、機械学習装置１００は、学習ステップ２４ａを実行した後に各ハイパーパラメータ値の改善速度を算出し、改善速度が最大であるθ＝９．５を選択している。また、機械学習装置１００は、学習ステップ２４ｂを実行した後に各ハイパーパラメータ値の改善速度を更新し、改善速度が最大であるθ＝５．２を選択している。同様に、機械学習装置１００は、学習ステップ２４ｃを実行した後に改善速度が最大のθ＝３．４を選択し、学習ステップ２４ｄを実行した後に改善速度が最大のθ＝７．６を選択している。また、機械学習装置１００は、学習ステップ２４ｅを実行した後に改善速度が最大のθ＝２．１を選択し、学習ステップ２４ｆを実行した後に改善速度が最大のθ＝５．２を選択し、学習ステップ２４ｇを実行した後に改善速度が最大のθ＝２．１を選択している。
【００７４】
なお、性能改善量を推定するにあたっては、統計誤差を考慮し、予測性能が今後上昇する可能性のあるハイパーパラメータ値を早期に切り捨ててしまうリスクを低減することが好ましい。そこで、例えば、機械学習装置１００は、回帰分析によって予測性能の期待値とその９５％予測区間を算出し、９５％予測区間の上限値（ＵＣＢ：Upper Confidence Bound）を、性能改善量を算出する際の予測性能の推定値として用いることが考えられる。９５％予測区間は、測定される予測性能（測定値）のばらつきを示すものであり、新たな予測性能が９５％の確率でこの区間に収まると予想されることを示す。すなわち、統計上の期待値よりも統計誤差に応じた幅だけ大きい値を使用することになる。
【００７５】
ただし、ＵＣＢに代えて、機械学習装置１００は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える確率（ＰＩ：Probability of Improvement）を算出してもよい。また、機械学習装置１００は、推定される予測性能の分布を積分して、予測性能が達成予測性能を超える期待値（ＥＩ：Expected Improvement）を算出してもよい。
【００７６】
図７は、第１の学習進行画面の例を示す図である。
機械学習装置１００は、機械学習が行われている間、ディスプレイ１１１に学習進行画面２５を表示する。学習進行画面２５は、学習ステップの実行順序を示す。学習進行画面２５は、複数のハイパーパラメータ値に対応する複数の行と、複数のサンプルサイズに対応する複数の列とによって形成される表を有する。学習進行画面２５の表には、機械学習の進行に伴い、学習ステップの実行順序を示す数値が記入されていく。
【００７７】
例えば、学習進行画面２５には、θ＝２．１かつｓ＝８００以下の学習ステップの順序が「１」と表示される。同様に、学習進行画面２５には、θ＝９．５かつｓ＝８００以下の学習ステップの順序が「２」と表示される。θ＝５．２かつｓ＝８００以下の学習ステップの順序が「３」と表示される。θ＝３．４かつｓ＝８００以下の学習ステップの順序が「４」と表示される。θ＝７．６かつｓ＝８００以下の学習ステップの順序が「５」と表示される。θ＝２．１かつｓ＝１６００の学習ステップの順序が「６」と表示される。θ＝５．２かつｓ＝１６００の学習ステップの順序が「７」と表示される。θ＝２．１かつｓ＝３２００の学習ステップの順序が「８」と表示される。θ＝３．４かつｓ＝１６００の学習ステップの順序が「９」と表示される。
【００７８】
次に、予測性能の推定方法について説明する。
図８は、予測性能の第１の推定方法の例を示す図である。
第１の推定方法は、予測性能の単純な推定方法の例である。行列２６は、第１の推定方法を示す。ここでは、θ＝２．１かつｓ＝１００〜３２００の学習ステップと、θ＝９．５かつｓ＝１００〜８００の学習ステップが実行済みであるとする。また、θ＝２．１かつｓ＝６４００の学習ステップと、θ＝３．４かつｓ＝１００〜６４００の学習ステップと、θ＝９．５かつｓ＝１６００〜６４００の学習ステップが未実行であるとする。
【００７９】
図８の行列２６に示すように、θ＝２．１かつｓ＝６４００の予測性能の推定値は、θ＝２．１の学習ステップを１つ以上実行済みであるため、ハイパーパラメータ値が同じでサンプルサイズが異なる予測性能の測定値から回帰分析により算出することができる。前述のように、性能改善量は誤差による上振れを考慮して算出されるため、予測性能の平均に加えて標準偏差も算出される。予測性能の平均は、期待値を表していると言える。予測性能の標準偏差は、ばらつき度（分散度）を表していると言える。図８の例では、θ＝２．１かつｓ＝１００〜３２００の予測性能の測定値から、θ＝２．１かつｓ＝６４００の予測性能の平均が０．９４、標準偏差が０．０２と算出されている。
【００８０】
同様に、θ＝９．５かつｓ＝１６００〜６４００の予測性能の推定値は、θ＝９．５の学習ステップを１つ以上実行済みであるため、ハイパーパラメータ値が同じでサンプルサイズが異なる予測性能の測定値から回帰分析により算出することができる。図８の例では、θ＝９．５かつｓ＝１００〜８００の予測性能の測定値から、θ＝９．５かつｓ＝１６００〜６４００の予測性能の平均が０．７２、標準偏差が０．０１と算出されている。
【００８１】
θ＝３．４かつｓ＝１００〜８００の予測性能の推定値は、θ＝３．４の学習ステップを１つも実行していないため、サンプルサイズが同じでハイパーパラメータ値が異なる予測性能の測定値から回帰分析により算出することができる。ここでも、予測性能の平均に加えて標準偏差が算出される。図８の例では、θ＝２．１，θ＝９．５かつｓ＝１００の予測性能の測定値から、θ＝３．４かつｓ＝１００の予測性能の平均が０．７０、標準偏差が０．０３と算出されている。また、θ＝３．４かつｓ＝２００の予測性能の平均が０．７７、標準偏差が０．０３と算出されている。また、θ＝３．４かつｓ＝４００の予測性能の平均が０．８２、標準偏差が０．０３と算出されている。また、θ＝３．４かつｓ＝８００の予測性能の平均が０．８５、標準偏差が０．０３と算出されている。
【００８２】
θ＝３．４かつｓ＝１６００〜６４００の予測性能の推定値は、θ＝３．４の学習ステップを１つも実行していないため、サンプルサイズが同じでハイパーパラメータ値が異なる予測性能の測定値や推定値から回帰分析により算出することができる。実行済みの学習ステップについては測定値が用いられ、未実行の学習ステップについては推定値が用いられる。これにより、大きいサンプルサイズについての予測性能を推定することができる。ただし、第１の推定方法では、回帰分析の説明変数の値として、未実行の学習ステップについては推定した平均を使用し、標準偏差は考慮しないものとする。
【００８３】
図８の例では、θ＝２．１かつｓ＝１６００の測定値０．９２と、θ＝９．５かつｓ＝１６００の平均０．７２から、θ＝３．４かつｓ＝１６００の予測性能の平均が０．８８、標準偏差が０．０３と算出されている。θ＝２．１かつｓ＝３２００の測定値０．９３と、θ＝９．５かつｓ＝３２００の平均０．７２から、θ＝３．４かつｓ＝３２００の予測性能の平均が０．８９、標準偏差が０．０３と算出されている。θ＝２．１かつｓ＝６４００の平均０．９４と、θ＝９．５かつｓ＝６４００の平均０．７２から、θ＝３．４かつｓ＝６４００の予測性能の平均が０．９０、標準偏差が０．０３と算出されている。
【００８４】
しかし、上記の第１の推定方法では、未実行のハイパーパラメータ値についての予測性能のばらつき度が過小に評価されやすいという問題がある。図８の例では、θ＝３．４かつｓ＝１６００〜６４００の予測性能の標準偏差が過小に算出されているおそれがある。
【００８５】
図９は、予測性能の標準偏差の第１の推定例を示す図である。
推定値２７ａは、第１のハイパーパラメータ値かつ特定のサンプルサイズについての予測性能を、小さいサンプルサイズについての測定値から推定したものである。推定値２７ｂは、第２のハイパーパラメータ値かつ特定のサンプルサイズについての予測性能を、小さいサンプルサイズについての測定値から推定したものである。推定値２７ｃは、第３のハイパーパラメータ値かつ特定のサンプルサイズについての予測性能を、上記の第１の推定方法によって、推定値２７ａ，２７ｂの平均から回帰分析により推定したものである。推定値２７ａ，２７ｂ，２７ｃは、予測性能の平均と標準偏差をもつ。
【００８６】
推定値２７ｃの標準偏差は、推定値２７ａ，２７ｂの平均からの回帰分析による統計誤差を織り込んでいる一方、推定値２７ａ，２７ｂがもつ標準偏差を織り込んでいない。このため、推定値２７ａ，２７ｂの標準偏差が大きいにもかかわらず、推定値２７ｃの標準偏差が小さくなることがあり、推定値２７ｃのばらつき度が過小評価されることがある。
【００８７】
推定値２７ａ，２７ｂの標準偏差を考慮すると、第３のハイパーパラメータ値かつ特定のサンプルサイズについての予測性能の推定値は、推定値２７ｄのようになる可能性がある。推定値２７ｄは、推定値２７ａが上振れしかつ推定値２７ｂが上振れした場合を考慮して、平均から上方向の大きい分布をもつ。また、推定値２７ｄは、推定値２７ａが下振れしかつ推定値２７ｂが下振れした場合を考慮して、平均から下方向の大きい分布をもつ。推定値２７ｄの標準偏差は推定値２７ｃの標準偏差より大きい。
【００８８】
このため、性能改善量の算出にあたって推定値２７ｃを用いると、第３のハイパーパラメータ値についての予測性能が大きく上昇する可能性があるにもかかわらず、第３のハイパーパラメータ値の学習ステップが実行されなくなってしまうことがある。これに対し、性能改善量の算出にあたって推定値２７ｄを用いると、第３のハイパーパラメータ値についての予測性能の上昇可能性が適切に評価されるようになる。
【００８９】
図１０は、予測性能の第２の推定方法の例を示す図である。
第２の実施の形態では、機械学習装置１００は、モンテカルロシミュレーションを利用して予測性能を推定する。行列２８は、予測性能の第２の推定方法を示す。図８と同様、θ＝２．１かつｓ＝１００〜３２００の学習ステップと、θ＝９．５かつｓ＝１００〜８００の学習ステップが実行済みであるとする。また、θ＝２．１かつｓ＝６４００の学習ステップと、θ＝３．４かつｓ＝１００〜６４００の学習ステップと、θ＝９．５かつｓ＝１６００〜６４００の学習ステップが未実行であるとする。
【００９０】
機械学習装置１００は、予測性能の測定値を用いた回帰分析を優先的に行う。図８と同様に、機械学習装置１００は、θ＝２．１かつｓ＝６４００の予測性能の推定値を、θ＝２．１かつｓ＝１００〜３２００の予測性能の測定値から算出する。また、機械学習装置１００は、θ＝９．５かつｓ＝１６００〜６４００の予測性能の推定値を、θ＝９．５かつｓ＝１００〜８００の予測性能の測定値から算出する。また、機械学習装置１００は、θ＝３．４かつｓ＝１００〜８００の予測性能の推定値を、θ＝２．１，θ＝９．５かつｓ＝１００〜８００の予測性能の測定値から算出する。
【００９１】
測定値を用いた回帰分析が完了すると、機械学習装置１００は、推定した予測性能の平均と標準偏差を用いた回帰分析を行う。機械学習装置１００は、平均と標準偏差に従う正規分布を仮定して、推定した箇所それぞれについて予測性能のサンプル値をランダムに抽出する。機械学習装置１００は、抽出したサンプル値を用いて回帰分析を行い、推定すべき箇所の予測性能の平均と標準偏差を算出する。機械学習装置１００は、サンプル値の抽出をＮ回（例えば、１０００回や１００００回など）繰り返して、Ｎ回の回帰分析結果（Ｎ通りの予測性能の平均と標準偏差）を取得する。
【００９２】
機械学習装置１００は、Ｎ回の回帰分析結果を合成することで、推定すべき箇所の予測性能の平均と標準偏差を求める。例えば、機械学習装置１００は、Ｎ通りの予測性能の平均値の平均を、最終的な予測性能の平均とする。また、機械学習装置１００は、Ｎ通りの予測性能の平均値の分散に、Ｎ通りの予測性能の分散の平均を加えたものを、最終的な予測性能の分散とする。また、例えば、機械学習装置１００は、Ｎ通りの予測性能の平均と分散からＮ個のヒストグラム（確率分布）を算出し、Ｎ個のヒストグラムを足し合わせたヒストグラムを求めて、最終的な予測性能の平均と標準偏差を求める。
【００９３】
図１０の例では、機械学習装置１００は、θ＝２．１かつｓ＝６４００についてサンプル値０．９３を抽出する。また、機械学習装置１００は、θ＝９．５かつｓ＝１６００についてサンプル値０．７３を抽出し、θ＝９．５かつｓ＝３２００についてサンプル値０．７２を抽出し、θ＝９．５かつｓ＝６４００についてサンプル値０．７１を抽出する。そして、機械学習装置１００は、測定値およびサンプル値を用いて、θ＝３．４かつｓ＝１６００の予測性能の平均を０．８８５、標準偏差を０．０３と算出する。また、機械学習装置１００は、θ＝３．４かつｓ＝３２００の予測性能の平均を０．８９、標準偏差を０．０３と算出する。また、機械学習装置１００は、θ＝３．４かつｓ＝６４００の予測性能の平均を０．８９、標準偏差を０．０３と算出する。
【００９４】
同様に、機械学習装置１００は、θ＝２．１かつｓ＝６４００についてサンプル値０．９６を抽出する。また、機械学習装置１００は、θ＝９．５かつｓ＝１６００についてサンプル値０．７２を抽出し、θ＝９．５かつｓ＝３２００についてサンプル値０．７２を抽出し、θ＝９．５かつｓ＝６４００についてサンプル値０．７３を抽出する。そして、機械学習装置１００は、上記と同様にして回帰分析を行い、θ＝３．４かつｓ＝１６００，ｓ＝３２００，ｓ＝６４００の予測性能の平均と標準偏差を算出する。機械学習装置１００は、上記をＮ回繰り返してＮ通りの回帰分析結果を得る。
【００９５】
機械学習装置１００は、Ｎ通りの回帰分析結果を統合して、θ＝３．４かつｓ＝１６００，ｓ＝３２００，ｓ＝６４００の最終的な平均と標準偏差を確定する。図１０の例では、θ＝３．４かつｓ＝１６００の予測性能の平均を０．８８、標準偏差を０．０３２と算出する。また、機械学習装置１００は、θ＝３．４かつｓ＝３２００の予測性能の平均を０．８９２、標準偏差を０．０３１と算出する。また、機械学習装置１００は、θ＝３．４かつｓ＝６４００の予測性能の平均を０．９０３、標準偏差を０．０４と算出する。図８の例と比べて、図１０の例では算出された標準偏差が大きくなっている。
【００９６】
次に、機械学習装置１００の機能および処理手順について説明する。
図１１は、機械学習装置の機能例を示すブロック図である。
機械学習装置１００は、データ記憶部１２１、管理テーブル記憶部１２２、学習結果記憶部１２３、制限時間入力部１２４、ステップ実行部１２５、時間推定部１２６、性能改善量推定部１２７および学習制御部１２８を有する。データ記憶部１２１、管理テーブル記憶部１２２および学習結果記憶部１２３は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域を用いて実装できる。制限時間入力部１２４、ステップ実行部１２５、時間推定部１２６、性能改善量推定部１２７および学習制御部１２８は、例えば、ＣＰＵ１０１が実行するプログラムモジュールを用いて実装できる。
【００９７】
データ記憶部１２１は、機械学習に使用できるデータの集合を記憶する。データの集合は、それぞれが目的変数の値（結果）と１または２以上の説明変数の値（要因）とを含む単位データの集合である。データ記憶部１２１に記憶されたデータは、機械学習装置１００または他の情報処理装置が各種デバイスから収集したものでもよいし、機械学習装置１００または他の情報処理装置に対してユーザが入力したものでもよい。
【００９８】
管理テーブル記憶部１２２は、機械学習の進行を管理するテーブルを記憶する。テーブルは、学習制御部１２８によって更新される。テーブルの詳細は後述する。
学習結果記憶部１２３は、機械学習の結果を記憶する。機械学習の結果には、目的変数と１または２以上の説明変数との間の関係を示すモデルが含まれる。例えば、各説明変数の重みを示す係数が、機械学習によって決定される。また、機械学習の結果には、学習されたモデルの予測性能が含まれる。また、機械学習の結果には、モデルの学習に用いたハイパーパラメータ値とサンプルサイズの情報が含まれる。
【００９９】
制限時間入力部１２４は、機械学習の制限時間の情報を取得し、制限時間を学習制御部１２８に通知する。制限時間の情報は、入力デバイス１１２を通じてユーザから入力されてもよい。また、制限時間の情報は、ＲＡＭ１０２またはＨＤＤ１０３に記憶された設定ファイルから読み出すようにしてもよい。また、制限時間の情報は、ネットワーク１１４を介して他の情報処理装置から受信してもよい。
【０１００】
ステップ実行部１２５は、機械学習アルゴリズムに適用するハイパーパラメータ値を変更して、機械学習アルゴリズムを実行することができる。ステップ実行部１２５は、学習制御部１２８から、ハイパーパラメータ値とサンプルサイズの指定を受け付ける。すると、ステップ実行部１２５は、データ記憶部１２１に記憶されたデータを用いて、指定されたハイパーパラメータ値とサンプルサイズの組についての学習ステップを実行する。すなわち、ステップ実行部１２５は、指定されたサンプルサイズに基づいて、データ記憶部１２１から訓練データとテストデータを抽出する。ステップ実行部１２５は、指定されたハイパーパラメータ値を機械学習アルゴリズムに適用し、訓練データを用いてモデルを学習し、テストデータを用いてモデルの予測性能を測定する。
【０１０１】
モデルの学習と予測性能の算出について、ステップ実行部１２５は、クロスバリデーションやランダムサブサンプリングバリデーションなどの各種のバリデーション方法を使用できる。使用するバリデーション方法は、ステップ実行部１２５に予め設定されてもよい。また、ステップ実行部１２５は、１つの学習ステップに要した実行時間を測定する。ステップ実行部１２５は、モデルと予測性能と実行時間を学習制御部１２８に出力する。
【０１０２】
時間推定部１２６は、学習制御部１２８から、実行済みのハイパーパラメータ値とサンプルサイズの組について実行時間の測定値を取得する。すると、時間推定部１２６は、未実行のハイパーパラメータ値とサンプルサイズの組について実行時間を推定する。予測性能の推定と同様、実行したことのあるハイパーパラメータ値については、時間推定部１２６は、小さいサンプルサイズの実行時間の測定値を用いて大きいサンプルサイズの実行時間を推定する。実行したことのないハイパーパラメータ値については、時間推定部１２６は、サンプルサイズが同じでハイパーパラメータ値が異なる実行時間の測定値や推定値を用いて実行時間を推定する。ただし、時間推定部１２６は、実行時間の推定値として平均（期待値）を算出すればよく、標準偏差は算出しなくてよい。
【０１０３】
そして、時間推定部１２６は、未実行のハイパーパラメータ値とサンプルサイズの組それぞれについて、算出した実行時間を累積実行時間に変換する。累積実行時間は、ハイパーパラメータ値が同じでサンプルサイズが異なる実行時間の推定値（未実行のものに限る）を、サンプルサイズの小さい方から累積したものである。これは、改善速度を算出するにあたり、分母の実行時間を分子の性能改善量と対応させるためである。時間推定部１２６は、推定した累積実行時間を学習制御部１２８に出力する。
【０１０４】
性能改善量推定部１２７は、学習制御部１２８から、実行済みのハイパーパラメータ値とサンプルサイズの組について予測性能の測定値を取得する。すると、性能改善量推定部１２７は、未実行のハイパーパラメータ値とサンプルサイズの組について予測性能を推定する。前述のように、実行したことのあるハイパーパラメータ値については、性能改善量推定部１２７は、小さいサンプルサイズの予測性能の測定値を用いて大きいサンプルサイズの予測性能の平均と標準偏差を算出する。実行したことのないハイパーパラメータ値については、性能改善量推定部１２７は、サンプルサイズが同じでハイパーパラメータ値が異なる予測性能の測定値や推定値を用いて、予測性能の平均と標準偏差を算出する。
【０１０５】
そして、性能改善量推定部１２７は、未実行のハイパーパラメータ値とサンプルサイズの組それぞれについて、算出した推定値を性能改善量に変換する。性能改善量は、ＵＣＢなど予測性能の平均と標準偏差から求まる指標値と、現在の達成予測性能との差である。ただし、ＵＣＢなどの指標値が達成予測性能未満である場合、性能改善量はゼロである。性能改善量推定部１２７は、推定した性能改善量を学習制御部１２８に出力する。
【０１０６】
学習制御部１２８は、複数のハイパーパラメータ値を用いた機械学習を制御する。学習制御部１２８は、１つの学習ステップ毎に、機械学習アルゴリズムに適用可能なハイパーパラメータ値の空間の中からハイパーパラメータの部分集合を抽出する。抽出する部分集合には、まだ実行したことのないハイパーパラメータ値が含まれるようにする。また、抽出する部分集合には、実行したことのあるハイパーパラメータ値が存在する場合には、実行したことのあるハイパーパラメータ値の少なくとも一部が含まれるようにする。
【０１０７】
学習制御部１２８は、抽出した部分集合に属するハイパーパラメータ値について、時間推定部１２６に累積実行時間を推定させ、性能改善量推定部１２７に性能改善量を推定させる。学習制御部１２８は、抽出した部分集合に属するハイパーパラメータ値それぞれについて、累積実行時間と性能改善量から予測性能の改善速度を算出する。学習制御部１２８は、抽出した部分集合に属するハイパーパラメータ値の中から改善速度が最大のものを選択し、選択したハイパーパラメータ値について未実行の最小のサンプルサイズを特定する。学習制御部１２８は、選択したハイパーパラメータ値とサンプルサイズをステップ実行部１２５に通知して、学習ステップを実行させる。
【０１０８】
学習制御部１２８は、ハイパーパラメータ値の部分集合の抽出、改善速度の更新およびハイパーパラメータ値の選択を、改善速度が十分に小さくなるか累積の学習時間が制限時間を超えるまで繰り返す。学習制御部１２８は、機械学習の停止までに得られたモデルのうち予測性能が最大のモデルを学習結果記憶部１２３に保存する。また、学習制御部１２８は、測定された予測性能と、モデル生成に用いたハイパーパラメータ値の情報と、モデル生成に用いたサンプルサイズの情報を、学習結果記憶部１２３に保存する。
【０１０９】
図１２は、学習結果テーブルの例を示す図である。
学習結果テーブル１３１は、管理テーブル記憶部１２２に記憶されている。学習結果テーブル１３１は、複数のハイパーパラメータ値と複数のサンプルサイズの組み合わせそれぞれに対して、予測性能μと実行時間ｕを記憶する。学習結果テーブル１３１に記憶される予測性能μは、ステップ実行部１２５によって測定された予測性能の測定値である。学習結果テーブル１３１に記憶される実行時間ｕは、ステップ実行部１２５によって測定された１つの学習ステップの実行時間の測定値である。
【０１１０】
図１２において、μｉ，ｊは、ｉ番目のハイパーパラメータ値とｊ番目のサンプルサイズの組に対応する予測性能を示す。ｕｉ，ｊは、ｉ番目のハイパーパラメータ値とｊ番目のサンプルサイズの組に対応する実行時間を示す。ｉ＝１〜５は、θ＝２．１，θ＝３．４，θ＝５．２，θ＝７．６，θ＝９．５に対応する。ｊ＝１〜７は、ｓ＝１００，ｓ＝２００，ｓ＝４００，ｓ＝８００，ｓ＝１６００，ｓ＝３２００，ｓ＝６４００に対応する。
【０１１１】
図１３は、中間推定テーブルの例を示す図である。
中間推定テーブル１３２は、時間推定部１２６および性能改善量推定部１２７によって使用される。中間推定テーブル１３２が管理テーブル記憶部１２２に記憶されていてもよい。中間推定テーブル１３２は、複数のハイパーパラメータ値と複数のサンプルサイズの組み合わせそれぞれに対して、予測性能の平均μ、予測性能の標準偏差σおよび実行時間ｕを記憶する。中間推定テーブル１３２に記憶される予測性能の平均μは、性能改善量推定部１２７によって推定された予測性能の平均である。中間推定テーブル１３２に記憶される予測性能の標準偏差σは、性能改善量推定部１２７によって推定された予測性能の標準偏差である。中間推定テーブル１３２に記憶される実行時間ｕは、時間推定部１２６によって推定された１つの学習ステップの実行時間である。
【０１１２】
図１３において、μi,jは、ｉ番目のハイパーパラメータ値とｊ番目のサンプルサイズの組に対応する予測性能の平均を示す。σi,jは、ｉ番目のハイパーパラメータ値とｊ番目のサンプルサイズの組に対応する予測性能の標準偏差を示す。ｕi,jは、ｉ番目のハイパーパラメータ値とｊ番目のサンプルサイズの組に対応する実行時間を示す。
【０１１３】
図１４は、推定テーブルの例を示す図である。
推定テーブル１３３は、管理テーブル記憶部１２２に記憶されている。推定テーブル１３３は、複数のハイパーパラメータ値と複数のサンプルサイズの組み合わせそれぞれに対して、性能改善量ｇと累積実行時間ｔを記憶する。また、推定テーブル１３３は、複数のハイパーパラメータ値それぞれに対して、改善速度ｖを記憶する。
【０１１４】
推定テーブル１３３に記憶される性能改善量ｇは、中間推定テーブル１３２に基づいて性能改善量推定部１２７によって算出された性能改善量である。推定テーブル１３３に記憶される累積実行時間ｔは、中間推定テーブル１３２に基づいて時間推定部１２６によって算出された累積実行時間である。推定テーブル１３３に記憶される改善速度ｖは、学習制御部１２８によって算出された改善速度である。図１４において、ｇi,jは、ｉ番目のハイパーパラメータ値とｊ番目のサンプルサイズの組に対応する性能改善量を示す。ｔi,jは、ｉ番目のハイパーパラメータ値とｊ番目のサンプルサイズの組に対応する累積実行時間を示す。ｖiは、ｉ番目のハイパーパラメータ値に対応する改善速度を示す。
【０１１５】
図１５は、機械学習の第１の手順例を示すフローチャートである。
（Ｓ１０）学習制御部１２８は、機械学習アルゴリズムに適用可能なハイパーパラメータ値の空間の中から、ハイパーパラメータ値の部分集合を抽出する。
【０１１６】
このとき、学習制御部１２８は、まだ実行したことのないハイパーパラメータ値をランダムに所定数（例えば、３０個）抽出して部分集合に挿入する。また、実行したことのあるハイパーパラメータ値が存在する場合、学習制御部１２８は、実行したことのあるハイパーパラメータ値の少なくとも一部を部分集合に挿入する。例えば、学習制御部１２８は、実行したことのあるハイパーパラメータ値の全部を部分集合に挿入する。また、例えば、学習制御部１２８は、実行したことのあるハイパーパラメータ値をランダムに所定数（例えば、３０個）抽出して部分集合に挿入する。また、例えば、学習制御部１２８は、実行したことのあるハイパーパラメータ値の中から、前回算出した改善速度が大きい方から所定数のハイパーパラメータ値を選択して部分集合に挿入する。
【０１１７】
（Ｓ１１）性能改善量推定部１２７は、ステップＳ１０で抽出した部分集合に属するハイパーパラメータ値とサンプルサイズの組のうち未実行の組（θi，ｓj）それぞれについて、性能改善量ｇi,jを算出する。性能改善量推定の手順は後述する。
【０１１８】
（Ｓ１２）時間推定部１２６は、ステップＳ１０で抽出した部分集合に属するハイパーパラメータ値とサンプルサイズの組のうち未実行の組（θi，ｓj）それぞれについて、累積実行時間ｔi,jを算出する。時間推定の手順は後述する。
【０１１９】
（Ｓ１３）学習制御部１２８は、ステップＳ１１で算出された性能改善量ｇi,jとステップＳ１２で算出された累積実行時間ｔi,jに基づいて、ステップＳ１０で抽出した部分集合に属するハイパーパラメータ値それぞれの改善速度ｖiを算出する。
【０１２０】
例えば、学習制御部１２８は、未実行の組（θi，ｓj）それぞれについてｇi,j／ｔi,jを算出する。学習制御部１２８は、部分集合に属するハイパーパラメータ値それぞれについて、閾値Ｒより大きいもののうちサンプルサイズが最小のｇi,j／ｔi,jを、当該ハイパーパラメータ値の改善速度ｖiとして選択する。閾値Ｒは、例えば、０．００１／３６００とする。また、例えば、学習制御部１２８は、部分集合に属するハイパーパラメータ値それぞれについて、最大のサンプルサイズｓMに対してｇi,M／ｔi,Mを算出し、ｇi,M／ｔi,Mを当該ハイパーパラメータ値の改善速度ｖiとして選択する。
【０１２１】
（Ｓ１４）学習制御部１２８は、ステップＳ１０で抽出した部分集合の中から、ステップＳ１３で算出した改善速度が最大のハイパーパラメータ値を選択する。以下では、最大の改善速度をｖmax、ｖmaxをもつハイパーパラメータ値をθmaxと表記する。
【０１２２】
（Ｓ１５）学習制御部１２８は、ステップＳ１４で求めた改善速度ｖmaxが閾値Ｒ未満であるか、または、機械学習を開始してから（最初の学習ステップを開始してから）の経過時間が制御時間を超えたか判断する。条件に該当する場合はステップＳ１８に処理が進み、条件に該当しない場合はステップＳ１６に処理が進む。
【０１２３】
（Ｓ１６）学習制御部１２８は、学習結果テーブル１３１を参照して、ハイパーパラメータ値θmaxについて未実行のサンプルサイズのうち最小のものを特定する。以下では、最小のサンプルサイズをｓminと表記する。
【０１２４】
（Ｓ１７）ステップ実行部１２５は、ステップＳ１４で選択したハイパーパラメータ値θmaxとステップＳ１６で特定したサンプルサイズｓminを用いて、学習ステップを実行する。ステップ実行の手順は後述する。そして、ステップＳ１０に処理が進む。
【０１２５】
（Ｓ１８）学習制御部１２８は、最終的な学習結果を学習結果記憶部１２３に保存して機械学習を終了する。このとき、学習制御部１２８は、これまでに生成されたモデルのうち予測性能が最大のモデルを学習結果記憶部１２３に保存する。また、学習制御部１２８は、保存したモデルの予測性能の情報と、保存したモデルの学習に用いたハイパーパラメータ値の情報と、保存したモデルの学習に用いたサンプルサイズの情報を保存する。
【０１２６】
図１６は、性能改善量推定の第１の手順例を示すフローチャートである。
（Ｓ２０）性能改善量推定部１２７は、学習制御部１２８から学習結果テーブル１３１を取得する。性能改善量推定部１２７は、学習結果テーブル１３１を参照して、実行したことのあるハイパーパラメータ値を１つ選択する（ハイパーパラメータ値θi）。なお、該当するハイパーパラメータ値がない場合、ステップＳ２０〜Ｓ２４がスキップされる。
【０１２７】
（Ｓ２１）性能改善量推定部１２７は、学習結果テーブル１３１から、ハイパーパラメータ値θiについての予測性能の測定値を取得する。
（Ｓ２２）性能改善量推定部１２７は、ステップＳ２１で取得した予測性能の測定値を用いて回帰分析により、サンプルサイズから予測性能を推定する推定式を算出する。推定式の形は、例えば、μ＝β1−α1×ｓ-γ1である。性能改善量推定部１２７は、例えば、非線形回帰分析により係数α1，β1，γ1の値を決定する。
【０１２８】
（Ｓ２３）性能改善量推定部１２７は、ハイパーパラメータ値θiについて未実行の１以上のサンプルサイズを特定する（サンプルサイズｓj）。性能改善量推定部１２７は、ステップＳ２２で算出した推定式と確率分布に基づいて、ハイパーパラメータ値θiとサンプルサイズｓjの組に対応する予測性能の平均μi,jと標準偏差σi,jを算出する。性能改善量推定部１２７は、中間推定テーブル１３２にμi,jとσi,jを登録する。
【０１２９】
（Ｓ２４）性能改善量推定部１２７は、ステップＳ２０で該当するハイパーパラメータ値（実行したことのあるハイパーパラメータ値）を全て選択したか判断する。該当する全てのハイパーパラメータ値を選択した場合はステップＳ２５に処理が進み、未選択のハイパーパラメータ値がある場合はステップＳ２０に処理が進む。
【０１３０】
（Ｓ２５）性能改善量推定部１２７は、サンプルサイズを１つ選択する（サンプルサイズｓj）。サンプルサイズの候補は、例えば、ｓ＝１００，ｓ＝２００，ｓ＝４００，ｓ＝８００，ｓ＝１６００，ｓ＝３２００，ｓ＝６４００，ｓ＝１２８００のように等比数列とする。第２の実施の形態ではサンプルサイズの増加速度を２倍としたが、４倍など他の倍率にしてもよい。なお、実行したことのないハイパーパラメータ値が存在しない場合、ステップＳ２５〜Ｓ３０がスキップされる。
【０１３１】
（Ｓ２６）性能改善量推定部１２７は、学習結果テーブル１３１から、サンプルサイズｓjについての予測性能の測定値を取得する。また、性能改善量推定部１２７は、ステップＳ２３で更新された中間推定テーブル１３２から、サンプルサイズｓjについての予測性能の平均μと標準偏差σを取得する。
【０１３２】
（Ｓ２７）性能改善量推定部１２７は、実行したことのある１以上のハイパーパラメータ値θiとステップＳ２５で選択したサンプルサイズｓjの組それぞれについて、Ｎ通りのサンプル値を抽出する。（θi，ｓj）の学習ステップが実行済みである場合、性能改善量推定部１２７は、Ｎ個のサンプル値として測定値を用いればよい。（θi，ｓj）の学習ステップが未実行である場合、性能改善量推定部１２７は、平均μi,jと標準偏差σi,jが示す確率分布に基づいて、ランダムにＮ個のサンプル値を抽出する。
【０１３３】
（Ｓ２８）性能改善量推定部１２７は、ステップＳ２７で抽出したサンプル値を用いて回帰分析をＮ回行い、ハイパーパラメータ値から予測性能を推定する推定式をＮ個算出する。性能改善量推定部１２７は、Ｎ個の推定式を用いて、未実行のハイパーパラメータ値θiとステップＳ２５で選択したサンプルサイズｓjの組について、予測性能のＮ通りの平均μi,jとＮ通りの標準偏差σi,jとを算出する。
【０１３４】
（Ｓ２９）性能改善量推定部１２７は、ステップＳ２８で算出したＮ通りの平均μi,jとＮ通りの標準偏差σi,jとを統合して、未実行のハイパーパラメータ値θiとステップＳ２５で選択したサンプルサイズｓjの組について、最終的な予測性能の平均と標準偏差を確定する。性能改善量推定部１２７は、確定した平均と標準偏差を中間推定テーブル１３２に登録する。例えば、Ｎ個のμi,jの平均を確定した平均とし、Ｎ個のμi,jの分散にＮ個の分散σ2i,j（標準偏差の二乗）の平均を加えたものを確定した分散とする。また、例えば、Ｎ個のμi,jとσi,jによって表されるヒストグラムを足し合わせた統合ヒストグラムを算出し、統合ヒストグラムの平均と標準偏差を求める。
【０１３５】
（Ｓ３０）性能改善量推定部１２７は、ステップＳ２５で全てのサンプルサイズを選択したか判断する。全てのサンプルサイズを選択した場合はステップＳ３１に処理が進み、未選択のサンプルサイズがある場合はステップＳ２５に処理が進む。
【０１３６】
（Ｓ３１）性能改善量推定部１２７は、未実行である（θi，ｓj）の平均μi,jと標準偏差σi,jを中間推定テーブル１３２から取得し、μi,jとσi,jに基づいて性能改善量ｇi,jを算出する。例えば、性能改善量推定部１２７は、μi,jとσi,jに基づいて推定値の９５％予測区間を算出し、９５％予測区間の上限値であるＵＣＢを求める。性能改善量推定部１２７は、ＵＣＢから達成予測性能を引いた差を性能改善量ｇi,jとする。ただし、ＵＣＢが達成予測性能未満である場合、性能改善量をゼロとする。性能改善量推定部１２７は、性能改善量ｇi,jを学習制御部１２８に通知する。性能改善量ｇi,jは、学習制御部１２８によって推定テーブル１３３に登録される。
【０１３７】
図１７は、時間推定の手順例を示すフローチャートである。
（Ｓ４０）時間推定部１２６は、学習制御部１２８から学習結果テーブル１３１を取得する。時間推定部１２６は、学習結果テーブル１３１を参照して、実行したことのあるハイパーパラメータ値を１つ選択する（ハイパーパラメータ値θi）。なお、該当するハイパーパラメータ値がない場合、ステップＳ４０〜Ｓ４４がスキップされる。
【０１３８】
（Ｓ４１）時間推定部１２６は、学習結果テーブル１３１から、ハイパーパラメータ値θiについての実行時間の測定値を取得する。
（Ｓ４２）時間推定部１２６は、ステップＳ４１で取得した実行時間の測定値を用いて回帰分析により、サンプルサイズから実行時間を推定する推定式を算出する。推定式の形は、例えば、ｕ＝β2＋α2×ｓである。時間推定部１２６は、例えば、線形回帰分析により係数α2，β2の値を決定する。
【０１３９】
（Ｓ４３）時間推定部１２６は、ハイパーパラメータ値θiについて未実行の１以上のサンプルサイズを特定する（サンプルサイズｓj）。時間推定部１２６は、ステップＳ４２で算出した推定式に基づいて、ハイパーパラメータ値θiとサンプルサイズｓjの組に対応する実行時間ｕi,jを算出する。実行時間の推定値については推定される平均（期待値）を求めればよく、標準偏差は求めなくてよい。時間推定部１２６は、中間推定テーブル１３２にｕi,jを登録する。
【０１４０】
（Ｓ４４）時間推定部１２６は、ステップＳ４０で該当するハイパーパラメータ値（実行したことのあるハイパーパラメータ値）を全て選択したか判断する。該当する全てのハイパーパラメータ値を選択した場合はステップＳ４５に処理が進み、未選択のハイパーパラメータ値がある場合はステップＳ４０に処理が進む。
【０１４１】
（Ｓ４５）時間推定部１２６は、サンプルサイズを１つ選択する（サンプルサイズｓj）。なお、実行したことのないハイパーパラメータ値が存在しない場合、ステップＳ４５〜Ｓ４８がスキップされる。
【０１４２】
（Ｓ４６）時間推定部１２６は、学習結果テーブル１３１から、サンプルサイズｓjについての実行時間の測定値を取得する。また、時間推定部１２６は、中間推定テーブル１３２から、サンプルサイズｓjについての実行時間の推定値を取得する。
【０１４３】
（Ｓ４７）時間推定部１２６は、ステップＳ４６で取得した実行時間の測定値や推定値を用いて回帰分析を行い、ハイパーパラメータ値から実行時間を推定する推定式を算出する。時間推定部１２６は、推定式を用いて、未実行のハイパーパラメータ値θiとステップＳ４５で選択したサンプルサイズｓjの組について実行時間ｕi,jを算出する。
【０１４４】
（Ｓ４８）時間推定部１２６は、ステップＳ４５で全てのサンプルサイズを選択したか判断する。全てのサンプルサイズを選択した場合はステップＳ４９に処理が進み、未選択のサンプルサイズがある場合はステップＳ４５に処理が進む。
【０１４５】
（Ｓ４９）時間推定部１２６は、未実行である（θi，ｓj）の実行時間ｕi,jを中間推定テーブル１３２から取得し、累積実行時間ｔi,jを算出する。累積実行時間ｔi,jは、ハイパーパラメータ値がθiでありサンプルサイズがｓj以下（未実行のものに限る）である実行時間ｕi,jを合計したものである。すなわち、累積実行時間ｔi,jは、ハイパーパラメータ値θiの学習ステップのみを継続した場合に、現在から（θi，ｓj）の学習ステップが終了するまでに要すると推定される時間である。時間推定部１２６は、推定した累積実行時間ｔi,jを学習制御部１２８に通知する。累積実行時間ｔi,jは、学習制御部１２８によって推定テーブル１３３に登録される。
【０１４６】
図１８は、ステップ実行の手順例を示すフローチャートである。
ここでは、バリデーション方法として、データ集合Ｄのサイズに応じて、ランダムサブサンプリングバリデーションまたはクロスバリデーションを実行する場合を考える。ただし、ステップ実行部１２５は、他のバリデーション方法を用いてもよい。
【０１４７】
（Ｓ５０）ステップ実行部１２５は、学習制御部１２８から指定されたハイパーパラメータ値θiとサンプルサイズｓjとを特定する。また、ステップ実行部１２５は、データ記憶部１２１に記憶されているデータ集合Ｄを特定する。
【０１４８】
（Ｓ５１）ステップ実行部１２５は、サンプルサイズｓjが、データ集合Ｄのサイズの２／３よりも大きいか判断する。サンプルサイズｓjが２／３×｜Ｄ｜よりも大きい場合、ステップ実行部１２５は、データ量が不足しているためクロスバリデーションを選択する。そして、ステップＳ５８に処理が進む。サンプルサイズｓjが２／３×｜Ｄ｜以下である場合、ステップ実行部１２５は、データ量が十分あるためランダムサブサンプリングバリデーションを選択する。そして、ステップＳ５２に処理が進む。
【０１４９】
（Ｓ５２）ステップ実行部１２５は、データ集合Ｄからサンプルサイズｓjの訓練データＤtをランダムに抽出する。訓練データの抽出は、非復元抽出サンプリングとして行う。よって、訓練データには、互いに異なるｓj個の単位データが含まれる。
【０１５０】
（Ｓ５３）ステップ実行部１２５は、データ集合Ｄのうち訓練データＤtを除いた部分から、サイズｓj／２のテストデータＤsをランダムに抽出する。テストデータの抽出は、非復元抽出サンプリングとして行う。よって、テストデータには、訓練データＤtと異なりかつ互いに異なるｓj／２個の単位データが含まれる。なお、ここでは訓練データＤtのサイズとテストデータＤsのサイズの比を２：１としたが、比を変更してもよい。
【０１５１】
（Ｓ５４）ステップ実行部１２５は、ハイパーパラメータ値θiとステップＳ５２で抽出した訓練データＤtとを用いてモデルｍを学習する。
（Ｓ５５）ステップ実行部１２５は、学習したモデルｍとステップＳ５３で抽出したテストデータＤsとを用いて、モデルｍの予測性能μを算出する。予測性能μを表す指標として、正答率、適合率、ＲＭＳＥなど任意の指標を用いることができる。
【０１５２】
（Ｓ５６）ステップ実行部１２５は、上記ステップＳ５２〜Ｓ５５の繰り返し回数と閾値Ｍとを比較し、前者が後者未満であるか判断する。閾値Ｍは、予めステップ実行部１２５に設定されていてもよい。例えば、閾値Ｍ＝１０とする。繰り返し回数が閾値Ｍ未満の場合はステップＳ５２に処理が進み、それ以外の場合はステップＳ５７に処理が進む。
【０１５３】
（Ｓ５７）ステップ実行部１２５は、ステップＳ５５で算出されたＭ個の予測性能μの平均値を算出し、予測性能の測定値として出力する。また、ステップ実行部１２５は、ステップＳ５０が開始されてからステップＳ５２〜Ｓ５６の繰り返しが終了するまでの実行時間ｕを算出し、実行時間の測定値として出力する。また、ステップ実行部１２５は、ステップＳ５４で学習されたＭ個のモデルｍのうち予測性能が最大のモデルを出力する。そして、ランダムサブサンプリングバリデーションによる１つの学習ステップが終了する。
【０１５４】
（Ｓ５８）ステップ実行部１２５は、上記のランダムサブサンプリングバリデーションに代えて、前述したクロスバリデーションを実行する。例えば、ステップ実行部１２５は、データ集合Ｄからサンプルサイズｓjのサンプルデータをランダムに抽出し、抽出したサンプルデータをＭ個のブロックに均等に分割する。ステップ実行部１２５は、Ｍ−１個のブロックを訓練データとして使用し１個のブロックをテストデータとして使用することを、テストデータのブロックを変えながらＭ回繰り返す。ステップ実行部１２５は、Ｍ個の予測性能の平均値と、実行時間と、予測性能が最大のモデルを出力する。
【０１５５】
第２の実施の形態の機械学習装置１００によれば、学習ステップを１つ進める毎に、複数のハイパーパラメータ値それぞれについて予測性能の改善速度が推定され、次の学習ステップでは改善速度が最大のハイパーパラメータ値が選択される。これにより、予測性能を効率的に向上できるハイパーパラメータ値が優先的に使用され、予測性能を向上できる見込みが小さいハイパーパラメータ値は全く使用されないか小さなサンプルサイズでのみ使用されることとなる。よって、全体の機械学習時間を短縮することができる。
【０１５６】
また、改善速度が最大のハイパーパラメータ値が優先的に使用されるため、機械学習時間に制限があり機械学習を途中で打ち切った場合であっても、終了時刻までに得られたモデルが、制限時間内に得られる最善のモデルとなる。また、少しでも予測性能の向上に寄与するハイパーパラメータ値は、実行順序が後になる可能性はあるものの実行される余地が残される。このため、予測性能の上限が高いハイパーパラメータ値をサンプルサイズが小さいうちに切り捨ててしまうリスクを低減できる。このように、複数のハイパーパラメータ値を利用してモデルの予測性能を効率的に向上させることができる。
【０１５７】
また、小さいサンプルサイズで実行されたハイパーパラメータ値については、サンプルサイズ間の関係に基づいて、大きなサンプルサイズにおける予測性能と実行時間が推定される。一方、一度も使用されていないハイパーパラメータ値については、ハイパーパラメータ間の関係に基づいて予測性能と実行時間が推定される。このとき、別のハイパーパラメータ値の予測性能と実行時間は、測定値でもよいし推定値でもよい。よって、様々なハイパーパラメータ値とサンプルサイズの組について推定値を算出することができる。その結果、予測性能が高くなる可能性のあるパラメータ値を効率的に探索することができる。
【０１５８】
また、他のハイパーパラメータ値の予測性能が推定値として与えられる場合、その推定値の平均だけではなく標準偏差も考慮される。よって、一度も使用されていないハイパーパラメータ値についての予測性能の標準偏差が過剰に小さく算出されてしまうことを抑制でき、予測性能が高くなる可能性が過小評価されてしまうことを抑制できる。
【０１５９】
［第３の実施の形態］
次に、第３の実施の形態を説明する。第２の実施の形態と同様の内容については説明を省略し、第２の実施の形態と異なる内容を中心に説明する。
【０１６０】
第３の実施の形態は、未実行のハイパーパラメータ値についての予測性能の推定方法が第２の実施の形態と異なる。第３の実施の形態の機械学習装置は、図２と同様のハードウェアを用いて実装できる。また、第３の実施の形態の機械学習装置は、図１１と同様のソフトウェアモジュールを用いて実装できる。以下、図２および図１１と同様の符号を用いて、第３の実施の形態の機械学習装置を説明する。
【０１６１】
図１９は、性能改善量推定の第２の手順例を示すフローチャートである。
図１９のステップＳ６０〜Ｓ６９のうちステップＳ６０〜Ｓ６６，Ｓ６８，Ｓ６９の処理は、図１６のステップＳ２０〜Ｓ２６，Ｓ３０，Ｓ３１と同様である。図１６のステップＳ２７〜Ｓ２９では、（θi，ｓj）の予測性能の平均μと標準偏差σをモンテカルロシミュレーションにより推定した。これに対し、図１９のステップＳ６７では、サンプルサイズが同じでハイパーパラメータ値が異なる予測性能の測定値や推定値から、（θi，ｓj）の予測性能の平均μと標準偏差σを数式により直接算出する。
【０１６２】
以下、予測性能の平均μと標準偏差σを算出する数式について説明する。以下では、ハイパーパラメータ値θとサンプルサイズｓに対応する予測性能の平均をμ（θ，ｓ）と表記することがある。また、ハイパーパラメータ値θとサンプルサイズｓに対応する予測性能の標準偏差をσ（θ，ｓ）と表記することがある。
【０１６３】
ここでは、ある１つのハイパーパラメータ値が未実行であり、ｎ個のハイパーパラメータ値θ＝θ1，θ＝θ2，…，θ＝θnが小さなサンプルサイズで実行済みであるものとする。そして、大きなサンプルサイズｓについて、ｎ個のハイパーパラメータ値の予測性能が既に推定されており、その推定値を用いて未実行の１つのハイパーパラメータ値の予測性能を推定することとする。予測性能の推定にあたっては、シミュレーションに代えてガウス過程を用いる。なお、ｎ個のハイパーパラメータ値のうち一部のハイパーパラメータ値の予測性能が、推定値ではなく測定値であってもよい。その場合、予測性能の平均として測定値を用い、予測性能の標準偏差をゼロとして以下の計算を行ってもよい。
【０１６４】
ハイパーパラメータ値θとサンプルサイズｓに対応する予測性能の平均μ（θ，ｓ）は、列ベクトルκ（θ）と行列Ｋと列ベクトルμ（ｓ）を用いて、数式（１）のように算出できる。ハイパーパラメータ値θとサンプルサイズｓに対応する予測性能の分散σ2（θ，ｓ）は、分散σ2G（θ，ｓ）と行ベクトルｈ2（θ）と列ベクトルσ2（ｓ）を用いて、数式（２）のように算出できる。分散σ2G（θ，ｓ）は、カーネル関数ｋ（・，・）と列ベクトルκ（θ）と行列Ｋを用いて、数式（２）のように展開できる。
【０１６５】
【数１】
0006703264.tif 000002
【０１６６】
【数２】
0006703264.tif 000003
【０１６７】
数式（１）および数式（２）で使用する列ベクトルκ（θ）は、数式（３）に示すように、ｋ（θ，θ1），ｋ（θ，θ2），…，ｋ（θ，θn）を要素とする長さｎの列ベクトルである。後述するように、ｋ（θ，θj）は、ハイパーパラメータ値θとハイパーパラメータ値θjとの間の近さに関する値である。数式（１）および数式（２）で使用する行列Ｋは、数式（４）に示すように、ｋ（θi，θj）をｉ行ｊ列の要素とするｎ行ｎ列の行列である。後述するように、ｋ（θi，θj）は、ハイパーパラメータ値θiとハイパーパラメータ値θjとの間の近さに関する値である。
【０１６８】
【数３】
0006703264.tif 000004
【０１６９】
【数４】
0006703264.tif 000005
【０１７０】
数式（１）で使用する列ベクトルμ（ｓ）は、数式（５）に示すように、μ（θ1，ｓ），μ（θ2，ｓ），…，μ（θn，ｓ）を要素とする長さｎの列ベクトルである。すなわち、列ベクトルμ（ｓ）は、ｎ個のハイパーパラメータ値についての予測性能の平均を列挙したものである。数式（２）で使用する列ベクトルσ2（ｓ）は、数式（６）に示すように、σ2（θ1，ｓ），σ2（θ2，ｓ），…，σ2（θn，ｓ）を要素とする長さｎの列ベクトルである。すなわち、列ベクトルσ2（ｓ）は、ｎ個のハイパーパラメータ値についての予測性能の分散を列挙したものである。数式（２）で使用する行ベクトルｈ2（θ）は、κ（θ）TＫ-1の各要素を二乗した行ベクトルである。
【０１７１】
【数５】
0006703264.tif 000006
【０１７２】
【数６】
0006703264.tif 000007
【０１７３】
数式（２）、数式（３）および数式（４）で使用するｋ（・，・）は、カーネル関数である。ガウス過程で使用可能なカーネル関数としては、様々なものが存在する。例えば、数式（７）または数式（８）のようなカーネル関数を用いることができる。なお、数式（７）に含まれる係数ｂや数式（８）に含まれる係数ｂdは、ユーザが指定してもよいし、機械学習装置１００が最適な値を探索するようにしてもよい。数式（８）はハイパーパラメータ値θがＤ次元ベクトルである場合を想定しており、数式（８）に含まれるθdはハイパーパラメータ値θのｄ番目の数値を意味する。
【０１７４】
【数７】
0006703264.tif 000008
【０１７５】
【数８】
0006703264.tif 000009
【０１７６】
以上のような数式を用いて、予測性能の平均μと標準偏差σを直接算出できる。ただし、上記ではｎ個のハイパーパラメータ値についての予測性能の推定結果を等しく扱った。これに対し、ｎ個のハイパーパラメータ値についての予測性能の推定結果のうち、標準偏差が小さい推定結果を重視し（重みを大きくし）、標準偏差が大きい推定結果を軽視する（重みを小さくする）こともできる。これは、入力によって大きさが異なるノイズを考慮したガウス過程を用いて、予測性能の平均μと標準偏差σを推定することに相当する。
【０１７７】
図２０は、予測性能の標準偏差の第２の推定例を示す図である。
推定値３１ａは、第１のハイパーパラメータ値かつ特定のサンプルサイズについての予測性能を、小さいサンプルサイズについての測定値から推定したものである。推定値３１ｂは、第２のハイパーパラメータ値かつ特定のサンプルサイズについての予測性能を、小さいサンプルサイズについての測定値から推定したものである。推定値３１ｃは、第３のハイパーパラメータ値かつ特定のサンプルサイズについての予測性能を、小さいサンプルサイズについての測定値から推定したものである。
【０１７８】
推定値３１ａ，３１ｃの標準偏差は比較的小さく、推定値３１ｂの標準偏差は推定値３１ａ，３１ｃより大きい。推定値３１ａ，３１ｂ，３１ｃの推定結果を等しく扱った場合、ハイパーパラメータθから予測性能を推定する曲線は曲線３１ｄのように算出される。一方、推定値３１ａ，３１ｂ，３１ｃの推定結果を標準偏差に応じて重み付けした場合、ハイパーパラメータθから予測性能を推定する曲線は曲線３１ｅのように算出される。推定値３１ａ，３１ｂ，３１ｃの推定結果を重み付けした方が、傾斜の小さい自然な曲線が算出され、予測性能の推定精度が向上する可能性がある。
【０１７９】
以下、予測性能の平均μと標準偏差σを算出する他の数式について説明する。
ハイパーパラメータ値θとサンプルサイズｓに対応する予測性能の平均μ（θ，ｓ）は、列ベクトルκ（θ）と行列Ｋと行列ＫNと列ベクトルμ（ｓ）を用いて、数式（９）のように算出できる。ハイパーパラメータ値θとサンプルサイズｓに対応する予測性能の分散σ2（θ，ｓ）は、カーネル関数ｋ（・，・）とｒ（θ）と列ベクトルκ（θ）と行列Ｋと行列ＫNを用いて、数式（１０）のように算出できる。
【０１８０】
【数９】
0006703264.tif 000010
【０１８１】
【数１０】
0006703264.tif 000011
【０１８２】
数式（９）および数式（１０）で使用する行列ＫNは、数式（１１）に示すように、列ベクトルσ2（ｓ）の要素を対角線上に並べたｎ行ｎ列の行列である。ＫNの非対角要素はゼロである。数式（１０）で使用するｒ（θ）は、列ベクトルκz（θ）と行列Ｋzと列ベクトルｚを用いて、数式（１２）のように算出できる。
【０１８３】
【数１１】
0006703264.tif 000012
【０１８４】
【数１２】
0006703264.tif 000013
【０１８５】
列ベクトルκz（θ）は、κ（θ）と異なるカーネル関数を用いてκ（θ）と同様の方法で算出した列ベクトルである。行列Ｋzは、Ｋと異なるカーネル関数を用いてＫと同様の方法で算出した行列である。列ベクトルκz（θ）および行列Ｋzに使用するカーネル関数の形は、ｋ（・，・）と異なってもよい。また、列ベクトルκz（θ）および行列Ｋzに使用するカーネル関数は、ｋ（・，・）と形が同じで係数が異なるものでもよい。列ベクトルｚは、σ2（ｓ）の各要素を対数化した列ベクトルである。
【０１８６】
第３の実施の形態によれば、第２の実施の形態と同様の効果が得られる。更に、第３の実施の形態によれば、モンテカルロシミュレーションによらず、未実行のハイパーパラメータ値についての予測性能の平均と標準偏差を直接算出することができる。よって、予測性能の推定の計算量を削減することができる。
【０１８７】
［第４の実施の形態］
次に、第４の実施の形態を説明する。第２の実施の形態と同様の内容については説明を省略し、第２の実施の形態と異なる内容を中心に説明する。
【０１８８】
第４の実施の形態は、次に実行するハイパーパラメータ値とサンプルサイズの組を選択する方法が第２の実施の形態と異なる。第４の実施の形態の機械学習装置は、図２と同様のハードウェアを用いて実装できる。また、第４の実施の形態の機械学習装置は、図１１と同様のソフトウェアモジュールを用いて実装できる。以下、図２および図１１と同様の符号を用いて、第４の実施の形態の機械学習装置を説明する。
【０１８９】
図２１は、プログレッシブサンプリング法の第２の進行例を示す図である。
第４の実施の形態では、機械学習装置１００は、１つのハイパーパラメータ値を選択すると、選択したハイパーパラメータ値の改善速度が閾値Ｒ未満に低下するまで、そのハイパーパラメータ値を用いた学習ステップを連続的に実行していく。
【０１９０】
図２１の例では、機械学習装置１００は、まず学習ステップ３２ａを実行する。学習ステップ３２ａでは、θ＝２．１かつｓ＝１００〜８００に設定して機械学習を行う。学習ステップ３２ａが終わると、機械学習装置１００は、θ＝２．１の改善速度を再計算し、改善速度が閾値Ｒ以上であることを確認する。すると、機械学習装置１００は、引き続きθ＝２．１を選択し、１段階大きなサンプルサイズｓ＝１６００を選択する。
【０１９１】
次に、機械学習装置１００は、学習ステップ３２ｂを実行する。学習ステップ３２ｂでは、θ＝２．１かつｓ＝１６００に設定して機械学習を行う。学習ステップ３２ｂが終わると、機械学習装置１００は、θ＝２．１の改善速度を再計算し、改善速度が閾値Ｒ以上であることを確認する。すると、機械学習装置１００は、引き続きθ＝２．１を選択し、１段階大きなサンプルサイズｓ＝３２００を選択する。
【０１９２】
次に、機械学習装置１００は、学習ステップ３２ｃを実行する。学習ステップ３２ｃでは、θ＝２．１かつｓ＝３２００に設定して機械学習を行う。同様にして、機械学習装置１００は、学習ステップ３２ｄを実行する。学習ステップ３２ｄでは、θ＝２．１かつｓ＝６４００に設定して機械学習を行う。次に、機械学習装置１００は、学習ステップ３２ｅを実行する。学習ステップ３２ｅでは、θ＝２．１かつｓ＝１２８００に設定して機械学習を行う。学習ステップ３２ｅが終わると、機械学習装置１００は、θ＝２．１の改善速度を再計算し、改善速度が閾値Ｒ未満であることを検出する。すると、機械学習装置１００は、θ＝２．１を用いた機械学習を終了すると判断する。
【０１９３】
次に、機械学習装置１００は、学習ステップ３２ｆを実行する。学習ステップ３２ｆでは、θ＝９．５かつｓ＝１００〜８００に設定して機械学習を行う。学習ステップ３２ｆが終わると、機械学習装置１００は、θ＝９．５の改善速度を再計算し、改善速度が閾値Ｒ未満であることを確認する。すると、機械学習装置１００は、θ＝９．５を用いた機械学習を終了すると判断する。
【０１９４】
次に、機械学習装置１００は、学習ステップ３２ｇを実行する。学習ステップ３２ｇでは、θ＝５．２かつｓ＝１００〜８００に設定して機械学習を行う。学習ステップ３２ｇが終わると、機械学習装置１００は、θ＝５．２の改善速度を再計算し、改善速度が閾値Ｒ以上であることを確認する。すると、機械学習装置１００は、引き続きθ＝５．２を選択し、１段階大きなサンプルサイズｓ＝１６００を選択する。
【０１９５】
次に、機械学習装置１００は、学習ステップ３２ｈを実行する。学習ステップ３２ｈでは、θ＝５．２かつｓ＝１６００に設定して機械学習を行う。同様にして、機械学習装置１００は、学習ステップ３２ｉを実行する。学習ステップ３２ｉでは、θ＝５．２かつｓ＝３２００に設定して機械学習を行う。学習ステップ３２ｉが終わると、機械学習装置１００は、θ＝５．２の改善速度を再計算し、改善速度が閾値Ｒ未満であることを検出する。すると、機械学習装置１００は、θ＝５．２を用いた機械学習を終了すると判断する。
【０１９６】
図２２は、機械学習の第２の進行画面例を示す図である。
機械学習装置１００は、機械学習が行われている間、ディスプレイ１１１に学習進行画面３３を表示する。学習進行画面３３は、学習ステップの実行順序を示す。学習進行画面３３は、複数のハイパーパラメータ値に対応する複数の行と、複数のサンプルサイズに対応する複数の列とによって形成される表を有する。学習進行画面３３の表には、機械学習の進行に伴い、学習ステップの実行順序を示す数値が記入されていく。
【０１９７】
例えば、学習進行画面３３には、θ＝２．１かつｓ＝８００以下の学習ステップの順序が「１」と表示される。同様に、学習進行画面３３には、θ＝２．１かつｓ＝１６００の学習ステップの順序が「２」と表示される。θ＝２．１かつｓ＝３２００の学習ステップの順序が「３」と表示される。θ＝２．１かつｓ＝６４００の学習ステップの順序が「４」と表示される。θ＝２．１かつｓ＝１２８００の学習ステップの順序が「５」と表示される。θ＝９．５かつｓ＝８００以下の学習ステップの順序が「６」と表示される。θ＝５．２かつｓ＝８００以下の学習ステップの順序が「７」と表示される。θ＝５．２かつｓ＝１６００の学習ステップの順序が「８」と表示される。θ＝５．２かつｓ＝３２００の学習ステップの順序が「９」と表示される。
【０１９８】
図２３は、機械学習の第２の手順例を示すフローチャートである。
（Ｓ７０）学習制御部１２８は、機械学習アルゴリズムに適用可能なハイパーパラメータ値の空間の中から、ハイパーパラメータ値の部分集合を抽出する。このとき、学習制御部１２８は、まだ実行したことのないハイパーパラメータ値をランダムに所定数（例えば、３０個）抽出して部分集合に挿入する。第４の実施の形態では、実行したことのあるハイパーパラメータ値については部分集合に挿入しなくてよい。
【０１９９】
（Ｓ７１）性能改善量推定部１２７は、ステップＳ７０で抽出した部分集合に属するハイパーパラメータ値とサンプルサイズの組のうち未実行の組（θi，ｓj）それぞれについて、性能改善量ｇi,jを算出する。
【０２００】
（Ｓ７２）時間推定部１２６は、ステップＳ７０で抽出した部分集合に属するハイパーパラメータ値とサンプルサイズの組のうち未実行の組（θi，ｓj）それぞれについて、累積実行時間ｔi,jを算出する。
【０２０１】
（Ｓ７３）学習制御部１２８は、ステップＳ７１で算出された性能改善量ｇi,jとステップＳ７２で算出された累積実行時間ｔi,jに基づいて、ステップＳ７０で抽出した部分集合に属するハイパーパラメータ値それぞれの改善速度ｖiを算出する。
【０２０２】
（Ｓ７４）学習制御部１２８は、ステップＳ７０で抽出した部分集合の中から、ステップＳ７３で算出した改善速度が最大のハイパーパラメータ値を選択する。
（Ｓ７５）学習制御部１２８は、ステップＳ７４で求めた改善速度ｖmaxが閾値Ｒ未満であるか、または、機械学習を開始してから（最初の学習ステップを開始してから）の経過時間が制御時間を超えたか判断する。条件に該当する場合はステップＳ８０に処理が進み、条件に該当しない場合はステップＳ７６に処理が進む。
【０２０３】
（Ｓ７６）学習制御部１２８は、ステップＳ７４に該当するハイパーパラメータ値θmaxについて、未実行のサンプルサイズのうち最小のものを特定する。
（Ｓ７７）ステップ実行部１２５は、選択したハイパーパラメータ値θmaxと特定したサンプルサイズｓminを用いて、学習ステップを実行する。
【０２０４】
（Ｓ７８）性能改善量推定部１２７は、ハイパーパラメータ値θmaxについて、未実行であるサンプルサイズｓjの性能改善量ｇmax,jを再計算する。時間推定部１２６は、ハイパーパラメータ値θmaxについて、未実行であるサンプルサイズｓjの累積実行時間ｔmax,jを再計算する。学習制御部１２８は、更新された性能改善量ｇmax,jと累積実行時間ｔmax,jに基づいて、ハイパーパラメータ値θmaxの改善速度ｖmaxを再計算する。
【０２０５】
（Ｓ７９）学習制御部１２８は、ステップＳ７８で更新した改善速度ｖmaxが閾値Ｒ未満であるか判断する。改善速度ｖmaxが閾値Ｒ未満である場合はステップＳ７０に処理が進み、改善速度ｖmaxが閾値Ｒ以上である場合はステップＳ７６に処理が進む。
【０２０６】
（Ｓ８０）学習制御部１２８は、最終的な学習結果を学習結果記憶部１２３に保存して機械学習を終了する。このとき、学習制御部１２８は、これまでに生成されたモデルのうち予測性能が最大のモデルを学習結果記憶部１２３に保存する。また、学習制御部１２８は、保存したモデルの予測性能の情報と、保存したモデルの学習に用いたハイパーパラメータ値の情報と、保存したモデルの学習に用いたサンプルサイズの情報を保存する。
【０２０７】
第４の実施の形態によれば、第２の実施の形態と同様の効果が得られる。更に、第４の実施の形態によれば、１つのハイパーパラメータ値を用いて大きなサンプルサイズの学習ステップが早期に実行され、達成予測性能が早期に上昇する。よって、多数のハイパーパラメータ値について小さなサンプルサイズの学習ステップが実行され難くなり、最終的なモデルの予測性能の向上に寄与しない無駄な学習ステップを削減することができる。
【０２０８】
［第５の実施の形態］
次に、第５の実施の形態を説明する。第２の実施の形態と同様の内容については説明を省略し、第２の実施の形態と異なる内容を中心に説明する。
【０２０９】
第５の実施の形態は、予測性能の測定値から大きなサンプルサイズの予測性能の推定値を算出する方法が第２の実施の形態と異なる。第５の実施の形態の機械学習装置は、図２と同様のハードウェアを用いて実装できる。また、第５の実施の形態の機械学習装置は、図１１と同様のソフトウェアモジュールを用いて実装できる。以下、図２および図１１と同様の符号を用いて、第５の実施の形態の機械学習装置を説明する。
【０２１０】
図２４は、予測性能の上限値と推定値と標準誤差の関係例を示すグラフである。
あるサンプルサイズについて算出された予測性能の測定値は、ハイパーパラメータ値とデータの母集合の特性とから決まる理論値から乖離するリスクがある。すなわち、同じデータの母集合を使用しても、訓練データおよびテストデータの選択の偶然性によって、予測性能の測定値にばらつきが生じる。予測性能の測定値のばらつき度は、サンプルサイズが小さいほど大きく、サンプルサイズが大きいほど小さくなる傾向にある。
【０２１１】
図２４では、同じハイパーパラメータ値および同じデータの母集合を用いて、サンプルサイズ１つ当たり５０回ずつ学習ステップを実行している。図２４の例では、サンプルサイズが「１００」の場合の予測性能の測定値は、約０．５８〜０．６８であり広範囲に広がっている。サンプルサイズが「４００」の場合の予測性能の実測値は、約０．６９〜０．７５であり、サンプルサイズが「１００」の場合よりもその範囲が狭くなっている。以降、サンプルサイズが大きくなるに従い、予測性能の測定値の範囲は狭くなる。サンプルサイズが十分に大きくなると、予測性能の測定値は約０．７６に収束している。
【０２１２】
機械学習装置１００は、予測性能の推定のため、実行したことのあるハイパーパラメータ値について、小さなサンプルサイズにおける予測性能の測定値を用いて予測性能曲線を算出する。しかし、小さなサンプルサイズにおける予測性能の測定値は、理論値から大きく乖離することがある。このため、算出される予測性能曲線の精度が問題となる。そこで、第５の実施の形態では、以下の性質を利用して予測性能曲線を算出する。
【０２１３】
曲線３４ａは、ハイパーパラメータ値とデータの母集合の特性とから決まる予測性能の論理値を示す曲線、すなわち、理想的な予測性能曲線である。曲線３４ａが示す予測性能の上限を上限値３４ｂとする。また、あるサンプルサイズに対応する曲線３４ａ上の予測性能の値を推定値３４ｃとする。この場合に、当該サンプルサイズにおける予測性能の測定値の標準誤差は、多くの場合、上限値３４ｂと推定値３４ｃの差に比例するという性質をもつ。測定値の標準誤差は、推定値３４ｃと測定値の差（残差）の標準偏差である。この性質は、任意のサンプルサイズに対して成立する。
【０２１４】
すなわち、サンプルサイズが小さい場合、予測性能の測定値の標準誤差は大きい。また、サンプルサイズが小さい場合、予測性能の推定値（理論値）と上限値３４ｂとの差も大きい。一方、サンプルサイズが大きい場合、予測性能の測定値の標準誤差は小さい。また、サンプルサイズが大きい場合、予測性能の推定値と上限値３４ｂとの差も小さい。多くの場合、全てのサンプルサイズに対して、予測性能の測定値の標準誤差と、予測性能の推定値と上限値３４ｂとの差が、比例するという関係をもつ。
【０２１５】
機械学習装置１００は、この性質を利用して予測性能の測定値から曲線３４ａを算出する。機械学習装置１００は、予測性能曲線を示す推定式として次の推定式を使用する：μ＝ｃ−ｅｘｐ（ａ×ｆ（ｓ）＋ｂ）。ｓは当初の説明変数でありサンプルサイズを表す。μは当初の目的変数であり予測性能を表す。ａ，ｂ，ｃは未知の係数であり、回帰分析を通じてその値が決定される。係数ｃは、予測性能の上限値を表す。ｆ（ｓ）は、サンプルサイズを示す説明変数ｓを引数として含み未知の係数を含まない関数である。以下では一例として、ｆ（ｓ）＝ｌｏｇ（ｓ）であると仮定する。
【０２１６】
上記の推定式は、次のように変形することができる：ｌｏｇ（ｃ−μ）＝ａ×ｌｏｇ（ｓ）＋ｂ。ここで、機械学習装置１００は、回帰分析に用いる説明変数および目的変数を次のように変換する：ｘ＝ｌｏｇ（ｓ）；ｙ＝ｌｏｇ（ｃ−μ）。これにより、上記の推定式は次のように表現される：ｙ＝ａ×ｘ＋ｂ。機械学習装置１００は、（ｓ，μ）について回帰分析を行う代わりに、（ｘ，ｙ）について線形回帰分析を行う。
【０２１７】
（ｓ，μ）に対する回帰分析は非線形回帰分析である一方、（ｘ，ｙ）に対する回帰分析は線形回帰分析である。また、前述のように予測性能の標準誤差が上限値と推定値の差に比例するため、任意のｘ＝ｌｏｇ（ｓ）に対してｙ＝ｌｏｇ（ｃ−μ）の標準誤差が概ね一定になり、ｘ，ｙについて等分散性が成立する。このように、線形性および等分散性が成立するため、変数変換後の回帰分析によれば変数変換前の回帰分析よりも適切な予測性能曲線が得られる可能性が高くなる。
【０２１８】
ただし、変換後の目的変数ｙ＝ｌｏｇ（ｃ−μ）は、回帰分析によって値が決定されるべき未知の係数ｃを含んでいる。そこで、機械学習装置１００は、試行錯誤により適切な係数ｃの値を探索する。すなわち、機械学習装置１００は、最初に係数ｃの値を仮定して線形回帰分析を行い、係数ａ，ｂの値を算出する。機械学習装置１００は、この係数ａ，ｂ，ｃの値によって特定される予測性能曲線を評価し、係数ｃの値を変更して再び線形回帰分析を行う。機械学習装置１００は、評価値が十分に良好な予測性能曲線が得られるまで、係数ｃの値の変更と係数ａ，ｂの値の算出とを繰り返す。
【０２１９】
図２５は、推定式生成の手順例を示すフローチャートである。
（Ｓ９０）性能改善量推定部１２７は、ハイパーパラメータ値θiについてこれまで実行した学習ステップの結果を示す測定データ（ｓ，μ）の集合を取得する。
【０２２０】
（Ｓ９１）性能改善量推定部１２７は、係数集合｛ａ，ｂ，ｃ｝を特定する。
（Ｓ９２）性能改善量推定部１２７は、係数ｃの初期値として、取得した予測性能の測定値の中の最大値に所定値（例えば、１０-8）を加えた値を設定する。
【０２２１】
（Ｓ９３）性能改善量推定部１２７は、現在の係数ｃの値を用いて、測定データ（ｓ，μ）の集合を変換後データ（ｘ，ｙ）の集合に変換する。具体的には、性能改善量推定部１２７は、ｘ＝ｌｏｇ（ｓ）；ｙ＝ｌｏｇ（ｃ−μ）と変換する。
【０２２２】
（Ｓ９４）性能改善量推定部１２７は、変換後データ（ｘ，ｙ）の集合を用いて、線形回帰分析によりｙ＝ａ×ｘ＋ｂの係数ａ，ｂの値を算出する。例えば、性能改善量推定部１２７は、最小二乗法により残差二乗和が最小になる係数ａ，ｂの値を算出する。
【０２２３】
（Ｓ９５）性能改善量推定部１２７は、係数ａ，ｂ，ｃの値を用いて、測定データ（ｓ，μ）それぞれについて推定値μ0＝ｃ−ｅｘｐ（ａ×ｌｏｇ（ｓ）＋ｂ）を算出する。
（Ｓ９６）性能改善量推定部１２７は、予測性能の測定値μと推定値μ0から重み付き残差二乗和を算出し、係数ａ，ｂ，ｃの値に対する評価値Ｇとする。具体的には、性能改善量推定部１２７は、Ｇ＝ｓｕｍ｛(μ0−μ)2×ｗ｝を算出する。重みｗの値は、全ての測定値μについて共通でもよいし測定値μによって異なってもよい。例えば、重みｗの値は、サンプルサイズｓでもよいし、サンプルサイズｓに応じた値でもよい。
【０２２４】
（Ｓ９７）性能改善量推定部１２７は、係数ｃの最適化が完了したか判断する。例えば、評価値Ｇが閾値未満になった場合や、評価値Ｇが過去と比べて改善しなくなった場合に、最適化が完了したと判断してもよい。また、例えば、ステップＳ９３〜Ｓ９６の繰り返し回数が閾値に達した場合や、係数ｃの最適化を開始してから所定時間経過した場合に、最適化が完了したと判断してもよい。最適化が完了した場合は推定式生成が終了する。最適化が完了していない場合はステップＳ９８に処理が進む。
【０２２５】
（Ｓ９８）性能改善量推定部１２７は、係数ｃの値を変更する。性能改善量推定部１２７は、ランダムに係数ｃの値を選択してもよいし、現在の値から所定量だけ離れた値を選択してもよい。また、性能改善量推定部１２７は、過去の評価値Ｇから、評価値Ｇが改善すると期待される係数ｃの値を予測してもよい。そして、ステップＳ９３に処理が進む。
【０２２６】
第５の実施の形態によれば、第２の実施の形態と同様の効果が得られる。更に、第５の実施の形態によれば、サンプルサイズから予測性能を推定する推定式の信頼性が向上する。また、小さなサンプルサイズについての少量の測定値からでも、大きなサンプルサイズについての予測性能を精度よく推定することができる。
【０２２７】
なお、以上説明した第１から第５の実施の形態は、任意に組み合わせ可能である。
また、前述のように、第１の実施の形態の情報処理は、機械学習管理装置１０にプログラムを実行させることで実現できる。第２から第５の実施の形態の情報処理は、機械学習装置１００にプログラムを実行させることで実現できる。
【０２２８】
プログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体１１３）に記録しておくことができる。記録媒体として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体（例えば、ＨＤＤ１０３）にプログラムをコピーして実行してもよい。
【符号の説明】
【０２２９】
１０  機械学習管理装置
１１  記憶部
１２  演算部
１３ａ，１３ｂ，１３ｃ  パラメータ値
１４ａ，１４ｂ  サイズ
１５ａ，１５ｂ  測定値
１６ａ，１６ｂ，１６ｃ  期待値
１７ａ，１７ｂ，１７ｃ  分散度
【図１】
0006703264.tif 000014
【図２】
0006703264.tif 000015
【図３】
0006703264.tif 000016
【図４】
0006703264.tif 000017
【図５】
0006703264.tif 000018
【図６】
0006703264.tif 000019
【図７】
0006703264.tif 000020
【図８】
0006703264.tif 000021
【図９】
0006703264.tif 000022
【図１０】
0006703264.tif 000023
【図１１】
0006703264.tif 000024
【図１２】
0006703264.tif 000025
【図１３】
0006703264.tif 000026
【図１４】
0006703264.tif 000027
【図１５】
0006703264.tif 000028
【図１６】
0006703264.tif 000029
【図１７】
0006703264.tif 000030
【図１８】
0006703264.tif 000031
【図１９】
0006703264.tif 000032
【図２０】
0006703264.tif 000033
【図２１】
0006703264.tif 000034
【図２２】
0006703264.tif 000035
【図２３】
0006703264.tif 000036
【図２４】
0006703264.tif 000037
【図２５】
0006703264.tif 000038