機械学習のハイパーパラメータは、学習プロセスを制御するためにユーザーによって明示的に定義されるパラメータです。 これらのハイパーパラメータはモデルの学習を改善するために使用され、その値はモデルの学習プロセスを開始する前に設定されます。
このトピックでは、機械学習の最も重要な概念の 1 つであるハイパーパラメータ、その例、ハイパーパラメータの調整、ハイパーパラメータのカテゴリ、ハイパーパラメータと機械学習のパラメータの違いについて説明します。ただし、始める前に、まずハイパーパラメータについて理解しましょう。
ハイパーパラメータとは何ですか?
機械学習/深層学習では、モデルはパラメータによって表されます。対照的に、トレーニング プロセスには、最良の結果を提供するために学習アルゴリズムで使用される最良/最適なハイパーパラメーターの選択が含まれます。では、これらのハイパーパラメータとは何でしょうか?答えは、「 ハイパーパラメータは、学習プロセスを制御するためにユーザーによって明示的に定義されるパラメータとして定義されます。
ここで、接頭辞「ハイパー」は、パラメータが学習プロセスの制御に使用されるトップレベルのパラメータであることを示唆しています。ハイパーパラメータの値は、学習アルゴリズムがモデルのトレーニングを開始する前に、機械学習エンジニアによって選択および設定されます。 したがって、これらはモデルの外部にあり、トレーニング プロセス中に値を変更することはできません。 。
int を文字列 Java に変換する
機械学習におけるハイパーパラメータの例
- kNN または K 最近傍アルゴリズムの k
- ニューラル ネットワークをトレーニングするための学習率
- トレーニングとテストの分割比率
- バッチサイズ
- エポック数
- デシジョン ツリーの分岐
- クラスタリングアルゴリズムのクラスタ数
パラメータとハイパーパラメータの違いは?
パラメーターとハイパーパラメーターまたはモデルのハイパーパラメーターの間には、常に大きな混乱があります。したがって、この混乱を解消するために、両方の違いと相互の関係を理解しましょう。
モデルパラメータ:
モデル パラメーターはモデルの内部にある構成変数であり、モデルはそれを独自に学習します。例えば 、W 線形回帰モデルの独立変数の重みまたは係数 。または SVM の独立変数の重みまたは係数、ニューラル ネットワークの重みとバイアス、クラスタリングのクラスター重心。 モデルパラメータの重要なポイントは次のとおりです。
- これらはモデルが予測を行うために使用します。
- それらはデータ自体からモデルによって学習されます
- 通常、これらは手動で設定されません。
- これらはモデルの一部であり、機械学習アルゴリズムの鍵となります。
モデルのハイパーパラメータ:
ハイパーパラメータは、学習プロセスを制御するためにユーザーによって明示的に定義されるパラメータです。モデルパラメータの重要なポイントは次のとおりです。
- これらは通常、機械学習エンジニアによって手動で定義されます。
- 特定の問題に対するハイパーパラメータの正確な最適値を知ることはできません。最適な値は、経験則または試行錯誤によって決定できます。
- ハイパーパラメータの例をいくつか示します。 ニューラル ネットワークをトレーニングするための学習率、KNN アルゴリズムの K、
ハイパーパラメータのカテゴリ
大まかに、ハイパーパラメータは以下の 2 つのカテゴリに分類できます。
最適化のためのハイパーパラメータ
使用する最適なハイパーパラメータを選択するプロセスはハイパーパラメータ調整として知られており、調整プロセスはハイパーパラメータの最適化とも呼ばれます。最適化パラメータはモデルを最適化するために使用されます。
一般的な最適化パラメータの一部を以下に示します。
注: 学習率はモデルを最適化するための重要なハイパーパラメーターであるため、単一のハイパーパラメーターのみを調整する必要がある場合は、学習率を調整することをお勧めします。
特定のモデルのハイパーパラメータ
モデルの構造に関係するハイパーパラメーターは、特定のモデルのハイパーパラメーターとして知られています。これらを以下に示します。
ニューラル ネットワークの隠れユニットのハイパーパラメーターの数を指定することが重要です。入力層のサイズと出力層のサイズの間にある必要があります。より具体的には、隠れユニットの数は、入力層のサイズの 2/3 に出力層のサイズを加えたものでなければなりません。
複雑な関数の場合、隠れユニットの数を指定する必要がありますが、モデルを過剰適合させてはなりません。
結論
ハイパーパラメータは、機械学習アルゴリズムをデータセットに適用する前に、学習プロセスを制御するために明示的に定義されるパラメータです。これらは、モデルの学習能力と複雑さを指定するために使用されます。ハイパーパラメーターの一部は、バッチ サイズ、学習率など、モデルの最適化に使用されます。また、一部は、非表示レイヤーの数など、モデルに固有のものです。