神经网络游乐场网页页面如图4-1所示,主要分为DATA(数据)、FEATURES(特征)、HIDDEN LAYERS(隐含层)、OUTPUT(输出)及参数设置五个主要区域(图4-1)。
在DATA部分会根据是否是分类问题还是回归问题显示六种不同的数据集合。针对分类问题分为圆环、异或、高斯和螺旋四种数据集合,数据集合采用二维平面形式标注,分为蓝色和黄色两类,其中只有高斯类型为线性可分的数据集,表现为可用一条直线在平面上分割两类数据。针对回归问题分为线性可分和线性不可分两个数据集(图4-2)。
图4-1 神经网络游乐场页面
图4-2 不同的数据集合
在数据集合下面为参数设置区域,其中第一行为训练及测试数据的占比,可以通过设置训练数据量的不同大小观察同一网络模型的训练效果。第二行Noise为噪声数据的数量,噪声数据可以看作标记类别错误的数据,可以测试网络的泛化能力。一般而言,噪声数据越多,训练越困难。第三行Batch size代表训练时每次输入给神经网络使用的数据数量。当Batch size增大时,能够加快数据的处理速度,减小网络训练过程中的震荡现象,然而过大的Batch size降低网络训练学习的随机性,容易使网络陷入局部最优(图4-3)。
图4-3 数据集参数设置
FEATURES部分提供了可供选择的7种特征:X1、X2、X12、X22、X1X2、sin(X1)、sin(X2)。X1可以看成以横坐标分布的数据特征,X2是以纵坐标分布的数据特征,X12和X22是非负的抛物线分布,X1X2是双曲抛物面分布,sin(X1)和sin(X2)正弦分布。通过选择不同的特征,可以让用户体会到特征工程在神经网络中的重要作用。
在HIDDEN LAYERS部分的每一个矩形框代表一个神经元,可以通过按钮增减隐含层的数量以及每一层神经元的个数,最多可以设置六层网络,每层最多八个神经元。一般来讲,隐含层及每层的神经元越多,可以对数据提取的特征也越丰富,对于分类的效果也会越好,但过于复杂的网络结构会导致训练速度变慢,如果数据集大小与网络结构匹配不好,网络收敛的效果可能会变差,容易产生网络过拟合等现象(图4-4)。
图4-4 隐含层网络层和节点的增减设置
OUTPUT一栏是将训练过程可视化的区域,不仅以图形化的方式直观地表示了神经网络能否将未标注的数据划分到正确的类别中,而且通过绘制Test loss(测试损失)和Training loss(训练损失)两个曲线来评估神经网络模型的优劣,表明模型是否收敛以及收敛的快慢。Test loss代表测试误差,Training loss代表训练误差,可以注意到,Test loss一般会大于Training loss(图4-5)。(www.xing528.com)
图4-5 输出部分的分类效果
除了上述主要的四个部分外,在网页中还有配置神经网络参数的一行选项区,如图4-6所示,从左到右分别是:训练的启动开关、Epoch(迭代次数)、Learning rate(学习速率)、Activation(激活函数)、Regularization(正则化)、Regularization rate(正则化率)和Problem type(问题类型)。
图4-6 神经网络其他参数设置
其中,Learning rate即学习速率,是包括深度学习在内的各种有监督学习的重要的超参数,其决定着目标函数是否能够收敛到局部最小值以及收敛速度。读者可以选择不同的学习率,体会神经网络收敛速度的变化。
Activation代表激活函数,在游乐场中提供了四种常见的激活函数,分别是ReLU、Tanh、Sigmoid和Linear。激活函数的主要作用是为神经网络提供非线性建模能力,前三种激活函数是非线性函数,使得网络具备了非线性映射学习能力。Linear激活函数是一种线性激活函数,在网络中选择Linear激活函数仅能够表达线性映射,无论如何增加网络的深度也难以有效对非线性分布的数据进行建模,因此其只在高斯数据集的分类中有效。
Regularization代表正则化,主要是应对神经网络的过拟合问题,有L1和L2两种方式。
设置好网络结构和上述参数后,就可以点击如图4-7所示的启动按钮开始网络训练和数据分类测试,同时表示使用训练集中的全部样本训练次数Epoch会在训练过程中不断增大。
图4-7 启动按钮和迭代显示
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。