机器/深度学习Pylearn2、PyMC、Data Selfie、Gym StarCraft介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:Pylearn2(基于Theano的机器学习库)、PyMC(马尔科夫链蒙特卡洛采样工具)、Data Selfie(查看并分析自己的 Facebook 动态)、Gym StarCraft(阿里强化学习研究平台)。

1、Pylearn2(基于Theano的机器学习库)

Pylearn2是一个基于Theano的机器学习库,它的大部分功能是基于Theano顶层实现的。这意味着用户可以用数学表达式去编写Pylearn2插件(新模型、算法等),Theano不仅会帮助用户优化这些表达式,并且将这些表达式编译到CPU或者GPU中。

功能特性:

研究人员可以添加他们所需要的功能。我们避免提前设置过多自上而下的计划,这样容易导致用户难以使用。

一个实现高效科学实验的机器学习工具箱。

LISA实验室发布的所有模型/算法都应该在Pylearn2中具有引用说明。

Pylearn2可能会引用其他库,如scikit-learn。

Pylearn2与scikit-learn的不同之处在于Pylearn2旨在提供极大的灵活性,使得研究人员可以自行实现任何事情。而scikit-learn旨在作为一个“黑箱”,即使用户对算法底层实现没有了解也可以输出实验结果。

包括了矢量、图像、视频等数据集接口。

一个针对普通MLP/RBM/SDA/卷积实验所有需要内容的小型框架。

易于重复使用Pylearn2的子组件。

使用Pylearn2库的一个子组件不会强制用户使用/学习使用所有其他子组件,用户可以自行选择。

支持跨平台序列化学习模型。

十分简单易用(蒙特利尔大学的IFT6266)。

下载地址:https://github.com/lisa-lab/pylearn2

2、PyMC(马尔科夫链蒙特卡洛采样工具)

PyMC是一个实现贝叶斯统计模型和马尔科夫链蒙塔卡洛采样工具拟合算法的Python库。PyMC的灵活性及可扩展性使得它能够适用于解决各种问题。除了包含核心采样功能,PyMC还包含了统计输出、绘图、拟合优度检验和收敛性诊断等方法。

特性:

PyMC使得贝叶斯分析尽可能更加容易。以下是一些PyMC库的特性:

用马尔科夫链蒙特卡洛算法和其他算法来拟合贝叶斯统计分析模型。

包含了大范围的常用统计分布。

尽可能地使用了NumPy的一些功能。

包括一个高斯建模过程的模块。

采样循环可以被暂停和手动调整,或者保存和重新启动。

创建包括表格和图表的摘要说明。

算法跟踪记录可以保存为纯文本,pickles,SQLite或MySQL数据库文档或HDF5文档。

提供了一些收敛性诊断方法。

可扩展性:引入自定义的步骤方法和非常规的概率分布。

MCMC循环可以嵌入在较大的程序中,结果可以使用Python进行分析。

安装:

PyMC可以运行在Mac OS X、Linux和Windows系统中。安装一些其他预装库可以更大程度地提高PyMC的性能和功能。

预装库:

PyMC的运行要求一些预装库的安装及配置:

Python2.6及以上版本、NumPy(1.6版本及以上)、Matplotlib(1.0版本及以上)、SciPy(可选)、pyTables(可选)、pydot(可选)、IPython(可选)、nose(可选)。

使用方法:

1].模型定义:

# Import relevant modules

import pymc

import numpy as np

# Some data

n = 5*np.ones(4,dtype=int)

x = np.array([-.86,-.3,-.05,.73])

# Priors on unknown parameters

alpha = pymc.Normal('alpha',mu=0,tau=.01)

beta = pymc.Normal('beta',mu=0,tau=.01)

# Arbitrary deterministic function of parameters

@pymc.deterministic

def theta(a=alpha, b=beta):

"""theta = logit^{-1}(a+b)"""

return pymc.invlogit(a+b*x)

# Binomial likelihood for data

d = pymc.Binomial('d', n=n, p=theta, value=np.array([0.,1.,3.,5.]),\

 observed=True)

2]、调用模型:

import pymc

import mymodel

S = pymc.MCMC(mymodel, db='pickle')

S.sample(iter=10000, burn=5000, thin=2)

pymc.Matplot.plot(S)

以上代码运行会产生10000个后验样本。这个样本会存储在Python序列化数据库中。

下载地址:https://github.com/pymc-devs/pymc

3、Data Selfie(查看并分析自己的 Facebook 动态)

机器/深度学习Pylearn2、PyMC、Data Selfie、Gym StarCraft介绍

Data X 开发了一个 Chrome 扩展程序,名为 Data Selfie,用户可以看到在算法计算后,用户在 Facebook 的活动,包括与朋友的对话、所有点赞、浏览过的专页中,得出一些什么结论。在 Data X 的示范中,算法会预测用户的购买习惯,宗教,政治喜好,甚至大概的性格。

Data Selfie 收集用户的所有 Facebook 动态后,利用 IBM Wastson 及剑桥大学的自然语言处理和机器学习算法来把用户的数据演变成预测或有用的观点。

DATA X 表示 Data Selfie 是希望用来提醒大众关于互联网应用更大透明度,因此他们已经代码开放,放到 GitHub 上给有兴趣的开发人员作进一步的研究。

DATA X 亦表示不会收集用户的数据,因此用户的数据只会保留在用户的电脑上,不会储存在任何的外部服务器。

有些人说算法将来会完全了解一个人,亦变相让背后的公司取得自己更多的资料,对于一些人而言,这是危险的,但对于一些人而言,这是为生活更方便而必须冒的险。

下载地址:https://gitee.com/mirrors/data-selfie

4、Gym StarCraft(阿里强化学习研究平台)

Gym StarCraft 是阿里开源的一套专业易用的研究平台,AI 和强化学习研究者可以非常方便地使用 Python 语言来进行深度强化学习智能 Agent 的开发,它底层完成了对 TorchCraft 和 OpenAI Gym 的封装,支持基于 TensorFlow 和 Keras 等主流算法框架进行开发,仅需几十行代码即可完成一个基本的智能 Agent 的开发。

同时,便于评测智能 Agent 的有效性,Gym StarCraft 被集成在了 OpenAI Gym 这一主流的强化学习 AI评 测平台中,支持世界各地的星际 AI 研究者基于它去进行公平、快捷的效果评估,提供了一个人工智能的开放协作研究平台。

安装:

1]、安装OpenAI Gym及其依赖项。

2]、安装TorchCraft及其依赖项。

3]、安装torchcraft-py及其依赖项。

4]、安装软件包本身:

git clone https://github.com/deepcraft/gym-starcraft.git

cd gym-starcraft

pip install -e .

用法:

1]、使用 Chaoslauncher BWAPI 启动 StarCraft 服务器。

2]、运行:

cd examples

python random_agent.py --ip $server_ip --port $server_port

$server_ip 和 $server_port 是运行 StarCraft 的服务器的 ip 和端口。

下载地址:https://github.com/alibaba/gym-starcraft

注明

以上就是机器/深度学习Pylearn2、PyMC、Data Selfie、Gym StarCraft的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章