このシリーズではE資格対策として、シラバスの内容を項目別にまとめています。
ハイパーパラメータ
機械学習において、ハイパーパラメータは学習アルゴリズムの振る舞いを制御するための重要なパラメータです。ハイパーパラメータは学習プロセス自体によっては学習されず、学習前に人間が設定するか、自動的な方法(例えば、グリッドサーチやランダムサーチ)によって選択されます。
ハイパーパラメータの主な役割は、過学習(overfitting)と学習不足(underfitting)のバランスをとることです。過学習はモデルが訓練データに過度に適合し、新しいデータに対する予測性能が低下する状態を指します。逆に、学習不足はモデルが訓練データから十分なパターンを学び取ることができず、結果として訓練データと新しいデータの両方に対する性能が低下する状態を指します。ハイパーパラメータの調整によって、この二つの問題をバランス良く解決することが可能となります。
ハイパーパラメータの具体的な例としては、次のようなものがあります。
- 学習率: 学習率は、最適化アルゴリズムがパラメータを更新する速度を制御します。高い学習率は、パラメータが急速に変化し、低い学習率は、パラメータが徐々に変化します。学習率の適切な選択は、学習プロセスの速度と精度のバランスをとるのに不可欠です。
- 正則化パラメータ: 正則化パラメータは、モデルが訓練データに過学習するのを防ぐためのパラメータです。大きな正則化パラメータはモデルの複雑さを制限し、過学習を防ぎます。
- バッチサイズ: バッチサイズは、一度に処理する訓練データの数を決定します。バッチサイズの選択は、学習速度と一般化性能に影響を与えます。
ハイパーパラメータの例
サポートベクターマシン(SVM)
サポートベクターマシン(SVM)は、分類や回帰分析に広く使用される強力な機械学習アルゴリズムです。SVMの基本的なアイデアは、各クラス間の境界線(または面)として機能する最も幅の広い「マージン」を見つけることです。
SVMには、主に2つの重要なハイパーパラメータがあります。
C
:C
は、誤分類のコストを制御するパラメータです。大きなC
値は低いマージン(すなわち、誤分類が少ない)をもたらし、小さいC
値は大きなマージン(すなわち、誤分類が多い)をもたらします。gamma
:gamma
は、RBFカーネル(SVMが非線形分類を行うために使用するカーネルの一つ)のパラメータで、個々の訓練サンプルの影響の範囲を決定します。大きなgamma
値は個々のサンプルの影響の範囲が狭くなり、小さいgamma
値はそれが広くなります。
C
とgamma
の値を適切に選ぶことは、SVMの性能を最大化するために重要です。
以下は、C
とgamma
の関数表現を示します。
ハードマージンSVM(大きなC
値)の最適化問題は次のように表されます:
ここで、w
は境界面の法線ベクトル、b
はバイアス項、x_i
は各データポイント、y_i
は各データポイントのラベル(+1または-1)です。
ソフトマージンSVM(小さなC
値)では、誤分類に対してペナルティを追加します:
ξ_i
はスラック変数と呼ばれ、i
番目のデータポイントが正しく分類されていない場合にその値が大きくなります。
RBFカーネルは次のように定義されます:
K(x_i, x_j)
は2つのデータポイントx_i
とx_j
間のカーネル関数です。
まとめ
最後までご覧いただきありがとうございました。