경사 하강법 2

[머신러닝 - 이론] 수치 미분 (Numerical Differentiation)

오차 역전파를 정리하려고 했는데, 그전에 수치 미분을 알아야 할 것 같아서 먼저 정리합니다. 앞선 글에서 설명했던 경사 하강법을 이용하여 에러를 최소화하기 위해서는 현재 상태에서의 기울기를 알아야 합니다. 정확히는 현재의 가중치 및 편차가 오류에 얼만큼의 영향을 끼치는지 알아야 합니다. 만약 손실함수가 \(f(x) = x^2\)이라면 미분을 통하여 \(2x\)를 통해 좌표 (0, 0)이 최소가 됨을 알 수 있습니다. 하지만 현실의 손실 함수는 저렇게 간단하지 않고, 또한 간단히 \(x\)를 통해서 나타나지도 않습니다. 따라서 보다 효율적이게 기울기를 찾아야 하는데, 이때 사용되는 것이 수치 미분과 오차 역전파입니다. 1. 수치 미분이란? 다들 아시겠지만, 미분이란 어느 한 점에서의 기울기를 뜻합니다. 즉..

[머신러닝 - 이론] 경사 하강법 (Gradient Descent)

1. 경사 하강법의 정의 경사 하강법(傾斜下降法, Gradient descent)은 1차 근삿값 발견용 최적화 알고리즘이다. 기본 개념은 함수의 기울기(경사)를 구하고 경사의 반대 방향으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것이다. -위키 백과- 만약 본인이 한 치 앞도 보이지 않는 상황에서 산을 내려가야 하거나, 올라가야 한다면 어떻게 해야할까요? 시각적으로 멀리 있는 산 꼭대기가 보이지 않기 때문에 단순히 근처의 지형을 가지고 판단을 내려야 합니다. 그러므로 현재 위치에서 가장 경사가 높은 곳, 그 곳으로 계속해서 움직이면 '보통'의 경우 산의 정상에 도달 할 수 있습니다. 이는 경사 상승법이라고 하며, 정 반대의 방법으로 계속해서 가장 낮은 곳으로 이동하는 것이 경사 하강법이라고 할 수 ..