7.1 盘古人工智能框架性能测试
本节展示在3个隐藏层、2个隐藏层及1个隐藏层的情况下,盘古人工智能框架的性能表现。
(1)3个隐藏层(Artificial_Intelligence_Framework_Main.py中,hidden_nodes=[8,4,2])时的运行结果,如图7-1所示。
图7-1 有3个隐藏层时的运行结果
(2)2个隐藏层(Artificial_Intelligence_Framework_Main.py中,hidden_nodes=[4,2])时的运行结果,如图7-2所示。
图7-2 2个隐藏层时的运行结果
(3)1个隐藏层(Artificial_Intelligence_Framework_Main.py中,hidden_nodes=[3])时的运行结果,如图7-3所示。
图7-3 1个隐藏层时的运行结果
从运行结果发现盘古人工智能框架的预测效果已经非常不错。
在Neuron_Network_Entry.py代码中,我们给神经元网络输入的数据是二维数组:
二维数组有4行元素,每行元素有三列。第一列和第二列输入的是特征,第三列是实际值。在训练的时候,我们将第一列、第二列作为数据输入,然后让我们的深度学习框架预测第三列的结果。我们输入四行数据,每行数据包括两列特征,但并没有告诉系统第三列的值,而只是进行了前向传播的过程,将预测值与实际值进行对比之后计算误差,然后基于误差使用我们实现的算法不断进行调整,使误差越来越小,最后发现计算结果已经非常接近真实的结果。
如图7-3所示,在改进后的代码,只有1个隐藏层(Artificial_Intelligence_Framework_Main.py时,hidden_nodes=[3])的运行结果中,当Epoch=10 000即在第10 000次循环的时候,误差达到了0.000 695 671 109 492 165 7,预测结果还不错。