美亚畅销的百页机器学习入门书,不止简单易懂
作者头像
  • 茂轩说科技
  • 2020-03-13 16:21:46 4

五年前,我决定在新加坡南洋理工大学攻读计算机博士学位,那时“机器学习”还是一个新兴领域,既令人好奇又充满挑战。与传统的计算机课程如数据库、软件开发和嵌入式系统相比,“机器学习”显得更加新颖和神秘。当时,“数据科学家”这一职业尚未成为《哈佛商业评论》评选出的最具吸引力职业之一。

回溯过去,几乎在同一时间,“人工智能”正积蓄力量,准备迎来前所未有的发展。

在新加坡南洋理工大学的研究项目中,我主要关注工业界的应用问题,这使我有机会接触到各种工业界的数据和工具,并在研究中尝试了一些机器学习模型。同时,关于机器学习的各种文献、资料和开源项目在网上迅速增加。作为从业者,我一方面受益于丰富的信息资源,另一方面也经常因为信息量庞大而感到无所适从。

2018年下半年,我无意间在职业社交平台上发现了《机器学习精讲》的作者安德烈的帖子。安德烈是一位职场“网红”,他发布的段子和图片往往只有程序员才能理解。当时,他正在积极推广他的旧书《机器学习精讲》,并且不定期发布免费试读章节。

阅读了部分内容后,我被作者巧妙的构思和简洁的语言所吸引。这本书是一本适合初学者的百页入门指南,进入了图书销售总榜前1000名,并获得了Peter Norvig、Aurélien Géron等人工智能和机器学习领域知名专家的高度推荐。

在此之前,我接触过一些关于机器学习的技术书籍。这些书籍的特点是内容深奥、篇幅巨大且难以入手。它们通常需要较强的实际基础才能读懂,而篇幅往往上千页,使初学者望而却步。此外,书中介绍的算法实现起来工程量大,难以快速应用于实际问题。

相比之下,《机器学习精讲》更像是科普读物,任何具备基本代数知识的读者都能理解其大部分内容。这本书篇幅较短、章节清晰,非常适合通读与精读。书中介绍的实用技巧也有助于读者快速上手实际应用。

尽管篇幅较短,但这本书涵盖了机器学习的大部分核心要点,并将知识点系统地串联在一起。书中凝练了大量的学术文献的核心内容和结论,权威性强。同时,作者通过易懂的方式分享了自己多年的研究和工程经验,使得这本书不仅具有很高的可读性,还非常实用。由于篇幅限制,书中省略了大量的数学推导过程和文献引用。不过,有深入研究需求的读者可以通过配套的网页获取更多内容。

在本公众号后台回复“51853”,可以获取配套学习材料,包括推荐阅读、视频、问答、代码和习题等。

机器基本不会学习

在开头之前,我们需要澄清一个事实——机器基本不会学习。所谓的“机器学习”,其实是在寻找一个数学公式。找到这个公式后,我们可以通过它和一组输入数据(训练数据)进行运算,并与正确结果进行对比。我们希望这个公式能在大多数新的、符合相同或相似统计分布的输入数据上产生正确的运算结果。

为什么我们认为这不算真正的学习呢?这是因为,如果输入数据发生重大变化,那么新的运算结果可能会与正确结果完全不同。相比之下,动物的学习机制则完全不同。例如,很多人喜欢在电脑或手机上玩游戏。即使屏幕稍微倾斜或旋转,大多数人依然能顺利进行游戏。然而,如果让一个机器学习的算法来玩这款游戏,除非它专门针对屏幕变化进行了优化,否则很可能无法适应屏幕的变化。

既然如此,我们为什么还要称之为“机器学习”呢?这个名称很大程度上是为了市场宣传而创造的概念。这一概念最早由美国计算机游戏和人工智能领域的先驱之一亚瑟·塞缪尔(Arthur Samuel)在1959年提出。当时他在IBM工作,这个概念帮助公司吸引了客户和高水平员工。后来,IBM在2010年左右提出了“认知计算”的概念,再次在竞争中占据优势。

正如人工智能并非真正的智能,机器也不能真正学习。但这并不妨碍“机器学习”逐渐成为一个被广泛接受的术语——一种构建计算机系统的方法。利用“机器学习”构建的系统无需明确编程,就能得出正确的结果。总而言之,“机器学习”只是一个比喻,并非真正意义上的学习。

与其到处搜集学习材料,不如看看这本精心编写的百页科普图书《机器学习精讲》,从两种基本算法入手!

机器学习基本算法

  1. 线性回归

线性回归是一种流行的回归算法,通过样本特征的线性组合来学习模型。

问题陈述:给定一个有标签的样本集{(xi,yi)}i=1到N,其中N是总样本数量,xi是每个样本i=1,...,N的D维特征向量,yi是一个实数标签。每个特征j=1,...,D也是一个实数。

我们希望得到一个基于样本特征x的线性组合的模型fw,b(x): fw,b表示f是一个参数化的模型,有两个参数w和b。其中,w是一个维度等于D的向量,b是一个实数。

通过该模型,我们可以对含有未知标签y的样本x进行预测,表示为y←fw,b(x)。当输入样本相同时,两个具有不同参数组(w,b)的模型的预测结果可能大不相同。学习的目标是找到一组最优参数(w,b)。当参数最优时,模型的预测最准确。

细心的读者可能会发现,式1.1中定义的线性模型与SVM模型非常相似,只是缺少sign运算。的确,这两个模型非常相似,主要区别在于SVM的超平面是决策边界,用于分离两类样本,因此它与两类样本之间的距离越远越好。

另一方面,我们希望线性回归中的超平面尽可能接近所有训练样本。下图直观地解释了这一点。图中显示了多个一维训练样本(蓝色点)和它们的回归线(红色线)。通过回归线,我们可以预测新样本xnew的标签ynew。如果样本的特征是D维(D>1),训练得到的线性模型则是一个平面(二维特征向量)或一个超平面(D>2)。

这就是为什么回归模型中的超平面应尽量接近训练样本的原因:如果上图中的红线远离训练数据的蓝色点,预测标签ynew的准确性就会降低。

解决方案:为了满足回归超平面尽可能接近训练样本的需求,我们通过最小化以下表达式来求最优参数w和b: 在数学中,我们称需要最大化或最小化的表达式为目标函数(objective function),或简称“目标”。在式1.2中,(fw,b(xi)-yi)^2是损失函数(loss function),用于惩罚错误的分类结果。具体来说,式1.2中使用的是方差损失(squared error loss)。所有基于模型的学习算法都有一个损失函数。

为了找到最优模型,我们需要将整个目标函数(又称成本函数cost function)最小化。线性回归中的成本函数是平均损失,也称为经验风险(empirical risk)。一个模型的平均损失(经验风险)是将其应用于所有训练数据后累积的总损失的平均数。

那么,为什么线性回归的损失是一个二次函数(quadratic function)呢?为什么不直接用实际值yi与预测值fi(xi)之差的绝对值来计算惩罚呢?当然可以。我们甚至可以用立方替代损失中的平方运算。

读者可能会发现,在设计一个机器学习算法时,我们做了许多看似随意的决定。例如,使用特征的线性回归预测结果,我们同样可以使用平方或其他多项式组合特征。我们也可以选择其他有意义的损失函数,如yi与fi(xi)差的绝对值和立方损失。同样,使用二元损失(binary loss)(当yi和fi(xi)不相等时为1,否则为0)也很合理。

实际上,一旦我们选择了不同的模型或损失函数,或者用不同的算法来最小化平均损失以得到最优函数,我们就创造了一个新的机器学习算法。听起来很简单吧?不过,先别急着创造新算法,因为新的不一定更好用。

通常,人们创造新的学习算法有两个目的:

新算法在解决特定实际问题时效果比现有算法更好; 新算法有更强的理论基础,以确保输入模型的质量。

下图中的回归模型是一个过拟合的例子。图中的训练数据(蓝色点)与前文所见一致。区别在于,这里的回归模型(红线)是一个10阶多项式回归。回归线对训练样本的预测结果近乎完美。

拟合示意图

  1. 对数几率回归

对数几率回归(logistic regression)并不是一个回归模型,而是一个分类学习模型。其名称源于统计学,因为其数学表达式与线性回归相似。这里我们仅解释对数几率回归在二分类问题上的应用。

问题陈述:在对数几率回归中,我们仍然希望通过xi的线性函数来建模yi。不过,当yi是二元时,问题就变得复杂了。特征的线性组合wxi+b是一个从负无穷到正无穷的函数,而yi只有两个可能的值。

在计算机发明之前,科学家需要大量手动运算,迫切需要一个线性分类模型。他们发现,如果将负标签定义为0,正标签定义为1,只需找到一个区间为(0,1)的简单连续函数。这样,当模型对x的结果接近0时,给x一个负标签;反之,给x一个正标签。

标准对数几率函数(standard logistic function),又称为sigmoid函数,就是一个具有这种特性的函数:f(x)=1/(1+e^-x)。

其中,e是自然对数的底数,也称为欧拉数(Euler's Number)。许多编程语言使用exp(x)表示ex。

sigmoid函数的曲线如下图所示。

标准对数几率回归

对数回归模型的具体表示式为: 其中包含我们在线性回归中见过的wxi+b。

通过观察标准对数几率函数的曲线,我们可以理解它如何满足我们的分类需求:如果我们正确地优化w和b的值,就可以将f(x)的结果视为yi为正值的概率。例如,如果结果大于或等于阈值0.5,我们判断x为正类;反之为负类。

在实际操作中,阈值的选择可以根据具体问题进行调整。接下来,我们如何找到最优参数w和b呢?回顾一下,线性回归中我们最小化平均误差损失,即均方误差(Mean Squared Error, MSE)。

百页机器学习图书

与其他图书不同,《机器学习精讲》仅152页就将您需要了解的所有关于机器学习的知识介绍得清清楚楚。

作者安德烈·布可夫(Andriy Burkov),加拿大魁北克市的机器学习专家。他曾领导Gartner的机器学习开发团队长达七年,专注于使用浅层和深度学习技术构建最先进的多语种文本提取和规范化系统,是机器学习领域的先锋人物。

《机器学习精讲》

作者:[加拿大] 安德烈·布可夫(Andriy Burkov) 译者:韩江雷

本书语言精炼,是机器学习领域的必备图书。涵盖了监督学习和非监督学习、支持向量机、神经网络、集成学习、梯度下降、聚类分析、降维、自编码器、迁移学习、强化学习、特征工程、超参数调试等众多核心概念和方法。

本书适合想要学习和掌握机器学习的软件从业人员、想要应用机器学习技术的数据科学家阅读,也适合一般读者参考。

全书最后提供了一个较为详尽的术语表。本书可以帮助读者了解机器学习的工作原理,并为深入了解该领域的复杂问题和进一步研究打下坚实的基础。

-END-

    本文来源:图灵汇
责任编辑: : 茂轩说科技
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
美亚易懂畅销入门不止机器简单学习
    下一篇