Perceptron(퍼셉트론)
인공 신경망의 가장 단순한 형태로, 인공 뉴런 모델 중 하나
이진 분류 문제를 해결하기 위해 설계된 알고리즘으로, 입력 데이터를 받아 두 개의 클래스 중 하나에 속하는지 판단
1957년 프랭크 로젠블랫(Frank Rosenblatt)에 의해 소개되었으며, 초기 지도 학습 알고리즘 중 하나로 간주됨
퍼셉트론의 동작 원리
여러 입력 신호를 받아 각각 가중치를 곱한 뒤, 이를 모두 합산하고, 합산된 값을 활성화 함수(주로 계단 함수)에 통과시켜 단일 이진 출력을 생성
퍼셉트론의 동작:
1. 입력 값(x₁,x₂,x₃,,x_n)을 받아 가중치(w₁,w₂,w₃,,w_n)와 곱함
2. 각 가중치가 곱해진 입력 값을 합산하고, 바이어스(b)를 더함
3. 합산된 값을 활성화 함수 f에 통과시켜 최종 출력 생성
• 가중치 : 입력과 연결된 가중치(연결 강도를 나타냄)
• 입력 값 : 입력 데이터 (요인, 조건, 형상 등)
• 바이어스 : 활성화 함수를 데이터에 더 잘 맞추기 위해 좌우로 이동시키는 역할(YES/NO 결정을 내리기 위한 도입)
• 활성화 함수 : 일반적으로 계단 함수를 사용하며 출력은 0 또는 1
출력 결정
• 가중치가 적용된 입력 값과 바이어스의 합이 0보다 크면 1, 작거나 같으면 0을 출력
퍼셉트론 학습 방법
퍼셉트론의 학습은 가중치와 바이어스를 조정하는 과정으로 이루어짐
이는 학습 데이터에 대한 예측 결과와 실제 값을 비교하여 오차를 줄이는 방식으로 진행
가중치 및 바이어스 갱신 규칙
• wᵢⁿᵉʷ,wᵢºˡᵈ: 새로운 가중치와 이전 가중치
• learning rate : 학습률, 가중치 업데이트의 크기를 조절 (너무 크면 발산, 너무 작으면 느린 수렴)
• expected output : 실제 정답 레이블
• predicted output : 퍼셉트론의 예측 값
• xᵢ : 현재 입력 값
학습률은 퍼셉트론의 수렴 속도에 큰 영향을 미침
적절한 값을 선택하는 것이 중요
퍼셉트론의 한계
퍼셉트론은 단순한 구조와 원리에도 불구하고 몇 가지 중요한 한계를 가짐
선형 분리 데이터만 처리 가능
• 퍼셉트론은 데이터가 선형적으로 분리되지 않으면 학습할 수 없음
→ 1969년 마빈 민스키(Marvin Minsky)와 시모어 페이퍼트(Seymour Papert)가 “Perceptrons” 책에서 지적한 문제로, 한때 신경망 연구가 주춤하는 계기가 됨
비선형 문제 해결 불가
• 단층 퍼셉트론은 복잡한 비선형 패턴이나 상호작용을 학습할 수 없음
• 이를 극복하기 위해 다층 퍼셉트론(MLP: Multi-Layer Perceptron)이 개발되었고, 이는 비선형 문제를 해결할 수 있는 딥러닝의 초석이 됨
퍼셉트론의 응용
퍼셉트론은 오늘날 실질적인 응용보다는 다음과 같은 목적으로 주로 사용
• 기초 학습 도구: 신경망과 머신러닝 원리를 이해하기 위한 교육용 도구
• 간단한 이진 분류 문제: 데이터가 선형적으로 분리되는 간단한 문제에서 사용
퍼셉트론은 머신러닝과 신경망의 역사에서 매우 중요한 위치를 차지함
단순한 구조 덕분에 쉽게 이해하고 구현할 수 있어, 복잡한 딥러닝 모델의 기본적인 원리를 배우는 데 유용
선형 데이터 처리라는 한계를 가지지만, 퍼셉트론은 딥러닝 연구의 기반을 마련한 기념비적인 알고리즘
'Python to AI' 카테고리의 다른 글
Iris 데이터셋과 결정 트리(Decision Tree) 모델 : 평가 방법 비교 및 교차 검증 실습 (0) | 2025.01.24 |
---|---|
Scikit-Learn과 Estimator (0) | 2025.01.21 |
Machine Learning Algorithms (0) | 2025.01.10 |
Python - Matplotlib (4) | 2024.12.30 |
Scikit-learn (2) | 2024.12.26 |