Page 130 - 인공지능 수학 교과서
P. 130
공학적 도구
탐 경사하강법을 컴퓨터로 구현하기
구 활 동
공학적 도구를 이용하여 경사하강법을 활용한 최적화의 과정을 진행하는 프로그램을 실행해 보자.
준비하기 프로그램 누리집에 접속하기
프로그램 누리집에 접속하면 코드가 탑재된 프로그램 화면이 열린다.
https://drive.google.com/file/d/18tFvSU7GvBvApzKsryoajv0GrY2tirDH/view?usp=sharing
따라하기 경사하강법에 대한 프로그램 코드 실행하기
1 다음 코드는 경사하강법을 이용하여 손실함수 y=(x-4)^2+7이 최소가 되도록 하는 매
개변수 x를 찾는 파이선 코드이다.
㉠ 최초의 매개변수의 값을 10으로, ㉡ 학습률을 0.01로 설정한다.
㉢ 매개변수 갱신의 횟수는 1, 10, 50, 100, 1,000, 2,000으로 각각 이루어진 소스를 실행
한다.
import matplotlib.pyplot as plt def main():
from matplotlib.markers import TICKDOWN minimum = []
def simple_gd(max_iter): iters = [1, 10, 50, 100, 1000, 2000] ㉢
x = ㉠ for i in iters:
learning_rate = ㉡ value = simple_gd(i)
precision = 0.00001 minimum.append(value)
loss_fn = lambda x: xpos = [i for i in range(len(iters))]
plt.xticks(xpos, iters)
plt.plot(xpos, minimum, marker = 'o')
경사하강법 코드의 일부
2 코드를 실행하면 매개변수 갱신의 횟수를 x축, 최적화를 통해 결정된 매개변수의 값을 y
축으로 하는 점들을 지나는 꺾은선 그래프가 화면에 출력된다.
매개변수 100
80
값
60
40
20
0
1 10 50 100 500 1,000 1,500 2,000
갱신 횟수
학습률 0.01일 때
128 Ⅳ. 최적화