《机器学习与R语言(原书第2版)》一1.3 机器如何学习

简介: 机器学习的一个正式定义是由计算机科学家Tom M. Mitchell提出的:如果机器能够获取经验并且能利用它们,在以后的类似经验中能够提高它的表现,这就称为机器学习。尽管这个定义是直观的,但是它完全忽略了经验如何转换成未来行动的过程,当然学习总是说起来容易做起来难。

本节书摘来自华章出版社《机器学习与R语言(原书第2版)》一书中的第1章,第1.3节,美] 布雷特·兰茨(Brett Lantz) 著,李洪成 许金炜 李舰 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 机器如何学习

机器学习的一个正式定义是由计算机科学家Tom M. Mitchell提出的:如果机器能够获取经验并且能利用它们,在以后的类似经验中能够提高它的表现,这就称为机器学习。尽管这个定义是直观的,但是它完全忽略了经验如何转换成未来行动的过程,当然学习总是说起来容易做起来难。
虽然人类大脑从出生就自然地能够学习,但计算机学习的必要条件必须要明确给出。基于这个原因,尽管理解机器学习的理论不是严格必需的,但这个基础还是有助于理解、区分和实现机器学习算法。
当你比较机器学习和人类学习时,会发现你正在从不同角度来检视自己的思维。
无论学习者是人还是机器,基础的学习过程都是类似的。这一过程可以分解为如下4个相关部分:
数据存储:利用观测值、记忆存储,以及回忆来提供进一步推理的事实依据。
抽象化:涉及把数据转换成更宽泛的表示(broader representation)和概念(concept)。
一般化:应用抽象的数据来创建知识和推理,从而使得行动具有新的背景。
评估:提供反馈机制来衡量学习的知识的用处以便给出潜在的改进之处。
下图展示了学习过程的步骤:


6e9bdb65d09c5e50629f4b0b24fc7f65e54b6bb8



记住,尽管学习过程在概念上分解为4个不同的部分,但是这仅仅是为了便于阐述才这么归类的。事实上,学习的这4个部分是紧密相连的。对人类来说,整个过程都是下意识地发生的。我们收集数据,推理数据,归纳数据,最后用心灵的“眼睛”发现规律,因为这个过程是潜在的,所以人与人之间的任何不同都归功于主观性这一模糊的概念。然而对于一台计算机来说,这些步骤是显式的,因为整个过程是透明的,所以学习到的知识能在未来行动中被检验、转换和应用。

1.3.1 数据存储

所有的学习必须从数据开始。人类和计算机都用数据存储作为更高级推理的基础。对于人类,这由大脑构成,大脑应用生物细胞网络中的电化信号存储和处理短期或者长期回忆的观测值。计算机使用硬盘、闪存、随机存储器(RAM)以及中央处理器(CPU)来存储短期和长期的回忆。
这样说看起来很显然,但是仅仅存储和获取数据的能力对于学习是不够的。如果没有更深的理解,知识仅局限于回忆,那么意味着除了以前已经见到过的以外,没有获取其他更多的信息。数据在硬盘上就是0和1。它们是存储的记忆,没有更多的意义。
为了更好地理解这个思想的细微之处,想象一下你最近一次参加的一场高难度的考试,该考试可能是大学里的一次期末考试或者一次资格证书考试。在考试之前,你想有过目不忘的本事吗(就像拍照那样)?如果你这么想过,当你知道过目不忘的本事不可能帮助你太多时,你可能会失望。即使你全部记住了这些材料,你的死记硬背也是没有用的。除非你提前知道考试中会出现的确切问题和答案。否则,你将被局限于试图把所有会考的问题的答案都记忆下来。显然,这种方式不具备持久性。
更好的方法是,花费时间选择并记住一部分有代表性的观点,同时对这些观点的相关性和如何应用已经记住的信息进行有策略的开发。这样,不用死记硬背就可以理解大量的观点。

1.3.2 抽象化

给数据赋予含义的工作是在抽象化过程中进行的,在这一步中,原始数据具有了更抽象的含义。对象(object)和它们的表示(representation)之间的联系可以用René Magritte(雷内·马格利特)的著名画作《The Treachery of Images》(图像的背叛)来说明,如下图所示。


c44b777a104e4195d25be10f276bacc0d339c3c3



这幅画展示了一个烟斗和一行字“Ceci n'est pas une pipe”(这不是一个烟斗)。Magritte想要表达的观点是,表现出来的烟斗并不是一个真实的烟斗。尽管事实上那个烟斗并不真实,但是任何看到这幅画的人都能很轻易地认出这张照片展示了一个烟斗,这表明观察它的人的思想能够连接图画中的烟斗和观念中的烟斗,接着就和真实的那种能拿在手里的烟斗联系在一起。像这样的抽象连接是知识表示的基础,是帮助把原始的感官信息转变成有意义洞察的逻辑结构信息的基础。
在知识表示的过程中,计算机用一个模型来概括存储的原始数据,这个模型是数据中模式的一个显式描述。就像Magritte的烟斗一样,模型表示用到了原始数据之外的生活常识。它表达了一个超过所有部分之和的概念。
有很多种不同类型的模型,你可能对其中的一些模型比较熟悉。例如:
数学方程。
像树和图这样的关系图。
逻辑上的如果/否则(if/else)关系。
把数据分组为类。
模型的选择通常不是由机器来完成的,而是由学习任务和可用的数据类型来决定的。本章的后续部分将详细地讨论选择模型类型的方法。
用模型来拟合数据集的过程称为训练。当模型被训练后,数据就转换为一种汇总了原始信息的抽象形式。
你可能疑惑:为什么这一步骤称为训练而不称为学习呢?第一,注意学习的过程不会因为数据抽象化过程的结束而终止。学习者还必须一般化和评估其训练。第二,“训练”这个词更好地隐含着人类老师以某种特定方式训练机器学生来理解数据这个事实。
必须指出的是机器学习模型自身并不会提供新的数据,但是它的确会带来新的知识。怎么会这样呢?其答案是:通过假定数据元素如何关联的一个概念,把假定的结构应用在基础数据上来给出对不可见现象的洞察。例如万有引力的发现过程。通过用方程来拟合观测的数据,Isaac Newton(艾萨克·牛顿)爵士推导出了万有引力的概念。但是我们现在知道万有引力原本就是一直存在的,只是在牛顿发现它之前它没有被认识到,直到牛顿以抽象概念的方式认识了它,这些概念把一些数据和其他数据相关联,特别是把它变成用来解释观测到的落下来的物体模型中的参数g,它才被作为一个概念来认识。

95a6ca782fd55c831208bff0f1b66770b19f0ba4



几个世纪以来,大多数的模型并没有导致科学观念在理论方面的发展。但是模型仍然可发现数据中原来无法看清的关系。由染色体数据所训练的模型可能会发现多个基因之间的结合导致糖尿病出现的情况;银行可能会发现一个表面上没有危害的交易类型总是有规律地出现在诈骗活动之前;心理学家可能发掘出几个特征的结合暗示了一个新的心理失调的出现。内在模式是永远存在的,但是通过用不同的格式把信息概念化,一个模型新的想法就被概念化了。

1.3.3 一般化

直到学习者能够把抽象知识应用到未来的行动中去,学习过程才算完成。在抽象化的过程中可能发现无数的内在模式,同时还有多种方法对这些模式建模,有些模式会比其他模式更有用。除非抽象化的过程有所限制,否则学习者将不能继续。此时学习过程仍旧会卡在问题的起点—空有大量的信息但是没有可以转化为行动的洞察。
一般化这个术语描述了把抽象化的知识转换成可以用于未来行动的一种形式的过程,这些行动针对和以前类似但不完全相同的任务。某种程度上,一般化是一个难以描述的模糊过程。从传统意义上来说,它被想象成训练过程中对所有可用于数据抽象化的模型(即理论或者推理)的搜索过程。换句话说,如果你设想一个包含所有从数据建立的可能模型(或理论)的集合,一般化就是把这个集合中的理论的数量减少到一个可以管理的数目。
一般而言,通过逐一检验模式并对它们未来应用进行排序的方式来减少模式的数量是不可行的。机器学习算法一般应用一些能快速缩小搜索空间的捷径方法。为了这个目的,算法应用启发式方法,它们有训练地猜测在何处能找到最有用的推理。
由于启发式方法利用相近原理和其他一些经验法则,所以它不能保证找到单一的最优模型。然而,如果不利用这些捷径方法,从大的数据集中找到有用信息的任务就变得不可能了。
启发式方法通常被人类用来快速地把经验推广到新的场景(new scenario)。如果你曾经在充分评估你的情况之前应用直觉来做出快速决定,那么你已经不自觉地使用了精神启发式方法。
人们快速决策的非凡能力通常不是依赖于计算机式的逻辑,而是由情绪所引导的启发式方法。有时候,这种决策会得到不合逻辑的结论。例如,尽管统计上的结果是汽车更加危险,但很多人还是认为飞机旅行比汽车旅行更可怕。这可以由已有的启发式方法来解释,即人们通过对回忆过去案例的难易程度来判断一个事件可能性的倾向。有关飞行旅行的事故会被高度宣传,这种令人震惊的事件更容易被人们回想起来,然而汽车事故却鲜有刊登在报纸上。
误用启发式方法的愚蠢并不局限于人类。机器学习算法应用启发式方法有时也会导致错误的结论。如果算法的结论是系统性的谬误或者错误,就说该算法有偏差。
例如,假设一个机器学习算法学习通过寻找位于(表示嘴巴的)一条线上方两侧的两个(表示眼睛的)圆来识别人脸。这个算法可能在识别那些不符合这个模型的人脸时出现问题,或者说产生偏差。算法不能识别的人脸可能包括戴眼镜、转动一定角度、侧视或者有深色皮肤的人脸。类似地,对那些特定肤色、脸型或者其他不同于机器所理解的世界(即其他特征的人脸)的特征,机器就会产生偏差。


a1b62cb33362bc505277fedf1e1f9ab18be48074



现代用法中,“偏差”一词带有负面的含义。各种形式的媒体都经常宣称没有偏见,声称客观报道事件,没有受情绪左右。但是,细想想,其实有一点偏差也许是有用的。如果没有任何的专断,在几个各有长处和短处的相互竞争的选项中做出选择就变得困难了。确实,当今心理学领域的一些研究指出,出生时就损坏了掌管情绪的那部分大脑的人在做决定时是无所适从的,他们可能花费几个小时来纠结一些简单的决定,比如穿什么颜色的衬衫或者在哪里吃饭。矛盾的是,有时候偏差会使我们无视一些信息,它同时又让我们能够应用一些其他的信息来行动。用来理解一个数据集的方法有无数个,机器学习算法就是如何在其中进行选择。
1.3.4 评估
偏差是与任何机器学习任务的抽象化和一般化这两个过程相联系的不可避免的谬误。为了在面对无数可能的选项时采取行动,每一个学习者都必然以特定的方式具有偏差。因而,每一个学习者都有其弱点,没有一个模型可以胜过所有其他模型。因此,一般化过程的最后一步就是在存在偏差的情况下评估或者判断模型的成功性,并且必要时应用这些信息进行进一步的训练。
一旦你在一个机器学习技巧上取得成功,你可能就想把它应用到每一个任务。抵制这种诱惑是很重要的,因为没有一种机器学习方法在任何场景下都是最优的。这个事实在David Wolpert于1996年发表的“No Free Lunch”(没有免费午餐)理论中有论述,参见 http://www.no-free-lunch.org
一般而言,在初始数据集上训练模型后对模型进行评估。然后,在一个新数据集上对模型进行检验,以便判断从训练数据得到的特征推广到新的未知数据的好坏程度。值得注意的是,一个模型完美地推广到所有未预见过的情况是极端罕见的。
在某种程度上,由于数据中的噪声或者无法解释的波动导致模型不能完美地一般化。噪声数据是由看起来随机的事件所导致的,比如:
测量错误,由于传感器的不精准,有时候会导致读出的数据增加一些或者减小一些。
与人类主观性有关的问题,比如被调查者为了尽快完成调查问卷,就随意回答问题。
数据质量问题,包括数据的缺失、空值、截断、错误编码或者取值冲突。
太复杂或者很少了解的现象,它们以非系统性的方式影响数据。
试图用模型拟合噪声就是称为过度拟合问题的基础。因为根据定义,噪声是无法解释的,尝试解释噪声会导致错误的结论,该结论不能推广到新的场景中。尝试建立解释噪声的理论也会导致模型更加复杂,从而极有可能忽略了学习者努力去寻找的真实的模式。一个模型在训练时表现得很好,但是当评估时就表现很差的现象,称为过度拟合了训练数据集,即它不能很好地一般化到测试数据集。

e184a79736fd5616554893974e851ac4d5a7d520



过度拟合问题的解决办法视具体的机器学习方法而不同。就现在而言,重要的是要意识到问题的存在。模型处理噪声数据的好坏是判断模型成功与否的一个重要方面。
相关文章
|
3月前
|
机器学习/深度学习 算法 Python
集成学习(上):机器学习基础task1-熟悉机器学习的三大主要任务
集成学习(上):机器学习基础task1-熟悉机器学习的三大主要任务
35 0
|
3月前
|
机器学习/深度学习 算法
机器学习 - [集成学习]Bagging算法的编程实现
机器学习 - [集成学习]Bagging算法的编程实现
32 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
97 0
|
2天前
|
机器学习/深度学习 缓存 算法
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例-2
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例
21 5
|
2月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
55 1
|
11天前
|
机器学习/深度学习 人工智能 运维
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
|
24天前
|
机器学习/深度学习 弹性计算 数据可视化
玩ST、肿瘤研究的来学习一下!16分Nature子刊的单细胞空间转录组+机器学习
Nature Communications 发表了一项关于空间转录组和机器学习在肿瘤研究中的应用。研究聚焦于HPV阴性口腔鳞状细胞癌,通过整合单细胞和空间转录组分析,揭示了肿瘤核心(TC)和前沿边缘(LE)的独特转录特征。TC和LE的基因表达模式与多种癌症的预后相关,其中LE基因标志关联不良预后,而TC则与较好预后相关。利用机器学习,研究人员建立了预测模型,识别出跨癌症类型的保守TC和LE特征。此外,他们还分析了RNA剪接动态,发现了潜在的治疗脆弱性。这项工作为肿瘤生物学和靶向治疗提供了新见解,并为药物开发提供了依据。
24 0
|
1月前
|
机器学习/深度学习 数据可视化 算法
从零到精通:学习这些R语言必学包成为数据分析高手!
从零到精通:学习这些R语言必学包成为数据分析高手!
38 0
|
2月前
|
机器学习/深度学习 自然语言处理 算法
从零开始学习机器学习
【2月更文挑战第3天】机器学习是一种人工智能技术,它可以通过计算机程序来自动化地进行数据分析和预测。本文将从零开始介绍机器学习的基本概念和算法,为您打开机器学习的大门。
17 0

热门文章

最新文章