机器学习三个部分:输入、算法、输出 资料收集

机器学习三个部分:输入、算法、输出。

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

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

  • GSA / data(美国总务管理局数据):https://github.com/GSA/data

  • GoogleTrends / data(所有开源数据的索引):https://github.com/GoogleTrends/data

  • nationalparkservice / data(美国国家公园管理局非官方数据存储):https://github.com/nationalparkservice/data

  • fivethirtyeight / data(FiveThirtyEight上故事与互动背后的数据和代码):https://github.com/fivethirtyeight/data

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

  • src-d / awesome-machine-learning-on-source-code(机器学习相关有趣的链接和研究论文应用于源代码):https://github.com/src-d/awesome-machine-learning-on-source-code

我们需要这些输入来训练机器学习算法,因此发现和生成高质量的数据集是当今机器学习面临的最大挑战之一

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

算法能将数据转化为观点。

机器学习算法使用数据来执行特定任务。 最常见的算法类型有:

1.监督学习使用已经标注和结构化的训练数据。通过指定一组输入和所需的输出,机器将学习如何成功识别并将其映射。

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

  • igrigorik / decisiontree(基于ID3的机器学习决策树算法的实现):https://github.com/igrigorik/decisiontree

2.无监督学习是使用非结构化数据来发现模式和结构的过程。监督学习可能使用excel表格作为其数据输入,而无监督学习可能用来理解书籍或博客。

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

  • keon / awesome-nlp(NLP的专用资源列表):https://github.com/keon/awesome-nlp

    1. 强化学习用算法来实现目标。算法朝着目标执行任务,通过奖励和惩罚使之学习正确的方法。

例如,强化学习可能用于开发自动驾驶汽车或教机器人如何制造一件物品。

  • openai / gym(一种用于开发和比较强化学习算法的工具包):https://github.com/openai/gym

  • aikorea / awesome-rl(强化学习资源):https://github.com/aikorea/awesome-rl

以下是实践中的几个算法实例:

  • umutisik / Eigentechno(音乐循环主成分分析):https://github.com/umutisik/Eigentechno

  • jpmckinney / tf-idf-similarity(使用tf*idf(词频和逆向文件频率)来计算文本之间相似度):https://github.com/jpmckinney/tf-idf-similarity

  • scikit-learn-contrib / lightning(Python中的规模线性分类、回归和排序):https://github.com/scikit-learn-contrib/lightning

  • gwding / draw_convnet:https://github.com/gwding/draw_convnet

一些用于执行这些分析的库和工具包括:

  • scikit-learn / scikit-learn(Python中的机器学习):https://github.com/scikit-learn/scikit-learn

  • tensorflow / tensorflow(使用可扩展机器学习的数据流图进行计算):https://github.com/tensorflow/tensorflow

  • Theano / Theano(Theano是一个Python库,可让你高效定义、优化、评估涉及多维数组的数学表达式。它可以使用GPU并执行高效的符号):https://github.com/Theano/Theano

  • shogun-toolbox / shogun(将军机器学习工具箱(源代码)):https://github.com/shogun-toolbox/shogun

  • davisking / dlib(用于在C ++中进行真实世界机器学习和数据分析应用的工具包):https://github.com/davisking/dlib

  • apache / incubator-predictionio(PredictionIO是开发人员和机器学习工程师的机器学习服务器,基于Apache Spark,HBase和Spray):https://github.com/apache/incubator-predictionio


你可以直接在浏览器中体验神经网络:https://github.com/collections/machine-learning

虽然深度学习已经存在了数十年,但由于2005年左右图形处理单元(GPU)的创新,神经网络才成为可能。GPU最初是为了在3D游戏环境中渲染像素而开发的,但已经在训练神经网络算法中发现GPU的一个新作用。

输出

输出是最终结果。输出可能是识别红色符号的模式,可能是判断网页论调正面或负面的情感分析,或者是有置信区间的一个预测分数。

在机器学习中,输出可以是任何事物。产生输出的几种方法包括:

  • 分类:为数据集中的每一项生成输出值
  • 回归:通过已有数据来预测所考虑变量的最可能值
  • 聚类:将数据分组成相似模式

以下是机器学习的一些实际例子:

  • deepmind / pysc2(星际争霸II学习环境):https://github.com/deepmind/pysc2

计算生物学家利用深度学习来理解 DNA:

  • gokceneraslan / awesome-deepbio(计算生物学领域深度学习应用清单):https://github.com/gokceneraslan/awesome-deepbio

使用Tensorflow进行法语到英语翻译:

  • buriburisuri / ByteNet(使用DeepMind的ByteNet进行法语到英语机器翻译):https://github.com/buriburisuri/ByteNet

GitHub 上网友整理的机器学习资源供你选择,你也可以将自己的资源添加到这些列表中。

机器学习:

  • josephmisiti / awesome-machine-learning(机器学习框架、库和软件列表):https://github.com/josephmisiti/awesome-machine-learning

  • ujjwalkarn / Machine-Learning-Tutorials(机器学习和深度学习教程、文章等资源):https://github.com/ujjwalkarn/Machine-Learning-Tutorials

深度学习:

  • ChristosChristofidis / awesome-deep-learning(深度学习教程、项目和社区列表):https://github.com/ChristosChristofidis/awesome-deep-learning

  • fastai / courses(fast.ai课程):https://github.com/fastai/courses

Tensorflow:

  • jtoy / awesome-tensorflow(http://tensorflow.org专用资源):https://github.com/jtoy/awesome-tensorflow

  • nlintz / TensorFlow-Tutorials(使用Google TensorFlow框架的简单教程):https://github.com/nlintz/TensorFlow-Tutorials

  • pkmital / tensorflow_tutorials(从基础到更有趣的Tensorflow应用):https://github.com/pkmital/tensorflow_tutorials


  • 书籍


深度学习技术发展迅速,各种平台框架也迭代很快,推荐相关的书籍其实不太好推荐。在这里我只推荐两本书:


第一本是《白话深度学习与 TensorFlow》,这本书写的非常通俗易懂,没有太多理论知识介绍,基本是深度学习的基础知识和 TensorFlow 的相关例程,适合没有深度学习基础,想入门深度学习的人看。


第二本是美国 Ian,Goodfellow 写的《Deep Learning》,这本书有中文翻译版《深度学习》,但是这本书基本是讲深度学习理论的,没有基础的话很难看懂,但是翻译者提供了 PDF 在 GitHub 上,想看的可以去下载:https://github.com/exacity/deeplearningbook-chinese


  • 网络资源


对于新手入门个人觉得很多网上的手册、教程和博客都很不错。这篇文章主要面向零基础的想了解 DeepLearning 的人员,太复杂专业的暂时就不推荐了,以下是一些基础的入门资源。


  • 吴恩达的深度学习在线课程:这是吴恩达成立 DeepLearning.ai 在线教育网站后的第一个课程,网易云课堂引进了,偏工程可以学习一下,还有相关证书,吴恩达给你的人工智能第一课:http://mooc.study.163.com/smartSpec/detail/1001319001.htm。

  • 莫烦 Python:这是一个在澳大利亚读博的中国人,他会讲 Python 和深度学习的教程,有视频。Python 基本是现在做深度学习的必会语言了,喜欢的可以去这里学习。https://morvanzhou.github.io/about/

  • 台湾李宏毅教授的在线课程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html,还有一个 300 多页的 ppt,比较系统,也最通俗易懂的:http://www.slideshare.net/tw_dsconf/ss-62245351。

  • TensorFlow 中文社区:http://www.tensorfly.cn

  • 想学习 caffe 框架的,也可以参考徐其华的博客:http://www.cnblogs.com/denny402/tag/caffe/


你可能感兴趣的:(架构设计)