Multilayer Perceptron
퍼셉트론은 선형 분류기라는 점에서 한계가 있었다. XOR 문제에서 선형 분리 불가능한 상황에서는 일정한 양의 오류가 발생
했다. 이러한 퍼셉트론의 단점을 보완하기 위해 MLP가 나오게 되었다.
⭐ MLP의 핵심 아이디어
1. 은닉층 추가 (Hidden Layer)
- 입력층(Input Layer)과 출력층(Output Layer) 사이에 하나 이상의 은닉층을 둠.
- 단층 퍼셉트론은 선형 분리 문제만 해결할 수 있지만,
은닉층이 생기면 비선형 관계를 학습할 수 있음. - 즉, 입력 특징 공간을 더 분류하기 쉬운 고차원 공간으로 변환하는 역할을 함
2. 시그모이드 활성함수 도입 (Sigmoid Activation)
- 출력이 0~1 사이의 연속적인 실수값을 갖게 됨.
- 이를 확률적 해석(신뢰도) 로 볼 수 있게 됨. 따라서 의사 결정의 유연성이 늘어남
3. 오류 역전파 알고리즘 (Backpropagation Algorithm)
- 손실함수 J(W)에 대해 가중치의 기울기(gradient) 를 계산하고,
이를 이용해 경사하강법으로 가중치를 갱신하는 알고리즘. - 출력층의 오차를 시작으로, 은닉층까지 역방향으로 오차를 전파하며 업데이트함.
특징 공간 변환
단계 1: 입력 공간 확장 (은닉층이 하는 일)
- MLP의 첫 번째 은닉층은 단순히 입력을 통과시키는 게 아니라, 입력 공간을 새로운 특징 공간으로 매핑(변환) 한다.
- 즉, 원래는 선형으로 분리되지 않던 데이터를, 은닉층의 뉴런과 비선형 활성함수를 통해 분리하는 것.
단계 2: 새로운 특징 공간에서 분류 수행
- 출력층에서는 은닉층이 만들어낸 특징을 입력으로 받아, 그것을 단순한 선형 분류기(linear classifier) 로 처리한다
- 즉, 변환된 공간에서는 데이터가 선형적으로 구분 가능하기 때문에 마지막 출력층은 단순한 선형 모델이어도 충분하다.
1. MLP
퍼셉트론 2개를 병렬 결합 후, 나머지 하나를 순차 결합
- 2차원 입력 공간 → 은닉층의 비선형 조합을 통해
새로운 특징 공간으로 확장 (비선형 경계 생성) - 그 결과, 단층 퍼셉트론으로는 불가능했던 비선형 분리가 가능해진다.
2. Feature Extension
퍼셉트론 3개를 병렬 결합
- 입력: 2차원 공간 (x₁, x₂)
- 3개의 퍼셉트론을 병렬로 구성 → 각각 다른 결정 경계를 학습
- 결과적으로 2차원 입력 공간이 7개의 구분된 영역으로 확장됨
- 이 공간을 다시 하나의 3차원 점 (h₁, h₂, h₃) 으로 표현

활성함수
활성함수는 신경망이 입력 공간을 어떻게 분리하고 변환할 수 있는지를 결정하는 중요한 요소이다.
활성함수의 종류에 따라 공간 분할 방식이 크게 달라지며, 이는 신경망이 복잡한 문제를 얼마나 잘 학습할 수 있는지를 좌우한다.
1. 계단 함수(Step Function)
계단 함수는 이분적인 의사결정을 수행한다.
입력 영역이 점으로 변환되어 출력되므로, 데이터의 분류가 단순히 직선이나 평면으로만 이루어진다.
즉, 한쪽 영역은 +1로, 다른 한쪽 영역은 -1로 구분되어 불연속적인 결정만 가능하다.
이로 인해 복잡한 비선형 경계를 표현하기에는 한계가 있다.
⭐ 2. 부드러운 활성함수 (예: Sigmoid, Tanh, ReLU 등)
이들 함수는 부드러운 의사결정을 가능하게 한다.
입력 영역이 다른 영역으로 연속적으로 변환되며, 직선/평면뿐 아니라 곡선이나 곡면 형태의 경계도 형성할 수 있다.
출력값은 -1.0에서 +1.0 사이의 연속적인 실수 값으로 주어지므로, 한 영역이 한 점으로 축소되지 않고
다른 영역과의 연속적인 경계를 형성할 수 있다.


활성함수는 입력값에 따른 출력의 변화 정도를 결정하기 때문에, 그 도함수(기울기)는 학습 과정에서 매우 중요한 역할을 한다.
모든 활성함수는 1차 도함수 계산이 빠르며, 이 도함수의 값은 출력이 입력 변화에 얼마나 민감한가를 의미한다.
즉, 입력값이 조금만 바뀌었을 때 출력이 얼마나 크게 바뀌는지를 수치로 보여주는 것이다. 따라서 도함수의 값이 클수록 모델의 출력이 입력 변화에 매우 민감하다는 뜻이다. 이 경우 오차가 크게 발생하고 있으며, 그만큼 가중치(weight)들이 활발하게 조정되고 있는 중이라는 것을 의미한다.
반대로 도함수가 0에 가까우면, 입력 변화에 거의 반응하지 않기 때문에 학습이 정체되거나(기울기 소실 문제),
모델이 이미 최적점에 도달했음을 알 수 있다.
결국 활성함수의 도함수는 학습 속도와 오차 민감도, 즉 신경망이 얼마나 효과적으로 가중치를 갱신할 수 있는지를 결정하는 핵심적인 지표이다.
Multilayer Perceptron 구조
입력층–은닉층–출력층의 2층 구조
- 구성:
- 입력 노드: d + 1개 (d는 특징의 개수)
- 출력 노드: c개 (c는 Class의 개수)
- 특징:
- p개의 출력 노드를 사용하면 p는 하이퍼 매개변수로 사용자가 직접 설정해야 함.
- p가 너무 크면 과잉적합(overfitting)이 발생하고,
너무 작으면 과소적합(underfitting) 문제가 생김. - 따라서 학습 과정에서 하이퍼파라미터 최적화가 필수임.
입력층–은닉층–은닉층–출력층의 3층 구조 (MLP 구조)
- 핵심 개념:
- 은닉층(hidden layer)은 외부에서 직접 관찰할 수 없는 특징 표현을 학습하는 층이다.
- 즉, 단순한 입력값이 아니라 입력 패턴의 내재적 구조(표현) 를 스스로 학습한다.
- 이것이 곧 표현 학습(Representation Learning) 의 핵심이다.
- 구조:
- 첫 번째 은닉층: 입력값으로부터 중간 특징을 추출
- 두 번째 은닉층: 앞선 은닉층이 만든 특징을 조합해 더 복잡한 표현 생성
- 출력층: 은닉층이 만든 최종 표현을 기반으로 클래스 결정 수행


⭐ 층이 깊어지면?
연결 가중치가 늘어난다. 따라서 특징 공간을 더 유리한 공간으로 변환가능해진다. 층이 깊어질수록 신경망은 입력 데이터를 더 유리한 특징 공간으로 매핑할 수 있고, 이로 인해 복잡한 비선형 문제도 선형적으로 분리 가능한 형태로 변환할 수 있다.
2층 퍼셉트론의 매개변수 (가중치)

Multilayer Perceptron 동작

j번째 은닉 노드의 입력합(zsum)은 입력층의 모든 노드 xi 에 대해서 그 노드와 은닉층 j번째 노드 사이의 가중치 uji(1)을 모두곱해서 나온 값이다. 이건 은닉층 뉴런 j로 들어오는 총 입력합이기도 하다.

| 입력합 (은닉층) | j번째 은닉 노드로 들어오는 총 입력 | |
| 은닉층 출력 | 은닉 노드의 활성화 출력 | |
| 입력합 (출력층) | k번째 출력 노드로 들어오는 총 입력 | |
| 출력층 결과 | 최종 출력 (예측값) |
은닉층은 특징 추출기이다. 은닉층은 특징 벡터 x를 분류에 더유리한 새로운 특징 공간으로 변환한다. 따라서 현대 기계 학습은 위 과정을 특징 학습이라고도한다.

Error Backpropagation Algorithm
목적함수 정의 ( 비용함수이자 손실함수라고도 부른다)
기계학습의 목표는 모든 샘플을 옳게 분류하는 함수를 찾는 것이 목표이다.

목적함수 설계 : 평균 제곱 오차로MSE(Mean Squared Error) 정의
1. 온라인 모드 목적함수 = 스토케스틱 방식
하나의 샘플에 대해 오차를 계산하고 바로 가중치를 갱식하는 학습 방식에 적용 .
2. 배치 모드 목적함수
모든 샘플에 대한 오차를 계산하고 한꺼번에 가중치를 갱신하는 학습 방식에 적용

오류 역전파 알고리즘 설계
기계 학습 알고리즘: 목표 값이 줄어드는 방향으로 Θ 를 업데이트
목적함수를 가중치 행렬 대해 편미분하면 각 가중치의 기울기가 산출된다.

알고리즘 3-3 다층 퍼셉트론을 위한 스토케스틱 경사 하강법

입력: 훈련집합 X, 정답 Y, 학습률 ρ
출력: 가중치 행렬 U¹, U²
1. U¹, U² 초기화
2. repeat
3. X의 순서를 섞는다
4. for 각 샘플 (x, y) ∈ (X, Y):
① o = τ(U² · τ(U¹ · x)) # 순전파 (Forward)
② ∂J/∂U¹, ∂J/∂U² 계산 # 역전파 (Backward)
③ U¹ = U¹ - ρ·∂J/∂U¹ # 가중치 갱신
U² = U² - ρ·∂J/∂U²
until (수렴 or epoch 종료)
'{Lecture} > Machine Learning' 카테고리의 다른 글
| [기계학습] Perceptron (0) | 2025.10.17 |
|---|---|
| [기계학습] 선형대수학 - 행렬 (0) | 2025.10.16 |
| [기계학습] 선형대수학 정리 - 벡터 (0) | 2025.10.16 |



