蛋酱、小舟报道

95后哈佛小哥撰写《从零开始的机器学习》,入门必备,书籍资源已开放

机器学习怎么入门最简单?今年刚刚从哈佛大学统计专业毕业的 Danny Friedman 写了一本「转专业学生专用教材」,无基础也可轻松入门,资源现已全部开放。

说起机器学习入门书,大概有成百上千种选择。这些书籍大多是由具备丰富研究经验的学者撰写的,涵盖各种主题。

俗话说「开卷有益」,但对于转专业的初学者来说,这本新书或许更适合入门:

近日,一位毕业于哈佛大学的小哥根据自己的机器学习入门经历,撰写了一本《从零开始的机器学习》。

书籍地址:https://dafriedman97.github.io/mlbook/content/introduction.html

这本书涵盖了机器学习领域最常见的方法,就像是一位机器学习工程师的工具箱,适用于入门级学习者。撰写目的是为读者提供独立构建一些基本的机器学习算法的实践指导,如果用工具箱类比的话,就是教会读者具体使用一把螺丝刀、一盒卷尺。书中的每一章都对应一种机器学习方法。

作者 Danny Friedman 介绍说,学习一种方法的最佳方式就是从零开始(无论是从理论上还是代码上),因此本书的宗旨也是提供这些推导过程。每章分为三个部分:首先是从「概念」上进行介绍,并且从数学层面演示推导过程;然后是「构造」部分,如何使用 Python 从零开始演示这些方法;最后的「实现」部分介绍了如何使用 Python 包应用这些方法,比如 scikit-learn、 statsmodels 和 tensorflow。

这本书面向的是机器学习领域的新人,或者是希望深入了解算法的学习者。阅读书中的推论可能有助于以前不熟悉算法的读者充分理解方法背后的原理,也能帮助有建模经验的读者了解不同算法如何建模,并观察每种算法的优缺点。

章节介绍

在阅读这本书的「概念」部分之前,读者应该熟悉微积分的知识,有的部分可能会用到概率的知识(最大似然和贝叶斯定律)以及基础的线性代数(矩阵运算和点积)。这部分还引用了一些常见的机器学习方法(附录中有介绍),但「概念」部分不需要编程知识。

「构造」和「代码」部分会用到一些 Python 的知识。「构造」部分需要了解对应内容部分,并熟悉 Python 的创建函数和类。这些「代码」部分均不需要。

全书目录如下:

1.  普通线性回归(Ordinary Linear Regression)
  1.  最小化损失(The Loss-Minimization Perspective)

  2.  最大似然(The Likelihood-Maximization Perspective)

2.  线性回归扩展(Linear Regression Extensions)
  1. 正则回归(Regularized Regression)

  2.  贝叶斯回归(Bayesian Regression)

  3.  广义线性模型(Generalized Linear Models)

3.  判别分类(Discriminative Classification)
  1.  逻辑回归(Logistic Regression)

  2.  感知器算法(The Perceptron Algorithm)

  3. Fisher 线性判别(Fisher’s Linear Discriminant)

4.  生成分类(Generative Classification)
  1. 线性和二次判别分析、朴素贝叶斯 (Linear and Quadratic Discriminant  Analysis、Naive Bayes)

5.  决策树(Decision Trees)
  1.  回归树(Regression Trees)

  2.  分类树(Classification Trees)

6.  基于树的集成方法(Tree Ensemble Methods)
  1.  Bagging

  2.  随机森林(Random Forests)

  3.  Boosting

7.  神经网络(Neural Networks)

线性回归是一种相对简单的方法,用途极为广泛,所以也是必学算法之一。

第一章介绍了普通线性回归,第二章主要介绍了线性回归的扩展。可以通过多种方式扩展线性回归,以适应各种建模需求。正则回归惩罚了回归系数的大小,以避免过度拟合。这对于使用大量预测变量的模型尤其有效,贝叶斯回归对回归系数进行先验分布,以便将关于这些参数的现有观念与从新数据中获得的信息相协调。最后,广义线性模型(GLM)通过更改假定的误差结构并允许期望值来扩展常规的线性回归。目标变量是预测变量的非线性函数。

分类器是一种有监督的学习算法。它试图识别观察值对两个或多个组之一的成员资格。换句话说,分类中的目标变量表示有限集而不是连续数的类。例如,检测垃圾邮件或识别手写数字。

第三章和第四章分别介绍了判别分类和生成分类。判别分类根据观察变量的输入变量直接对其进行建模。生成分类将输入变量视为观察类的函数。它首先对观察值属于给定类的先验概率建模。然后计算观察观察值以其类为条件的输入变量的概率。最后使用贝叶斯定律求解属于给定类的后验概率逻辑回归不是唯一的区分性分类器,书中还介绍了另外两种:感知器算法和 Fisher 线性判别法。

第五章演示了如何构建决策树。第一部分涵盖了回归任务,其中目标变量是定量的;第二部分涵盖了分类任务,其中目标变量是分类的。

决策树是用于回归和分类的可解释机器学习方法。树根据所选预测变量的值迭代地拆分训练数据的样本。每次拆分的目的是创建两个子样本(即「孩子」)。其目标变量的 purity 高于其「父亲」。对于分类任务,purity 意味着第一个孩子应该观察一个类别,第二个孩子主要观察另一个类别。对于回归任务,purity 意味着第一个孩子的目标变量值应该较高,而第二个孩子的目标变量值应该较低。

以下是使用 penguins 数据集的分类决策树的示例:

由于其高方差,决策树通常无法达到与其他预测算法可比的精确度。在第五章中介绍了几种最小化单个决策树的方差的方法,例如剪枝或调整大小。第六章将介绍另一种方法:集成方法集成方法结合了多个简单模型的输出,以创建具有较低方差的最终模型。书中在基于树的学习器的背景下介绍集成方法,但集成方法也可以用于多种学习算法。在这本书中,作者讨论了三种基于树的集成方法:bagging、随机森林和 boosting。

第七章介绍了神经网络,一种功能强大且用途广泛的模型,已成为机器学习中的一大热门话题。尽管神经网络的性能通常胜过其他模型,但神经网络也不像想象中那么复杂。相反,通过优化高度参数化和非线性的结构,神经网络具有足够的灵活性对其他模型难以检测到的细微关系进行建模。

这一章按照如下结构展开:

1. 模型结构
  • 概述

  • 层与层之间的交互

  • 激活函数

2. 优化
  • 反向传播

  • 计算梯度

  • 将结果与链式法则结合

3. 结合观察值
  • 一种新的表征

  • 梯度

其他资源推荐

此外,作者还推荐了三本经典的机器学习理论入门书籍,也都能在网络上获取免费资源:

1、《统计学习导论:基于 R 应用》


资源地址:http://faculty.marshall.usc.edu/gareth-james/ISL/

2、《统计学习的要素:数据挖掘、推理和预测》


资源地址:https://web.stanford.edu/~hastie/ElemStatLearn/

3、《模式识别机器学习


资源地址:https://www.microsoft.com/en-us/research/publication/pattern-recognition-machine-learning/

理论哈佛大学机器学习
相关数据
逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

模式识别技术

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

后验概率技术

在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。同样,后验概率分布是一个未知量(视为随机变量)基于试验和调查后得到的概率分布。“后验”在本文中代表考虑了被测试事件的相关证据。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

回归树技术

回归树可以被视为决策树的变体,旨在逼近实值函数,而不是用于分类方法。

随机森林技术

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method" 以建造决策树的集合。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

集成方法技术

在统计学和机器学习中,集成方法使用多种学习算法来获得比单独使用任何组成学习算法更好的预测性能。

朴素贝叶斯技术

朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

广义线性模型技术

在统计学上, 广义线性模型 (Generalized linear model) 是一种应用灵活的线性回归模型,简称GLM。该模型允许因变量的偏差分布有除了正态分布之外的其它分布。此模型假设实验者所量测的随机变量的分布函数与实验中系统性效应(即非随机的效应)可经由一链接函数(link function)建立起可资解释其相关性的函数。

链式法则技术

是求复合函数导数的一个法则, 是微积分中最重要的法则之一。

微积分技术

微积分(Calculus)是高等数学中研究函数的微分(Differentiation)、积分(Integration)以及有关概念和应用的数学分支。它是数学的一个基础学科。内容主要包括极限、微分学、积分学及其应用。微分学包括求导数的运算,是一套关于变化率的理论。它使得函数、速度、加速度和曲线的斜率等均可用一套通用的符号进行讨论。积分学,包括求积分的运算,为定义和计算面积、体积等提供一套通用的方法 。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

感知器技术

感知器是Frank Rosenblatt在1957年就职于Cornell航空实验室时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈神经网络,是一种二元线性分类器。 Frank Rosenblatt给出了相应的感知机学习算法,常用的有感知机学习、最小二乘法和梯度下降法。

推荐文章
暂无评论
暂无评论~