1
Pythonでの確率的勾配降下法の実装
Pythonで2次元線形回帰の基本的な確率勾配降下アルゴリズムを実装しようとしています。バニラGDのボイラープレートコードが渡され、SGDで動作するように変換しようとしました。 具体的には、私は一般的に回帰に不慣れなため、損失関数と偏微分を正しく実装したかどうかは少しわかりません。 エラーは予想どおり「ジグザグ」になる傾向があります。以下は正しい実装のように見えますか、それとも何か間違いをしましたか? #sample data data = [(1,1),(2,3),(4,3),(3,2),(5,5)] def compute_error_for_line_given_points(b, m, points): totalError = 0 x = points[0] y = points[1] return float(totalError + (y - (m * x + b)) ** 2) def step_gradient(b_current, m_current, points, learningRate): N = float(1) for i in range(0, 1): x = points[0] y …