ML lec(이론) 6-2 - Softmax Classifier의 Cost Function

박성재·2020년 12월 6일
0

출처: 모두를 위한 딥러닝 강좌 시즌 1 by Sung Kim


Softmax Function

Multinomial Classification에서는 각각의 class에 대한 선형 회귀 예측값에 Softmax 함수를 적용한다.
이 함수의 특징은 다음과 같다
1. 0과 1 사이의 값을 반환한다.
2. 각각의 class에 대한 예측값들의 합은 1이다.
- 즉, 각각의 값을 확률로 볼 수 있다는 것이다.

  • 참고로, softmax 함수에 입력되는 저 score를 logit 이라고도 부른다.

이렇게 반환된 예측값들을 'one-hot' encoding 기법을 이용해서, 가장 큰 값만 1로, 나머지는 0으로 만든다.
그럼 해당 데이터가 여러 class중 어디에 속할 지 예측할 수 있다.
즉, classification이 이루어지는 것이다.

  • 참고로 one-hot 이란, 오직 하나만 hot하다, 즉, 벡터에서 오직 하나의 자리에만 1이 있고 나머지는 모두 0이 있다는 것이다.

Cross-entropy Cost Function

Sofmax Classification에서는 Cost Function으로 Cross-entropy를 사용한다.

Cross-entry cost function 또한 로지스틱의 회귀의 비용 함수와 마찬가지로 예측을 제대로 하는 경우 cost를 적게, 예측을 잘못 하는 경우 cost를 크게 주는 방식으로 작동한다.

비용 함수 계산 예시

Logistic cost VS Cross-entropy cost

  • 참고로 로지스틱 회귀 비용 함수의 우변 맨 앞에 마이너스 부호(-)가 누락되었다.

로지스틱 회귀의 비용 함수와 Softmax에서의 비용 함수는 달라 보이지만, 본질적으로는 매우 비슷한 함수이다.
cross entropy에서 class의 개수를 2개라 가정하고, L1L_1yy, L2L_21y1-y, 그리고 S1S_1H(x)H(x)에, S2S_21H(x)1 - H(x) 에 대입해 생각해보면 왜 그런지 알 수 있다.

Cross-entropy로 구한 Cost Function

- Cross-entropy로 모든 인스턴스들에 대한 cost를 구하고 평균을 내줌으로써 Softmax의 비용을 구할 수 있다.

Gradient Descent

  • Softmax의 비용 함수 또한 아래로 볼록한 형태를 띄고 있으며, 마찬가지로 비용 함수의 미분값을 이용하는 경사 하강법을 이용해서 training 시킬 수 있다.
  • 비용 함수가 더욱 복잡해 졌으므로 이에 대한 미분은 직접 다루지 않는다.

0개의 댓글