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开发之list操作实例分析
Feb 22 Python
Python实现获取照片拍摄日期并重命名的方法
Sep 30 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
在django模板中实现超链接配置
Aug 21 Python
Python文字截图识别OCR工具实例解析
Mar 05 Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 Python
python模块如何查看
Jun 16 Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 Python
python import 上级目录的导入
Nov 03 Python
python温度转换华氏温度实现代码
Dec 06 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
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
Python入门_条件控制(详解)
2017/05/16 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
思想品德课教学反思
2014/02/10 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
财务负责人任命书
2014/06/06 职场文书
联谊会开场白
2015/06/01 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL