강의

멘토링

커뮤니티

Inflearn Community Q&A

scdean1104147's profile image
scdean1104147

asked

[Revised Edition] The Complete Guide to Python Machine Learning

[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)라고 설명되어 있어 차이가 있는 것 같습니다. 제가 놓친 부분이 있는건가요?

python머신러닝 배워볼래요? 통계

Answer 1

0

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

안녕하십니까,  격려에 감사 드립니다.

질의 하신 부분은 제가 잘못 기술했습니다. 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 되어야 합니다.

책, 강의 모두 수정 반영하도록 하겠습니다. 훌륭한 지적 감사합니다

scdean1104147's profile image
scdean1104147

asked

Ask a question