G検定(ジェネラリスト検定)
こうかいこうかほう
勾配降下法
Gradient Descent
損失を計算して、損失が減る向き(勾配の逆方向)へ重みとバイアスを少しずつ動かす。これを繰り返し、損失が最小に近くなるパラメータを探す反復的な最適化手法。
詳しい説明
どんな手法か
勾配降下法は、損失が最も小さくなる重みとバイアスを、手順の繰り返しで求める数学的な手法です。学習は、ゼロに近いランダムな重みとバイアスから始まり、次の4つを繰り返します。
1. 現在の重みとバイアスで損失を計算する
2. 損失を減らすには、重みとバイアスをどちらへ動かせばよいかを決める
3. その方向へ、重みとバイアスを少しだけ動かす
4. 1に戻り、損失がそれ以上下がらなくなるまで繰り返す
燃費データで1回の更新を追う
車の重量(1000ポンド単位)を特徴量、燃費(マイル毎ガロン)をラベルとする7件のデータを使います(例: 重量3.5で燃費18、重量2.37で燃費24)。損失には平均二乗誤差(MSE)を使います。
重み0・バイアス0から始めると、予測はすべて0になります。損失は (18^2 + 15^2 + 18^2 + 16^2 + 15^2 + 14^2 + 24^2) / 7 = 303.71 です。
次に、重みとバイアスのそれぞれについて、損失関数の接線の傾き(勾配)を求めます。重みの傾きは -119.7、バイアスの傾きは -34.3 です。この傾きの逆方向へ、傾きに小さな量0.01を掛けた分だけ動かします。
- 新しい重み = 0 - 0.01 × (-119.7) = 1.2
- 新しいバイアス = 0 - 0.01 × (-34.3) = 0.34
繰り返すと損失が下がる
新しい値で損失を計算し直し、同じ更新を繰り返します。6回の反復での推移は次のとおりです。
| 反復 | 重み | バイアス | 損失 |
|---|---|---|---|
| 1 | 0 | 0 | 303.71 |
| 2 | 1.20 | 0.34 | 170.84 |
| 3 | 2.05 | 0.59 | 103.17 |
| 4 | 2.66 | 0.78 | 68.70 |
| 5 | 3.09 | 0.91 | 51.13 |
| 6 | 3.40 | 1.01 | 42.17 |
重みとバイアスを更新するたびに、損失が下がっています。
収束と損失曲線
実際の学習では、モデルが収束するまで続けます。収束とは、反復を増やしても損失がそれ以上下がらない状態です。このとき、損失をほぼ最小にする重みとバイアスが見つかっています。収束した後も学習を続けると、損失は小さく揺れ動きます。また、損失を最小にする厳密な値そのものが見つかることはまずなく、それにごく近い値が得られます。
収束したかどうかは、損失曲線で確かめます。損失は最初の数回の反復で大きく下がり、その後はゆるやかに下がって、やがて平らになります。
線形モデルでは大域最適解に着く
線形モデルの損失関数は、常に凸な面になります。このため、線形回帰モデルが収束したときの重みとバイアスは、損失が最も低い点、つまり大域最適解(global minimum)です。更新中の点をグラフに描くと、坂を転がるボールのように下っていき、下り坂がなくなった地点で止まります。
なお、損失が0になるのは、モデルが全データ点にぴったり合っている状態です。これは通常、過学習の兆候です。
G検定では、シラバス2024のキーワードに含まれます。
試験で問われること
G検定
- 勾配降下法は、現在の重みとバイアスで損失を計算し、損失が減る方向へ少しずつ動かす。この手順を損失がそれ以上下がらなくなるまで繰り返す、反復的な最適化手法である。
- 更新は、新しい値 = 古い値 - 小さな量 × 傾き の形で行い、傾き(勾配)の逆方向へ動かす。燃費データの例では、重み0から0.01×(-119.7)を引いて新しい重みが1.2になる。
- 反復を重ねると損失は下がり、燃費データの例では303.71、170.84、103.17、68.70、51.13、42.17と推移する。損失曲線は初めの数回で急に下がり、その後ゆるやかになって平らになる。
- 収束とは、反復を増やしても損失が下がらない状態を指す。収束後も学習を続けると損失は小さく揺れる。得られるのは損失を最小にする厳密な値ではなく、それにごく近い値であるのがふつうである。
- 線形モデルの損失関数は凸な面になるため、線形回帰モデルが収束すれば大域最適解に到達している。一方で、損失が0になるのは全データ点に完全に合った状態で、通常は過学習の兆候である。
最終更新日: 2026/09/23