Softmax classification&multinomial classification, softmax classifier의 cost 함수

lena_log·2022년 5월 22일
1

Logistic Regression

  • Binary classification
  • 데이터를 0, 1 두 그룹으로 구별해주는 역할

그런데 N개의 결과값을 내야 한다면?

  • 만약 3개 클래스로 나눠야 한다면 이진 분류를 3번 하는 것처럼 binary classification을 확장한 모델

Softmax Classification

  • 이진 분류가 아닌 다중 분류를 해결하기 위한 함수
  • 소프트 맥스 함수는 여러 개의 연산 결과를 정규화하여 모든 클래스의 확률값의 합을 1로 만드는 것

Multinomial classification

  • 0, 1로 이진 분류하는 것을 넘어 n개를 분류하는 것
  • 예를 들어 과일 사진을 분류한다고 할 때 그 과일이 사과, 딸기, 배등 분류해야 하는 클래스가 2개 이상 n개 일 경우를 말함

Sigmoid

위의 이미지를 보면 로지스틱 분류를 사용해 벡터를 연산하는데, 각각의 a, b, c가 될 값이 우리가 원하는 형태인 0과 1사의 값이고 각 클래스별 나온 값을 다 더했을 때 1이 되는 것이 소프트맥스!

우리가 소프트맥스 함수에 넣은 결과값이 모든 클래스의 값이 0에서 1사이의 값을 가지고 그 값을 다 더하면(0.7 + 0.2 + 0.1) 1이 된다

0에서 1사이의 값을 가진다는 것은 확률로 볼 수 있고 가장 확률이 높은 거 하나만 알고자 할 때는 one hot encoding을 사용할 수 있는 것이다

*one hot encoding: 내가 표현하고 싶은 인덱스에 1의 값을 부여하고 다른 인덱스에는 0을 부여하는 벡터 표현 방식

Cost function

  • 예측한 값과 실제의 값이 얼마나 다른지 거리를 계산하는 함수로 이 값이 줄어드는 방향(entropy가 감소하는 방향)으로 진행하면 최저점을 만나게 된다는 것

s(y)는 softmax가 예측한 값이고 L(Y)는 실제의 Y의 값으로 L은 라벨을 의미함

profile
안녕하세요. 기억보다 기록을 믿는 레나입니다!

0개의 댓글