只需十四步:从零开始掌握Python机器学习(附资源)
2017-03-15 08:55:54   来源:   评论:0 点击:

选自kdnuggets作者:Matthew Mayo机器之心编译参与:黄小天、吴攀、晏奇、蒋思源Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源。你现在也在考虑从 Python 入门机器学习吗?本教

第5步:梯度提升

 

下一步我们继续学习集成分类器,探讨一个当代最流行的机器学习算法。梯度提升最近在机器学习中产生了显著的影响,成为了 Kaggle 竞赛中最受欢迎和成功的算法之一。

首先,阅读梯度提升的概述:

 

  • 维基百科条目:梯度提升。地址:http://suo.im/TslWi

 

接下来,了解为什么梯度提升是 Kaggle 竞赛中「最制胜」的方法:

 

  • 为什么梯度提升完美解决了诸多 Kaggle 难题?Quora,地址:http://suo.im/3rS6ZO

  • Kaggle 大师解释什么是梯度提升,作者 Ben Gorman。地址:http://suo.im/3nXlWR

 

虽然 Scikit-learn 有自己的梯度提升实现,我们将稍作改变,使用 XGBoost 库,我们提到过这是一个更快的实现。

 

以下链接提供了 XGBoost 库的一些额外信息,以及梯度提升(出于必要):

 

  • 维基百科条目:XGBoost。地址:http://suo.im/2UlJ3V

  • Ghub 上的 XGBoost 库。地址:http://suo.im/2JeQI8

  • XGBoost 文档。地址:http://suo.im/QRRrm

 

现在,按照这个教程把所有汇聚起来:

 

  • Python 中 XGBoost 梯度提升树的实现指南,作者 Jesse Steinweg-Woods。地址:http://suo.im/4FTqD5

 

你还可以按照这些更简洁的示例进行强化:

 

  • XGBoost 在 Kaggle 上的示例(Python)。地址:http://suo.im/4F9A1J

  • Iris 数据集和 XGBoost 简单教程,作者 Ieva Zarina。地址:http://suo.im/2Lyb1a

 

第6步:更多的降维

 

降维是通过使用过程来获得一组主变量,将用于模型构建的变量从其初始数减少到一个减少数。

 

有两种主要形式的降维:

 

  • 1. 特征选择——选择相关特征的子集。地址:http://suo.im/4wlkrj

  • 2. 特征提取——构建一个信息性和非冗余的衍生值特征集。地址:http://suo.im/3Gf0Yw

 

下面是一对常用的特征提取方法。

成分分析(PCA)是一种统计步骤,它使用正交变换将可能相关变量的一组观测值转换为一组称为主成分的线性不相关变量值。主成分的数量小于或等于原始变量的数量。这种变换以这样的方式定义,即第一主成分具有最大可能的方差(即考虑数据中尽可能多的变率)

 

以上定义来自 PCA 维基百科条目,如果感兴趣可进一步阅读。但是,下面的概述/教程非常彻底:

 

  • 主成分分析:3 个简单的步骤,作者 Sebastian Raschka。地址:http://suo.im/1ahFdW

 

线性判别分析(LDA)是 Fisher 线性判别的泛化,是统计学、模式识别和机器学习中使用的一种方法,用于发现线性组合特征或分离两个或多个类别的对象或事件的特征。所得到的组合可以用作线性分类器,或者更常见地,用作后续分类之前的降维。

 

LDA 与方差分析(ANOVA)和回归分析密切相关,它同样尝试将一个因变量表示为其他特征或测量的线性组合。然而,ANOVA 使用分类独立变量和连续因变量,而判别分析具有连续的独立变量和分类依赖变量(即类标签)。

 

上面的定义也来自维基百科。下面是完整的阅读:

 

  • 线性判别分析——直至比特,作者 Sebastian Raschka。地址:http://suo.im/gyDOb

 

你对 PCA 和 LDA 对于降维的实际差异是否感到困惑?Sebastian Raschka 做了如下澄清:

 

线性判别分析(LDA)和主成分分析(PCA)都是通常用于降维的线性转换技术。PCA 可以被描述为「无监督」算法,因为它「忽略」类标签,并且其目标是找到使数据集中的方差最大化的方向(所谓的主成分)。与 PCA 相反,LDA 是「监督的」并且计算表示使多个类之间的间隔最大化的轴的方向(「线性判别式」)。

 

有关这方面的简要说明,请阅读以下内容:

 

  • LDA 和 PCA 之间的降维有什么区别?作者 Sebastian Raschka。地址:http://suo.im/2IPt0U

 

第 7 步:更多的深度学习

 

上篇中提供了一个学习神经网络和深度学习的入口。如果你的学习到目前比较顺利并希望巩固对神经网络的理解,并练习实现几个常见的神经网络模型,那么请继续往下看。

 
首先,看一些深度学习基础材料:

 

  • 深度学习关键术语及解释,作者 Matthew Mayo

  • 理解深度学习的 7 个步骤,作者 Matthew Mayo。地址:http://suo.im/3QmEfV

 

接下来,在 Google 的机器智能开源软件库 TensorFlow(一个有效的深度学习框架和现今几乎是最好的神经网络工具)尝试一些简明的概述/教程:

 

 

最后,直接从 TensorFlow 网站试用这些教程,它实现了一些最流行和常见的神经网络模型:

 

  • 循环神经网络,谷歌 TensorFlow 教程。地址:http://suo.im/2gtkze

  • 卷积神经网络,谷歌 TensorFlow 教程。地址:http://suo.im/g8Lbg

 

此外,目前一篇关于 7 个步骤掌握深度学习的文章正在写作之中,重点介绍使用位于 TensorFlow 顶部的高级 API,以增模型实现的容易性和灵活性。我也将在完成后在这儿添加一个链接。

 

相关的:

 

  • 进入机器学习行业之前应该阅读的 5 本电子书。地址:http://suo.im/SlZKt

  • 理解深度学习的 7 个步骤。地址:http://suo.im/3QmEfV

  • 机器学习关键术语及解释。地址:http://suo.im/2URQGm 

 

相关热词搜索:只需 机器 资源

上一篇:微课:Flash引导动画的制作
下一篇:作业批改及时化、智能化的实现

分享到: 收藏
评论排行
频道总排行
频道本月排行