什么是机器学习:一次权威定义之旅

在这篇文章中,我想要解决一个很简单的问题:机器学习是什么?

你可能对机器学习感兴趣或者稍稍了解。如果有一天你和朋友或同事聊起机器学习,那么一些人可能会问你“机器学习是什么”。那么,此文的目标就是告诉你一些可参考的定义,以及一个现成的、容易记起的趣味定义。

我们将从了解该领域的权威书籍上关于机器学习的标准定义出发,并且以得出机器学习的一种程序员定义和我们被问及什么是机器学习时一个随时可以使用的现成的笑话为结束。

权威定义

我们先从阅读四本大学课程中常用的机器学习参考书开始。这些是我们的权威定义,它们为我们更加深入地思考这个学科奠定了基础。我选择这四本书来强调该领域的一些有用的、多样的观点。经验告诉我们,这个领域确实是包括很多的方法,因此选择一个合适的角度是取得进展的关键。

Mitchell定义的机器学习

Tom Mitchell在他的《Machine Learning(中文版:计算机科学丛书:机器学习 )》一书的序言开场白中给出了一个定义:

“机器学习这门学科所关注的问题是:计算机程序如何随着经验积累自动提高性能。”

我喜欢这个简单明了的定义,它是我们在帖子最后得出的程序员定义的基础。注意计算机程序这一提法和提到的“自动提高”一词。写程序以改善它们自身,这是挑衅!

他在引言中多次重复提到一个简短的形式体系:

“对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习。”

不要让术语的定义把你吓跑,这是一个非常有用的形式体系。我们把这一形式体系作为一个模版,把经验E、任务T和性能度量P列在一张表的顶部,并且列 出带有更少歧义的复杂问题。它可以作为一个设计工具来帮助我们清楚的思考收集什么样的数据(E),需要做出什么样的决策(T),以及如何评价结果(P)。 这就是我们把它作为一个标准定义的原因。请把它记在心里。

统计学习基础

《The Elements of Statistical Learning: Data Mining, Inference, and Prediction》是由三个斯坦福的统计学家编写的,它自我描述为组织探究他们领域的统计框架。它在前言中写到:

“许多领域都产生了大量的数据,统计学家的工作就是让所有这些数据变得意义:提取重要的模式和趋势,理解“数据在说什么”。我们称之为从数据中学习。”

我所理解的统计学家的工作是,使用统计工具在上下文环境中解译数据。作者似乎想要把机器学习领域中的全部作为辅助工具。有趣的是,他们选择把“数据挖掘”包含在书的标题中。

统计学家从数据中学习,但软件也可以,并且我们是从软件学习到的事情中学习,从由多种多样的机器学习方法做出的决策和得出的结果中学习。

模式识别

Bishop在《 Pattern Recognition and Machine Learning 》的前言中写到:

“模式识别起源于工程学,而机器学习产生于计算机科学。然而这些领域可以看做成是同一领域的两个方面。”

看了这些,你会获得这样一个印象,Bishop从一个工程的角度来到这个领域,后来又采取同样的方法学习和利用了计算机科学。这是一个我们应该效仿 的成熟方法。更广泛地说,不管一个方法所宣称的领域,如果它能够通过从数据中学习使得我们获得一个更接近的洞察力或结果,从而更符合我们的需要,那么,我 们就称之为机器学习。

算法角度

Marshland在《Machine Learning: An Algorithmic Perspective》中采用了Mitchell对于机器学习的定义。他在序言中提供了一个促使他写下这本书的强有力的解释:

“机器学习最有趣的特征之一就是,它介于几个不同理论学科之间,主要是计算机科学、统计学、数学和工程学。机器学习经常被作为人工智能的一部分来进 行研究,这把它牢牢的置于计算机科学中。理解为什么这些算法能够有效工作需要一定的统计学和数学头脑,这往往是计算机科学专业的本科生所缺少的能力。”

这是深刻并有益的。首先,他强调该领域的多学科性质。虽然我们已经从上面的定义中获得了这样一种感觉,但他为我们进一步强调了这一点,机器学习来源 于各种各样的信息科学。第二,他强调了过于坚持一个给定的角度的危险性。特别是,算法工程师避开一个方法的数学内部运作原理的情况。毫无疑问,相反的情 况,统计学家避开实现和部署的实际问题也是同样受限的。

维恩图解

2010年9月,Drew Conway创建了一个漂亮的维恩图,我发现这个图是很有帮助的。他在解释中评论到,机器学习就是黑客技能、数学和统计学知识的加和。

数据科学维恩图。归属于Drew Conway,是一种知识共享许可的非商业归属。

他还把危险区域描述为黑客技能与专业知识的加和。这里,他所指的是,那些了解得足够多的人是危险的。他们能够访问和构建数据,了解这个领域,还能运行一种方法并给出结果,但是他们并不理解结果的含义。我认为这就是Marsland曾经可能暗示的意思。

程序员定义

现在我们来谈谈,要想把所有这些问题分解为具体细节,程序员需要做些什么。首先,我们来看看抵制我们分解和程序的解决方案的复杂问题。这构成机器学习的动力。然后,我们需要找出一个适合于程序员的定义,一个每当其他程序员问我们什么是机器学习时我们就可以使用的定义。

复杂问题

作为一名程序员,你最终将会遇到很多类型的顽固抵制逻辑的、程序的解决方案的问题。我的意思是,对于很多类问题,坐下来写出解决问题所需要的所有条件语句是既不可行也不划算的。

我听到你的程序员大脑在大喊,“亵渎”。

这是真的,以每天的鉴别垃圾邮件问题为例,每当介绍机器学习时,它是一直被使用的例子。当一封邮件到来时,你将怎样写一个程序来过滤垃圾邮件,决定是将它放在垃圾箱还是收件箱中?

你将可能开始收集一些实例并深入研究它们,你将寻找垃圾邮件和非垃圾邮件所特有的模式,你还将会考虑抽象出那些模式以便你的启发式学习将来能够应用 到新案例之中。你将会忽视那些永远不会被看到的古怪邮件,你将能够轻松的提高准确率并为边界情况制定特殊的程序。你将反复多次的浏览邮件并抽象出新模式来 改善做出的决策。

在那里有一个机器学习算法,所有这些事情都由程序员而不是电脑来完成。这种手动导出的硬编码系统将具有同程序员一样的、从数据中提取规则并将其实现的能力。

这能够做到,但是它将花费太多的资源,而且会是一个持续的噩梦。

机器学习

在上面的例子中,我确信你下定决心寻求自动化的那一部分程序员大脑,能够看到自动化和优化从例子中提取模式这一过程的机会。机器学习方法就是这样一个自动化过程。

在垃圾/非垃圾邮件的例子中,经验E就是我们所收集的邮件,任务T是一个决策问题(也称为分类),它需要标记每一封邮件是否为垃圾邮件,并将其放入 到正确的文件夹中。我们的性能度量将是一些类似于准确率之类的、介于0%-100%之间的一个百分比(正确决策数除以总的决策数再乘以100)。

准备这样一个决策程序的过程通常被称为训练,收集到的实例称为训练集,程序即为一个模型,一个把非垃圾邮件从垃圾邮件的分离出来的问题的模型。作为 程序员,我们喜欢这个术语,一个模型具有特定的状态并且需要被保持,训练是一个执行一次的过程,也可能会根据需要重新运行,分类是待完成的任务。这些对我 们来说都是有意义的。

我们能够看到上面定义中所用到的术语并不是很适合于程序员。从技术上来说,我们写的所有的程序都是一个自动化操作,因此,机器学习是自动化学习的这一说明是没有意义的。

一个现成的小笑话

那么,让我们来看看我们是否可以使用这些片段,构建一个机器学习的程序员定义。

机器学习是一个源于数据的模型的训练过程,最终归纳出一个面向一种性能度量的决策。

“训练一个模型”代表训练实例,“模型”表示通过经验学习获得的状态,“归纳出一个决策”代表基于输入做出决策的能力,并且需要一个用于未来决策的、不可见的预期输入。最后,“面向一种性能度量”是指准备好的模型的针对性需要和定向特性。

我不是诗人,你能想出一个更准确、更简洁的机器学习的程序员定义吗?请留下你的评论。

资源

在帖子中我已经给出了相应的链接,另外,如果你想要进一步深入阅读,我还在下面列出了一些有用的资源。

本文作者:佚名

来源:51CTO

时间: 2024-10-27 11:11:11

什么是机器学习:一次权威定义之旅的相关文章

一文读懂机器学习,大数据/自然语言处理/算法全有了……

作者:计算机的潜意识 在本篇文章中,我将对机器学习做个概要的介绍.本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践.这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核.当然,本文也面对一般读者,不会对阅读有相关的前提要求. 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前.相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者

机器学习,因为难,所以有兴趣---史上最强----机器学习经典总结---入门必读----心血总结-----回味无穷(转)

http://www.cnblogs.com/hellochennan/p/5423740.html 让我们从机器学习谈起 导读:在本篇文章中,将对机器学习做个概要的介绍.本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践.当然,本文也面对一般读者,不会对阅读有相关的前提要求.   在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?   我并不直接回答这个问题前.相反,我想请大家看两张图,下图是图一: 图1 机器学习界

转载:从机器学习谈起

在本篇文章中,我将对机器学习做个概要的介绍.本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践.这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核.当然,本文也面对一般读者,不会对阅读有相关的前提要求. 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前.相反,我想请大家看两张图,下图是图一:  图1 机器学习界的执牛耳者与互联网界的大鳄的联

众说纷纭,机器学习究竟是什么

所谓数据科学家,是指那些能够利用最合适的工具与方法完成自身工作的专业人士.最出色的数据科学家能够将自己完整的知识集与模式发现方案充分利用于统计分析工作当中. 我们应该如何对科学技术数据的积累总和进行查阅?通常来讲,这要用到所谓"高级分析"机制.这句话在表述上故意显得比较模糊,其核心在于将一切技术手段纳入其中--包括统计分析.数据挖掘.可预测模型.自然语言处理以及支持向量机等等. 在一般人的印象中,"数据挖掘"的涵盖范围很广.大部分相关工作似乎都能划归其下,包括对于隐

机器学习专家眼中最具硅谷文化中国企业

中介交易 SEO诊断 淘宝客 云主机 技术大厅 大数据时代,机器学习成为抓住商机的技术利器,人工智能的开发对于海量数据的挖掘来说意义非凡.中国百分之九十五的网民都是百度的用户,数亿网民每天的搜索数据形成了庞大数据库,这正是机器学习和数据训练的重要基石.百度作为全球最大的中文搜索引擎在逐步的数据积累中愈发重视机器学习领域的技术工作,也吸纳了不少机器学习领域的专家学者参与百度的技术开发. 美国新泽西州立大学的张潼教授是机器学习领域的权威专家,在工业界有着多年的产品研发经验,在学术界也有着丰富的大学教

人工智能和机器学习如何颠覆零售行业?

根据IDC预测,人工智能(AI)预计将在客户旅程.共赢网络.商品化.市场营销和商务领域普遍存在.例如,在未来两年: - 40%的数字转型项目将得到认知计算和人工智能的支持,为运营和变现新模式提供关键的.及时的洞察 - 30%的零售商将采用零售全渠道商业平台,整合了集中编排全渠道能力的数据分析层 有一件事情是很清楚的:正如我们所了解的那样,新的分析技术预计将从根本上改变分析--和零售行业. 零售背景下定义人工智能和机器学习 人工智能被广泛定义为计算机模仿人类思维和逻辑的能力.机器学习是人工智能的一

《构建实时机器学习系统》一1.5 实时机器学习的分类

1.5 实时机器学习的分类 按照实际应用中采用的方式不同,实时机器学习可以分为硬实时.软实时和批实时三种模式,下面将分别进行介绍. 1.5.1 硬实时机器学习 硬实时的定义是:响应系统在接收到请求之后,能够马上对请求进行响应反馈,做出处理.硬实时机器学习的主要应用场景是网页浏览.在线游戏.高频交易等对时效性要求非常高的领域.在这些领域中,我们往往需要将相应延迟控制在若干毫秒以下.对于高频交易等场景,更是有不少计算机软件.硬件专家,开发出了各种专有模块以在更短的时间内完成交易,获得超额利润. 在本

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

本节书摘来自华章出版社<机器学习与R语言(原书第2版)>一书中的第1章,第1.3节,美] 布雷特·兰茨(Brett Lantz) 著,李洪成 许金炜 李舰 译更多章节内容可以访问"华章计算机"公众号查看. 1.3 机器如何学习 机器学习的一个正式定义是由计算机科学家Tom M. Mitchell提出的:如果机器能够获取经验并且能利用它们,在以后的类似经验中能够提高它的表现,这就称为机器学习.尽管这个定义是直观的,但是它完全忽略了经验如何转换成未来行动的过程,当然学习总是说起

7步掌握Python机器学习

"开始",是一个令人激动的字眼.然而万事开头难,当你拥有过多的选择时,往往就会不知所措. 我们希望借助免费.便捷的在线资源,帮助你完成从小白到大牛的蜕变.这篇文章将会回答如何选择资源.如何拓展学习以及按怎样的顺序学习等一系列问题. 我们要开始了!首先假定你还不具备以下技能: 精通机器学习 熟练掌握Python 熟悉其他Python相关包 使用Python的经验或许对后面的学习有帮助,但并不是必需的.在最初的几步多花些时间和功夫也可以弥补这些欠缺. 第1步:Python基本技能 如果我们