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 字符串操作实现代码(截取/替换/查找/分割)
Jun 08 Python
python调用cmd命令行制作刷博器
Jan 13 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
Python实现3行代码解简单的一元一次方程
Aug 18 Python
python实现一次创建多级目录的方法
May 15 Python
Python闭包之返回函数的函数用法示例
Jan 27 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
Python数据分析库pandas高级接口dt的使用详解
Dec 11 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中文本操作的类
2007/03/17 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
js验证账户名是否重复
2020/05/26 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
英国领先的游戏零售商:GAME
2019/09/24 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
《陈涉世家》教学反思
2014/04/12 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
2015年维修工作总结
2015/04/25 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang