Python编程实现的简单神经网络算法示例


Posted in Python onJanuary 26, 2018

本文实例讲述了Python编程实现的简单神经网络算法。分享给大家供大家参考,具体如下:

python实现二层神经网络

包括输入层和输出层

# -*- coding:utf-8 -*-
#! python2
import numpy as np
#sigmoid function
def nonlin(x, deriv = False):
 if(deriv == True):
  return x*(1-x)
 return 1/(1+np.exp(-x))
#input dataset
x = np.array([[0,0,1],
    [0,1,1],
    [1,0,1],
    [1,1,1]])
#output dataset
y = np.array([[0,0,1,1]]).T
np.random.seed(1)
#init weight value
syn0 = 2*np.random.random((3,1))-1
print "三水点靠木测试结果:"
for iter in xrange(100000):
 l0 = x       #the first layer,and the input layer
 l1 = nonlin(np.dot(l0,syn0)) #the second layer,and the output layer
 l1_error = y-l1
 l1_delta = l1_error*nonlin(l1,True)
 syn0 += np.dot(l0.T, l1_delta)
print "outout after Training:"
print l1

这里,

l0:输入层
l1:输出层
syn0:初始权值
l1_error:误差
l1_delta:误差校正系数
func nonlin:sigmoid函数

这里迭代次数为100时,预测结果为

Python编程实现的简单神经网络算法示例

迭代次数为1000时,预测结果为:

Python编程实现的简单神经网络算法示例

迭代次数为10000,预测结果为:

Python编程实现的简单神经网络算法示例

迭代次数为100000,预测结果为:

Python编程实现的简单神经网络算法示例

可见迭代次数越多,预测结果越接近理想值,当时耗时也越长。

python实现三层神经网络

包括输入层、隐含层和输出层

# -*- coding:utf-8 -*-
#! python2
import numpy as np
def nonlin(x, deriv = False):
 if(deriv == True):
  return x*(1-x)
 else:
  return 1/(1+np.exp(-x))
#input dataset
X = np.array([[0,0,1],
    [0,1,1],
    [1,0,1],
    [1,1,1]])
#output dataset
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1 #the first-hidden layer weight value
syn1 = 2*np.random.random((4,1)) - 1 #the hidden-output layer weight value
print "三水点靠木测试结果:"
for j in range(60000):
 l0 = X      #the first layer,and the input layer
 l1 = nonlin(np.dot(l0,syn0)) #the second layer,and the hidden layer
 l2 = nonlin(np.dot(l1,syn1)) #the third layer,and the output layer
 l2_error = y-l2  #the hidden-output layer error
 if(j%10000) == 0:
  print "Error:"+str(np.mean(l2_error))
 l2_delta = l2_error*nonlin(l2,deriv = True)
 l1_error = l2_delta.dot(syn1.T)  #the first-hidden layer error
 l1_delta = l1_error*nonlin(l1,deriv = True)
 syn1 += l1.T.dot(l2_delta)
 syn0 += l0.T.dot(l1_delta)
print "outout after Training:"
print l2

运行结果:

Python编程实现的简单神经网络算法示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
Python中的Classes和Metaclasses详解
Apr 02 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
Python贪吃蛇游戏编写代码
Oct 26 Python
Python实现备份MySQL数据库的方法示例
Jan 11 Python
VSCode下好用的Python插件及配置
Apr 06 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
使用Python横向合并excel文件的实例
Dec 11 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
python如何调用字典的key
May 25 Python
python爬虫工具例举说明
Nov 30 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 #Python
Django rest framework基本介绍与代码示例
Jan 26 #Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 #Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 #Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
Jan 26 #Python
Python实现PS滤镜功能之波浪特效示例
Jan 26 #Python
Python使用pickle模块存储数据报错解决示例代码
Jan 26 #Python
You might like
在PHP中操作Excel实例代码
2010/04/29 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
Python 一句话生成字母表的方法
2019/01/02 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
幼儿园元旦亲子活动方案
2014/02/17 职场文书
艺术教育实施方案
2014/05/03 职场文书
建筑安全标语
2014/06/07 职场文书
影视后期实训报告
2014/11/05 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年库房工作总结
2014/11/26 职场文书
小学端午节活动总结
2015/02/11 职场文书
法律讲堂观后感
2015/06/11 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python