leejhstory

Softmax classifier의 cost함수(lec 6-2) 본문

Team Friends Project/Machine running & Tensorflow

Softmax classifier의 cost함수(lec 6-2)

LeeJHstory 2017. 10. 13. 16:48

시그모이드는 원래 H(x)의 값이 실수이며 값의 차이가 크지만 0 ~ 1 로 줄이는 것


softmax란?

예를 들어 a, b, c 세개의 예측값을 0 ~ 1의 값으로 만들었을 때 세 숫자의 합이 1이 되도록 하는 것


 




one-hot encoding : 제일 큰 값을 골라내는 것(인덱스값으로)

(텐서플로우에서 arg_max)


Cost function

예측한 값과 실제 값의 차이를 나타내는 cost 함수를 설계한다.(cost 함수 최소화 학습)




cross-entropy : 두 값 사이의 차이가 얼마나 되는지를 구하는 함수

S(y)는 예측한 값

L은 실제의 값

cross-entropy 함수가 여기에 적합한 cost함수가 된다?





값이 x축의 0 ~ 1 사이의 값이 된다. (softmax를 통과하는 값)


예측한값(x축)이 0 일 때(틀릴 때)는 무한대에 가까이가고

예측한값(x축)이 1일 때(맞을 때)는 0에 가깝게 된다.



L*-log() 값에 L은 실제 값을 넣고 -log()에는 예측한 값을 넣은다음 엘리맨트 곱셈을 하여 더하면 위와 같은 cost값이 나온다.

위의 예시는 실제 값이 A일 때

예측값이 A일 경우(맞는 경우)



예측값이 B일 경우(틀린 경우)


Comments