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할 수 있습니다.



출처


+ Recent posts