(24)BackPropagation.py代码
Create_AI_Framework_In5Classes(Day2)版本的Node.py代码:
class Node:
Create_AI_Framework_In5Classes(Day3)版本的Node.py代码,与Create_AI_Framework_In5Classes(Day2)版本相比:
· 上段代码中第5行以后新增代码,新增set_minor_error、get_minor_error代码。
……
(6) 然后进行循环,计算除输入层节点之外的每个节点要负的责任。循环所有的节点nodes,从后往前推,每次往前进行一个节点,但是不需要计算输入层的节点。从后往前推要获得target_index ,即node本身的index(),基于target_index获取权重的反推链。同时要计算每个神经元误差的总和,因为记录每个神经元最终负的责任。
Create_AI_Framework_In5Classes(Day3)版本的BackPropagation.py代码:
class BackPropagation:
BackPropagation中各神经元节点误差的计算,实现的原理机制如图所示,输出信号y同训练数据集中的预测输出结果z做对比,输出信号y与预测值z之间的误差值用d 表示,计算损失信号d反向传播所有神经元。 其中权重系数Wmn 用来计算损失信号。神经网络的神经元节点(除输入层节点)都按照此过程计算。
图 1- 39 Back Propagation误差的计算