728x90
반응형
Sung Kim 님의 "모두의 딥러닝" 강의노트입니다
좋은 강의 감사드립니다!
https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5
여러개의 Class를 예측할 때 유용하다!
n개의 예측할 것들이 있을 때 Softmax classification 사용
Scores들을 softmax를 통해 probabilities(확률)로 나오게 된다. 이 확률들을 다 더하면 1이 되어야한다.
먼저 수식을 작성한다
tf.matmul(X,W) + b * matmul은 matrix의 곱을 말한다.
Hypothesis = tf.nn.softmax(tf.matmul(X,W) + b) 와 같이 가설을 세운다
어떤 label로 나올 것인지에 대한 확률이 나온다!
그후 아래와 같이 Cross-Entropy cost 를 구현한다
합을 한 후 평균을 내어 표시한다
Minimize는 경사면 내려가는 방법을 사용한다.
One-hot-encoding 방법을 사용한다 말 그대로 하나만 hot하게 한다는 것이다. 하나에만 1로 만들어 주는 것 이다. 0,1,2가 있을 때, Y 값이 0일 경우 [1,0,0] / 1일 경우 [0,1,0] / 2일 경우 [0,0,1] 로 표시하는 것이 one-hot-encoding이다
Y-class의 갯수만큼 y의 shape이 결정된다. Ex. 성적 A / B / C / D 가 있다면 class = 4이고 shape을 [None, 4]로 정할 수 있다.
Tf.arg_max는 몇 번째 arg가 가장 높은지를 보여줌 [1]로 나오면 1번째에 해당하는 arg가 가장 큰 것 이다.
tf.arg_max(data, 1) 1번째로 높은것을 보여줘라 / 숫자에 따른 순서를 알 수 있다.
*axis = 0,1,2 가 뜻하는 것
- 항상 주의해야 할 것 : Session을 만들어주고 global_variables_initializer() 실행
728x90
반응형