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 07 Python
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
Python实现Const详解
Jan 27 Python
python爬虫爬取淘宝商品信息
Feb 23 Python
详解Python给照片换底色(蓝底换红底)
Mar 22 Python
python模块常用用法实例详解
Oct 17 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
python deque模块简单使用代码实例
Mar 12 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
python操作redis数据库的三种方法
Sep 10 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
python实现腾讯滑块验证码识别
Apr 27 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实现无限级分类实现代码(递归方法)
2011/01/01 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
汉米尔顿手表官网:Hamilton
2020/09/13 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
王老吉广告词
2014/03/20 职场文书
社会调查研究计划书
2014/05/01 职场文书
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android
JS实现九宫格拼图游戏
2022/06/28 Javascript