没有合适的资源?快使用搜索试试~ 我知道了~
BP神经网络原理及Python实现代码
15 下载量 106 浏览量
2021-01-20
04:10:44
上传
评论 1
收藏 101KB PDF 举报
温馨提示
本文主要讲如何不依赖TenserFlow等高级API实现一个简单的神经网络来做分类,所有的代码都在下面;在构造的数据(通过程序构造)上做了验证,经过1个小时的训练分类的准确率可以达到97%。 完整的结构化代码见于:链接地址 先来说说原理 网络构造 上面是一个简单的三层网络;输入层包含节点X1 , X2;隐层包含H1,H2;输出层包含O1。 输入节点的数量要等于输入数据的变量数目。 隐层节点的数量通过经验来确定。 如果只是做分类,输出层一般一个节点就够了。 从输入到输出的过程 1.输入节点的输出等于输入,X1节点输入x1时,输出还是x1. 2. 隐层和输出层的输入I为上层输出的加权求和再加偏置
资源推荐
资源详情
资源评论
BP神经网络原理及神经网络原理及Python实现代码实现代码
本文主要讲如何不依赖TenserFlow等高级API实现一个简单的神经网络来做分类,所有的代码都在下面;在构造的数据(通过
程序构造)上做了验证,经过1个小时的训练分类的准确率可以达到97%。
完整的结构化代码见于:完整的结构化代码见于:链接地址
先来说说原理先来说说原理
网络构造
上面是一个简单的三层网络;输入层包含节点X1 , X2;隐层包含H1,H2;输出层包含O1。
输入节点的数量要等于输入数据的变量数目。
隐层节点的数量通过经验来确定。
如果只是做分类,输出层一般一个节点就够了。
从输入到输出的过程从输入到输出的过程
1.输入节点的输出等于输入,X1节点输入x1时,输出还是x1.
2. 隐层和输出层的输入I为上层输出的加权求和再加偏置,输出为f(I) , f为激活函数,可以取sigmoid。H1的输出为
sigmoid(w1x1 + w2x2 + b)
误差反向传播的过程误差反向传播的过程
Python实现
构造测试数据
# -*- coding: utf-8 -*-
import numpy as np
from random import random as rdn
'''
说明:我们构造1000条数据,每条数据有三个属性(用a1 , a2 , a3表示)
a1 离散型 取值 1 到 10 , 均匀分布
a2 离散型 取值 1 到 10 , 均匀分布
a3 连续型 取值 1 到 100 , 且符合正态分布
各属性之间独立。
共2个分类(0 , 1),属性值与类别之间的关系如下,
0 : a1 in [1 , 3] and a2 in [4 , 10] and a3 <= 50
1 : a1 in [1 , 3] and a2 in [4 , 10] and a3 > 50
资源评论
weixin_38663701
- 粉丝: 3
- 资源: 954
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功