首页 > 游戏 > 详细

上手机器学习的开源项目:从星际2深度学习环境到神经机器翻译

发布时间:2018-01-12 17:17:47
阅读:33     评论:0     收藏:0      [点我收藏+]

  本文主要编译于 Github 的文章「Getting started with machine learning

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

  MarI/O 

  源码地址:https://pastebin.com/ZZmSNaHX

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

  Richard-An/Wechat_AutoJump

  GitHub 地址:https://github.com/Richard-An/Wechat_AutoJump

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

  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 。

  更多的深度学习框架,可查看文章:

  迎来 PyTorch,告别 Theano,2017 深度学习框架发展大盘点

  输出:最终的结果

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

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

  • 分类:为数据集中的每一个项目生成一个输出值

  • 回归:给出数据,预测所考虑变量最可能的值

  • 聚类:将相似模式的数据聚集在一起

  以下是几个应用例子:

  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

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

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

  ujjwalkarn/Machine-Learning-Tutorials

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

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

  深度学习

  awesome-deep-learning

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

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

  fastai / courses

  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 的基础知识和有趣的应用。

  最后,雷锋网 AI 研习社再附上两个程序员佛系注释,愿佛祖保佑你们编程无 Bug。

  Guicai-Li/OneDay

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

  YondoL/Buddha

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

(0)
(0)
 
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号