原理部分

BP神经网络(算法整体思路及原理+手写公式推导)_秃头小苏的博客-CSDN博客_bp神经网络算法流程图

非常感谢这位博主

import timeimport numpy as np
from BPNETpredata import traindata
from BPNETpredata import labledata
# BPNNdef sigmoid(x):return 1.0 / (1.0 + np.exp(-x))def input(traindata):for i in traindata:return len(i)def var(y1, y2, rate):  # y1:out y2:static outreturn -rate * (y2 - y1) * y1 * (1 - y1)rate = 0.6
w1 = -1 + 2 * np.random.rand(9, 3)
w2 = -1 + 2 * np.random.rand(3, 1)
b1 = -1 + 2 * np.random.rand(1, 3)
b2 = -1 + 2 * np.random.rand(1, 1)
epoch = 9999999999999# forward 3hidden 9input  1.1bias 1 out 3level
# INTALIZING
def bpnntrain(w1, w2, b1, b2, a, c, epoch, rate):for epoch in range(epoch):# step foward 1hidden = np.dot(a, w1)hidden = hidden - b1shidden = []for j in hidden:shidden.append(sigmoid(j))out = sigmoid(np.dot(shidden, w2)[0] - b2[0][0])# work out errorloss = 0.5 * pow((c[0] - out[0]), 2)  # loss functionaccurate = (out[0] - c[0]) / c[0]if pow(pow(accurate, 2), 0.5) < 0.01:print(epoch, out[0], c[0], accurate)break# update b2varb2 = var(out[0], c[0], rate)b2[0][0] = b2[0][0] + varb2# update w2for i in range(len(shidden[0])):w2[i][0] = w2[i][0] - var(out[0], c[0], rate) * shidden[0][i]# update b1for i in range(len(shidden[0])):b1[0][i] = b1[0][i] + var(out[0], c[0], rate) * w2[i][0] * shidden[0][i] * (1 - shidden[0][i])# update w1for i in range(len(w1)):for j in range(len(shidden[0])):w1[i][j] = w1[i][j] + var(out[0], c[0], rate) * w2[j][0] * shidden[0][j] * (1 - shidden[0][j]) * a[i]return [w1, w2, b1, b2]
#train
for i in traindata:for j in labledata:a=ic=[j]qaq=bpnntrain(w1, w2, b1, b2, a, c, epoch, rate)
#predict
def bpnnpredict(w1,w2,b1,b2,a,c):hidden = np.dot(a, w1)hidden = hidden - b1shidden = []for j in hidden:shidden.append(sigmoid(j))out = sigmoid(np.dot(shidden, w2)[0] - b2[0][0])# work out errorloss = 0.5 * pow((c[0] - out[0]), 2)  # loss functionaccurate = (out[0] - c[0]) / c[0]print(out[0],c[0],accurate)
list1=[0.123,0.124,0.125,0.124,0.1256,0.111,0.12312,0.1285,0.1231245]
list2=[1]bpnnpredict(qaq[0],qaq[1],qaq[2],qaq[3],list1,list2)

BP神经网络 python实现相关推荐

  1. BP神经网络python实现

    BP神经网络python实现 总体布局 函数 构建网络 前馈的一个过程 更新 w , b w,b w,b 进行测试 数据读取 m a i n main main函数 数据集 总体布局 函数 S i g ...

  2. BP神经网络python代码详细解答(来自原文翻译)

    翻译如下 ** <font color=black size=6.5> 在 SCRATCH采用python 上实现一种神经网络 **         注: Scratch是一款由麻省理工学 ...

  3. BP神经网络python简单实现

    BP神经网络的原理在网上有很详细的说明,这里就不打算细说,这篇文章主要简单的方式设计及实现BP神经网络,并简单测试下在恒等计算(编码)作测试. BP神经网络模型图如下 BP神经网络基本思想 BP神经网 ...

  4. BP神经网络python代码实现#超详细-小白快速入门

    注释为当前行的注释或者是下一行的注释. import numpy as np#科学计算的基础包# 定义sigmoid函数及其求导,deriv=False时进行前向传播的运算,deriv=True进行反 ...

  5. 深度学习(神经网络) —— BP神经网络原理推导及python实现

    深度学习(神经网络) -- BP神经网络原理推导及python实现 摘要 (一)BP神经网络简介 1.神经网络权值调整的一般形式为: 2.BP神经网络中关于学习信号的求取方法: (二)BP神经网络原理 ...

  6. bp神经网络预测python代码_机器学习之多层神经网络(附Python代码和数据)

    1 引言 多层神经网络,Multiple-layers Perceptron (MLP),又被称为多层感知机,是机器学习中深度学习的典型算法.关于多层神经网络的算法原理,我们在Stata和R实现的文章 ...

  7. 【图像处理】——Python实现图像特征提取BP神经网络实现图像二分类

    目录 一.图像特征提取 二.BP实现图像二分类 1.输入层.隐层.输出层结点个数设置 (1)one hot码(假设是n分类问题) (2)一个输出,输出层结点为1 一.图像特征提取 图像具有灰度特征.G ...

  8. 基于sympy的python实现三层BP神经网络算法

    #!/usr/bin/python # -*- coding: utf-8 -*- """ 写一个三层的BP神经网络(3,2,1),3是输入数据的维度,隐层设置节点数为2 ...

  9. 三层BP神经网络的python实现

    这是一个非常漂亮的三层反向传播神经网络的python实现,下一步我准备试着将其修改为多层BP神经网络. 下面是运行演示函数的截图,你会发现预测的结果很惊人! 提示:运行演示函数的时候,可以尝试改变隐藏 ...

最新文章

  1. CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
  2. [导入]在ASP.NET 2.0中使用样式、主题和皮肤
  3. visio交换机图标_分享 | 华为交换机开局配置一本通,弱电新人学习!
  4. 【实习记】2014-09-04浏览代码查middle资料+总结我折腾过的源码浏览器
  5. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(二)
  6. java 获取视频信息_Java获取视频参数信息
  7. 每天一杯C_Visual Studio各个版本的区别和总结
  8. HDU 1255 覆盖的面积(线段树+扫描线)
  9. C++ STL vector容器的插入和删除
  10. MFC开发环境搭建(顺便来个Helloworld)
  11. 100个常用的 JS 代码
  12. 软件测试总结——常见的面试问题(一)
  13. 【李宏毅机器学习视频汇总】2016~2021李宏毅机器学习内容汇总及一些学习建议
  14. 实时数据采集-免费实时数据采集软件
  15. winform打印服务器上的pdf文件,c# winform 静默打印 PDF文件
  16. 2022杭州华为OD面试经历
  17. App 启动时如何知道 CloudKit 的 iCloud 数据同步操作已经结束了?
  18. 阿朱:研发管理者必读文章
  19. k8s、Deployment多副本资源详解、SERVICE通信、案例一nginx端口暴漏、案例二tomcat端口暴漏、案例三jenkins端口暴漏
  20. 肯定得想办法牵线搭桥

热门文章

  1. 撼世出击:C/C++编程语言学习资料尽收眼底 电子书+视频教程 (2011年2月20日更新)...
  2. C#旅程——串口发送数据
  3. java中抽象类和接口的相同点和不同点_Java中接口和抽象类的区别与相同之处
  4. 零零信安-DD数据泄露报警日报【第39期】
  5. ATS6.2安装部署笔记
  6. 哪个品牌的儿童护眼台灯好?护眼台灯五大品牌推荐
  7. mysql2阶段提交具体实现_Mysql两阶段提交
  8. PhotoShop Beta(爱国版)安装教程-内置AI绘画功能
  9. 控制反转和依赖注入的理解
  10. DiskLruCache硬盘缓存