Perceptron and PLA
퍼셉트론(Perceptron)
퍼셉트론은 Frank Rosenblatt가 1958년에 고안한 인공 신경망의 기본 형태로, 이진 분류 문제를 해결하기 위한 모델입니다.
구성 요소
- 입력(Input): 예를 들어 \( x_1, x_2, \ldots, x_n \)과 같은 입력 값들.
- 가중치(Weights): 각 입력 \( x_i \)에 대응하는 가중치 \( w_i \).
- 편향(Bias): 입력 값에 추가되는 상수.
- 활성화 함수(Activation Function): 입력 신호의 총합을 받아 이진 출력을 결정하는 함수.
작동 방식
- 입력 값 \( x_i \)에 가중치 \( w_i \)를 곱하고, 모두 더한 뒤 편향 \( b \)를 더함: \[ z = \sum_{i=1}^n w_i x_i + b \]
- 총합 \( z \)를 활성화 함수에 입력하여 출력 \( y \)를 계산: \[ y = \text{step}(z) \]
- \( z \)가 0 이상이면 1, 그렇지 않으면 0을 출력.
PLA(Perceptron Learning Algorithm)
PLA는 퍼셉트론을 학습시키기 위한 알고리즘입니다. 입력 데이터와 올바른 출력을 주어진 목표로, 가중치와 편향을 조정합니다.
학습 과정
- 초기화: 가중치 \( w \)와 편향 \( b \)를 임의로 초기화.
- 반복 과정:
- 각 훈련 데이터 \((x_i, y_i)\)에 대해 예측 값 계산: \[ \hat{y_i} = \text{step}\left(\sum_{j=1}^n w_j x_{ij} + b\right) \]
- 예측 값 \( \hat{y_i} \)가 실제 값 \( y_i \)와 다르면 가중치와 편향 업데이트:
- 가중치: \( w_j \leftarrow w_j + \eta (y_i - \hat{y_i}) x_{ij} \)
- 편향: \( b \leftarrow b + \eta (y_i - \hat{y_i}) \)
- \( \eta \)는 학습률.
- 종료 조건: 모든 훈련 데이터에 대해 예측 값이 실제 값과 동일하거나, 정해진 반복 횟수 도달 시 종료.
한계
퍼셉트론은 선형 분리가 가능한 문제에서만 정확히 동작합니다. 비선형 문제를 해결하기 위해 다층 퍼셉트론(MLP)과 같은 더 복잡한 신경망 구조가 필요합니다.
This post is licensed under CC BY 4.0 by the author.