アルゴリズム編

最適化アルゴリズム、損失関数問題に関する計算問題

最急降下法によるパラメータ更新 (w1のみ) レベル1

損失関数 $L(w_1, w_2) = (w_1 - 2)^2 + (w_2 + 1)^2$ があります。現在のパラメータ値が $ w_1 = 1, w_2 = 0$ で、学習率 $\eta = 0.2$ の場合、最急降下法による1ステップ後のパラメータ $ w_1$ の値を計算してください。

解説
解答と解説を表示
<h4>多変数関数の最急降下法</h4> <p>損失関数が複数のパラメータ(この場合は \(w_1\) と \(w_2\))に依存する場合、最急降下法では各パラメータについて<strong>偏微分</strong>を計算し、それぞれの勾配に基づいてパラメータを同時に更新します。</p><h5>更新ステップ (多変数)</h5> <p>各パラメータ \(w_i\) の更新は以下の式で行われます。</p> <div class="formula"> $w_{i, new} = w_{i, old} - \eta \frac{\partial L}{\partial w_i}\bigg|_{\mathbf{w}=\mathbf{w}_{old}}$ </div> <p>ここで、\(\frac{\partial L}{\partial w_i}\) は、損失関数 \(L\) をパラメータ \(w_i\) について偏微分したものです(他のパラメータは定数として扱います)。\(\mathbf{w}_{old}\) は現在のパラメータベクトル \([w_{1, old}, w_{2, old}, ...]\) を表します。</p><h5>今回の問題における計算 (w₁ の更新)</h5> <p>与えられた損失関数は \(L(w_1, w_2) = (w_1 - 2)^2 + (w_2 + 1)^2\) です。パラメータ \(w_1\) の更新に必要な計算を行います。</p><h6>ステップ1: w₁ に関する偏微分の計算</h6> <p>損失関数 \(L\) を \(w_1\) で偏微分します。このとき、\(w_2\) は定数として扱います。</p> <div class="formula"> $\frac{\partial L}{\partial w_1} = \frac{\partial}{\partial w_1}((w_1 - 2)^2 + (w_2 + 1)^2)\\= \frac{\partial}{\partial w_1}(w_1 - 2)^2 + \frac{\partial}{\partial w_1}(w_2 + 1)^2 \quad (\text{和の微分}) = 2(w_1 - 2) \times \frac{\partial}{\partial w_1}(w_1 - 2) + 0 \quad (\text{連鎖律と定数の微分})\\ = 2(w_1 - 2) \times 1 = 2(w_1 - 2)$ </div> <p>現在のパラメータ値 \(w_1 = 1, w_2 = 0\) における \(w_1\) の偏微分係数を計算します。</p> <div class="formula"> $\frac{\partial L}{\partial w_1}\bigg|_{w_1=1, w_2=0} = 2(1 - 2) = 2(-1) = -2$ </div> <p>(参考:同様に \(w_2\) に関する偏微分は \(\frac{\partial L}{\partial w_2} = 2(w_2 + 1)\) となり、\(w_1=1, w_2=0\) では \(2(0+1)=2\) です。)</p><h6>ステップ2: パラメータ w₁ の更新</h6> <p>更新式に、現在のパラメータ \(w_{1, old} = 1\)、学習率 \(\eta = 0.2\)、計算した偏微分係数 \(\frac{\partial L}{\partial w_1} = -2\) を代入して \(w_1\) を更新します。</p> <div class="formula"> $w_{1, new} = w_{1, old} - \eta \frac{\partial L}{\partial w_1} \\\\ w_{1, new} = 1 - 0.2 \times (-2) \\\\ w_{1, new} = 1 + 0.4 \\\\ w_{1, new} = 1.4$ </div><p>したがって、最急降下法による1ステップ後のパラメータ \(w_1\) の値は <strong>1.4</strong> です。</p> <p>(参考:\(w_2\) は \(w_{2, new} = 0 - 0.2 \times 2 = -0.4\) と更新されます。)</p><div class="key-point"> <div class="key-point-title">多変数最適化の基本</div> <ul> <li>各パラメータについて偏微分を計算し、その値に基づいて各パラメータを独立に(ただし同時に)更新します。</li> <li>勾配ベクトル \(\nabla L = [\frac{\partial L}{\partial w_1}, \frac{\partial L}{\partial w_2}]\) は、関数値が最も増加する方向を示します。最急降下法では、その逆方向に進むことで関数値を減少させます。今回の点 \((1, 0)\) での勾配ベクトルは \([-2, 2]\) であり、更新方向は \([-(-2), -(2)] = [2, -2]\) の方向へスケーリングされたものになります。</li> <li>損失関数 \(L(w_1, w_2) = (w_1 - 2)^2 + (w_2 + 1)^2\) は、点 \((2, -1)\) で最小値 0 をとる放物面(お椀型)を表します。現在の点 \((1, 0)\) から、この最小値に向かってパラメータが更新されていきます。</li> </ul> </div>
問題 1/3
カテゴリ一覧に戻る