계산을 단순하게 하기 위해서 bias가 없는 Hypothesis를 가정하면 비용함수는 아래와 같다.
(W가 매트릭스가 되면 bias도 W안에 포함되어 있다.)

이 단순한 가설에서 W에 따른 cost를 계산하면 아래와 같이 나온다.

조밀한 그래프로 그리면 이와 같이 나오는데, 이 그래프에서 cost가 최소값이 되는 지점을 찾는 것이 목표이다.
그래프를 직접 눈으로 보면 직관적으로 알 수 있지만, 컴퓨터가 최저점을 하려면 알고리즘이 필요하다.

Gradient Descent Algorithm

이를 위한 방법 중 하나가 Gradient Descent Algorithm(경사하강법)이다.
비용함수 cost(W,b) 에서는 비용이 최소화되는 W와 b를 찾게 된다.

작동방식

(1) 최초의 임의의 추정값을 통해서 W와 b값을 정한다.
(2) cost(W,b)가 줄어들도록 W와 b를 계속 변화시키며 Gradient(기울기, 미분값)를 구한다.
(3) local minumum에 도달할 때까지 반복한다.

Cost function의 미분(Gradient 구하기)

우선 미분 이후 식을 간편하게 보기 위해 Cost 함수를 약간 수정한다.
(몇으로 나누는 Cost의 특성에 크게 영향을 주지 않는다.)

경사하강법에서는 W를 비용함수의 미분값과 학습률(ɑ, learning rate)의 곱을 차감하며 계속 업데이트 한다.
W가 얼마나 빠르게 업데이트 되는지는 학습률(ɑ)의 값에 따라 달라진다.

아래 그림은 W와 b의 값에 따른 비용함수를 3차원으로 나타낸 것이다.
이런 형태의 비용함수에서는 경사하강법에서 어떤 지점에서 경사하강법을 사용하느냐에 따라
최소값을 찾지 못할 수 있다. (Local Mimimum에 빠질 수 있다.)

+ Recent posts