質問
勾配降下法のプログラムについて質問です。
①このプログラムを動作したら処理結果が
1.0
1.0
と出力されたのですがこの数値は正しい最小値という認識でいいのでしょうか。
②また学習率αは増加するにつれて収束は早くなりますか?
③極小値が複数存在する関数を求める場合パラメータを複数変更して複数回処理を行うか、
パラメータを変更しなくても複数個の極小値を同時に求めることはできますか?
どなたかご回答お願いいたします。
該当のソースコード
Python3
1from matplotlib import pyplot 2 3x=1.0 4alpha=1.0 5eps=0.001 6y=x**2 7y_dash=2*x 8#データをとっておく用の配列 9array_x=[] 10array_y=[] 11 12while y_dash>eps: 13 y=x**2 14 y_dash=2*x 15 16 array_x.append(x) 17 array_y.append(y) 18 19 x=x-alpha*y_dash 20 21print(len(array_x)) 22pyplot.scatter(array_x,array_y) 23pyplot.show() 24print(x) 25print(y)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。