Main Content

回帰学習器アプリのハイパーパラメーターの最適化を使用した回帰モデルの学習

この例では、回帰学習器アプリでハイパーパラメーターの最適化を使用してアンサンブル回帰のハイパーパラメーターを調整する方法を示します。学習済みの最適化可能なアンサンブルのテスト セット性能を、事前設定された最適なアンサンブル モデルと比較します。

  1. MATLAB® コマンド ウィンドウで、carbig データ セットを読み込み、ほとんどの変数が含まれている table を作成します。

    load carbig
    cartable = table(Acceleration,Cylinders,Displacement, ...
        Horsepower,Model_Year,Weight,Origin,MPG);
  2. 回帰学習器を開きます。[アプリ] タブをクリックしてから、[アプリ] セクションの右にある矢印をクリックしてアプリ ギャラリーを開きます。[機械学習および深層学習] グループの [回帰学習器] をクリックします。

  3. [学習] タブの [ファイル] セクションで、[新規セッション]、[ワークスペースから] を選択します。

  4. [ワークスペースからの新規セッション] ダイアログ ボックスで、[データ セット変数] のリストから [cartable] を選択します。応答変数と予測子変数が選択されます。既定の応答変数は [MPG] です。既定の検証オプションは 5 分割交差検証であるため、過適合が防止されます。

    [テスト] セクションで、[テスト データ セットの確保] チェック ボックスをクリックします。インポートされたデータの 15 パーセントをテスト セットとして使用するように指定します。

    New Session from Workspace dialog box with 15 percent of the imported data set aside for testing

  5. オプションはそのままで続行するため、[セッションの開始] をクリックします。

  6. 事前設定されたすべてのアンサンブル モデルに学習させます。[学習] タブの [モデル] セクションで矢印をクリックしてギャラリーを開きます。[木のアンサンブル] グループで [すべてのアンサンブル] をクリックします。[学習] セクションで、[すべてを学習] をクリックして [すべてを学習] を選択します。アンサンブル モデル タイプごとに 1 つと既定の複雑な木のモデルの学習が行われ、モデルが [モデル] ペインに表示されます。

    メモ

    • Parallel Computing Toolbox™ がある場合は、[並列の使用] ボタンが既定でオンになります。[すべてを学習] をクリックして [すべてを学習] または [選択を学習] を選択すると、ワーカーの並列プールが開きます。この間、ソフトウェアの対話的な操作はできません。プールが開いた後、モデルの学習を並列で実行しながらアプリの操作を続けることができます。

    • Parallel Computing Toolbox がない場合は、[すべてを学習] メニューの [バックグラウンド学習を使用] チェック ボックスが既定でオンになります。オプションを選択してモデルに学習させると、バックグラウンド プールが開きます。プールが開いた後、モデルの学習をバックグラウンドで実行しながらアプリの操作を続けることができます。

    Response plot of the car data modeled by a boosted trees ensemble model

    最初のアンサンブル モデル (モデル 2.1) の応答プロットが表示されます。青色の点は真の値、黄色の点は予測値です。左の [モデル] ペインに各モデルの RMSE 検証が表示されます。

    メモ

    検証により、結果に無作為性が導入されます。実際のモデルの検証結果は、この例に示されている結果と異なる場合があります。

  7. 学習させる最適化可能なアンサンブル モデルを選択します。[学習] タブの [モデル] セクションで矢印をクリックしてギャラリーを開きます。[木のアンサンブル] グループで [最適化可能なアンサンブル] をクリックします。

  8. 最適化するモデル ハイパーパラメーターを選択します。[概要] タブで、最適化するハイパーパラメーターの [最適化] チェック ボックスを選択できます。既定では、すべてのチェック ボックスが選択されます。この例では、既定の選択をそのまま使用します。

    Summary tab with ensemble hyperparameters selected for optimization

  9. 最適化可能なモデルに学習させます。[学習] タブの [学習] セクションで、[すべてを学習] をクリックして [選択を学習] を選択します。

  10. 最適化が実行されると [最小 MSE のプロット] が表示されます。反復ごとに、ハイパーパラメーター値の異なる組み合わせが試され、その反復までに観測された最小検証の平均二乗誤差 (MSE) をもつプロットが更新され、濃い青で示されます。最適化プロセスが完了すると、最適化された一連のハイパーパラメーターが選択され、赤の四角形で示されます。詳細は、最小 MSE のプロットを参照してください。

    最適化されたハイパーパラメーターはプロットの右の [最適化の結果] セクションとモデルの [概要] タブの [最適化可能なアンサンブル モデルのハイパーパラメーター] セクションの両方に一覧表示されます。

    Minimum MSE plot for the optimizable ensemble model

    メモ

    一般に、最適化の結果に再現性はありません。

  11. 学習済みの事前設定されたアンサンブル モデルを学習済みの最適化可能なモデルと比較します。[モデル] ペインで、最小の [RMSE (検証)] (検証平方根平均二乗誤差) が四角で囲まれて強調表示されます。この例では、学習済みの最適化可能なアンサンブルが 2 つの事前設定されたモデルよりも優れています。

    学習済みの最適化可能なモデルに、学習済みの事前設定されたモデルよりも低い RMSE が必ずあるとは限りません。学習済みの最適化可能なモデルが適切に機能しない場合、より長く最適化を実行してより優れた結果が得られるように試すことができます。[学習] タブの [オプション] セクションで [オプティマイザー] をクリックします。ダイアログ ボックスで [反復] の値を増やします。たとえば、既定値の 30 をダブルクリックし、値 60 を入力します。その後、[保存して適用] をクリックします。オプションは、[モデル] ギャラリーを使用して作成される今後の最適化可能なモデルに適用されます。

  12. ハイパーパラメーター調整は過適合モデルになることがよくあるため、最適化されたアンサンブル モデルの性能をテスト セットでチェックし、事前設定された最適なアンサンブル モデルの性能と比較します。アプリにデータをインポートしたときにテスト用に確保しておいたデータを使用します。

    最初に、[モデル] ペインで [バギング木] モデルと [最適化可能なアンサンブル] モデルの横にある星形アイコンをクリックします。

  13. それぞれのモデルについて、[モデル] ペインでモデルを選択します。[テスト] タブの [テスト] セクションで [選択項目をテスト] をクリックします。残りのデータ、つまり学習データと検証データで学習させたモデルのテスト セットの性能が計算されます。

  14. テスト セット RMSE に基づいてモデルを並べ替えます。[モデル] ペインで [並べ替え] リストを開き、[RMSE (テスト)] を選択します。

    この例では、学習済みの最適化可能なアンサンブルが、依然としてテスト セット データで学習済みの事前設定されたモデルよりも優れています。それ以上に重要なのは、テスト セット RMSE が最適化可能なモデルの検証 RMSE と同等であることです。

    Trained models sorted by test RMSE

関連するトピック