[Tensorflow] 일주일간 진행상황

홍콩과기대 김성훈 교수님의 강의가 정말 어마어마하다.

http://hunkim.github.io/ml/

처음에 텐서플로우가 처음나왔을때 이게 뭔 소리지? 했던 부분들이 완벽히 이해되는 강좌. 이해를 하고 나니 훨씬 사용이 쉬워진 느낌.

궁극적으로는 softmax기법을 이용해서 5~6차원의 데이터를 classification하는 부분으로 진행해야하는데, 일단 오늘은 2차원에서만 테스트를 진행

다음과 같은 분포에서

hypothesis = tf.nn.softmax(tf.matmul(X, W))
cost = tf.reduce_mean(tf.reduce_sum(-Y*tf.log(hypothesis), reduction_indices=1))

기본적인 softmax로 진행했고, accuracy를 구했더니

correct_prediction = tf.equal(tf.argmax(Y,1),tf.argmax(hypothesis,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))    
print session.run(tf.argmax(Y,1),feed_dict={Y:ty3})
print session.run(tf.argmax(hypothesis,1),feed_dict={X:tm4})
print session.run(accuracy, feed_dict={X:tm4,Y:ty3})
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
0.94

94% 결과를 보였다. 위에서 잘못나온 좌표를 그래프랑 비교해보니, 사실 그렇게 (사람이 보기에) 헷갈릴만한 좌표는 아니었는데, 그래서 직접시행해보니

print session.run(hypothesis,feed_dict={X:[[1,-0.43,0.47]]})

[[ 0.48978248 0.51021749]]

print session.run(hypothesis,feed_dict={X:[[1,-0.4,0.4]]})
[[ 0.50540406 0.49459586]]

딱 -0.4, 0.4 부근의 값들이 0.5 내외의 결과를 만들어내는 좌표인 탓인 것 같다.

3개의 그룹에서는 57%로 출력. 생각보다 낮게나온다.

그래서 학습을 2000번에서 4000번으로 증가시켜봤다. 그랬더니 73%

6000번때는 85%, 10000번에는 90%까지 증가함을 확인.

다음번엔 3차원 자료를 이용해볼 예정

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.