반응형
퍼셉트론이란?
- 퍼셉트론(perceptron)은 1957년 코넬 항공 연구소(Cornell Aeronautical Lab)의 프랑크 로젠블라트(Fank Rosenblatt)가 제안한 초기 형태의 인공 신경망이다.
- 로젠블라트에 의해 제안된 것은 가장 간단한 형태의 단층 퍼셉트론(single-layer perceptron)으로 입력 벡터를 두 부류로 구분하는 선형 분류기이다.
- 퍼셉트론은 다수의 신호(흐름이 있는)를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론은 이 신호를 입력으로 받아 '흐른다/안 흐른다'(1 또는 0)이라는 정보를 앞으로 전달한다.
위의 그림에서,
- x는 입력 신호, y는 출력 신호, w는 가중치(weight)를 의미한다.
- 원을 뉴런 또는 노드라고 부른다.
- 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다.
- 퍼셉트론은 각각의 입력 값에 고유한 가중치가 존재하는데, 가중치는 각 입력 값이 결과에 주는 영향력을 조절하는 요소로 작용하며, 가중치가 클수록 해당 입력값이 중요하다는 것을 의미한다.
- 뉴런에서 전달받은 신호의 총합이 임계값Θ(threshold)을 넘을 때만 1을 출력한다.
이것을 수식으로 나타내면, 아래와 같다.
위의 식에서 임계값을 좌변으로 넘기고, 편향 b(bias)로 표현할 수도 있다. 편향 b 또한 퍼셉트론의 입력으로 사용된다. 보통 그림으로 표현할 때는 입력 값이 1로 고정되고 편향 b가 곱해지는 변수로 사용한다.
→ Rosenblatt의 퍼셉트론 알고리즘에서 x0은 실제 훈련 데이터의 특성 값과는 무관하며 x0의 초기값으로 보통 1을 할당한다. 퍼셉트론 알고리즘에서 x0을 바이어스라고 부른다. 따라서 실제 훈련 데이터의 특성 값은 x1부터 시작한다고 보면 된다.
[예제] 퍼셉트론의 동작 - OR 논리 게이트 분류 문제
2차원 특징 벡터로 표현되는 샘플을 4개 가진 훈련 집합
를 생각하자. 다음 그림은 이 데이터를 보여준다.
샘플 4개를 하나씩 입력하여 제대로 분류하는지 확인해 보자.
결국 퍼셉트론은 샘플 4개를 모두 맞추었다. 이 퍼셉트론은 훈련 집합을 100% 성능으로 분류한다고 할 수 있다.
def OR_gate(x1, x2):
w1=1.0
w2=1.0
b=-0.5
result = x1*w1 + x2*w2 + b
if result <= 0:
return 0
else:
return 1
참고
반응형
'Artificial intelligence' 카테고리의 다른 글
[AI] K - 최근접 이웃 (KNN)을 이용한 Iris 데이터셋 다중 클래스 분류 (0) | 2021.10.29 |
---|---|
[AI] 다층 퍼셉트론 - 특징공간 변환 (XOR 분류 테스트) (0) | 2021.10.27 |
[AI] 검증집합과 교차검증을 이용한 모델 선택 알고리즘 / 데이터 확대와 가중치 감쇠 (2) | 2021.09.11 |
[AI] 과소적합(underfitting)과 과잉적합(overfitting) / 바이어스(bias)와 분산(variance) (0) | 2021.09.10 |
[AI] 기계 학습 유형 (0) | 2021.09.10 |