過学習を防止する
BigQuery ML モデルをトレーニングする際の注意点は、過学習です。過学習は、モデルがトレーニング データとあまりに一致する場合に発生し、新しいデータに対するパフォーマンスが低下します。BigQuery ML は、早期停止と正則化という 2 つの方法で過学習を防止します。
以下で説明するオプションを変更する方法については、CREATE MODEL
ステートメントをご覧ください。
早期停止
早期停止は、BigQuery ML の過学習防止のデフォルト オプションです。早期停止を有効にすると、トレーニング中にホールドアウト データの損失がモニタリングされ、最新の繰り返しにおける損失改善がしきい値を下回るとトレーニングが一度停止します。ホールドアウト データはトレーニング中には使用されないため、新しいデータでモデル損失を正確に見積もることができます。early_stop
、min_rel_progress
、data_split_method
、data_split_eval_fraction
オプションは、早期停止の動作を制御します。
正則化
正則化により、モデルの重みが大きくなりすぎず、モデルがトレーニング データと厳密に一致することを防ぎます。BigQuery ML では、モデルの重みのサイズを制御するために、L1 正則化と L2 正則化の 2 つのメソッドがサポートされています。
デフォルトでは、l1_reg
と l2_reg
の値はゼロで、正則化は無効になっています。一部のデータセットでは、l1_reg
と l2_reg
に正の値を設定すると、新しいデータに対するトレーニング済みモデルのパフォーマンスが向上します。正則化パラメータの最適な値は通常、試行錯誤して見つけられます。一般的に桁数の順序ごとの値を試します(たとえば、0.01、0.1、1、10、100)。
正則化の使用に関する一般的なアドバイスは次のとおりです。
正則化パラメータを試す場合は、早期停止を無効にして正則化の効果を明確にしてください。
特徴の数がトレーニング セットのサイズに比べて多い場合は、正則化パラメータの値を大きくしてみてください。特徴ごとのモニタリングが少ない場合、過学習のリスクは高くなります。
多くの特徴がラベルの予測に無関係な可能性がある場合は、
l1_reg
をl2_reg
より大きく設定するか、その逆を試してください。多数の特徴が無関係である場合、L1 の正則化がより効果的であるという理論的証拠があります。
L1 正則化のもう 1 つのメリットは、多くのモデルの重みを正確にゼロに設定できることです。これは最も関係のある特徴を特定し、コンパクト モデルをトレーニングするのに有効です。
次のステップ
- BigQuery ML の概要で BigQuery ML の概要を確認する。
- BigQuery ML の使用を開始するには、BigQuery ML で機械学習モデルを作成するをご覧ください。
- モデルを使った作業の詳細を確認するには、以下をご覧ください。