binary classification을 이용하여 여러 개의 class를 판별합니다.
3개의 class를 판별하는 binary classifier가 있습니다.
이 부분을 matrix multiplication 성질을 이용하여 간결하게 바꿔줍니다.
예측값을 0~1로 표현해주는 sigmoid function이 보이지 않습니다.
softmax는 예측값을 0~1로 표현해주는것 뿐만 아니라
예측값들을 다 더했을 경우 합이 1이 되는 확률로 나타내줍니다.
확률로 나타난 값들을 'one-hot encoding'을 통해 0과 1로 표현해줍니다.
이로써 hypothesis는 완성됐습니다.
cost function은 cross-entropy라는 algorithm을 이용합니다.
여기서 L은 실제 lable, S는 예측값 입니다.
는 softmax로 인해 0~1사이의 값을 가지게 됩니다. 가 1에 가까울수록 -log함수로 인해 0에 가까워지게 됩니다. 가 0에 가까울수록 -log함수로 인해 값이 커지게 됩니다.
예측값과 실제 lable이 일치하는 경우 cost function 값이 낮아지게 되고,
예측값과 실제 label이 다른 경우 cost function 값이 높아지게 됩니다.
Logistic cost VS cross entropy
이 둘은 실제로 같습니다.
x(예측값)는 S이고, y(실제 lable)는 L입니다.
logistic cost에서 y가 1인 경우 -log(H(x))가 되며,
가 1인 경우 가 되므로 동일합니다.
여러 개의 training set이 있을 경우 아래와 같이 표현할 수 있습니다.
cost function
여기서 i는 training set을 나타냅니다.
이 cost or loss function을 최소화하는 값, w벡터를 찾아내면 됩니다.
cost function을 미분함으로써 update할 수 있습니다.
출처
'머신러닝 > 모두를 위한 딥러닝' 카테고리의 다른 글
Learning and test data sets (0) | 2017.03.22 |
---|---|
Learning rate, data preprocessing, overfitting (0) | 2017.03.22 |
Logistic classification: cost function & gradient decent (0) | 2017.03.22 |
Logistic Classification의 가설 함수 정의 (0) | 2017.03.22 |