1. 基于Tensorflow的NN:
- 用张量表示数据,
- 用计算图搭建神经网络,
- 用会话执行计算图,
- 优化线上的权重(参数),
得到模型
1.1 张量(tensor):多维数组(列表)阶:张量的维数
维数 -----阶----名字-----------例子-----
0-D ----0----标量 scalar-----s=1,2,3
1-D ----1----向量 vector -----v=[1,2,3]
2-D ----2----矩阵 matrix -----m=[[1,2,3],[4,5,6],[7,8,9]]
n-D-----n----张量 tensor ------t=[[[... n个
张量可以表示0阶到n阶数组(列表)
1.2 计算图(Graph):搭建神经网络的计算过程,只搭建,不运算。
1.3 会话(Session): 执行计算图中的节点运算
1.4 权重W,用变量表示,随机给初值
w=tf.Variable(tf.random_normal([2,3], stddev=2, mean=0, seed=1)
tf.random_normal()
:正态分布,可以用tf.truncated_normal()
替换:去掉过大偏离点的正态分布
[2,3]
: 产生2x3矩阵
stddev=2
:标准差为2
mean=0
:均值为0
seed=1
:随机种子
2. 神经网络的实现过程:
2.1:准备数据集,提取特征,作为输入喂给神经网络
2.2:搭建NN结构,从输入到输出(先搭建计算图,再用会话执行)
(NN前向传播算法:计算输出)
推导
2.3:大量特征数据喂给NN,迭代优化NN参数
把每一次的输出与标准答案的差反向传回神经网络,调整神经网络的参数,直到模型达到要求
(NN反向传播算法:优化参数训练模型)
2.4:使用训练好的模型预测和分类
网友评论