邓仰东专栏|机器学习的那些事儿(六):机器学习方法分类及文献导读

目录

1.绪论

1.1.概述

1.2 机器学习简史

1.3 机器学习改变世界:基于GPU的机器学习实例

     1.3.1 基于深度神经网络的视觉识别

     1.3.2 AlphaGO

     1.3.3 IBM Waston

1.4 机器学习方法分类和本书组织


1.4 机器学习方法分类和本书组织

本章前面几节介绍了机器学习的概念、历史和代表成就,从中可以看到这样一些核心趋势:1.机器学习已经成为人类最重要的工具并且在未来还将发生越来越重要的作用;2.机器学习需要强大的计算能力,当前图形处理器已经成为机器学习应用的关键计算平台。目前,机器学习的教材已经汗牛充栋,然而把机器学习算法转变为高性能图形处理器代码仍然是一个及其困难的过程,需要结合机器学习、并行计算和编程实现等多方面的能力。因此,本书定位于使用图形处理器实现高性能机器学习算法,帮助读者跨越从有效思想到高效代码的跨越。为了实现这一目的,本书选择了一系列经典机器学习算法,详细介绍算法流程并在此基础上介绍设计基于图形处理器的并行程序设计


表1-2. 机器学习重要术语


机器学习术语

定义

在统计学和相关学科的等价术语

输入(Input)

用于进行训练和分类、判别和预测的输入数据

变量、独立变量(Independent   Variable)、(数据库的)列

特征(Feature)

输入数据的特定度量方式


案例(case)、实例(Instance)、例子(Example)

一组独立观测的数据特征

观测(Observation)、记录、(数据库的)行

标签(Label)

机器学习程序对于给定数据的理想输出结果

依赖变量(dependent   Variable)、目标

训练(Train)

通过对数据进行学习操作、提高机器学习程序性能的过程

拟合(fit)、学习(Learning)


本书不是机器学习的教程,不会系统介绍相关的概念。另一方面,由于机器学习理论从计算机科学发展而来,同时在近年来又高速整合了统计学和其它学科的理论和方法,因此术语有一些混乱。为了帮助读者厘清概念,表1-2列出常见机器学习术语的定义及其在统计学和相关学科的常见叫法。


                                        

图1-23. 机器学习算法分类


由于目标应用和算法结构的复杂性,机器学习算法种类及其繁杂。为了能够让读者建立一个宏观的认识。机器学习算法总是要根据目标对现有数据进行学习或训练形成一定的模型,然后用模型对当前数据进行分析,从而实现识别、分类或其它目标。因此,怎样进行训练是对机器学习算法最基本的分类手段。实际上,按照训练方法,机器学习算法可以分为三个大类:监督式学习、非监督式学习和增强式学习。所谓监督式学习,指的是学习过程中的数据样本拥有已知结果,即正确的输入/输出对,机器学习程序根据已知结果进行训练,然后可以处理未知结果的数据。该类方法目前最为成熟,回归分析和神经网属于典型的监督式学习方法。非监督式学习方法不需要已知结果的样本,机器学习程序自行从数据中寻找关联性或相似性。聚类分析是典型的非监督式学习方法。非监督式学习也经常作为监督式学习的一个预处理步骤,从数据中寻找恰当的特征。增强式学习解决的实际上是规划问题,重点在于根据当前历史和当前状态产生一个动作序列,从而最大化的预期利益。前述的AlphaGo是标准的增强式学习案例。增强式学习强调的是过程,在每一个步骤上,经常采用监督式学习和非监督式学习。因此,本书主要考虑监督式学习和非监督式学习方法。按照学习目标的属性来说,可以分为离散和连续两类。所谓离散目标,指机器学习程序的输出是若干事先确定的数值或范畴,例如对图像分类时,可以输出“猫”、“狗”、“鸟”、“鱼”和“未知”;而连续目标指机器学习程序的输出是一个连续的变量,例如是由回归分析产生的函数,或者是一个概率分布。图1-23给出一个简化的机器学习算法分类图。此外,机器学习方法的一个重要分支是使用组合算法(Ensemble Algorithm),即使用若干相对较弱的学习模型独立进行训练,然后把训练结果整合起来进行整体预测。这是一类非常强大的算法,例如Boosting、Bagging和AdaBoos都是非常成功的范例。


从以上分类出发,同时考虑图形处理器计算,本书分成四个部分:基础、监督式学习方法、非监督式学习方法以及图模型和神经网。基础部分首先介绍机器学习的概念、历史和成功案例,然后介绍GPU计算和矩阵计算的基本知识;第二部分介绍经典的监督式学习方法及其GPU编程方法,包括KNN分类算法、决策树分类算法、支持向量机、逻辑回归和Boosting方法;第三部分侧重于非监督式学习方法及其GPU编程方法,包括聚类算法、降维方法和关联规则挖掘;第四部分介绍比较深入的内容,包括图模型(贝伊斯网络)、神经网和深度神经网。最后一部分中,神经网和深度神经网其实属于监督式学习,由于其特殊性放在这里讨论。以上内容当然只能涵盖机器学习领域的一小部分,但是具有足够的代表性,能够覆盖机器学习计算过程的绝大多数核心模式,从而帮助读者建立针对机器学习计算的并行思维方式和基本并行化方法。


文献导读

数据科学家和分析师的工作极具挑战性。首先,她(他)们必须具有数学家特别是统计学家的技巧,能够驾驭复杂的数学工具;其次,数据科学家和分析师需要福尔摩斯一般的推理能力,从纷繁复杂的数据中看到隐藏的规律;第三,她(他)们需要培养自然科学家的直觉,能够用足够简单然而又不是过分简化的模型去综合数据;第四,数据科学家和分析师需要拥有一点艺术天赋,能够把数据用美好的方式程序出来,使得背后的规律更加容易揭示;最后,她(他)们必须向机会主义者一样愿意尝试任何可能性,并且永远保持乐观,坚信数据中必然存在可以发现的规律。


机器学习的教材和相关书籍极其丰富,用汗牛充栋形容绝不过分。同时,经典机器学习教材的共同特点是知识密集、篇幅浩繁。那么,初学者怎样快速而有效地入门呢?


笔者的推荐是首先阅读科普级文献,逐步摸清机器学习的整体脉络和目标应用。其中,笔者特别推荐《The LION Way: Machine Leaning plus Intelligent Optimization》(Roberto BattitiMauro Brunato著,CreateSpace Independent Publishing Platform; 1 edition, 2014,这本书篇幅不大,内容却相当全面,覆盖了机器学习理论的各条主线,但是没有涉及到过多的理论和算法细节,同时穿插了各种相关背景知识,读来趣味十足。如果想了解进行应用方面的科普,可以看看各种以“Data Mining”和“Data Science”为题目的著作,例如《Learning to Love Data Science》(Mike Barlow,O’Reilly Media, Inc., 2015),这本书介绍数据挖掘的背景,对机器学习技术在各个领域的应用和前景有有简明扼要的介绍。类似的著作还有《The Art of Data Science》(Roger D. Peng和Elizabeth Matsui著,lulu.com, 2016)和《Data Science from Scratch》(Joel Grus著,O’Reilly Media,2015)。由Mohamed Medhat Gaber主编的《Journeys to Data Mining: Experiences from 15 Renowned Researchers》(Mohamed Medhat Gaber编著,Springer,2012)提供了15位著名机器学习科学家的研究历程,介绍他们的动机、成果、研究工具和预期目标以及对初学者的建议,非常值得初学者阅读。此外,Nate Silver的名著《The Signal and the Noise: Why So Many Predictions Fail--but Some Don't》(Penguin Books; 1 edition 2015)是一本应用统计学的科普著作,由于统计学已经成为机器学习的核心工具,所以该书适合作为机器学习启蒙读本,其中文版已经由中信出版社出版(西尔弗著,《“信号与噪声》,2015)。类似的统计学科普名著还有《The Lady Tasting Tea: How Statistics Revolutionized Science in the Twentieth Century》(David Salsburg著,Holt Paperbacks, 2002,中文版是《女士品茶》,中国统计出版社,2004)和Sharon B. McGrayne的科普名著《The Theory that Would Not Die》(Yale University Press,2011),前者对于现代统计学发展史有一个清楚的梳理,后者对统计学的贝叶斯理论有着极为精到的论述,这两本书也提供了众多统计学和统计学家的八卦。另一本有趣的科普著作是Philip E. Tetlock and Dan Gardner所著的《Superforecasting: The Art and Science of Prediction》侧重于基于数据的预测,颇有思想深度,该书的中文版也已经由中信出版社出版(《超预测:遇见未来的艺术和科学》,2015)。另一本有趣的科普著作是著名复杂学家Albert-Laszlo Barabasi撰写的《Bursts: The Hidden Patterns Behind Everything We Do, from Your E-mail to Bloody Crusades》(Plume,Reprint edition, 2011),这本书非常巧妙地把大数据和复杂学理论编织在一起,为机器学习和数据科学引入了新的视角。


接下来,读者需要确定自己的目标,是成为机器学习研究人员,机器学习应用开发人员,还是数据分析师?


如果目标是机器学习研究人员,系统化的理论学习必不可少,那么总要读一下大部头著作了。早期的机器学习算法以计算机科学为主要工具,集大成的著作是Stephen Marsland的Machine Learning: An Algorithmic Perspective(Chapman and Hall/CRC, 2009。近来,统计学理论一已经改造了整个机器学习领域,从该视角入手并以百科全书方式讲解机器学习理论的两本经典著作是《The Elements of Statistical Learning: Data Mining, Inference, and Prediction》(Trevor Hastie, Robert Tibshirani和Jerome Friedman著,Springer,2nd ed. 2009. Corr. 7th printing 2013 edition,2011,即著名的“ESL”)和《Pattern Recognition and Machine Learning》(Christopher Bishop著,Springer,2007)。不过,上述两边书稍嫌艰涩,能够兼顾深度和广度、并且比较适合拥有计算机科学或其它相关领域基础的初学者的教材是《Machine Learning: A Probabilistic Perspective》(Kevin P. Murphy,The MIT Press,2012)。此外《The Elements of Statistical Learning: Data Mining, Inference, and Prediction》的作者们也另行撰写了一部更适合初学者的教材《An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics)》(Gareth James,Daniela Witten,Trevor Hastie和Robert Tibshirani著,Springer, 2013)。更加具有时代感、从贝叶斯理论和优化理论入手介绍机器学习的作品为《Machine Learning: A Bayesian and Optimization Perspective》(Sergios Theodoridis著)。深度学习的专门教材还不多见,目前系统化的教材只有Ian Goodfellow、Yoshua Bengio和Aaron Courville合著的《Deep Learning》,即将由MIT出版社出版,目前的电子版可以在http://www.deeplearningbook.org/看到。


对于机器学习应用开发人员来说,John D. Kelleher、Brian Mac Namee 和Aoife D'Arcy合著的《Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies》(The MIT Press,2015)是很好的入门选择,更多从应用角度介绍针对预测的数据分析方法。如果嫌上本书篇幅太大(1000页以上),可以考虑《Machine Learning》(Peter Flach著,Cambridge University Press,2012)和《Applied Predictive Modeling》(Max Kuhn和Kjell Johnson著,Springer,2013),论述非常清晰。Jason Bell的《Machine Learning: Hands-On for Developers and Technical Professionals》(Wiley,2014)适合已经具有信息科学训练和实践的程序员作为入门书。Michael Nielsen的电子书《Neural Networks and Deep Learning》(http://neuralnetworksanddeeplearning.com/)是深度学习的入门书。


数据分析师角度看,选择一种适合机器学习任务的脚本式编程语言作为入门手段是最好的方式,相关著作包括Sebastian Raschka的《Python Machine Learning》(Packt Publishing,2015)、Brett Lantz的《Machine Learning with R》(Packt Publishing,2015)和Giancarlo Zaccone的《Getting Started with TensorFlow》(Packt Publishing,2016)等。


当然,以上我们只介绍相关教材和著作,要洞悉机器学习的奥秘,更加重要的是动手练习,最好的手段当然是带着问题去寻找工具、寻找方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值