본문 바로가기
머신러닝

[강의]시즌1 딥러닝의기본 - Softmax Regression에 대하여 알아보자!

by 박정률 2017. 2. 17.

Logistic regression 에서

H(X) = WX 에서 return  하는값이 100, 200 등이 나올 수 있기 때문에 0이나 1을 필요로하는 Binary classification 에는

적합하지 않았습니다. 따라서 0~1사이의 값으로 압축할 수 있는 함수 g(z) 가 필요로 했습니다.

따라서 알아낸 sigmoid 함수(logistic 이라고도 함)를 도입했습니다.


둘을 구분하는 선을 찾는 것! 이 궁극적인 목표입니다


이 아이디어를 Multinomial classification 으로 가져와 봅시다!



이러한 Hyperplace 가 생성될 텐데요.


각각의 classify에 대하여 Hypothesis 가 생길 것입니다.

이것은 다음과같이 3가지의 Classification 으로 나뉘어 집니다.





행렬로써 표기하면 다음과같은 3가지의 식이 나오고요.



이걸 한번의 연산으로 바꿔주기 위해서 3x3 행렬을 만들어주면 다음과 같습니다.






이것을 모두다 합했을 때 1이 되도록 하는 함수를 만들자!





가장 큰값을 1로하고 나머지는 0으로 바꿔줍니다.

이것을 ONE_HOT Encoding 이라고 하며 argmax를 사용하면 구현가능합니다.



Y = L = B 인 실제값 이라고 하고

Y_hat = B 인 예측성공한 값 -> Cost 값이 작도록

Y_hat = A 인 예측실패한 값 -> Cost 값이 크도록



사실 상 두개의 Cost function 은 동일하다고 할 수있는데요?

잘 생각해보시면 이유를 아실 것입니다.