머신러닝, Gradient Descent

2022. 12. 27. 19:41카테고리 없음

Gradient Descent는 머신러닝의 다양한 방면에 사용된다.

 

기본적으로 어떤 함수의 결과값을 최소화 하는데 쓰이는데

만약 사람이 언덕의 가장 높은 곳에 서서 360도를 돌고 가장 빠르게 낮아질 수 있는 방향으로 한 걸음 가고, 그 도착한 지점에서 같은 상황을 계속 반복하면 반드시 local minima에 도착하게 된다.

Local minima란 그 주변에서 가장 낮은 지점을 뜻한다.

 

하지만 그 거대한 언덕에 또 다른 지점에서 출발했다면 다른 local minima에 도착했을 수도 있지 아닌가?

 

그래서 진정한 minimum을 찾는 데에는 추가적인 장치가 필요하다.

 

w = w - α d d w J ( w , b )

 

이 수식에서 알파는 learning rate를 뜻한다.

알파는 주로 0에서 1사이 값인데

알파값이 크면 큰 걸음으로 내려가는 것이고 값이 작으면 작은 걸음으로 내려간다고 상상할 수 있다.

 

위 수식에서 알파 뒤에 나오는 것은 derivative이고 수학 Calculus 과정에서 나오는 컨셉이지만 Calculus를 몰라도 이해하는데에는 지장이 없다.