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로 분류될 가능성이 높아지게 됩니다.