python神经网络实例_Python编程实现的简单神经网络算法示例

本文实例讲述了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时,预测结果为

2018126111621597.jpg?2018026111637

迭代次数为1000时,预测结果为:

2018126111652128.jpg?201802611173

迭代次数为10000,预测结果为:

2018126111716809.jpg?2018026111726

迭代次数为100000,预测结果为:

2018126111740526.jpg?2018026111751

可见迭代次数越多,预测结果越接近理想值,当时耗时也越长。

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

运行结果:

2018126112220587.jpg?2018026112234

希望本文所述对大家Python程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。

问题描述: 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。 在实现向数据库中添加记录时,请求发送无效,参数也未传递到控…

怎么通过id渲染页面_完全理解Vue的渲染watcher、computed和user watcher

作者:Naicehttps://segmentfault.com/a/1190000023196603这篇文章将带大家全面理解vue的watcher、computed和user watcher,其实computed和user watcher都是基于Watcher来实现的,我们通过一个一个功能点去敲代码,让大家全面理解其中…

VS2015启动调试程序变慢

问题描述## 标题 vs2015编译速度很快,运行时不停显示加载xxx.dll动态库,加载很慢 解决方案## 标题 打开vs2015,依次点击工具-》选项-》调试-》符号,点击勾选去掉Microsoft符号服务器,清空符号缓存完毕 转载自VS2015启动调试程序变…

根可达算法的根_我的JVM(六):GC的基础概念以及GC算法

一、概述垃圾收集Garbage Collection通常被称为GC,但是GC一般也指Garbage Collecting(垃圾回收这个动作)或Garbage Collector(垃圾回收器),这些都是是JVM知识体系中非常重要的知识,也是程序员必须要掌握的技能,本文将详细讲述Java…

docker 删除包含关键字的镜像_30分钟带你轻松掌握Docker原理

前言Docker是什么?Docker是Go语言开发实现的容器。2013年发布至今,备受推崇。相关文档、学习资料十分详尽。近期有docker相关项目,得重新学习一下。博客以笔记为什么要使用 Docker?Docker 容器的启动在秒级Docker 对系统资源利用率…

pads中如何设置等长_如何在SQL Server中设置扩展,监控系统性能

dbForge Studio for SQL Server为有效的探索、分析SQL Server数据库中的大型数据集提供全面的解决方案,并设计各种报表以帮助作出合理的决策。dbForge Studio for SQL Server​www.evget.com扩展事件是一种有用且方便的解决方案,旨在监视您的系统性能。它…

iar stm32_STM32延时函数的四种方法

关注、星标公众号,不错过精彩内容单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us()和毫秒级delay_ms()。本文基于STM32F207介绍4种不同方式实现的延时函数。普通延时这种延时方式应该是大家在51单片机时候,接触最早的延…

使用pm2启动node文件_PM2 是什么

目录 pm2是什么特点示例说明配置文件常用命令背景 由于需要在容器云新增一个测试环境,改了代码相关的配置后,进行部署。发现服务一直启动不了。在和运维一起排查问题,他看到pm2的一些信息, 问我pm2是不是阻塞了,并不是…

CP/M世界上第一个微机操作系统

CP/M世界上第一个微机操作系统 微软宣布2014年4月8日将不再对Windows XP系统进行更新,宣告这个存活了13年的史上寿命最长的微机操作系统基本上寿终正寝。很多人都知道这是个脱胎于DOS的系统,也潜意识中认为DOS是微机操作系统的鼻祖。不过,这大…

安卓 usb音量调节_戴尔推出面向Teams和Zoom视频通话的USB-C免提适配器

COVID-19 大流行期间,许多企业将会议安排在了线上举办。为方便通过 Microsoft Teams 和 Zoom 之类云视讯平台进行沟通的笔记本电脑用户,戴尔特地推出了新款 USB-C 音频适配器。作为一款两用配件,MH3021P 不仅可以作为有线通话的免提适配器(集…

word表格美化技巧:如何统一改变表格的样式

在Word中插入的表格默认都是黑边白底,看上去非常的单调。比如这样: 很多小伙伴都是在新建表格并且填完数据之后,应用表格样式,来提升档次,如下: 但是,每次新建表格后再选择应用【表格样式】&…

banner信息是什么_我的设计成长笔记—第10篇(banner)

Banner2019年5月9日这里是我的设计成长笔记—————————————————Banner为什么单独拿出来聊因为我有差不多一年的时间都在做这个在我的成长过程中,banner是过渡从平面/美工到UI设计的一个过程。在这个过程中,我对设计的理解分成了三个部分第…

后台原理_电气控制原理动图22张,超赞!

今天从低压电器、电动机及控制线路、传感器及控制原理三部分来分享22张超赞的原理动图。低压电器部分1按钮开关2闸刀开关3行程开关4交流接触器5热继电器6时间继电器7速度继电器电动机及控制线路1异步电动机2直流电动机3步进电动机4永磁电机5正反转控制6自动往返控制7顺序控制8多…

[word技巧]把标题、图表题注编号由“一.1”改为“1.1“

一、问题描述 写作中文报告时,有时会要求一级标题用类似”第一章”的中文编号,二级标题用1.1这类编号,图表题注用“表1.1”的编号。此时,由于一级标题用的是中文数字(如“一”)作为序号,因此wor…

excel中怎样用公式获取表单控件_挑战高手:用不到 100 行代码,在前端实现 Excel 全部功能...

(点击图片获取专属你的开发工具)SpreadJS是一款基于 HTML5 的纯前端表格控件,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性广受世界各地名企追捧。接下来让我们看看其具有哪些独特优势吧!四大优势&…

vissim免修改时间工具_App闪退怎么办?免越狱如何安装未签名的App?

由于最近苹果大规模的封签名,导致在第三方渠道下载的软件都出现闪退没法使用的现象。目前的替代方法就是使用电脑端 Cydia Impactor 来给 App 进行自签,虽然相对比较麻烦,但这也是目前针对企业签名无法使用的唯一解决方法。下面以安装 FilzaE…

word表格美化技巧:如何统一改变表格的样式2+续表制作

一、表格样式 开始-样式-新建样式-样式类型:表格。 单独设置标题行,汇总行等格式即可。表格样式会显示在-设计-样式-表格样式中。 问题:汇总行无效。 即可。 二、续表 直接复制表格及题注到下一页,然后下下面表格的题注修改为…

excel条件格式详解

1、基于公式返回的逻辑值去判断,True则执行条件格式,FALSE不执行。 2、基于区域第一个单元格的公式,依次根据单元格引用方式判断区域内公式是否成立。 函数: 使用条件格式: 函数: 条件格式: 函…

ccf a类会议_CCF推荐 | 人工智能领域顶级会议:截稿日期批量速递

以下为已公布截稿日期的CCF推荐,人工智能领域会议,按照时间排序。个别会议因为没有公布截稿信息而不在所列时间线内。录取率信息为网络上可获得的最近年份数据,不一定是上一年的,文中尽量选择同时带有投稿量的数据年份供大家参考.…