トレーニングパラメータ - Amazon Machine Learning

Amazon Machine Learning サービスの更新や、その新しいユーザーの受け入れは行っていません。このドキュメントは既存のユーザー向けに提供されていますが、更新は終了しています。詳細については、「Amazon Machine Learning とは」を参照してください。

トレーニングパラメータ

Amazon ML 学習アルゴリズムでは、ハイパーパラメータまたはトレーニングパラメータと呼ばれるパラメータを使用して、結果として生じるモデルの品質を制御できます。ハイパーパラメータに応じて、Amazon ML は設定を自動的に選択するか、ハイパーパラメータの静的デフォルトを提供します。デフォルトのハイパーパラメータ設定では一般的に有用なモデルが生成されますが、ハイパーパラメータ値を変更することでモデルの予測パフォーマンスを向上できる場合があります。以降のセクションでは、Amazon ML により作成されるような線形モデルの学習アルゴリズムに関連した一般的なハイパーパラメータについて説明します。

学習レート

学習レートは確率的勾配降下法 (SGD) アルゴリズムで使用される一定の値です。学習レートは、アルゴリズムが最適なウェイトに到達する (収束する) 速度に影響します。SGD アルゴリズムは、検出するすべてのデータ例について線形モデルのウェイトを更新します。これらの更新のサイズは、学習レートによって制御されます。学習レートが大きすぎると、ウェイトが最適解に近づかない可能性があります。値が小さすぎると、アルゴリズムは最適ウェイトに近づくために多くのパスを必要とします。

Amazon ML では、データに基づいて学習レートが自動的に選択されます。

モデルサイズ

多くの入力機能があると、データ内の可能なパターンの数により、大きなモデルになり得ます。大きなモデルは、トレーニング中や予測生成時にモデルを保持するためにより多くの RAM を必要とするなど、実用的意義があります。Amazon ML では、L1 正則化を使用するか、最大サイズを指定してモデルサイズを具体的に制限することによって、モデルサイズを縮小できます。モデルサイズを小さくすると、モデルの予測能力が低下する可能性があることに注意してください。

デフォルトのモデルサイズに関する詳細は、「トレーニングパラメータ: タイプとデフォルト値」を参照してください。正則化の詳細については、「正則化」を参照してください。

パスの数

SGD アルゴリズムは、トレーニングデータを順次通過させます。Number of passes パラメータは、アルゴリズムがトレーニングデータに対して行うパスの数を制御します。パス数が多いほどデータに適したモデルが得られます (学習レートがあまり大きくない場合) が、パス数の増加に伴ってメリットは失われます。小規模なデータセットの場合、パスの数を大幅に増やすことができ、学習アルゴリズムがデータに効果的により適合するようになります。非常に大きなデータセットの場合は、1 つのパスで十分です。

デフォルトのパスの数に関する詳細は、「トレーニングパラメータ: タイプとデフォルト値」を参照してください。

データシャッフル

Amazon ML では、SGD アルゴリズムがトレーニングデータの行の順序の影響を受けるため、データをシャッフルする必要があります。トレーニングデータをシャッフルすると、より良い ML モデルが得られます。これは、SGD アルゴリズムが、検出する最初の種類のデータには最適でも全範囲のデータには最適でないソリューションを避けるのに役立つためです。シャッフルは、データの順序をミックスして、SGD アルゴリズムがあまりに多くの連続した観測で 1 つのタイプのデータに遭遇することがないようにします。連続した多数のウェイトの更新で 1 つのタイプのデータのみを見る場合、更新が大きすぎて、アルゴリズムは新しいデータ型のモデルウェイトを修正できないことがあります。さらに、データがランダムに提示されない場合、アルゴリズムがすべてのデータタイプの最適なソリューションを迅速に見つけることは困難です。場合によってはアルゴリズムが最適なソリューションをどうしても見つけられないことがあります。トレーニングデータをシャッフルすることで、アルゴリズムが最適なソリューションにすぐにたどり着くのに役立ちます。

たとえば、ML モデルをトレーニングして製品タイプを予測しようとしていて、トレーニングデータには、映画、玩具、ビデオゲームの製品タイプが含まれているとします。Amazon S3 にデータをアップロードする前に製品タイプの列でデータをソートすると、アルゴリズムはデータを製品タイプ別にアルファベット順に見ていきます。アルゴリズムは、映画のすべてのデータを最初に見ていき、ML モデルは映画のパターンを学習し始めます。次に、モデルが玩具のデータに遭遇したとき、アルゴリズムが行うすべての更新は、その更新が映画に適したパターンを劣化させるとしても、モデルを玩具の製品タイプに適合させようとします。この映画から玩具のタイプへの突然の切り替えにより、製品タイプについての精度の高い予測を学習できないモデルが生成されます。

デフォルトのシャッフルタイプに関する詳細は、「トレーニングパラメータ: タイプとデフォルト値」を参照してください。

正則化

正則化は、線形モデルが極端なウェイトの値を課すことによって、トレーニングデータ例をオーバーフィットする (つまり、一般化する代わりにパターンを記憶する) のを防ぐのに役立ちます。L1 正則化は、さもなければ小さなウェイトを持つ機能のウェイトを 0 にすることによって、モデルで使用される機能の数を減らす効果があります。結果として、L1 正則化はモデルをまばらにし、モデル内のノイズの量を低減します。L2 正則化により、全体のウェイトの値が小さくなり、入力機能間の相関性が高い場合にウェイトを安定させます。Regularization type および Regularization amount パラメータを使用して、L1 または L2 正則化の適用を調整します。非常に大きな正則化値では、すべての機能のウェイトがゼロとなり、モデルがパターンを学習できなくなります。

デフォルトの正則化の値に関する詳細は、「トレーニングパラメータ: タイプとデフォルト値」を参照してください。