正式版大数据原理与实践第12次微

机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,被科研人员寄予了希望和热情。

什么是机器学习?

机器学习是人工智能研究发展到一定阶段的必然产物。20世纪50年代到70年代初,人工智能研究处于“推理期”,人们认为只要给机器赋予逻辑推理能力,机器就能具有智能。

然而,随着研究向前发展,人们逐渐认识到,仅具有逻辑推理能力是远远实现不了人工智能的。E.A.Feigenbaum等人认为,要使机器具有智能,就必须设法使机器拥有知识。在他的倡导下,从20世纪70年代中期开始,人工智能进入了“知识期”。在这一时期,大量专家系统问世,并在很多领域做出了非常大的贡献。Feigenbaum作为“知识工程”之父在年获得了图灵奖。但是,专家系统面临“知识工程瓶颈”,简单地说,就是由人来把知识总结出来再教给计算机是相当困难的。于是,一些学者想到,如果机器自己能够学习知识,那该多好!

20世纪90年代初,当时的美国副总统提出了一个重要的研究计划——国家信息基础设施计划(NationalInformationInfrastructure,NII)。在这个计划的推动下,经过大批科学家与工程师的不懈努力,人们的生活与工作方式产生了重要的改变。这个计划的技术含义主要包含了三个方面的内容:

不分时间与地域,可以方便地获得信息;

不分时间与地域,可以有效地利用信息;

不分时间与地域,可以有效地利用硬软件资源。

经过10年的努力,集计算机科学与技术近40多年的积累,终于实现了以数字网络与浏览器为核心的技术,并做到了“不分时间与地域,可以方便地获得信息”。随着云计算的发展,“有效地利用硬软件资源”也得到部分解决。然而,其“不分时间与地域,可以有效地利用信息”的目标却还未能有效实现。

“信息有效利用”问题的本质是:如何根据用户的特定需求从海量数据中建立模型或发现有用的知识。对计算机科学来说,这就是机器学习(MachineLearning,ML)。

年,美国航空航天局JPL实验室的科学家在Science上撰文指出:“每个科学领域的科学过程都有它自己的特点,但是,观察、创立假设、根据决定性实验或观察的检验、可理解检验的模型或理论,是各学科所共有的。对这个抽象的科学过程的每一个环节,机器学习都有相应的发展,我们相信它将导致科学方法中从假设生成、模型构造到决定性实验这些所有环节的合适的、部分的自动化。当前的机器学习研究在一些基本论题上正取得令人印象深刻的进展,我们预期机器学习研究在今后若干年中将有稳定的进展”。这个提法是令人惊讶的,大大超过了机器学习研究者的奢望,因为他们从未指望在科学研究的整个过程(观察、假设、实验、检验、模型或理论)中扮演如此重要的角色。

计算机科学,特别是人工智能的研究者一般公认Simon对学习的论述:“如果一个系统能够通过执行某个过程改进它的性能,这就是学习”。这是一个相当广泛的说明,其要点是“系统”,它涵盖了计算系统、控制系统以及人工系统等,对这些不同系统的学习,显然属于不同的科学领域。即使计算系统,由于目标不同,也分为了“从有限观察概括特定问题世界模型的机器学习”、“发现观测数据中暗含的各种关系的数据分析”,以及“从观测数据挖掘有用知识的数据挖掘”等不同分支。由于这些分支发展的各种方法的共同目标都是“从大量无序的信息到简洁有序的知识”,因此,它们都可以理解为Simon意义下的“过程”,也就都是“学习”。本章将讨论限制在“从有限观察概括特定问题世界模型的机器学习”与“从有限观察发现观测数据中暗含的各种关系的数据分析”的方法上,并统称其为机器学习。显然,相对Simon的论述,这只是相当狭义的学习。

学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。至今,还没有统一的“机器学习”定义,而且也很难给出一个公认的和准确的定义。

比如,Langley()定义的机器学习是“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。Mitchell()在其著作MachineLearning中定义机器学习时提到,“机器学习是对能通过经验自动改进的计算机算法的研究”。Alpaydin()同时提出自己对机器学习的定义,“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”

可以认为,机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。

机器学习和数据挖掘的关系

上次课讲到的数据挖掘和机器学习也有着不同之处。数据挖掘是一个直接为实际应用而生的学科领域,受到了很多学科领域的影响,其中数据库、机器学习、统计学的影响无疑是最大的。数据库提供数据管理技术,机器学习和统计学提供数据分析技术。由于统计学领域的研究者往往醉心于理论的优美而忽视实际的效用,提供的很多技术通常都要在机器学习领域进一步研究,变成有效的机器学习算法之后才能再进入数据挖掘领域。从这个意义上说,统计学主要是通过机器学习来对数据挖掘发挥影响,而机器学习和数据库则是数据挖掘的两大支撑技术。

从数据分析的角度来看,绝大多数数据挖掘技术都来自机器学习领域。但能否认为数据挖掘只不过就是机器学习的简单应用呢?答案是否定的。一个重要的区别是,传统的机器学习研究并不把海量数据作为处理对象,很多技术是为处理中小规模数据设计的,如果直接把这些技术用于海量数据,效果可能很差,甚至可能用不起来。因此,数据挖掘界必须对这些技术进行专门的、非简单的改造。例如,决策树是一种很好的机器学习技术,不仅有很强的泛化能力,而且学得结果具有一定的可理解性,很适合数据挖掘任务的需求。但传统的决策树算法需要把所有的数据都读到内存中,在面对海量数据时这显然是无法实现的。为了使决策树能够处理海量数据,数据挖掘研究者做了很多工作,例如通过引入高效的数据结构和数据调度策略等来改造决策树学习过程,而这其实正是在利用数据库领域所擅长的数据管理技术。

机器学习的发展历史

回顾机器学习发展历史的动机主要是为了警示我们注意那些本质不能做的事情,以避免重复历史上已经发生过的错误。另外,提示我们







































北京白癜风医院那家最好
白癜风的危害



转载请注明:http://www.92nongye.com/gaishu/204615413.html