bp反向传播+3层全连接神经网络+softmax交叉熵损失+代码实现详解

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

引言

上学期选了"模式识别与机器学习"这门课,但是没有选"模式识别"这门硬课,略有遗憾,因此博主想利用假期补一补基础。

一、理论部分

如标题所述,本文探讨的是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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值