[2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)

TensorFlow Playground

http://playground.tensorflow.org

帮助更好的理解,游乐场Playground可以实现可视化训练过程的工具

TensorFlow Playground的左侧提供了不同的数据集来测试神经网络。默认的数据为左上角被框出来的那个。被选中的数据也会显示在最右边的 “OUTPUT”栏下。在这个数据中,可以看到一个二维平面上有红色或者蓝色的点,每一个小点代表了一个样例,而点的颜色代表了样例的标签。因为点的颜色只有两种,所以这是 一个二分类的问题。在这里举一个例子来说明这个数据可以代表的实际问题。假设需要判断某工厂生产的零件是否合格,那么蓝色的点可以表示所有合格的零件而红色的表示不合格的零件。这样判断一个零件是否合格就变成了区分点的颜色。

 为了将一个实际问题对应到平面上不同颜色点的划分,还需要将实际问题中的实体, 比如上述例子中的零件,变成平面上的一个点。 这就是特征提取解决的问题。还是以零件为例, 可以用零件的长度和质量来大致描述一个零件。这样一个物理意义上的零件就可以被转化成长度和质量这两个数字。在机器学习中,所有用于描述实体的数字的组合就是一 个实体的特征向量(feature vector)特征向量的提取对机器学习的效果至关重要,通过特征提取,就可以将实际问题中的实体转化为空间中的点。假设使用长度和质量作为一个零件的特征向量,那么每个零件就是二维平面上的一个点。 TensorFlow Playground中 FEATURES 一栏对应了特征向量。 可以认为 x1代表零件的长度,而 x2代表零件的质量。 

在二分类问题中,比如 判断零件是否合格,神经网络的输出层往往只包含一个节点,而这个节点会输出一个实数值。通过这个输出值和一个事先设定的阀值,就可以得到最后的分类结果。以判断零件合格为例,可以认为当输出的数值大于 0 时,给出的判断结果是零件合格,反之则零件不合格。一般可以认为当输出值距离阈值越远时得到的判断越可靠。 

主流的神经网络主体结构都是分层的结构:

输入层 - 隐藏层 - 输出层

综上,使用神经网络解决分类或回归问题主要可以分为以下 4 个步骤:

扫描二维码关注公众号,回复: 4887341 查看本文章

1. 提取问题中实体的特征向量作为神经网络的输入。不同的实体可以提取不同的特征向量。

2. 定义神经网络的结构,并定义如何从神经网络的输入得到输出。这个过程就是神经网络的前向传播算法

3. 通过训练数据来调整神经网络中参数的取值,这就是训练神经网络的过程。 

4. 使用训练好的神经网络来预测未知的数据。

前向传播算法

最简单的全连接网络结构的前向传播算法

猜你喜欢

转载自www.cnblogs.com/clemente/p/10260197.html