-
딥러닝 이론-6 : Softmax Classification딥러닝 2023. 7. 5. 22:12
1. Multinominal classification
- 지금까지는 Logistic classification에 대해서 살펴보았다. 하지만 찾고자 하는 label이 3개 이상이라면 어떻게 해야할까? 아래와 같이 label 값이 3개 표시된 그래프를 보자.
앞서 살펴본 Logistic classification 처럼 binary로 표현이 가능하다. 하나의 선으로 구분하는 것은 어렵지만 3개의 선으로 각각 해당 label이거나 아니거나로 binary classification으로 표현할 수 있다. (각각 label에 대한 classifier를 만든다고 보면 된다. - 3개의 classifier) 이에 대한 식은 아래와 같다.
이렇게 3개의 classifier에 대한 식을 행렬의 곱을 이용해 1개의 식으로 합칠 수 있다.
시그모이드 함수는 위의 식의 각각의 값에 붙일 수도 있지만 좀 더 효율적으로 할 수 있는 방법이 있다.
2. Softmax Classification
- 위 식에서 각각의 값은 벡터 값으로 실수 형태로 나타날 것이다. 하지만 우리는 앞서 살펴본 시그모이드 함수를 통해서 0과 1 사이의 값을 보기를 원했다. 이를 위해서 Softmax 함수를 통해 각각의 값이 0과 1 사이의 값으로 표현이 되고 값의 총합이 1이 되도록 하면서 각 label일 확률로 표현이 될 수 있다.
이렇게 확률 값으로 나타난 것을 one-hot encoding을 통해 결국 가장 큰 확률 값을 나타내는 0.75 (A 확률) 값이 1이 되고 나머지 값(0.15, 0.1)은 0으로 된다. (tensorflow에는 argmax가 있다.)
3. Cost function
- 아래와 같이 Cross Entropy라는 함수를 사용하게 된다.
왜 Cross Entropy 함수가 cost function으로 적합한지에 대한 부분은 모두를 위한 딥러닝 강의 (Lec 6-2)에서 설명이 자세히 되어있다.
'딥러닝' 카테고리의 다른 글
딥러닝 이론-7-2 : Learning and test data sets (0) 2023.07.07 딥러닝 이론-7-1 : Learning rate, data preprocessing, overfitting (0) 2023.07.06 딥러닝 이론-5 : Logistic regression classification (0) 2023.07.04 딥러닝 이론-4 : Multivariable linear regression (0) 2023.07.03 딥러닝 이론-3 : Cost를 최소화하는 방법 (0) 2023.07.02