理解度をチェックする: モデルのデバッグ

次の質問については、選択内容をクリックして展開し、回答を確認してください。

モデリング アプローチ

あなたや友だちのメルさんはユニコーンのようです。実際にユニコーンが好きなので、機械学習を使用してユニコーンの外見を予測することにしました。10,000 個のユニコーン登場のデータセットがあります。データセットには、見え方、場所、時間帯、標高、温度、湿度、人口密度、木陰、虹色の存在など、さまざまな特徴が含まれます。

あなたは ML モデルの開発を始めたいと思っています。開発を始めるには、どのような方法が適していますか。
ユニコーンは明暗に沈むことがよくあります。そのため、特徴の「時間帯」を使用して線形モデルを作成します。
正解です。最初に 1 つまたは 2 つの高度に予測された特徴を使用する線形モデルは、効果的な開始方法です。
ユニコーンの外観を予測することは非常に難しい問題です。したがって、使用可能なすべての機能を備えたディープ ニューラル ネットワークを使用します。
不正解です。複雑なモデルから始めると、デバッグが複雑になります。
最初は単純な線形モデルから始めますが、すべての機能を使用して、単純なモデルに予測能力を持たせます。
不正解です。線形モデルであっても、多くの特徴を使用すると、結果として得られるモデルが複雑になり、デバッグが困難になります。

ベースライン

平均二乗誤差(MSE)損失を伴う回帰を使用し、乗車時間、距離、出発地、到着時刻に基づいてタクシーの費用を予測します。理解度:

  • 平均乗車料金は 15 ドルです。
  • 乗車コストは 1 km あたりの固定料金で引き上げられます。
  • ダウンタウン エリアの乗り物は有料。
  • 乗車料金は最低額 $3 から。

以下のベースラインが有用かどうかを判断します。

1 回の乗車で 15 ドルの費用がかかりますか?
正解です。平均費用は有益なベースラインです。
×
不正解です。平均値を常に予測すると、他の値を常に予測する場合よりも MSE が低くなります。したがって、このベースラインに対するモデルのテストは、意味のある比較となります。
乗車料金の標準偏差によって異なります。
不正解です。標準偏差に関係なく、常に平均値を算出すると、常に他の値を予測した場合と比べて MSE が低くなります。
これは有用なベースラインです。期間と送信元のみを特徴として使用するトレーニング済みモデルです。
不正解です。本番環境でのモデルの完全な検証が完了してから、トレーニング済みのモデルをベースラインとして使用する必要があります。さらに、トレーニング済みのモデル自体を、より単純なベースラインに照らして検証する必要があります。
×
正解です。本番環境でモデルが完全に検証された後に、トレーニング済みモデルをベースラインとして使用する必要があります。
これは有用なベースラインです。配車費用は、乗車距離(km 単位)と 1 km あたりの運賃を掛けたものです。
正解です。乗車距離は、乗車料金を決めるうえで最も重要な要素です。したがって、距離に依存するベースラインが有効です。
×
不正解です。乗車距離を決定するうえで最も重要なことは、距離です。したがって、距離に依存するベースラインが有効です。
これは有用なベースラインで、乗車 1 回ごとに 1 ドルかかります。モデルが常にこのベースラインを上回る必要があるためです。モデルがこのベースラインを下回らない場合、モデルにバグがあることは確かです。
不正解です。これは常に間違っているため、これは有用なベースラインではありません。モデルが常に正しくないベースラインと比較することは意味がありません。
×
正解です。このベースラインは、モデルの有用なテストではありません。

ハイパーパラメータ

次の質問では、分類器のトレーニングに関する問題について説明します。ここに記載されている問題の解決方法を選択してください。

トレーニングの損失は 0.24、検証の損失は 0.36 です。次の 2 つのアクションのうち、トレーニングと検証の損失の差異を軽減するものはどれですか。
トレーニング セットと検証セットに、同じ統計プロパティがあることを確認します。
正解です。トレーニング セットと検証セットの統計特性が異なる場合、トレーニング データは検証データを予測できません。
正則化を使用して過学習を防ぎます。
正解です。トレーニングの損失が検証損失よりも小さい場合、モデルはトレーニング データに過学習している可能性があります。正則化により、過学習が防止されます。
トレーニング エポックの数を増やす。
不正解です。トレーニングの損失が検証損失よりも小さい場合、モデルはトレーニング データに対して過学習の状態になっているのが一般的です。トレーニング エポックを増加させると、過学習のみが増大します。
学習率を下げる。
不正解です。検証損失がトレーニング損失よりも大きい場合、通常は過学習を示します。学習率を変更しても、過学習は軽減されません。
前の質問で説明した正しいアクションを実行すると、多くのエポックのトレーニング後にトレーニングと検証の損失が 1.0 から約 0.24 に減少します。トレーニングの損失をさらに低減できるアクションは、次のうちどれですか。
ニューラル ネットワークの深度と幅を広げます。
正解です。多くのエポックでトレーニングを行った後、トレーニングの損失が 0.24 で一定に保たれると、損失をさらに低減する予測能力がモデルで不足することがあります。モデルの深さと幅を大きくすると、トレーニングの損失をさらに低減するために必要な追加の予測能力がモデルに与えられます。
トレーニング エポックの数を増やす。
不正解です。多くのエポックでトレーニングを行った後、トレーニングの損失を 0.24 に維持した場合、モデルのトレーニングを継続しても、トレーニングの損失が大幅に減少することはありません。
学習率を上げる。
不正解です。多くのトレーニング エポックでトレーニングの損失は減少しなかったので、学習率を上げても最終的なトレーニングの損失は減少しないでしょう。代わりに、学習率を上げるとトレーニングが不安定になり、モデルがデータを学習できなくなる可能性があります。
前の質問で正しい対応を取っている。モデルのトレーニング損失は 0.20 に減少しました。モデルのトレーニングの損失をもう少し減らす必要があるとします。予測力があるように見える特徴をいくつか追加します。ただし、トレーニングの損失は 0.20 前後で変動します。トレーニングの損失を減らすには、次のうちどの方法が適していますか。
レイヤの深度と幅を広げます。
正解です。モデルには、新しい機能で予測シグナルを学習する能力が不足している可能性があります。
トレーニング エポックを増やします。
不正解です。モデルのトレーニングの損失が約 0.20 まで変動する場合、トレーニングのエポック数を増やすと、おそらくモデルのトレーニングの損失が約 0.20 ずつ変動します。
既存の特徴に対して情報が追加されることはありません。別の機能をお試しください。
正解です。特徴によってエンコードされた予測シグナルは、使用している特徴にすでに存在している可能性があります。
学習率を下げる。
正解です。新しい機能を追加すると、問題が複雑化する可能性があります。具体的には、損失の変動は学習率が高すぎて、モデルが最小値に沿って飛躍していることを示します。学習率を下げると、モデルが最小値を学習します。