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 相关文章推荐
python实现简单温度转换的方法
Mar 13 Python
Python从零开始创建区块链
Mar 06 Python
简单实现python数独游戏
Mar 30 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
python读取各种文件数据方法解析
Dec 29 Python
Python3.5集合及其常见运算实例详解
May 01 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
python库matplotlib绘制坐标图
Oct 18 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
python入门之算法学习
Apr 22 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 Python
python计算列表元素与乘积详情
Aug 05 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的知识
2006/11/17 PHP
PHP图片上传代码
2013/11/04 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
北大自主招生自荐信
2013/10/19 职场文书
中医专业职业生涯规划书范文
2014/01/04 职场文书
教师节横幅标语
2014/10/08 职场文书
2015年度物流工作总结
2015/04/30 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
2016党校培训心得体会
2016/01/07 职场文书
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android