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 返回汉字的汉语拼音
Feb 27 Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 Python
Python中异常重试的解决方案详解
May 05 Python
Django中间件实现拦截器的方法
Jun 01 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
Python反爬虫技术之防止IP地址被封杀的讲解
Jan 09 Python
python global关键字的用法详解
Sep 05 Python
FFT快速傅里叶变换的python实现过程解析
Oct 21 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 Python
Python编写冷笑话生成器
Apr 20 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将XML转数组过程详解
2013/11/13 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
python3 实现口罩抽签的功能
2020/03/11 Python
利用python在excel中画图的实现方法
2020/03/17 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
体育教师自荐信范文
2013/12/16 职场文书
运输服务质量承诺书
2014/03/27 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
文体活动总结
2015/02/04 职场文书
小学生家长意见
2015/06/03 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
辞职申请书范本
2019/05/20 职场文书