Perceptron - 개념

Updated:

[출처 : 머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로]

Perceptron : 수학적 정의


z : 가중치 벡터 w의 전치행렬(transpose)과 입력 벡터 x의 dot product

: 결정함수, 단위 계단 함수(unit step function) 사용


Perceptron Algorithm : 두 개의 클래스(-1,1)가 있는 이진 분류

샘플 x를 입력으로 받아 가중치 w를 연결하여 최종 입력을 계산하게 되는데 결정 함수를 거쳐 최종적으로 샘플의 예측 클래스인 이 -1 또는 1로 이진 분류가 진행되게 됩니다. 그 이후에 을 이용하여 가중치를 업데이트를 하면서 학습이 이루어지게 됩니다.

학습 규칙


: 학습률(Learning Rate : 0.0 ~ 1.0)
: true class label
: predicted class label

(1) 퍼셉트론이 정확히 예측한 경우

Predict Real
-1 -1
1 1


(2) 퍼셉트론이 잘못 예측한 경우

Predict Real
-1 1
1 -1


위의 수식으로 이해가 안된다면 예제를 만들어보면 이해하기 쉽습니다. 예측이 -1이고 실제 1로 잘못 예측한 경우, 가 1이고, 샘플 값이 1이었다고 생각해보면 가중치는 다음과 같습니다.

이때 가중치 값은 2가 되고 최종 입력에서 x는 w가 곱해지므로 값이 더 큰 양수가 되고 샘플이 1로 분류될 가능성이 높아지게 됩니다.

반대로 예측이 1이고 실제를 -1로 잘못 예측한 경우, 가 1이고, 샘플 값이 1이라면 가중치는 다음과 같습니다.

가중치의 값은 -2가 되고 최종 입력에서는 값이 줄어들어 샘플이 -1로 분류될 가능성이 높아지게 됩니다.