Error Function

2018-08-28 21-52-59

간단한 분류 문제를 예로 들자.

파란색일 때 $y=1$, 파란색이라고 추정할 확률은 $P(blue) = \hat{y}$ 이라고 하자. 그럼 파란색으로 추정 했다가 틀렸을 경우 에러는 $Error = -ln(\hat{y})$ 가 된다.

마찬가지로 빨간색으로 추정했다가 틀렸을 경우 에러는 $Error = -(1-y)ln(1-\hat{y}-yln(\hat{y}))$ 가 된다.

(복잡한거 안다. 그림 잘봐라)

2018-08-28 21-54-11

두 경우를 합칠 수 있다. (일반화) 위 Error Function에서 $\hat{y}$ 을 퍼셉트론 $[ Wx^{(i)}+b]$ 로 치환한 것이 아래 식 $E(W,b)$이다.

우리의 이 에러를 최소화 해야한다.

Gradient Descent

2018-08-28 22-04-36

우리는 앞에서 에러가 Weight $W$와 Bias $B$에 대한 식 $E(W,b)$임을 보았다. 다시말해, Weight를 조절하면 Error도 변하는 것이다. 그럼 얼마나, 어떻게 바꾸어야 할까? 이때 미분개념의 Gradient가 등장한다.

다시 에러함수를 불러오자.

이제 W,b에 대하여 gradient를 취해주자.

while

이제 Chain Rule을 쓸 수 있다.

비슷하게 계산하면 bias의 Gradient도 구할 수 있다.

따라서 E의 Gradient는 다음과 같다.

Gradient Descent step

learning rate $\alpha$를 도입해서 weight를 업데이트 할 수 있다.

2018-08-28 22-26-52

우리는 에러의 평균을 구했다. 따라서 우리가 더하는 항은 $\alpha$ 대신 $\frac{1}{m}\alpha$여야 한다. 그런데 어차피 $\alpha$는 상수이고, 시각적으로도 간단하게 보이기 위해서 우리는 그냥 $\frac{1}{m}\alpha$를 $\alpha$라고 부르기로 한다.

정리 : Gradient Decent Algorithm

2018-08-28 22-31-14

정리하자면 참 간단하다.

  1. 모든 점에 대해 weight와 bias를 업데이트 해주고
  2. 에러가 작아질때까지 계속 반복한다.

참 쉽죠

Comments

Eungbean Lee's Picture

About Eungbean Lee

Lee is a Student, Programmer, Engineer, Designer and a DJ

Seoul, South Korea https://eungbean.github.io