다중 클래스 분류와 소프트맥스 함수

이승규·2024년 6월 25일

Deep Learning[공부용]

목록 보기
3/10

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

신경망 구조

  1. 입력층 (Input Layer):

    • 입력 데이터 ( x_1 ), ( x_2 )를 포함
    • 보통 bias 항도 포함됨.
  2. 은닉층 (Hidden Layer):

    • 입력층의 데이터를 처리하여 중간 표현을 만듭니다. 이 예시에서는 ( u_1, u_2, u_3 ) 세 개의 은닉층 뉴런이 있습니다.
    • 각 입력 특성은 은닉층의 모든 뉴런과 연결됩니다.
  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 ~ 10 ~ 1 (출력 값 합이 1)
주요 용도이진 분류다중 클래스 분류
출력 특징개별 출력 값확률 분포 (출력 값 합이 1)
적용 사례스팸 이메일 분류이미지 분류

느낀점

  • 기존에 애매하게 알고있던 소프트맥스 함수가 시그모이드 함수랑 어떤 차이점을 가지는지에 대해서 알게됨.
  • 아직 갈길이 멀다...
profile
Self supervised Learning, Time Series, Multimodal Learning

0개의 댓글