引言
上学期选了"模式识别与机器学习"这门课,但是没有选"模式识别"这门硬课,略有遗憾,因此博主想利用假期补一补基础。
一、理论部分
如标题所述,本文探讨的是bp反向传播这一经典算法。算法分析如下:





三、代码部分
1、初始化训练数据
from numpy import array,dot,exp,transpose,hstack,vstack,random,arange,linalg
from math import log10
###############训练样本###################
class1 = transpose(array([[1.58, 2.32, -5.8], [0.67, 1.58, -4.78], [1.04, 1.01, -3.63],
[-1.49, 2.18, -3.39], [-0.41, 1.21, -4.73], [1.39, 3.16, 2.87],
[1.20, 1.40, -1.89], [-0.92, 1.44, -3.22], [0.45, 1.33, -4.38],
[-0.76, 0.84, -1.96]], dtype=float).reshape(-1, 3))#在复制样本的时候首先改成标准格式,然后检查有没有小数点变成逗号的情况
class2 = transpose(array([[ 0.21, 0.03, -2.21], [0.37, 0.28, -1.8], [0.18, 1.22, 0.16],
[-0.24, 0.93, -1.01], [-1.18, 0.39, -0.39], [0.74, 0.96, -1.16],
[-0.38, 1.94, -0.48], [0.02

本文介绍了一个基于BP反向传播算法的神经网络实现过程,包括数据准备、激活函数定义、神经网络类构造及参数更新等内容。通过3000次迭代训练,分类正确率达到0.8左右。
最低0.47元/天 解锁文章
8472

被折叠的 条评论
为什么被折叠?



