流传一篇源于那机器之心的文稿, 针对于机器学习的起始阶段, 阐述得相当明晰准确, 原文链接处于: 只需十四步: 从零开始掌握机器学习附资源。不得不说这是当下最为流行的机器学习语言, 并且你能够在网络上搜寻到数量众多的资源。你此刻是不是也在思索从接触机器学习开始入门呢? 这本教程有可能助力你顺利上手, 从零基础起步直至完全掌握机器学习, 至于后续要怎样从入门水平进阶成为机器学习专家, 那就得看你自身付出的尽力程度了。这本教程原本分成两个部分, 机器之心在这篇文章里对其做了整合, 原文有可参考的地方: suo.im/KUWgl 和 suo.im/96wD3。本教程的作者为 副主编兼数据科学家 Mayo。刚着手的时候常常是最为艰难的, 特别是在面临诸多可供选择的情况时, 个体通常极难笃定信念作出抉择。本教程的意图在于助力那些几乎不存在机器学习背景的新手蜕变成为知识丰富的践行者, 并且在这个 中仅仅借助免费的材料以及资源就能达成。这个大纲的主要宗旨是引领你知晓那些数目繁多的能用到的资源。不容置疑, 资源着实有不少, 然而究竟哪些才是最为优质的? 哪些是相互补充的? 按照怎样的先后顺序去研习这些资源方为最为恰当的?首先我假设你并不是以下方面的专家自然, 要是你针对先前的两个主题具备一定层面的基础认知那就更佳了, 然而那并非是必定需要的, 于早期时期稍微多耗费些许时候去知晓一番便可以了。基础篇第一步基本 技能要是我们准备借助 去实施机器学习, 那么对于 存有若干基本的认知便是相当必要的。所幸, 鉴于 属于一项适用范围广泛的通用编程语言, 再加之其于科学计算以及机器学习范畴的运用, 故而寻觅到一个针对初学者的教程并非极为艰难。你于 以及编程方面的经验水准对于开启征程来讲是相当关键的。首先, 你得进行安装。鉴于我们后续会用到科学计算以及机器学习软件包, 故而我提议你去安装。这是一种能够应用于Linux、OS X以及 之上的工业级的 实现, 它完整涵盖了机器学习所需的软件包, 其中包含在numpy、-learn以及。它同样包含了 , 这是一个被运用在我们众多教程里的交互式环境。我推荐安装 2.7。要是你对编程方面并不了解, 那我提议你先着眼于下面这些免费的在线书籍展开学习, 之后再去接触后续的相关材料。倘若你具备编程方面的经验, 然而却不懂, 或者说尚处于极为初级的水平, 那么我给出这样的建议, 你去学习接下来的这两个课程:如果你要 30 分钟上手 的快速课程看下面诚然, 要是你已然身为一名经验老到的程序员的话, 这一步骤便能予以略过。即便如此这般, 我依旧提议你经常去运用那份文档第二步机器学习基础技巧已经指出了: 现在, 人们去评价一个「数据科学家」之时, 已经是存在很多不一样的标准了的。这实际上可是机器学习领域的一个个写照。那原因在于, 数据科学家占比大部分的时间所干就牵涉关联到程度不一地去运用学习算法的。为了能够有效去创造以及能获得来自支持向量机的洞见的话, 特别熟悉核方法是不是有必要的? 当然并非如此的。就如同几乎生活当中的所有事情那般, 掌握理论的深度跟实践应用是有关联的。去超出探索更多本文范围, 超过了对机器学习算法的深度的知晓, 它往往将会要求促使你需放于相当大量的时长投入至较更学术内容更多的课程当中, 或者最小而言起码是你自身应当开展高强度的自我学习训练。好消息是, 对于实践而言, 你并非需要获取如同机器学习博士一样的理论理解, 想要成为一名高效的程序员, 并不一定要开展计算机科学理论的学习。人们对于吴恩达在某平台上的机器学习课程内容, 通常是好评如潮, 然而, 我的建议是, 咱们先要浏览前一个学生在线记录下来的课堂笔记, 要跳过特定于某语一个类似于某种特定语言且与你自身学习并无关联的语言的笔记, 必须得明白, 这些笔记都并非官方笔记, 不过, 能从它们之中把握到吴恩达课程材料里相关的内容, 当然, 要是你有时间跟兴趣, 你此刻就能去某平台上学习吴恩达的机器学习课程。除了那次讲到的吴恩达的课程之外, 要是你还需要别的, 网络上面还有好多各种各样的课程足以供你去挑选。就好比我也相当相当喜欢Tom, 这儿放着的是他近期进行的并且是演讲的视频再者一同的还有Maria-, 特别特别和蔼可亲。眼下你并非需要全部的笔记以及视频。有一种有效的办法是, 当你自认为适宜之际, 径直去瞧下面特定的练习题, 参照上述备注以及视频中恰当的部分。第三步科学计算 软件包概述好了, 我们已然掌握了编程, 且对于机器学习有了一定程度的了解。并且, 在这之外, 还存在一些常用于执行实际机器学习的开源软件库。从广义上来进行讲述, 有诸多被称作是科学库的括号内该部分内容含义不明可用来执行基本的机器学习任务关于这方面的判断必定是存在一些主观性的:学习这些库的一个好方法是学习下面的材料在本教程后续你会见到一些别的软件包, 像基于 的数据可视化库。先前讲的软件包仅是 机器学习里常用的部分核心库, 不过理解它们应能使你在之后碰到其他软件包时不会感到困惑。下面就开始动手吧第四步使用 学习机器学习首先检查一下准备情况此刻已到了运用, 机器学习标准库 -learn开展, 实现机器学习算法的阶段了。-learn 流程图下面诸多的教程以及训练, 皆是运用 () 达成的, 它是执行语句的交互式环境, 能够便利地在网上寻得或者下载至你的本地计算机。同样也要特别留意, 以下教程是由一系列在线资源构成, 要是你觉得课程存在某些不合适之处, 能够与作者进行交流, 我们首个教程是以 -learn 起始的, 我提议你们在接着完成教程以前, 依照顺序去看一看以下这些文章。这是一篇关于 -learn 简介的文章, -learn 是极为常用的通用机器学习库, 它涵盖了 K 近邻算法。底下的会愈发深入、拓展的一份简介, 涵盖了自知名的数据库起始达成一个项目。下一篇对 -learn 这个之上评估各异模型之时段的方有所侧重, 其中有对训练集以及测试集于分割期间形成的办法 , 标点。第五步 上实现机器学习的基本算法待掌握了-learn的基础认知后, 我们能够进一步探寻那些更为普遍且有益的算法。我们起始于极为知名的K均值聚类k-means算法, 该算法堪称一种极为简化并高效斐然的方式, 可妥当应对无监督学习这一方面的问题:接下来我们可以回到分类问题并学习曾经最流行的分类算法在了解分类问题后我们可以继续看看连续型数值预测我们也可以利用回归的思想应用到分类问题中即 回归第六步 上实现进阶机器学习算法我们已然对 -learn 熟悉了, 此刻我们能够去知晓一下要更高效的算法了。首要的便是支持向量机, 它是一种借助把数据进行转换进而映照着高维空间的非线性分类器。随后我们能够借由竞赛, 去检查将学习当作集成分类器的随机森林。非监督降维算法里的主成份分析法那独特存在被常用来削减问题里所用变量的降维进程, 降维算法常常被用于减少在问题中所使用的变量, 主成份分析法就是非监督降维算法的一个特殊形式。可以花一点时间, 考虑在相对较短时间内取得的一些进展, 在进入第七步之前。最初运用, 及其机器学习库, 我们不但已然知晓了某些极为常见且广为人知的机器学习算法, 像 k 近邻、k 均值聚类、支持向量机等, 而且还探究了强大的集成技术, 也就是随机森林, 以及一些额外的机器学习任务, 包含降维算法和模型验证技术。除开一些基础的机器学习技巧, 我们已然着手寻觅一些颇具效用的工具包。我们会进一步学习新的必要工具。第七步 深度学习神经网络包含很多层处在任何地方的是深度学习, 深度学习是立基于存在了几十年时间的神经网络之上的, 不过最近所取得的进展起始于若干年前, 这番进展极大地提升了深度神经网络具备的认知能力, 从而引发了人们产生的广泛兴趣, 要是你对于神经网络尚未熟悉起来, 有着诸多文章针对最近深度学习涌现的大量创新、取得的成就以及收获的赞许作出了详细介绍。最后一步并非要将所有种类的深度学习予以评论, 而是于2个先进的当代深度学习库之中探究若干简单的网络实现。对于有志深挖深度学习的读者, 我给出这般建议, 可从下面这些免费的在线书籍着手:1.链接是我们讲到的第一个 深度学习库。看看 作者怎么说这儿存在着一个库, 这个库能够让你以一种有效的方式去定义, 去对包含多维数组的数学表达式实施优化, 进而对其展开评估, 是这样的一个库。下面有关运用学习深度学习的入门教程有点儿长, 不过足够好, 描述颇具生动性, 评价相当高:2.Caffe链接将被我们进行测试驱动的另一个库是Caffe, 再一次地, 让我们从作者起始:Caffe是深度学习框架, 它由表达、速度以及模块性建构而成, 视觉与学习中心和社区工作者一同开发了Caffe。本篇文章里最好的一个教程是这个, 我们学习了上面几个挺有趣的样例, 然而没有一个能和下面这个比, 它能借助 Caffe 达成谷歌的 , 这个特别精彩, 掌握教程后, 能试着让你的处理器顺利运行, 就当成娱乐。我未曾保证这将迅速或轻松, 然而倘若你投入了时间, 且完成了上述的7个步骤, 你便会在领悟繁杂多量的机器学习算法以及借助流行的库涵盖一些处于当前深度学习研究前沿方位的库于其中达成算法这方面变得极为擅长。进阶篇机器学习算法这一篇, 是运用掌握机器学习的7个步骤系列文章的后面部分, 要是你已然学习过该系列的前面部分, 那应当达成了令人称心的学习速率以及熟练的技能要是没学过, 那你或许得回顾一下前面部分, 具体耗费多长时间, 取决于你当下的理解程度。我担保这么做是有价值的。敏捷回顾之后, 这篇文章会更确切地聚焦于几个和机器学习相关的任务集合上。鉴于安全地越过了一些基础模块——基础、机器学习基础之类的——我们能够径直进入到各异的机器学习算法当中。这次我们可以根据功能更好地分类教程。第1步机器学习基础回顾一个新视角上篇中包括以下几步1. 基础技能2. 机器学习基础技能3. 包概述4. 运用 开始机器学习介绍模型评估5. 有关的机器学习方面的主题, 涵盖k -均值聚类, 还有决策树, 以及线性回归和逻辑回归。6. 围绕着被称作高阶机器学习的主题, 其涵盖支持向量机, 包含随机森林, 还有PCA降维。7. 中的深度学习要是你正打算从起始之处开始着手, 按照上述所说, 我给出建议, 你要依照次序将上篇读完, 我同样会把所有适配新手的入门材料列出来, 安装讲解存在于上篇文章当中。然而如果你已经读过我会从下面最基础的开始万一你正寻觅着研习机器学习基础的替换或者补充性方式, 恰好这会儿我能够将自己正在观看的Shai Ben - David此人的视频讲座、以及有Shai - 的这本教科书推荐于你:记好, 这些用于介绍的资料, 并非得全部看完, 才可开启我所撰写的系列文章。若在运用机器学习算法去实现模型之际, 又或者当恰当的概念于后续步骤里被实际运用之时, 视频讲座、教科书以及其他类资源, 能在以下情形下予以查阅。具体状况自行判别。第2步更多的分类开头我们以新材料为起始点, 做这么一件事, 先要稳固一下我们所拥有的分类技术, 并且再引入一些额外的算法呢。尽管在本篇文章的第一部分里涉及到之类内容, 像是那决策树、支持向量机、逻辑回归以及关于合成分类的随机森林, 可我们依旧是要去添加 k -最近邻这种算法, 还有朴素贝叶斯分类器以及多层感知器。-learn 分类器k - 最近邻写成 kNN , 它是一个简单分类器以及懒惰学习者的例子, 所有计算都在分类的时候发生, 并非提前在训练步骤期间发生, kNN 不是基于参数的, 是通过对比数据实例与 k 最近实例来判定如何分类的。朴素贝叶斯, 是一种建立于贝叶斯定理基础之上的分类器, 它有着这样的假定, 即特征之间存在着独立性, 而且在一个类当中, 任一特定特征的存在, 和同一类里任何其他特征的存在没有关联。多层感知器, 也就是MLP, 它是一种简单的前馈神经网络, 其由多层节点构成, 并且其中每一层与后续的层是完全连接的。多层感知器在-learn版本0.18当中被作了介绍。起始之时, 于 -learn 文档里开展 MLP 分类器概述的阅读工作, 而后采纳教程去进行练习并落实实现。第3步更多聚类此刻, 我们紧接着来讲聚类, 它属于一种无监督学习形式。在上一文当中, 我们探讨了k - means算法, 于此我们要介绍期望最大化 EM。-learn聚类算法首先, 去阅读这些介绍性文章, 第一个是关于k均值和EM聚类技术进行快速比较的内容, 此为对新聚类形式的一种很不错的延续, 第二个是针对-learn里能用到的聚类技术所做的概述。使期望最大化的这一EM是属于概率聚类算法的, 并且因为这样从而涉及到去确定那些实例归于特定聚类的概率。EM与统计模型当中参数的最大似然性或者最大后验估计相近Han、以及Pei所述的。EM过程从一组参数起始产生迭代直至相对于有着k聚类状态的聚类实现最大化。首要的是去阅读那关于 EM 算法的教程, 紧接着, 去瞧瞧相关的 -learn 文档, 最终, 依照教程运用自身来实现 EM 聚类。要是高斯混合模型乍一看让人觉得困惑不已, 那么源自 -learn 文档的这一相关部分理应能够消解任何多余的担忧。高斯混合对象实现期望最大化EM算法以拟合高斯模型混合。针对基于密度且带有噪声侵扰的空间聚类运用, 其操作方式是, 把那些呈现出密集状态的数据点归拢到一起, 并且将低密度的数据点界定为异常值。先从, -learn的文档那儿, 去阅读, 并且遵循其示例来实现, 而后依照简明的教程去学习。第4步更多的集成方法把上篇所涉及的范围界定于仅仅一个单独的、独一无二的集成方法: 随机森林RF。随机森林RF身为一个处于顶级地位的分类器, 在过去的几年当中获得到了巨大无比的成功, 然而它断然绝然不是唯一的那一个集成分类器。我们会去瞧一瞧包装、提升以及投票这几个方面。给我一个提升首先, 去进行这些集成学习器概述的阅读, 第一个具备通用性, 第二个和 -learn 存在关联。之后, 于持续运用全新的集成方式以前, 借助一个全新的教程迅速研习随机森林:把包装当作一种分类方法, 提升当作一种分类措施, 投票当作一种分类方式, 它们均属于不同样态的集成分类器, 且都关联着去搭建多个模型, 不过, 经由何种算法来搭建这些模型, 模型所运用的数据是哪些, 以及最终怎样进行结果的组合, 这些情况都会因方案的不同而出现改变。那么, 为何要进行组合模型呢? 是为了从某一个特定的视角去处理这个问题, 这里存在着偏差 - 方差权衡的概述, 其具体是相关于提升的, 下面是该 -learn 文档。此刻, 你已然阅览了某些有关集成学习器的介绍性资料, 且针对几个特定的集成分类器有了初步认知, 接下来阐述究竟该如何于其中运用 -learn 去于 里达成集成分类器的实现:第5步梯度提升接下来的步骤是我们继续展开对于集成分类器的学习, 要去探讨一个在当代位居最流行行列的机器学习算法。在机器学习之中, 梯度提升最近这段时间产生了显著的影响情况, 进而成为了竞赛里头最受众人欢迎以及可以说是相当成功的算法里的一支。给我一个梯度提升首先阅读梯度提升的概述接下来了解为什么梯度提升是 竞赛中「最制胜」的方法虽则 -learn 具有自身的梯度提升实施方法, 然而我们会略微予以变动, 进而运用那个库, 我们曾提及过这乃是一种更为快速的实现方式。此处链接给出了, 库的某些额外方面的信息, 还有梯度提升鉴于必要性。现在按照这个教程把所有汇聚起来你还可以按照这些更简洁的示例进行强化