Advertisement

BP神经网络的Python代码

阅读量:

此前在本人的另一篇博客中,已对BP神经网络的相关理论进行了阐述,本次将借助Python语言进行实现。具体实现过程中可能存在一些细节上的差异。


  1. 符号说明
    (一) 输入层

    • X代表数据集,其维度为(m(nIn)),其中m表示样本数量,nIn表示每个样本的特征数量*

在实际代码编写过程中,为了与偏倚单位相匹配,我们会在X的第一列插入一个额外的列,用作偏倚单位(bias unit),具体如下:

此时X的维度变为m(nIn+1)*

(二) 隐含层

复制代码
 * **hi表示隐含层的输入,其尺寸为m*(nNode)** * **ho是隐含层的输出,在添加了偏倚单位之后,将作为下一层的输入** * **此时ho的维度为m*(nNode+1)**

(三) 输出层

复制代码
 * **输出层输入的维度为m*nOut,其中nOut表示输出层每个样本输出的维度,在我的代码中,默认设置为1。矩阵中的每一行对应一个样本的输出结果** * **输出层最终生成的结果即为训练所得到的结果**

(四)由输入层到隐含层

复制代码
 * 权重矩阵的形式为nNode*(nIn+1),其中行数对应于隐含层节点的数量,列数对应于输入层节点的数量

(五)由隐含层到输出层

复制代码
 * 权重矩阵的形式为nOut*(nN

全部评论 (0)

还没有任何评论哟~