perceptron은 인공 신경망이다.

의 신호가 들어가면 = {0,1} 출력이 나오게 된다.

다음처럼 OR function도 만들 수 있다.

다음은 기본적인 perceptron model이다. (는 Threshold)

를 1로 두고 를 로 두면 식을 정리할 수 있다.
이러한 를 bias(편향)이라 한다.
결국 우리의 목표는 error를 minimize할 수 있는 최적의 를 찾는 것이다.
input들을 잘 분류할 수 있는 을 찾아야 한다.
다음은 W를 업데이트 하는 방법이다.

와 의 각도가 일 때, 이고 이므로, 이를 으로 봐도 될 것이다.
위 식에서 일 때, 는 보다 작다는 것인데 우리는 가 보다 크길 원하는 상황이다. (그래야 가 되므로)
여기서 라 두면, 는 어떻게 변화될까?

는 보다 커지고, 이것이 우리가 원하는 상황이다.
위와 같은 Perceptron은 1개로 이루어진 Single Perceptron이다. 이는 분류해야할 데이터가 선형적으로 분리 가능하면 언젠가 수렴하게 되어있다.
문제는 대부분 실세계 데이터들은 다음과 같이 선형적으로 분리가 가능하지 않다는 것이다.

즉, Single Perceptron은 선형적으로 분리 가능한 문제만 풀 수 있기 때문에 선형적으로 분리되지 않는 문제들을 선형적으로 분리 가능하게 만들어야한다.
이러한 방법엔 두 가지가 있다.
Reduce the number of points P
Increase the Dimension
다음 XOR 문제에서 이를 확인할 수 있다.

차원 증가도 다음과 같이 이루어 진다.

사실 이러한 non-separable한 문제들을 풀기 위해서 Multi-layer-perceptron을 이용한다.