Softmax Classification
<목차>
- 3개 이상의 선택지 중에서 1개를 고르는 다중 클래스 분류(Multi-Class Classification)
- Linear regression <-> Softmax regression
- softmax function
- cost function : cross entropy
- Logistic Regression
sigmoid 함수는 예측값을 0과 1 사이의 값으로 만듦
- Softmax Regression
각 class (선택지)마다 소수 확률을 할당하고 이때 총 확률의 합이 1이 되어야함
즉, 선택지의 개수만큼의 차원을 가지는 벡터를 만들고, 벡터의 모든 원소의 합이 1이 되도록 원소의 값을 변환시키는 함수(softmax 함수)를 사용
Softmax function
- 분류해야하는 정답지(클래스)의 총 개수를 k라고 할 때, k차원의 벡터를 입력받아 각 클래스에 대한 확률을 추정
- softmax 함수의 입력
위 경우 4개의 독립변수 x가 어떤 가중치 연산을 통해 3차원 벡터로 변환되어야 함
-> 결과값이 softmax 함수의 입력벡터 z의 차원 수만큼 나오도록 가중치 곱 진행
- 오차 계산 방법
one-hot vector 사용
Linear regression, Logistic regression과 마찬가지로 오차로부터 가중치, 편향 업데이트
Cost function : Cross Entrophy
n개의 전체 데이터의 평균을 구한 최종 비용함수는 아래와 같음
로지스틱 회귀 비용함수로부터 cross entrophy 함수 도출하기
y를 y1으로, y-1을 y2로, H(x)를 p로, 1-H(x)를 p2로 치환