人工智能TensorFlow工作笔记010---TensorFlow 游乐场游戏,了解神经网络主要功能作用_工作流程

技术交流QQ群【JAVA,C,.NET,BigData,AI】:170933152 看书写程序,边看边写...  

看下面这个游戏网站地址,然后看介绍吧.主要是介绍一下,神经网络实现过程.

http://playground.tensorflow.org

人工智能TensorFlow工作笔记010---TensorFlow 游乐场游戏,了解神经网络主要功能作用_工作流程_第1张图片

# 这一节将通过TensorFlow 游乐场来快速介绍神经网络的主要功能。TensorFlow 游乐场
# ( http: //playground . tensorflow.o 咆) 是一个通过网页浏览器就可以训练的简单神经网络并实现
# 了可视化训练过程的工具。图3-2 给出了TensorFlow 游乐场默认设置的截图。
#
# 从图3 - 2 中可以看出, TensorFlow 游乐场的左侧提供了4 个不同的数据集来测试神经
# 网络。默认的数据为左上角被框出来的那个。被选中的数据也会显示在图3-2 中最右边的
# “ OUTPUT ”栏下。在这个数据中,可以看到一个二维平面上有黑色或者灰色的点,每一个
# 小点代表了一个样例,而点的颜色代表了样例的标签。因为点的颜色只有两种,所以这是
# 一个二分类的问题。在这里举一个例子来说明这个数据可以代表的实际问题。假设需要判
# 断某工厂生产的零件是否合格,那么灰色的点可以表示所有合格的零件而黑色的表示不合
# 格的零件。这样判断一个零件是否合格就变成了区分点的颜色。
# 为了将一个实际问题对应到平面上不同颜色点的划分,还需要将实际问题中的实体,
# 比如上述例子中的零件,变成平面上的一个点。①这就是特征提取解决的问题。还是以零件
# 为例,可以用零件的长度和质量来大致描述一个零件。这样一个物理意义上的零件就可以
# 被转化成长度和质量这两个数字。在机器学习中,所有用于描述实体的数字的组合就是一
# 个实体的特征向量( feature vector )。在第l 章中介绍过,特征向量的提取对机器学习的效
# 果至关重要,如何提取特征本书不再赘述。通过特征提取,就可以将实际问题中的实体转
# 化为空间中的点。假设使用长度和质量作为一个零件的特征向量,那么每个零件就是二维
# 平面上的一个点。TensorFlow 游乐场中FEATURES 一栏对应了特征向量。在本节的样例中,
# 可以认为x , 代表一个零件的长度,而X2 代表零件的质量。
# 特征向量是神经网络的输入,神经网络的主体结构显示在图3-2 的中间位置。目前主
# 流的神经网络都是分层的结构,第一层是输入层,代表特征向量中每一个特征的取值。比
# 如如果一个零件的长度是0.5 ,那么x , 的值就是0.5 。同一层的节点不会相互连接,而且每
# 一层只和下一层连接,直到最后一层作为输出层得到计算的结果。②在二分类问题中,比如
# 判断零件是否合格,神经网络的输出层往往只包含一个节点,而这个节点会输出一个实数
# 值。通过这个输出值和一个事先设定的阀值,就可以得到最后的分类结果。以判断零件合
# 格为例,可以认为当输出的数值大于0 时,给出的判断结果是零件合格,反之则零件不合
# 格。一般可以认为当输出值离阔值越远时得到的答案越可靠。
# 在输入和输出层之间的神经网络叫做隐藏层, 一般一个神经网络的隐藏层越多,这个
# 神经网络越“深”。而所谓深度学习中的这个“深度”和神经网络的层数也是密切相关的。
# 在TensorFlow 游乐场中可以通过点击“+”或者“-”来增加/减少神经网络隐藏层的数量。
# 除了可以选择神经网络的深度, TensorF lo w 游乐场也支持选择神经网络每一层的节点数以
# 及学习率( learning rate )、激活函数( activation )、正则化( regularization ) 。如何使用这些
# 参数将在后面的章节中讨论。在本节中都直接使用TensorFlow 游乐场默认的设置。当所有
# 配置都选好之后,可以通过左上角的开始标志“ 。”来训练这个神经网络。图3-3 中给出
# 了法代训练100 轮之后的情况。
# 如何训练一个神经网络将在3 .4.4 节中介绍,在这里主要介绍如何解读Ten so r Flow 游
# 乐场的训练结果。在图3-3 中, 一个小格子代表神经网络中的一个节点,而边代表节点之
# 间的连接。每一个节点和边都被涂上了或深或浅的颜色,但边上的颜色和格子中的颜色含
# 义有略微的区别。每一条边代表了神经网络中的一个参数,它可以是任意实数。神经网络
# 就是通过对参数的合理设置来解决分类或者回归问题的。边上的颜色体现了这个参数的取
# 值, 当边的颜色越深时,这个参数取值的绝对值越大; 当边的颜色接近白色时,这个参数
# 的取值接近于0 。①
# 每一个节点上的颜色代表了这个节点的区分平面。具体来说,如果把这个平面当成一
# 个笛卡儿坐标系,这个平面上的每一个点就代表了Cx 1, x2 ) 的一种取值。而这个点的颜色
# 就体现了X t , 均在这种取值下这个节点的输出值。和边类似,当节点的输出值的绝对值越
# 大时,颜色越深。②下面将具体解读输入层x , 所代表的节点。从图3-3 中可以看到X1 这个
# 节点的区分平面就是y 轴。因为这个节点的输出就是X1 本身的值,所以当X1 小于0 时,这
# 个节点的输出就是负数,而x , 大于0 时输出的就是正数。于是y 轴的左侧都为灰色,而右
# 侧都为黑色。① 图3-3 中其他节点可以进行类似的解读。唯一特殊的是最右边OUTPUT 栏
# 下的输出节点。这个节点中除了显示了区分平面,还显示了训练数据,也就是希望通过神
# 经网络区分的数据点。从图3-3 中可以看到,经过两层的隐藏层,输出节点的区分平面已
# 经可以完全区分不同颜色的数据点。
# 综上所述,使用神经网络解决分类问题主要可以分为以下4 个步骤。
# l. 提取问题中实体的特征向量作为神经网络的输入。不同的实体可以提取不同的特征向
# 量,本书中将不具体介绍。本书假设作为神经网络输入的特征向量可以直接从数据集中获取。
# 2 . 定义神经网络的结构,并定义如何从神经网络的输入得到输出。这个过程就是神经
# 网络的前向传播算法,在3.4.2 节中将详细介绍。
# 3. 通过训练数据来调整神经网络中参数的取值,这就是训练神经网络的过程。3 .4.3
# 节将先介绍TensorFlow 中表示神经网络参数的方法,然后3.4.4 节将大致介绍神经网络优
# 化算法的框架,并介绍如何通过TensorFlow 实现这个框架。
# 4. 使用训练好的神经网络来预测未知的数据。这个过程和步骤2 中的前向传播算法一
# 致,本书不再赘述。
# 下面的儿个小节将具体介绍如何使用TensorFlow 来实现神经网络中的不同步骤。最后
# 在3.4. 5 节将给出一个完成的程序来训练神经网络。

你可能感兴趣的:(人工智能)