BP神经网络的Python代码
发布时间
阅读量:
阅读量
此前在本人的另一篇博客中,已对BP神经网络的相关理论进行了阐述,本次将借助Python语言进行实现。具体实现过程中可能存在一些细节上的差异。
-
符号说明
(一) 输入层- 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)
还没有任何评论哟~
