[NLP] 머신 러닝 - (9) 소프트맥스 회귀(Softmax Regression)

김규리·2022년 7월 12일
0

NLP

목록 보기
31/33
post-thumbnail

1. 다중 클래스 분류(Multi-class Classification)

: 3개 이상의 선택지 중 하나를 고르는 문제
확률의 총 합이 1인 예측값을 얻도록 하는 것

2. 소프트맥스 함수(Softmax function)

선택해야 하는 선택지의 총 개수를 k라고 할 때, k차원의 벡터를 입력받아 각 클래스에 대한 확률 추정

1) 소프트맥스 함수의 이해

분류하고자 하는 클래스가 k개일 때, k차원의 벡터를 입력받아서 모든 벡터 원소의 값을 0과 1사이의 값으로 변경하여 다시 k차원의 벡터를 반환

2) 그림을 통한 이해

2-1) 가중치 연산을 통한 벡터 변환


: 벡터의 차원 = 분류하고자 하는 클래스의 개수

  • 소프트맥스 함수의 입력 벡터 z의 차원수만큼 결과값이 나오도록 가중치 곱 진행
    ㄴ 학습 과정에서 점차적으로 오차를 최소화하는 가중치로 값이 변경

2-2) 오차 계산을 위한 실제값의 표현

  • 각 실제값의 정수 인코딩은 1, 2, 3

2-3) 오차 계산

  • 오차로부터 가중치 업데이트 (비용 함수로 크로스 엔트로피 함수 사용)

2-4) 소프트맥스 회귀를 벡터와 행렬 연산으로 이해

  • x: 특성(feature)의 수만큼의 차원을 가진 입력 벡터
  • W: 가중치 행렬 (업데이트 대상)
  • b: 편향 (업데이트 대상)

3. 원-핫 벡터의 무작위성

  • 정수 인코딩: 순서의 의미가 없는 분류 문제에서는 오차의 오류가 발생
  • 원-핫 인코딩: 분류 문제 모든 클래스 간의 관계를 균등하게 분배

4. 비용 함수(Cost function)

1) 크로스 엔트로피 함수


ㄴ y-hat이 y를 정확하게 예측한 경우, 크로스 엔트로피 함수의 값은 0이 됨

  • y: 실제값
  • k: 클래스의 개수
  • yi: 실제값 원-핫 벡터의 j번째 인덱스
  • pj: 샘플 데이터가 j번째 클래스일 확률

2) 이진 분류에서의 크로스 엔트로피 함수


ㄴ 소프트맥스 함수의 최종 비용 함수에서 k가 2라고 가정하면 결국 로지스틱 회귀의 비용 함수와 같음

5. 인공 신경망 다이어그램

  • n개의 특성을 가지고 m개의 클래스를 분류하는 소프트맥스 회귀를 인공 신경망의 형태로 표현
profile
connecting the dots

0개의 댓글