質問: グラデーション降下の実装 私はバッチと確率的勾配降下の両方を実装しました。私はいくつかの問題が発生している。これは確率的なルールです: ``` 1 to m { theta(j):=theta(j)-step*derivative (for all j) } ``` 私が持っている問題は、たとえコスト関数が小さくなっても、テストではそれが良くないと言います。ステップを少し変更して反復回数を変更すると、コスト関数は少し大きめですが、結果は正常です。これは過度の "症状"ですか?どちらが正しいかをどのように知るのですか? :) 私が言ったように、費用関数はもっと小さくなっていますが、テストではそれは良くないと言います。
回答: 起こっていることがたくさんある: * あなたの`ステップ`が悪い選択になる可能性があります * デリバリーがオフになっている可能性があります * あなたの「期待値」が間違っている可能性があります * グラデーションの降下が単純に収束するのが遅くなる可能性があります 私はランレングスを上げようと試み、プロットはさまざまなステップ値で実行されます。より小さいステップは、大きすぎるステップの問題を避けるより良いチャンスを持つでしょう。