Machine Learning

[머신러닝] 최적화 알고리즘 - 경사하강법(Gradient Descent)

Scarlett_C 2021. 10. 20. 10:44
728x90

*머신러닝의 3가지 프로세스

1. 가설을 수학적인 식으로 표현할것

2. 성능을 측정하는 손실함수를 정의

3. 손실함수를 최소화하는 최적화 알고리즘을 설계

 

세번째 최적화 알고리즘으로 가장 일반적으로 사용되는 것이 경사하강법

- 손실 함수의 미분값과 러닝 레이트의 곱만큼을 원래 파라미터에서 뺀 값으로 파라미터를 갱신

 

<Gradient Descent 종류>

1. Batch Gradient Descent (BGD)

 - 파라미터를 갱신 할 때 전체 트레이닝 데이터를 하나의 Batch로 만들어서 사용

 - 전체 트레이닝 데이터에 대해 미분값을 계산해야 하므로 많은 시간이 소요되는 단점이 있다.

 

2. Stochastic Gradient Descent (SGD)

 - 파라미터를 갱신할 때 1개의 트레이닝 데이터만 사용하는 기법

 - 파라미터를 자주 업데이트 할 수 있는 장점

 - 개별 트레이닝 데이터의 특성만을 고려하여 Outlier가 있는 경우 부정확한 방향으로 갱신될 수 있는 단점이 있따.

 

3. Mini-Batch Gradient Descent (MGD)

 - BGD와 SGD의 절충적인 기법

 - 전체 트레이닝 데이터를 더 작은 batch로 묶어서 batch의 개수만큼 파라미터를 갱신하는 기법

728x90