下文会出现以下知识点:神经网络的计算流程。
TensorFlow游乐场:
网址:http://playground.tensorflow.org。
神经网络简介:
在机器学习中,所有描述一个实体的数字的组合就是一个实体的特征向量。
目前主流的神经网络都是分层的结构,第一层是输入层,代表每一个特征的取值。最后一层是输出层得到计算结果。在输入和输出层之间的神经网络叫做隐藏层,一般一个神经网络的隐藏层越多,这个神经网络越“深”。
以分类问题举例,神经网络解决分类问题主要分为以下四步:
1、提取问题中实体的特征向量作为神经网络的输入。
2、定义神经网络的结构,并定义如何从神经网络的输入得到输出。这个过程就是神经网络的前向传播算法。
3、通过训练数据来调整神经网络中参数的取值,这就是训练神经网络的过程。
4、使用训练好的神经网络来预测未知的数据。
前向传播算法简介:
神经网络可以将输入的特征向量经过层层推导得到最后的输出,解决如何得到神经网络输出的过程就是——前向传播算法。不同的神经网络结构前向传播的方式也不一样。
神经元是构成一个神经网络的最小单元,一个神经元有多个输入和一个输出。每个神经元的输入既可以是其它神经元的输出,也可以是整个神经网络的输入。
神经网络的结构指的就是不同神经元之间的连接结构。
一个最简单的神经元结构的输出就是所有输入的加权和,而不同输入的权重就是神经元的参数。神经网络的优化过程就是优化神经元中参数取值的过程。
计算神经网络的前向传播结果需要三部分信息:
一是神经网络的输入,也就是从实体中提取的特征向量。
二是神经网络的连接结构。神经网络是由神经元构成的,神经网络的结构给出不同神经元之间输入输出的连接关系。神经网络中的神经元也可以称之为节点。
三是每个神经元中的参数。
给定神经网络的输入,神经网络的结构以及边上权重,就可以通过前向传播算法来计算出神经网络的输出。
反向传播算法(backpropagation)简介:
在神经网络优化算法中,最常用的方法是反向传播算法。
反向传播算法实现了一个迭代的过程:
每次迭代开始,先选取一小部分训练数据(batch)。
然后通过前向传播算法得到神经网络模型对这一部分数据的预测结果。
最后,基于预测值和真实值之间的差距,反向传播算法会相应更新神经网络参数的取值,使神经网络模型对这一小部分数据的预测结果和真实值更接近。