私はOctaveで勾配降下を計算しようとしています。各反復で、私のテータは指数関数的に大きくなります。私は別の関数を直接コピーしているので、何が問題なのか分かりません。ここで勾配降下:収斂していない
は私の行列である:
X = 1 98
1 94
1 93
1 88
1 84
1 82
1 79
y = 97
94
94
78
85
85
76
theta = 1
1
私は、この式を使用しています:
theta = theta - 0.001 * (1/7) * (X' * (X * theta - y))
私は最適なthetasが通常の方程式を使用しているものを考え出したが、わずか数回の反復の後、私のテータは数千にのぼります。どのようなアイデアが間違っている?
数値の不安定さを避けるために、実際にデータを拡大する方が良い場合もあります。問題は、XとYの両方が100であり、XとYの両方を100で除算しても解を変えないが、同じ効果(効果的に学習率を変える)をもたらすが、数値安定性を失うことはない番号は基本的な不安定な操作の1つです) – lejlot