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 은 동일하다고 할 수있는데요?
잘 생각해보시면 이유를 아실 것입니다.
'머신러닝' 카테고리의 다른 글
[강의]시즌1 딥러닝의기본 - 딥러닝의기본개념에 대해서 알아봅시다! (0) | 2017.02.20 |
---|---|
[강의]시즌1 딥러닝의기본 - Training/Testing 데이타 셋 (0) | 2017.02.17 |
[실습] 모두의딥러닝 - Logistic Classification 을 Tensorflow로 구현해보자! (0) | 2017.02.15 |
[강의]시즌1 딥러닝의기본 - Logistic (regression) classification에 대해 알아보자 (0) | 2017.02.15 |
[실습] 모두의딥러닝 - multi-variable linear regression을 TensorFlow에서 구현해버리기 (0) | 2017.02.15 |