PyBrain:基于Python的机器学习库

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-09-19-%e4%b8%8b%e5%8d%885-57-44

简介

PyBrain的概念是将一系列的数据处理的算法封装到被称之为Module的模块中。一个最小的Module通常包含基于机器学习算法的可调整的参数集合。Modules包含一个输入和输出的buffer,外加误差buffer用于存在误差反向传播的场景。

Modules被嵌入到Network类中,并且使用Connection对象进行连接,其中可能包含一系列可调整的参数,比如连接的权重。而Network类本身又是一个Module,因此可以基于此构建多层网络结构。库中有快捷的方式构造最常用网络结构,但原则上这个系统允许嵌入最随机的连接方式来形成一个无循环图。

网络中的参数通过Trainer进行调节,它从Dataset中学习到最优化的参数。还有的增强方式的实验是通过相关的最优化的目标构造模拟环境进行参数学习。

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-09-19-%e4%b8%8b%e5%8d%885-55-40

安装

快速安装:保证SciPy已经安装好,下载完源码后执行:

更多安装方法,参见http://wiki.github.com/pybrain/pybrain/installation

教程

  • 创建网络快捷方式

网络包含两个神经元的输入层、3个神经元的隐层和1个神经元的输出层。在PyBrain中,这些层就是Module,而且它们已经被FullConnection(全连接)对象连接在一起了。

  • 激活网络

网络中已经有了一些初始随机设定的参数值,给定一个输入就可以得到相应的输出。

  • 查看结构

通过查看结构可以更清楚的看到网络中的每一部分,当使用buildNetwork快捷方式构建网络时,各部分结构被自动分配了。

  • 更复杂的网络机构

上面的例子隐层是使用sigmoid函数作为默认函数:但很多情况下,我们需要更改,因此提供了不同类型的层:

输出层也一样

也可以告诉网络加入偏差

开发资源

开发文档位于docs/documentation.pdf或者docs/html/*下,包含快速开始、教程、API等等。

如果安装了matplotlib,位于examples/*目录下有不错的示例。

进行PyBrain开发和贡献,到http://wiki.github.com/pybrain/pybrain/guidelines,更多到pybrain Google Group

开源地址:https://github.com/pybrain/pybrain

1 7 收藏

资源整理者简介:beyondwu

简介还没来得及写 :) 个人主页 · 贡献了14个资源 · 1


直接登录
最新评论

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer