(17) 运行ForwardPropagation.py代码
Create_AI_Framework_In5Classes(Day2) 的ForwardPropagation.py代码:
# -*- coding: utf-8 -*-
(3) 测试结果。
在入口程序Neuron_Network_Entry.py中测试结果。输出结果的值是最后一个节点的值,
得出此次Forward Propagation的输出结果,从所有的节点中找到最后一个节点,打印出预测的值。
Neuron_Network_Entry.py运行结果如下:
+1 V1 V2
instances中有4条数据,从输入数据的角度,第1条数据是[0,0],第2条数据是
[0,1],第3条数据是[1,0],第4条数据是[1,1]。结果中第一条数据的预测值是Prediction: 0.4477145403917822,但实际结果是0;第2条数据的预测值是Prediction: 0.44384068472048943,但实际结果是1;第3条数据的预测值是Prediction:0.44955657205136573,但实际结果是1;第4条数据的预测值是Prediction: 0.44559590058743986,但实际结果是0;我们只运行了1次,使用Sigmoid激活函数发现第1列和第2列跟第3列结果的关系,第1次运行的结果是不准确的。在下一章节中,我们将从结果中反推执行的过程,看每个节点关联的权重对误差造成的影响,根据我们的算法调整这个影响,随着循环过程的进行,误差会越来越小。TensorFlow的可视化图中,开始的误差是50%左右,我们这里的开始误差也很大,根据结果的计算,要么是0,要么是1,而我们的预测值如0.4477145403917822等,随着程序的运行,误差越来越小,而要完成这个过程,要根据结果反推以前的每一步,看权重值是否需要调整,调整权重之后,下一次再运行,神经元具体的值也会改变,因为权重发生了改变,不断的调整将越来越接近目标。