더북(TheBook)

이를 각각 파이썬 코드로 바꾸면 다음과 같습니다.

y_pred = a * x + b            # 예측 값을 구하는 식입니다.
error = y - y_pred            # 실제 값과 비교한 오차를 error로 놓습니다.

a_diff = (2/n) * sum(-x * (error))  # 오차 함수를 a로 편미분한 값입니다.
b_diff = (2/n) * sum(-(error))      # 오차 함수를 b로 편미분한 값입니다.

여기에 학습률을 곱해 기존의 a 값과 b 값을 업데이트합니다.

lr = 0.03               # 학습률을 정합니다.
a = a - lr * a_diff     # 학습률을 곱해 기존의 a 값을 업데이트합니다.
b = b - lr * b_diff     # 학습률을 곱해 기존의 b 값을 업데이트합니다.

 

TIP

학습률 0.03은 어떻게 정했나요?

여러 학습률을 적용해 보며 최적의 결과를 만드는 학습률을 찾아낸 것입니다. 최적의 학습률은 데이터와 딥러닝 모델에 따라 다르므로 그때그때 찾아내야 합니다. 앞으로 배우게 될 딥러닝 프로젝트에서는 자동으로 최적의 학습률을 찾아 주는 최적화 알고리즘들을 사용합니다.

나머지는 앞서 공부한 바와 같습니다. 중간 과정을 그래프로 표현하는 코드를 넣어 모두 정리하면 다음과 같이 코드가 완성됩니다.

이 실습에는 그래프 관련 부분을 실행하기 위해 matplotlib 라이브러리가 필요합니다. 코랩의 경우에는 기본으로 제공하지만 주피터 노트북을 이용해 실습 중이라면 다음 명령으로 라이브러리를 설치합니다.

!pip install matplotlib
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.