如何利用python搭建第一个神经网络,总结搭建八股
什么是神经网络?(我们这里指的是人工神经网络)
人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
人工神经网络:是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为“神经网络”或类神经网络。
基于Tensorflow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的参数,得到合适的模型
张量(tensor):多维数组(列表) 用阶表示张量的维度
维数 | 阶 | 名字 | 例子 |
---|---|---|---|
0-D | 0 | 标量 scalar | s=123 |
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阶数组(列表)
import tensorflow as tf
a = tf.constant([1.0, 2.0])
b = tf.constant([3.0, 4.0])
result = a+b
print(a+b)
会得到这样的结果
"add_1:0"表示add_1为节点名,0表示第0个输出
shape=(2,)表示shape表示维度,2表示一维数组长度为2
dtype=float32表示数组类型
刚才代码描述的是计算过程就是一张计算图:只描述计算过程,不描述计算结果(搭建神经网络计算过程,只搭建,不运算)
神经网络的基本单元是神经元,神经元基本模型如下图
搭建计算图
x = tf.constant([[1.0, 2.0]])#x为一行两列的张量
w = tf.constant([[3.0],[4.0]])#w为两行一列的张量
y = tf.matmul(x,w)
创建会话
with tf.Session() as sess:
print(sess.run(y))
得到结果
这里的红色是报一些加速指令,我们这里没有用上,可以忽略