Inflearn Community Q&A
[p.293~295] Gradient Descent/편미분 관련 문의
Written on
·
194
0
안녕하세요.
요즘 선생님 덕분에 보며 머신러닝이 꽤나 매력적이고 재미있는 분야라는 것을 느끼고 있는 한 직장인입니다.
다름이 아니라, Gradient Descent 수식을 파이썬으로 구현하는 부분 관련해서 궁금한 점이 있어 질문 남깁니다.
p.294~5를 보면,
1) get_weight_updates(w1, w0, X, y, learning_rate=0.01) 함수에서 w1_update=-(2/N)*learning_rate*(np.dot(X.T, diff)를 return
2) gradient_descent_steps(x, y, iters=10000) 함수에서 1)에서 return 받은 w1_update를 활용해 w1를 업데이트(w1 = w1 - w1_update)하고 있는데, 최종적으로는 w1 = w1 + (2/N) * learning_rate * np.dot(X.T, diff)가 되는 것으로 보입니다.
그런데, p.293에서는 Gradient Descent의 프로세스는 w1=w1-learning_rate*2/N*SUM(xi*(실제값i-예측값i)라고 설명되어 있어 차이가 있는 것 같습니다. 제가 놓친 부분이 있는건가요?
Answer 1
0
안녕하십니까, 격려에 감사 드립니다.
질의 하신 부분은 제가 잘못 기술했습니다. w0, w1 의 update는 - 로 계속 update 해야 되서
최종적으로는 w1=w1- (-1*learning_rate*2/N*SUM(xi*(실제값i-예측값i)) = w1 + learning_rate*2/N*SUM(xi*(실제값i-예측값i))으로 update 되어야 합니다.
책, 강의 모두 수정 반영하도록 하겠습니다. 훌륭한 지적 감사합니다





