5 tensorflow实现神经网络
1 TF游乐场及神经网络简介
(TF游乐场,http://playground.tensorflow.org,略)
使用神经网络解决分类问题的主要步骤:
1. 提取特征向量作为输入
2. 定义神经网络结构,得到输出
3. 通过训练数据调整参数取值,这是训练神经网络的过程
4. 使用神经网络进行预测
2 前向传播算法简介
神经网络的结构就是不同神经元之间的连接结构。
全连接的神经网络是指相邻两层之间的任意两个节点之间都有连接。和卷积层、LSTM结构不同。
前向传播结果需要三部分信息:输入,连接结构和输出。
实现前向传播过程的TF程序:
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
tf.matmul
实现了矩阵乘法的功能。
3 神经网络参数与TF变量
TF中,变量(tf.Variable)的作用是保存和更新神经网络中的参数,需要指定初始值,一般是使用随机初始值。
在TF中声明一个2×3矩阵的方法
weights = tf.variable(tf.random_normal([2,3], stddev=2))
上面的代码生成一个2×3矩阵,矩阵中元素是均值为0,标准差为2的随机数,tf.random_normal函数可以通过参数mean来指定均值,没指定时默认为0。
TF随机数生成函数
函数名称 | 随机数分布 | 主要参数 |
---|---|---|
tf.random_nomal | 正态分布 | 均值、标准差、取值类型 |
tf.truncated_normal | 正态分布,但如果随机出来的值偏离平均值超过2个标准差,那么这个数将会被重新随机 |