1 개요[ | ]
- 1차 근삿값 발견용 최적화 알고리즘
- 함수의 기울기(경사)를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를 때까지 반복시키는 것
- 학습 데이터의 조건에 따라 모델의 파라미터를 기준으로 손실의 경사를 계산하여 손실을 최소화하는 기법
- 파라미터를 반복적으로 조정하면서 손실을 최소화하는 가중치와 편향의 가장 적절한 조합을 점진적으로 찾는 방식
2 예제[ | ]
Python
CPU
0.0s
MEM
8M
0.0s
Copy
x_old = 0
x_new = 6 # x=6에서 알고리즘 시작
eps = 0.01 # step size
precision = 0.00001
def f_prime(x):
return 4 * x**3 - 9 * x**2
while abs(x_new - x_old) > precision:
x_old = x_new
x_new = x_old - eps * f_prime(x_old)
print( "지역 최소값(local minimum):", x_new )
지역 최소값(local minimum): 2.2499646074278457
- → 여기서는 x 값 하나에 대해서만 극값을 파악한다.
- → 실무적으로는 여러 개의 특징값(feature)들이 있으므로 해당 값들마다 병렬적으로 결과 값을 구하면서 반복하게 된다.