多変数の勾配降下法
課題58で1変数の勾配降下法について取り扱いましたが、2変数から成る関数に拡張すると次のようになります。
関数 $f(x, y)$ の数値微分は
$$ \frac{\partial f(x, y)}{\partial x} = \frac{f(x+h, y) - f(x-h, y)}{2 h} $$
$$ \frac{\partial f(x, y)}{\partial y} = \frac{f(x, y+h) - f(x, y-h)}{2 h} $$
学習率を $r_l$ (Learning Rate) としたとき、
$$x_{t+1} = x_t - r_l \frac{\partial f(x, y)}{\partial x}$$
$$y_{t+1} = y_t - r_l \frac{\partial f(x, y)}{\partial y}$$
課題59:2変数の勾配降下法
以下に示す関数の最小値を、勾配降下法で求めてください。また、パラメータを変化させた時の挙動の変化も説明してください。
- $f(x, y) = (x - 1) ^ 2 + 2 (y + 1)^2$
- $g(x, y) = (x^4 + 2 x^2 + 1) (y^2 + 2y + 1)$
課題提出方法
-
基本的にGoogle Colaboratoryを用いてプログラミングしてください。どうしても Google Colaboratory を用いることができない場合のみ、Jupyter Notebook または Jupyter Lab を用いてください。
-
課題1つごとに、ノートブックを新規作成してください。1つのノートブックで複数の課題を解かないでください。
-
ノートブックを新規作成すると「Untitled.ipynb」のような名前になりますが、それを「学籍番号・氏名・課題番号」のような名前に変更してください。
-
質問・感想・要望などございましたらぜひ書き込んでください。
-
もし課題を解くにあたって参考になったウェブサイトがあれば、それについても触れてください。
-
課題を計算し終わった ipynb ファイルを提出するときは、指定したメールアドレスに Google Drive で共有する形で授業担当者に提出してください。