专栏首页AI研习社从星际2深度学习环境到神经机器翻译,上手机器学习这些开源项目必不可少

从星际2深度学习环境到神经机器翻译,上手机器学习这些开源项目必不可少

本文主要编译于 Github 文章「Getting started with machine learning」(原文链接:https://github.com/collections/machine-learning)。同时, AI 研习社在原文的基础上补充了部分开源项目,为 AI 开发者提供更加详细的 AI 项目和资源。

机器学习是用数据来学习、概括、预测的研究。近几年,随着数据的开发、算法的改进以及硬件计算能力的提升,机器学习技术得以快速发展,不断延伸至新的领域。从模式识别到电子游戏,开发者们通过训练 AI 算法实现了各种各样好玩的应用:

Richard-An / Wechat_AutoJump

GitHub 地址:

https://github.com/Richard-An/Wechat_AutoJump

AI 玩微信跳一跳的正确姿势。

SethBling / MarI/O

源码地址:

https://pastebin.com/ZZmSNaHX

一段用神经网络和遗传算法写的程序,可以玩「超级马里奥世界」。

lllyasviel / style2paints

GitHub 地址:

https://github.com/lllyasviel/style2paints

AI 漫画线稿自动上色工具。

tensorflow / magenta

GitHub 地址:

https://github.com/tensorflow/magenta

机器智能音乐与艺术生成器。

jbhuang0604 / awesome-computer-vision

GitHub 地址:

https://github.com/jbhuang0604/awesome-computer-vision

很不错的计算机视觉资源。

虽然研究者们在机器学习领域取得了让人兴奋的成果,不过我们仍然处于机器学习发展的早期阶段。

对于刚接触机器学习的开发者来讲,想要理解什么是机器学习,首先要搞懂三个部分:输入、算法、输出。

输入:驱动机器学习的数据

输入指的是算法和训练模型需要的数据集,从源代码到统计数据,数据集可以包括任何东西:

GSA/data

GitHub 地址:

https://github.com/GSA/data

来自美国总务管理局的分类数据。

GoogleTrends / data

GitHub 地址:

https://github.com/GoogleTrends/data

Google 开源数据的索引

nationalparkservice / data

GitHub 地址:

https://github.com/nationalparkservice/data

一个非官方的美国国家公园数据库。

fivethirtyeight / data

GitHub 地址:

https://github.com/fivethirtyeight/data

新闻网站 FiveThirtyEight 上的一些代码和数据。

zalandoresearch / fashion-mnist

GitHub 地址:

https://github.com/zalandoresearch/fashion-mnist

一个类似 MINIST 的时尚产品数据库。

beamandrew / medical-data

GitHub 地址:

https://github.com/beamandrew/medical-data

机器学习医疗数据清单。

src-d / awesome-machine-learning-on-source-code

GitHub 地址:

https://github.com/src-d/awesome-machine-learning-on-source-code

与机器学习相关的链接和论文的代码。

PAIR-code/facets

GitHub 地址:

https://github.com/PAIR-code/facets

机器学习数据集可视化工具。

由于我们需要这些数据来训练机器学习算法,所以获取高质量的数据集是如今机器学习领域的最大挑战之一。

算法:如何处理和分析数据

机器学习算法可利用数据执行特定的任务,最常见的机器学习算法有如下几种:

1.监督学习。

监督学习使用以及标注过的和结构化的数据,通过制定一组输入数据集合所需的输出,机器可以学习如何识别目标并且映射到其他的学习任务上。

例如,在决策树的学习中,数值可通过应用一组输入数据的决策规则来预估:

igrigorik / decisiontree

GitHub 地址:

https://github.com/igrigorik/decisiontree

基于 ID3 的机器学习决策树算法的实现。

2.无监督学习

无监督学习是使用非结构化数据来发现模式和结构的过程。监督学习可能会使用电子表格作为数据的输入,而无监督学习可能会用来理解一本书或者一篇文章。

例如,无监督学习是自然语言处理中非常流行的方法:

keon / awesome-nlp

GitHub 地址:

https://github.com/keon/awesome-nlp

专门用于自然语言处理(NLP)的资源清单列表。

3.增强学习

增强学习可要求算法实现一个特定的目标,它通过奖惩的方式使 Agent 行为性能达到最大。

例如,增强学习可以用于开发自动驾驶汽车或者教会一个机器人如何生产物件。

openai / gym

GitHub 地址:

https://github.com/openai/gym

一个用于开发和比较增强学习算法的工具包。

aikorea / awesome-rl

GitHub 地址:

https://github.com/aikorea/awesome-rl

专门用于强化学习的资源清单。

一些可以用于练习的项目:

umutisik / Eigentechno

GitHub 地址:

https://github.com/umutisik/Eigentechno

音乐循环的主成分分析

jpmckinney / tf-idf-similarity

GitHub 地址:

https://github.com/jpmckinney/tf-idf-similarity

在 Ruby gem 上用 tf * idf 来计算文本之间的相似度。

scikit-learn-contrib / lightning

GitHub 地址:

https://github.com/scikit-learn-contrib/lightning

Python 的大规模线性分类、回归和排名。

gwding / draw_convnet

GitHub 地址:

https://github.com/gwding/draw_convnet

用于说明卷积神经网络(ConvNet)的 Python 脚本。

一些库和工具:

scikit-learn / scikit-learn

GitHub 地址:

https://github.com/scikit-learn/scikit-learn

用 Python 实现机器学习。

tensorflow / tensorflow

GitHub 地址:

https://github.com/tensorflow/tensorflow

一个采用数据流图(data flow graphs),用于数值计算的开源软件库

Theano / Theano

GitHub 地址:

https://github.com/Theano/Theano

可以高效定义、优化、评估涉及多维数组数学表达式的 Python 库。

shogun-toolbox/shogun

GitHub 地址:

https://github.com/shogun-toolbox/shogun

高效的开源机器学习工具。

davisking / dlib

GitHub 地址:

https://github.com/davisking/dlib

用 C++ 编写的机器学习与数据分析应用工具包。

apache / predictionio

GitHub 地址:

https://github.com/apache/predictionio

面向开发者和机器学习工程师的机器学习服务器,基于Apache Spark,HBase 和 Spray 。

输出:最终的结果

机器学习的输出结果可以是一种识别颜色的模式,也可以是简单的网页色调分析,或者是某个置信区间里的预估值。总之,输出的结果可以是任何事情。

获取输出结果的方式有以下几种:

  • 分类:为数据集中的每一个项目生成一个输出值
  • 回归:给出数据,预测所考虑变量最可能的值
  • 聚类:将相似模式的数据聚集在一起

以下是几个应用例子:

deepmind / pysc2

GitHub 地址:

https://github.com/deepmind/pysc2

DeepMind 用增强学习玩星际争霸2。

gokceneraslan / awesome-deepbio

GitHub 地址:

https://github.com/gokceneraslan/awesome-deepbio

一个用于生物计算领域的深度学习应用程序清单。

buriburisuri / ByteNet

GitHub 地址:

https://github.com/buriburisuri/ByteNet

用 DeepMind ByteNet 实现的,基于 Tensorflow 的法语转英语翻译器。

OpenNMT/OpenNMT

GitHub 地址:

https://github.com/OpenNMT/OpenNMT

Torch 上的开源神经机器翻译。

准备好开始上手机器学习了吗?

好好利用开源项目来掌握机器学习,你也可以像下面的开发者那样贡献出你的资源:

机器学习:

josephmisiti / awesome-machine-learning

GitHub 地址:

https://github.com/josephmisiti/awesome-machine-learning

一些机器学习框架、库和软件的清单。

ujjwalkarn/Machine-Learning-Tutorials

GitHub 地址:

https://github.com/ujjwalkarn/Machine-Learning-Tutorials

机器学习和深度学习的教程、文章以及其他的一些资源。

深度学习

awesome-deep-learning

GitHub 地址:

https://github.com/ChristosChristofidis/awesome-deep-learning

一些不错的深度学习教程、项目和社区。

fastai / courses

GitHub 地址:

https://github.com/fastai/courses

fast.ai 课程。

Tensorflow:

jtoy / awesome-tensorflow

GitHub 地址:

https://github.com/jtoy/awesome-tensorflow

TensorFlow 资源清单 http://tensorflow.org。

nlintz / TensorFlow-Tutorials

GitHub 地址:

https://github.com/nlintz/TensorFlow-Tutorials

TensorFlow 的简单教程。

pkmital / tensorflow_tutorials

GitHub 地址:

https://github.com/pkmital/tensorflow_tutorials

一些 TensorFlow 的基础知识和有趣的应用。

最后再附上两个程序员佛系注释,愿佛祖保佑你们编程无 Bug。

Guicai-Li/OneDay

GitHub 地址:

https://github.com/Guicai-Li/OneDay

YondoL/Buddha

GitHub 地址:

https://github.com/YondoL/Buddha/blob/master/index.html

本文分享自微信公众号 - AI研习社(okweiwu)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ACL2016最佳论文:CNN/日常邮件阅读理解任务的彻底检查

    摘要 NLP尚未解决的核心目标是,确保电脑理解文件回答理解问题。而通过机器学习系统,解决该问题的一大阻碍是:人类-注释数据的可用性有限。Hermann等人通过生...

    AI科技评论
  • CCF-GAIR现场 | 南京大学LAMDA所长周志华:机器学习的现状与未来

    周志华,南京大学教授,计算机科学与技术系副主任,软件新技术国家重点实验室常务副主任,机器学习与数据挖掘研究所(LAMDA)所长;ACM杰出科学家,IEEE Fe...

    AI科技评论
  • Deepmind大神David Silver带你认识强化学习

    引言:强化学习(Reinforcement learning)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。 ? David Silv...

    AI科技评论
  • 独家揭秘| 数据挖掘、机器学习和深度学习之间的区别

    导读:机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自...

    AI科技评论
  • 深度 | 传说中的贝叶斯统计到底有什么来头?

    贝叶斯统计在机器学习中占有一个什么样的地位,它的原理以及实现过程又是如何的?本文对相关概念以及原理进行了介绍。 引言:在很多分析学者看来,贝叶斯统计仍然是难以理...

    AI科技评论
  • 雅虎发布大量有助于研究机器学习的数据

    2016年1月14日,计算机世界网发布消息,称雅虎发布了大量数据,用来帮助科研人员开展机器学习的研究工作。 雅虎发布的针对机器学习科学家的数据集成为了新的“有史...

    人工智能快报
  • 这10个小工具 将引爆机器学习DIY潮流

    机器学习十大不可忽视项目 前言:那些流行的机器学习项目之所以受欢迎,一般是因为其提供了一种多数人需要的服务,或是因为它们是第一个(也许是最好的)针对特定用户提供...

    AI科技评论
  • KDD2016论文亮点解析(一)

    导读:KDD2016是首屈一指的跨学科会议,它聚集了数据科学,数据挖掘,知识发现,大规模数据分析和大数据方面的研究人员和从业人员。 论文一题目:稳定流体近似的卷...

    AI科技评论
  • 鲜为人知的暗网,利用机器学习现在也能对其进行监控了

    导读:美剧《纸牌屋》中提到——96%的互联网数据无法通过标准搜索引擎访问,其中大部分属于无用信息,但隐藏在表层之下的有许许多多你无法想象的内容,包括:儿童贩卖、...

    AI科技评论
  • 深度学习——你需要了解的八大开源框架

    导读:深度学习(Deep Learning)是机器学习中一种基于对数据进行表征学习的方法,深度学习的好处是用非监督式或半监督式的特征学习、分层特征提取高效算法来...

    AI科技评论

扫码关注云+社区

领取腾讯云代金券