经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据云AI » 人工智能基础 » 查看文章
我对BP网络的简单的理解
来源:cnblogs  作者:bbird2018  时间:2018/11/10 1:46:05  对本文有异议

最近在学习tf的神经网络算法,十多年没有学习过数学了,本来高中数学的基础,已经彻底还给数学老师了。所以我把各种函数、公式和推导当做黑盒子来用,理解他们能做到什么效果,至于他们是如何做到的,暂时不去深究,最多知道哪个公式的效果会比哪个更适合哪个场合。

  1. BP网络应该是最入门级的算法了。

  1. #用伪代码描述下大概如此
  2. # 单层BP
  3. x = tf.placeholder(tf.float32,[None,256])
  4. y = tf.placeholder(tf.float32,[None,10])
  5. w = tf.Variable(tf.random_normal([256,10]))
  6. b = tf.Variable(tf.zeros([10]))
  7. pred = tf.nn.softmax(tf.multiply(w,x)+b)
  8. loss = tf.reduce_sum(-pred*tf.log(y))
  9. op = tf.train.GradientDescentOptimizer(0.001).minimize(loss)
  1. 多层网络
  2. x = tf.placeholder(tf.float32,[None,256])
  3. y = tf.placeholder(tf.float32,[None,10])
  4. w1 = tf.Variable(tf.random_normal([256,1024]))
  5. b1 = tf.Variable(tf.zeros([1024]))
  6. x1 = tf.nn.relu(tf.multiply(w1,x)+b1)
  7. w2 = tf.Variable(tf.random_normal(1024,10))
  8. b2 = tf.Variable(tf.zeros([10]))
  9. pred = tf.nn.softmax(tf.multiply(w2,x1)+b2)
  10. loss = -tf.reduce_sum(pred*tf.log(y))
  11. op = tf.train.GradientDescentOptimizer(0.001).minimize(loss)

去掉了所有的训练过程,也没有应用到具体的场景,尽可能把模型描绘一下,自己的理解,理解的不对请大家指正。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号