Perceptron-Learning-Algorithm_03

지금까지 한개의 퍼셉트론 - 직선의 분류에 대해서 다뤘다.

한 개의 퍼셉트론은 다음과 같은 식으로 기술된다.

이제 직선으로 충분히 분류할 수 없는 문제는 어떻게 할까?

Linear-528x264 오른쪽과 같은 문제는 직선으로 다룰 수 없다.

이런 문제를 Non-linear Problem이라고 한다.

그렇다면 어떻게 해야할까?

Non-linear Model

2018-08-28 22-35-46

간단하다.

두 개의 퍼셉트론을 마치 하나의 큰 퍼셉트론처럼 이어주면 된다.

2018-08-28 22-36-06

그려보면 이렇게 될거고,

2018-08-28 22-36-25

짜잔! 아주 멋지게 합쳐진다.

2018-08-28 22-38-35

bias와 activation function까지 고려하면 오른쪽과 같은 모습이 된다.

이제 슬슬 퍼셉트론의 마법이 펼쳐진다.

Feedforward

2018-08-28 22-40-53

이렇게 층층히 퍼셉트론을 쌓아 네트워크가 점점 깊어질수록 우리는 안에서 일어나는 일을 알기 어렵게 된다.

각각의 Weight는 이제 행렬로 묶어 연산을 하게 된다.

2018-08-28 22-43-15

우리는 여기서 Error Function을 계산할 수 있어야 한다.

Back Propagation

2018-08-28 22-48-01

에러는 Weight와 Bias의 함수라고 했다.

그러므로 Weight를 변화시키면 에러가 변하는 정도를 보기위해 Gradient Decent를 도입했다.

레이어가 다층구조인 경우도 크게 다르지 않다. 단지, Chain-rule을 적용해주면 된다.

2018-08-28 22-50-27

output에서 에러를 계산하고,

그걸 gradient를 따라 뒤로 보내 주는것이 Backpropagation.

sigmoid 함수를 쓴 덕분에 미분형태가 간단해져 공식이 참 쉽다.

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