1. 개요
인공 신경망(ANN)은 인간의 뇌 구조를 모방한 기계 학습 모델로, 복잡한 문제(분류, 예측, 인식 등)를 처리하는 데 탁월한 능력을 보인다.
2. 퍼셉트론(Perceptron)
- 기본 구조
- 퍼셉트론은 가장 단순한 형태의 신경망이다.
- 입력값(특징) → 가중치 곱 → 합산 → 활성 함수 적용 → 출력
- 특징
- 단층 퍼셉트론은 선형 분리 문제만 해결 가능 (예 : AND, OR는 가능하지만 XOR는 불가능)
3. 다층 퍼셉트론 (MLP : Multi-Layer Perceptron)
- 구조
- 입력층 → 은닉층(Hidden Layer) 1개 이상 → 출력층
- 각 층은 여러 노드(뉴런)로 구성되며, 노드 간 연결은 가중치와 함께 전달됨
- 특징
- 은닉층을 추가하면 비선형 문제도 해결 가능 (예 : XOR)
- 역전파 알고리즘(Backpropagation)을 통해 오류를 거꾸로 전달하며 가중치 수정
4. 활성 함수 (Activation Function)
뉴런이 출력할지 말지를 결정하는 함수 → 비선형성을 도입하여 신경망이 복잡한 패턴을 학습할 수 있도록 함
함수 | 특징 | 예시 |
ReLU | 0 이하 값은 0, 양수는 그대로 | 딥러닝에서 가장 널리 사용 |
Sigmoid | 0~1 사이 확률처럼 표현 | 출력층 (이진 분류) |
Tanh | -1 ~ 1로 정규화 | 은닉층에 종종 사용됨 |
Softmax | 다중 클래스 확률 분포로 출력 | 다중 분류 문제의 출력층 |
5. 학습률 (Learning Rate)
신경망이 학습할 때 가중치를 얼마나 크게/작게 조정할 것인지를 결정하는 하이퍼파라미터
설정 | 결과 |
너무 큼 | 발산하거나 최적 해를 놓침 |
너무 작음 | 학습 속도 느림, 최적점에 도달 못할 수 있음 |
- 학습률은 보통 0.001~0.1 사이 값부터 실험하며, 적응형 학습률(Adam, RMSProp 등)을 활용하기도 한다.
6. 오버피팅 방지 전략
- 오버피팅이란?
훈련 데이터에는 잘 맞지만, 새로운 데이터에는 성능이 떨어지는 현상
- 방지 방법
방법 | 설명 |
정규화 (Regularization) | L1, L2 패널티로 복잡한 가중치 억제 |
드롭아웃 (Dropout) | 학습 중 일부 뉴런을 랜덤하게 끄기 |
조기 종료 (Early Stopping) | 검증 손실이 증가하면 학습 중단 |
데이터 증강 / 더 많은 데이터 | 일반화 능력 향상 |
배치 정규화 (BatchNorm) | 각 층의 분포를 안정화시켜 과적합 방지 효과도 있음 |
7. 요약 예시 (MLP 구현 흐름)
from sklearn.neural_network import MLPClassifier
model = MLPClassifier(hidden_layer_sizes=(100, 50),
activation='relu',
solver='adam',
learning_rate_init=0.01,
max_iter=500)
model.fit(X_train, y_train)
8. 결론
- 신경망은 선형 모델을 확장한 강력한 비선형 학습 모델이다.
- 퍼셉트론은 기본 개념, MLP는 실제 적용에 강력한 구조이다.
- 활성 함수, 학습률 조절, 과적합 방지 기법은 성능 향상의 핵심 요소이다.
신경망은 뇌처럼 생각하게 하려는 기계 학습의 뿌리이며, 단순한 퍼셉트론부터 복잡한 MLP까지 모두 연결된 예측 도구이다.
'Theory > IE' 카테고리의 다른 글
[Data Mining_13] 방법론 결합 (0) | 2025.04.15 |
---|---|
[Data Mining_12] 판별 분석 (0) | 2025.04.15 |
[Data Mining_10] 나이브 베이즈 분류기 (0) | 2025.04.15 |
[Data Mining_9] E-NN 알고리즘 (0) | 2025.04.15 |
[Data Mining_8] 분류 회귀 트리 (0) | 2025.04.15 |