Tensorflow 实战Google深度学习框架——学习笔记(二)TensorFlow实现神经网络

3.4 TensorFlow实现神经网络

使用神经网络解决分类问题可以分为以下四步:
1.提取问题中实体的特征向量作为神经网络的输入
2.定义神经网络的结构,并定义如何从神经网络的输入得到输出(前向传播)
3.通过训练数据来调整神经网络中的参数(反向传播)
4.使用训练好的数据来预测未知的数据
这里写图片描述
整个过程分需要三部分信息:
第一个部分是神经网络的输入,这个输入就是从实体中获取的特征向量。如上图的x1和x2
第二个部分是神经网络的连接结构。连接结构给出的是上面不同神经元(也可以称为节点)之间输出输入的连接关系
最后一个部分是每个神经元之中的参数,如下:
这里写图片描述
对于上面的计算W*x,可以用下面的方法结果:
这里写图片描述
a = tf.matmul(x, w1) # 实现了矩阵的乘法功能

3.4.3 神经网络参数与TensorFlow变量

在TensorFlow中,使用变量(tf.Variable)来保存和更新网络中的参数,需要指定初始值
一般在神经网络中会给参数赋予随机初始值,如下是声明一个2x3矩阵变量的方法:

weights = tf.Variable(tf.random_normal([2, 3], stddev=2))  
# [2, 3]制定了变量的维度是一个2x3的矩阵,stddev表示这些随机数的标准差为2,
# 还可以通过mean来指定所有数的均值,不指定的时候默认是0,所以上面weights的均值是0

以下是一些其他随机数生成器:
这里写图片描述
TensorFlow中变量的初始值可以设置成随机数、常数或者是通过其他变量的初始值计算得到 。
以下是一些常量的定义方法:
这里写图片描述
在神经网络中,通常b值通过常数来设置初始值:

b = tf.Variable(tf.zeros([3]))  # s生成一个初始值全部为0,长度为3的一维数组

通过其他变量的初始值获取新变量的方法如下:

w2 = tf.Variable(weights.initialized_value())  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值