퍼셉트론은 인공 신경망 중 하나로, 이진 분류를 위해 사용되는 간단한 알고리즘이다.
퍼셉트론은 다수의 입력값과 가중치(Weight)를 곱한 합을 계산하고, 이 합이 특정 임계값 ㄷ보다 크면 1을, 작으면 0을 출력한다.
이 때 가중치와 임계값을 적절히 조절하여 분류 경계선을 찾아야 한다.
AND게이트를 퍼셉트론으로 구현하기
우선 AND게이트의 동작을 살펴보자.
x1 | x2 | y |
1 | 1 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
0 | 0 | 0 |
두 개의 입력(x1, x2)이 주어졌을 때 두 입력이 모두 1일 때만 출력(y)이 1이 되어야 한다.
두 개의 입력 x1, x2에 대한 가중치를 w1, w2라고 하면
가중합은 x1*w1 + x2*w2 이 된다.
(이 계산은 np.dot(가중치,입력값) 또는 np.sum(가중치*입력값)과 같다)
이 값이 특정 임계값보다 크면 1, 작으면 0을 출력하게 된다.
AND게이트를 구현하기 위해 각각의 가중치와 임계값을 (0.5, 0.5, 0.7)로 설정해 보자.
가중합은 x1*0.5 + x2* 0.5 , 임계값은 0.7이 된다.
위 표처럼, x1과 x2 조합의 경우의수를 모두 넣어보면
1 * 0.5 + 1 * 0.5 > 0.7 ==> 1
0 * 0.5 + 1 * 0.5 <= 0.7 ==> 0
1 * 0.5 + 0 * 0.5 <= 0.7 ==> 0
0 * 0.5 + 0 * 0.5 <= 0.7 ==> 0
AND게이트의 동작과 똑같게 동작하는것을 볼 수 있다.
여기서 임계값을 좌변으로 넘기면
x1*w1 + x2*w2 + b <= 0
x1*w1 + x2*w2 + b > 0
와 같은 식으로 쓸 수 있는데(임계값을 좌변으로 옮긴것이 b)
b를 편향(bias)라고 한다.
이번 예시에서는 가중치와 편향을 (0.5 0.5 -0.7)로 했지만 (임계값이 좌변으로 넘어가면서 마이너스가 붙은것임)
꼭 이 조합만 가능한 것은 아니다.
AND게이트의 동작을 만족하는 (가중치,편향) 조합은 모두 가능하니
어떠한 가중치 조합이 주어졌을 때 가능한 편향의 범위를 구할 수 있어야 할 것이다.
'2023-1 > 인공지능' 카테고리의 다른 글
퍼셉트론의 학습 (0) | 2023.04.19 |
---|---|
신경망 (0) | 2023.04.19 |
신경망, 퍼셉트론 (0) | 2023.04.19 |
넘파이를 알아보자(numpy) (0) | 2023.04.18 |
머신러닝과 딥러닝 이해 (0) | 2023.03.10 |
댓글