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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
python判断图片宽度和高度后删除图片的方法
May 22 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
Python实现的拉格朗日插值法示例
Jan 08 Python
Python List cmp()知识点总结
Feb 18 Python
Python 串口读写的实现方法
Jun 12 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
python解包用法详解
Feb 17 Python
Python 文字识别
May 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 正则 过滤html 的超链接
2009/06/02 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
2011/03/25 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
医学院学生求职简历的自我评价
2013/10/24 职场文书
给学校建议书范文
2014/05/13 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
试用期辞职信范文
2015/03/02 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
CSS的class与id常用的命名规则
2021/05/18 HTML / CSS
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle
Redis高可用集群redis-cluster详解
2022/03/20 Redis