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函数参数*args**kwargs用法实例
Dec 04 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
python3 发送任意文件邮件的实例
Jan 23 Python
python爬虫基本知识
Mar 05 Python
Python实现Dijkstra算法
Oct 17 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
python 修改本地网络配置的方法
Aug 14 Python
解决python 文本过滤和清理问题
Aug 28 Python
Pyqt5自适应布局实例
Dec 13 Python
解决python 读取 log日志的编码问题
Dec 24 Python
python机器学习库xgboost的使用
Jan 20 Python
Python 生成短8位唯一id实战教程
Jan 13 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实现百度人脸识别
2019/05/06 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
对python中的高效迭代器函数详解
2018/10/18 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
2014全国两会学习心得体会2000字
2014/03/10 职场文书
新店开张宣传语
2015/07/13 职场文书
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis