다중 클래스 분류는 여러 개의 클래스 중 하나를 예측하는 문제이다.
이를 위해 신경망을 사용하여 각 클래스에 대한 확률을 계산하고, 가장 높은 확률을 가진 클래스를 선택하게 된다.

신경망 구조
-
입력층 (Input Layer):
- 입력 데이터 ( x_1 ), ( x_2 )를 포함
- 보통 bias 항도 포함됨.
-
은닉층 (Hidden Layer):
- 입력층의 데이터를 처리하여 중간 표현을 만듭니다. 이 예시에서는 ( u_1, u_2, u_3 ) 세 개의 은닉층 뉴런이 있습니다.
- 각 입력 특성은 은닉층의 모든 뉴런과 연결됩니다.
-
출력층 (Output Layer):
- 최종적으로 각 클래스에 대한 예측 값을 출력합니다. 여기서는 ( y_1, y_2, y_3 ) 세 개의 뉴런이 있습니다.
- 이 예측 값들은 소프트맥스 함수를 통해 확률로 변환됩니다.
소프트맥스 함수 적용
소프트맥스 함수는 신경망의 출력값을 확률 값으로 변환합니다. 다음과 같이 정의됩니다:
P(y = k|x) = ℼ k
∕ 1
exp(z_k) / Σc=1C exp(z_c)
여기서:
- P(y = k|x): 입력 x가 주어졌을 때 클래스 k에 속할 확률.
- z_k: 클래스 k에 대한 신경망의 출력값.
- Σc=1C exp(z_c): 모든 클래스에 대한 출력값의 지수 함수 값의 합.
❓ FAQ
Q) 소프트맥스함수와 시그모이드 함수의 차이점은 무엇인가?
- 시그모이드 함수는 이진 분류 문제에서 사용되며, 개별 출력 값이 0과 1 사이에 있음
- 소프트맥스 함수는 다중 클래스 분류 문제에서 사용되며, 출력 값들이 확률 분포를 형성하여 전체 합이 1이 됨.
차이점 요약
| 특징 | 시그모이드 함수 | 소프트맥스 함수 |
|---|
| 정의 | (\sigma(z) = \frac{1}{1 + \exp(-z)}) | (P(y = k |
| 출력 범위 | 0 ~ 1 | 0 ~ 1 (출력 값 합이 1) |
| 주요 용도 | 이진 분류 | 다중 클래스 분류 |
| 출력 특징 | 개별 출력 값 | 확률 분포 (출력 값 합이 1) |
| 적용 사례 | 스팸 이메일 분류 | 이미지 분류 |
느낀점
- 기존에 애매하게 알고있던 소프트맥스 함수가 시그모이드 함수랑 어떤 차이점을 가지는지에 대해서 알게됨.
- 아직 갈길이 멀다...