当前位置:   article > 正文

用神经网络解决二分类问题_神经网络paddle预测 二分类(0,1)问题

神经网络paddle预测 二分类(0,1)问题
  1. #https://blog.csdn.net/weixin_34365635/article/details/86942414
  2. import tensorflow as tf
  3. from numpy.random import RandomState
  4. batch_size = 8
  5. w1 = tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
  6. w2 = tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
  7. x = tf.placeholder(tf.float32,shape=(None,2),name='x-input')
  8. y_= tf.placeholder(tf.float32,shape=(None,1),name='y-input')
  9. a=tf.matmul(x,w1)
  10. y=tf.matmul(a,w2)
  11. cross_entropy = -tf.reduce_mean(
  12. y_*tf.log(tf.clip_by_value(y,1e-10,1.0))
  13. )
  14. train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy)
  15. rdm = RandomState(1)
  16. dataset_size = 128
  17. X=rdm.rand(dataset_size,2)
  18. # for (x1,x2) in X:
  19. # print(x1+x2)
  20. # print(int(x1+x2 < 1))
  21. Y=[[int(x1+x2 < 1)] for (x1,x2) in X]
  22. with tf.Session() as sess:
  23. init_op = tf.initialize_all_variables()
  24. sess.run(init_op)
  25. print(sess.run(w1))
  26. print(sess.run(w2))
  27. sess.close()
  28. # sess = tf.Session()
  29. # init_op = tf.initialize_all_variables()
  30. # sess.run(init_op)
  31. # STEPS = 500
  32. # for i in range(STEPS):
  33. # start = (i * batch_size) % dataset_size
  34. # end = min(start + batch_size, dataset_size)
  35. # sess.run(train_step,feed_dict={x: X[start:end], y_: Y[start:end]})
  36. # if i % 1000 == 0:
  37. # total_cross_entropy = sess.run(cross_entropy, feed_dict={x: X, y_: Y})
  38. # print("After %d training step(s),cross entropy on all data is %g" % (i, total_cross_entropy))
  39. # print(sess.run(w1))
  40. # print(sess.run(w2))

结果:

[[-0.8113182   1.4845988   0.06532937]
 [-2.4427042   0.0992484   0.5912243 ]]
[[-0.8113182 ]
 [ 1.4845988 ]
 [ 0.06532937]]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/235441
推荐阅读
相关标签
  

闽ICP备14008679号