啥是神经网络?
简而言之,就是很多公式的组合,看上图, 你给他一些自变量(x1,x2,x3 …) , 它通过系数的组合,上面每一个红色的节点就是一个公式,公式的结果再组合成公式,最后出来个结果.
对上面第一个红节点举例子 : 5x1 - 2x2 + 3x3 + x4 + …
这仅仅是第一个节点,它是由一系列系数构成的也就是 5 ,-2 ,3 ,1 ,这也叫每根线的权重
那么很多这样的节点,就构成了上面的隐藏层了
所谓训练,就是找一找最合适的权重,让结果最完美罢了
针对如何搭建训练框架,这就是tensorflow事情了
其实除了tensorflow,我们还有好多框架,用于神经网络的实现,caffe啦, pytorch啦,我们选用google出品的,最火最好用最难上手的神器,tensorflow。
啥是tensorflow???
Tensor: 张量 , 就是数据
Flow:流动 , 就是数据咋从一个节点流动到另一个节点,也就是咋对数据进行运算?
tensorflow中的数据,也就是我们要处理的数据,就叫做张量,而由神经网络对数据进行处理的过程,就叫做流动。
tensorflow 的使用分成两步
1
图的构建: 就是把数据定义一下,包括从本地导入数据集(就是很多罗列好的数据罢了)
1
图的执行 : 就是执行tensorflow,把数据输入进去
我们先看一个使用了tensorflow的 加法运算, 1+1 =2
#coding=UTF-8
import tensorflow as tf
#先定义数据和运算
a = tf.constant(1)
b = tf.constant(2)
c = a + b
#再开动tensorflow, 使用框架进行加法运算
#如果想开动tensorflow ,就是要开启一个session
with tf.Session() as sess:
c_tf = sess.run(c) #给输入,得到输出
print(res_tf)
#结果就是3
很直白的可以看到,上面是图的构建,下面是图的执行。