Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

学習曲線

学習曲線グラフは、データセットのサイズを大きくすることに意味があるかどうかを判断する際に役立ちます。追加データを入手するにはコストがかかる場合がありますが、モデルの精度が向上するのであれば、そうするだけの価値があるかもしれません。学習曲線グラフは、パフォーマンスが良いモデルについて、サンプルサイズが変化するにつれモデルパフォーマンスがどのように変化するかを示します。これは、リーダーボードをソートするために設定された現在の指標に基づきます。(DataRobotで表示するモデルの選択内容の計算方法については、以下を参照してください。)

モデルの構築を開始した後、学習曲線を選択してグラフを表示します。このグラフはオートパイロットで使用されるステージ(サンプルサイズ)を示します。モデル構築が終わると画面が更新され、新しいモデルスコアでグラフが再処理されます。以下のイメージは、AutoMLプロジェクトのグラフを示しています。時間認識モデルの場合、ビューを設定(OTVのみ)できますが、サンプルサイズを変更できません。

データポイントに対する実測値を確認するには、グラフのライン上のポイントまたはグラフ右側のモデル名の横にある色付きバーの上にカーソルを置きます。

すべてのモデルで3つのサンプルサイズが学習曲線グラフに表示されるわけではありません。この理由は、大きいサンプルサイズのデータでDataRobotが再実行する際に、前回の実行で得られた最高のスコアリングモデルのみが次のステージで使用されるからです。さらに、アンサンブルは最高のサンプルパーセント(パーティショニング設定によって決定されます)上でのみ実行します。また、特定のモデルのポイント数は、データセットの行数によって異なります。小さなデータセット(AutoMLおよび時間認識)も、実行や表示されるステージの数に影響します。

学習曲線の解釈

学習曲線グラフを評価する際、下記を考慮に入れてください。

  • 検定スコアを表示するには、ホールドアウトのロックを解除する必要があります。

  • モデルをよく吟味し、サンプルサイズの増加に伴い、急激な変化や、パフォーマンスの低下がないかどうか調べます。データセットや検定セットが小さいときは、データセットの性質により、大幅な変動が生じることがあります。

  • モデルはトレーニングセットの特定の特性に左右されやすくなるので、サンプルサイズが大きくなるとモデルのパフォーマンスが低下することがあります。

  • 一般的に、バイアスの大きいモデル(線形モデルなど)は、小さなサンプルサイズで、一方、より柔軟でバリアンスの大きいモデルはしばしば、大きなサンプルサイズで、それぞれパフォーマンスが向上することがあります。

  • 変動を前処理することで、モデルの柔軟性が向上することがあります。

新しいサンプルサイズの計算

さまざまなサンプルサイズの複数のモデルの学習曲線グラフを1回のクリックで計算できます。デフォルトでは、グラフは、モデリングモード選択の複数ステージのサンプルサイズで自動入力されます(フルオートパイロットおよび「デプロイに推奨および準備」モデルの場合は3ポイント、クイックオートパイロットの場合は2ポイント)。学習曲線を計算オプションを使用すると、追加のサンプルサイズを計算および表示できます。

サンプルサイズを追加して計算をクリックすると、新しく入力したサイズで再計算されます。計算はすべてのモデルに対して実行されますが、右側のリストから1つ以上のモデルを選択した場合は、選択したモデルに対してのみ実行されます。リクエストごとのサイズは5つのサンプルサイズに制限されていますが、グラフには(複数のリクエストを使用して)任意の数のポイントを表示できます。学習曲線を計算で追加したサンプルサイズは、そのセッションでのみ記憶され、自動入力されます。ページから移動した場合、そのサンプルサイズは維持されません。64%を超えるものを表示するには、最初にホールドアウトのロックを解除する必要があります。

新しいサンプルサイズの追加に関するメモ:

  • リーダーボードでプラス()記号をクリックして新しいサンプルサイズでトレーニングした場合、一般的でないサイズ(新しいモデルの追加のダイアログでスナップ先の選択肢から利用できないサイズ)は学習曲線グラフに自動的には表示されません(グラフから追加することは可能です)。

  • 最初は、サンプルサイズフィールドにはデフォルトのスナップサイズ(通常、16%、32%、64%)が入力されています。フィールドで受け入れられるのサイズはリクエストごとに5つだけなので、追加のカスタムサイズが2つ以上ある場合、すでにプロットされているデフォルト値を削除できます。(グラフで使用できるかどうかは、プロジェクトの構築に使用したモデリングモードによって異なります。)

OTVによる学習曲線

学習曲線グラフは、行の選択に使用されるモードに基づきます(行、期間、またはプロジェクト設定およびサンプリング方法(ランダムまたは最新))。これらの設定により、トレーニングデータの期間が異なる可能性があるため、視覚化をモードにとって意味のあるものにするために使用できる2つのビューがあります。履歴ビューでは期間ごとに上位モデルがグラフ化され、データビューでは行数に基づいて上位モデルがグラフ化されます。

ビューを切り替えて、データに適したビューを確認してください。履歴ビューの直線は、モデルが同じ観測可能な履歴を持つデータセットでトレーニングされたことを示しています。たとえば、プロジェクト設定モードで25%/50%/100%をランダムに選択すると、数または行は異なりますが、期間は同じになります(言い換えれば、期間内のデータ密度が異なります)。開始/終了期間を使用するモデルは、これらの期間を直接比較することはできないため、学習曲線グラフに含まれていません。同じ期間を使用している場合は、データセットの最初または最後からである可能性があり、バックテストに対してそれを適用しても、同等の結果は得られません。

学習曲線の追加情報

学習曲線グラフは、log lossを使用してモデルの精度をプロットします(log lossは低いほど精度は高くなります)。各データサイズ実行に関して、パフォーマンスが上位10件のモデル対数損失がプロットされます。結果として得られる曲線は、一定量のトレーニングデータについて各モデルがどの程度のパフォーマンスに達するかを予測するのに役立ちます。

学習曲線は、あるモデルグループが、複数のサンプルサイズにわたって計算された際、どの程度のパフォーマンスに達するかをチャートで示します。このグループ化はグラフ上の線を表し、線上の各点は、そのグループ内の個々のモデルのサンプルサイズとスコアを表しています。

DataRobotは、ブループリントIDと特徴量セットを基に、リーダーボード上のモデルをグループ化します。したがって、例えば有用な特徴量という特徴量セットを使用して構築されたそれぞれのRegularized Logistic Regressionモデルは、単一のモデルグループです。異なる特徴量セットを使用して構築されたRegularized Logistic Regressionモデルは、異なるモデルグループに属します。

初期設定では、DataRobotは以下の要素を表示します:

  • グループ化された上位10モデル。たとえば、1つまたは複数のモデルが最上位モデルから大きく逸脱している場合、モデルの数は10未満になる可能性があります。その分岐モデルはグラフの整合性を維持するために一種の外れ値として扱われ、プロットされません。
  • 自動的に決定されたしきい値内にあるスコアを持つアンサンブルモデル(しきい値は有用なデータポイントおよびグラフの可読性を強調します)。

ホールドアウトがプロジェクトに対してロックされているときは、表示には、トレーニングセットのサイズを基に演算されたデータポイントだけが含まれます。ホールドアウトがロックされていない場合、データポイントは、トレーニングおよび検定データに対して演算されます。

特徴量セットによる表示のフィルタリング

学習曲線グラフは、有用な特徴量の特徴量セットを使用してプロットを行います。特徴量セットドロップダウンメニューを使用してグラフを絞り込んで、ユーザーが作成した(かつそれを対象にモデルを実行した)特定の特徴量セットのモデルを表示することができます。メニューは、プロジェクトに属する全特徴量セットを一覧表示します。特徴量セット上でモデルを実行していない場合、オプションは無効な状態で表示されます。

他の特徴量セットを選択した場合、DataRobotでは、選択された特徴量セットについて以下の要素が表示されます。

  • 上位10の非アンサンブルモデル
  • 自動的に決定されたしきい値内にあるスコアを持つアンサンブルモデル(しきい値は有用なデータポイントおよびグラフの可読性を強調します)。

モデルの演算で実際の値を使用する方法

モデル比較ページ(リフトチャートとデュアルリフトチャート)の実測値の意味を示す非常にシンプルな例を以下に示します。

10行のシンプルなデータセットがあり、10のビンを使用してリフトチャートが表示されているとします。行のターゲットの値は1~10です。

0, 0, 0, 0, 0, 1, 1, 1, 1, 1

モデルAは完璧で、予測は次のようになります。

0, 0, 0, 0, 0, 1, 1, 1, 1, 1

モデルBの状態はひどく、予測は次のようになります。

1, 1, 1, 1, 1, 0, 0, 0, 0, 0

DataRobotではビニングの前にソートされるので、モデルBは次のようにソートされます。

0, 0, 0, 0, 0, 1, 1, 1, 1, 1

結果としてビン1の予測は、両方のモデルで 0 になります。モデルAは完璧なので、ビン1の実測値も0です。しかし、モデルBでは、ビン1の実測値は1です。


更新しました February 22, 2022
Back to top