python 神经网络包 NeuroLab
neurolab模块相当于Matlab的神经网络工具箱(NNT)
neurolab模块支持的网络类型:
- 单层感知机(single layer perceptron)
- 多层前馈感知机(Multilayer feed forward perceptron)
- 竞争层(Kohonen Layer)
- 学习向量量化(Learning Vector Quantization)
- Elman循环网络(Elman recurrent network)
- Hopfield循环网络(Hopfield recurrent network)
- 卷边循环网络(Hemming recurrent network)
这里以多层前馈网络为例:neurolab.net.newff(minmax, size, transf=None)
Parameters: |
|
---|
minmax:列表的列表,外层列表表示输入层的神经元个数,内层列表必须包含两个元素:max和min
size:列表的长度等于出去输入层的网络的层数,列表的元素对应于各层的神经元个数
transf:激活函数,默认为TanSig。
举例2:
- perceptron = nl.net.newp([[0, 2],[0, 2]], 1)
- 第一个参数列表的长度表示输出的节点的个数,列表中得每一个元素包含两个值:最大值和最小值。
- 第二个参数:The value “1” indicates that there is a single neuron in this network.
- error = perceptron.train(input_data, output, epochs=50, show=15, lr=0.01)
- epochs:表示迭代训练的次数,show:表示终端输出的频率,lr:表示学习率
举例3:
- import numpy as np
- import neurolab as nl
- input = np.random.uniform(0, 0.1, (1000, 225))
- output = input[:,:10] + input[:,10:20]
- # 2 layers with 225 inputs 50 neurons in hidden\input layer and 10 in output
- # for 3 layers use some thet: nl.net.newff([[0, .1]]*225, [50, 40, 10])
- net = nl.net.newff([[0, .1]]*225, [50, 10])
- net.trainf = nl.train.train_bfgs
- e = net.train(input, output, show=1, epochs=100, goal=0.0001)
举例4:
- import neurolab as nl
- import numpy as np
- # Create train samples
- x = np.linspace(-7, 7, 20)
- y = np.sin(x) * 0.5
- size = len(x)
- inp = x.reshape(size,1)
- tar = y.reshape(size,1)
- # Create network with 2 layers and random initialized
- net = nl.net.newff([[-7, 7]],[5, 1])
- # Train network
- error = net.train(inp, tar, epochs=500, show=100, goal=0.02)
- # Simulate network
- out = net.sim(inp)
- # Plot result
- import pylab as pl
- pl.subplot(211)
- pl.plot(error)
- pl.xlabel('Epoch number')
- pl.ylabel('error (default SSE)')
- x2 = np.linspace(-6.0,6.0,150)
- y2 = net.sim(x2.reshape(x2.size,1)).reshape(x2.size)
- print(len(y2))
- y3 = out.reshape(size)
- pl.subplot(212)
- pl.plot(x2, y2, '-',x , y, '.', x, y3, 'p')
- pl.legend(['train target', 'net output'])
- pl.show()
资料还有很多,以后继续补充
- 重点参考:官网
python 神经网络包 NeuroLab的更多相关文章
- 搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台
搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台 By 子敬叔叔 最近在学习麦好的<机器学习实践指南案例应用解析第二版>,在安装学习环境的时候 ...
- 【转】pybrain的使用——一个开源的python神经网络工具包
原文地址 http://lavimo.blog.163.com/blog/static/2149411532013911115316263/ 昨天的主要活动内容是找一个神经网络的包....= =这 ...
- LFD,非官方的Windows二进制文件的Python扩展包
LFD,非官方的Windows二进制文件的Python扩展包 LFD,非官方版本.32和64位.Windows.二进制文件.科学开源.Python扩展包 克里斯托夫·戈尔克(by Christoph ...
- python库包大全(转)
python 库资源大全 转自: Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python ...
- TensorFlow常用Python扩展包
TensorFlow常用Python扩展包 TensorFlow 能够实现大部分神经网络的功能.但是,这还是不够的.对于预处理任务.序列化甚至绘图任务,还需要更多的 Python 包. 下面列出了一些 ...
- 机器学习常用Python扩展包
在Ubuntu下安装Python模块通常有3种方法:1)使用apt-get:2)使用pip命令(推荐);3)easy_instal 可安装方法参考:[转]linux和windows下安装python集 ...
- Python的包管理工具Pip (zz )
Python的包管理工具Pip 接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_ins ...
- 简易安装python统计包
PythonCharm简易安装python统计包及 本文介绍使用pythonCharm IDE 来安装Python统计包或一些packages的简单过程,基本无任何技术难度,顺便提一提笔者在安装过程中 ...
- 安装python 的 包 paramiko
安装python 的 包 paramiko 安装 依赖 yum -y install gcc python-devel 获取安装 pycryptowget https://pypi.python.or ...
随机推荐
- CMakeList 编写规则 -1
CMAKE 常见指令 CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(XXX) SET(CMAKE_BUILD_TYPE Release) SET(CMAKE_ ...
- MVC加载部分视图Partial
加载部分视图的方法:Partial() .RenderPartial() . Action() .RenderAction() . RenderPage() partial 与 RenderParti ...
- 获取url路径中的参数
简介 运用js的时候,我们有时可能会有这样的需求,就是想要获取浏览器地址栏指定的一项参数,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413& ...
- 面向对象设计模式纵横谈:Factory Method 工厂方法模式(笔记记录)
从耦合关系谈起 耦合关系直接决定着软件面对变化时的行为 -模块与模块之间的紧耦合使得软件面对变化时,相关模块都要随之更改 -模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其 ...
- [SoapUI] 各种日期计算
import java.util.*; import java.text.SimpleDateFormat; // current date String dateNew = today() // t ...
- FTP 搭建
FTP 搭建 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,它工作在 0SI 模型的第七层,TCP 模型的第四屋上,即应用层. 一.FTP 简介 FTP 会话时包 ...
- /^\s+|\s+$/g 技术 内容
alert(" aa dd ".replace(/^\s+|\s+$/g,'')+"方式的"); //正则表达式解释:分成两部分,^\s+ 以空格开头,\s+$ ...
- 跳出思维定势,改变交谈习惯zz
一直以来我都是一个不折不扣的作者所划分的内向者,羞于在公众场合说话,也不愿意与陌生人交谈,甚至是与认识的人聊天,有时候也是一种痛苦,看着在办公室里夸夸其谈的同事们,我总是感觉格格不入.严格说来,我算是 ...
- Linux服务器部署系列之三—DNS篇
网上介绍DNS的知识很多,在这里我就不再讲述DNS原理及做名词解释了.本篇我们将以一个实例为例来讲述DNS的配置,实验环境如下: 域名:guoxuemin.cn, 子域:shenzhen.guoxue ...
- python读取文件,python读取的1变成\ufeff1
'\ufeff1' movies={} fm=open(self.path+'/movie.txt',encoding='utf-8') w2=open('./data/1.txt','a') for ...