机器学习研究与应用新进展
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章机器学习研究与应用新进展
徐从富李石坚王金龙
(浙江大学人工智能研究所,杭州 310027)
2005年10月7日第一稿
2006年10月16日第二稿
10.1 机器学习研究与应用综述
10.1.1 机器学习的发展概况
机器学习(Machine Learning)不仅是人工智能的一个核心研究领域,而且已成为整个计算机领域中最活跃、应用潜力最明显的领域之一,它扮演着日益重要的角色。近年来,欧美各国都投入了大量人财物进行机器学习的研究和应用,Intel、IBM、波音、微软、通用电器等大型公司也积极开展该领域的研究和开发,而且已有不少研究成果进入产品。美国航空航天局JPL实验室的科学家们在2001年9月出版的《Science》上撰文指出:“机器学习对科学研究的整个过程正起到越来越大的支持作用,……,该领域在今后的若干年内将取得稳定而快速的发展。”此外,机器学习研究的热门程度还可以从该领域的国际权威期刊《机器学习研究学报》(Journal of Machine Learning Research,简称JMLR)的影响因子(Impact factor)看出,据美国科学引文检索公司(ISI)统计,2004年该学报的影响因子已达到5.952,这是除了《ACM计算综述》(ACM Computing Survey)以外影响因子最高的计算机类期刊。需要特别说明的是,《ACM计算综述》每年只发表12篇世界级权威计算机专家关于某个研究方向最新研究进展的综述文章,一般并不发表研究论文,2004年其影响因子为10.037。
1997年Tom M. Mitchell在“Machine Learning”一书中给出了机器学习的经典定义——“计算机利用经验改善系统自身性能的行为。”还有人认为,机器学习是“神经科学(含认知科学)+数学+计算”的有机结合,数学则填补了神经科学与计算之间的鸿沟。与很多新兴学科一样,机器学习也是一个多学科交叉的产物,它吸取了人工智能、概率统计、神经生物学、认知科学、信息论、控制论、计算复杂性理论、哲学等学科的成果。实践证明,机器学习在很多应用领域发挥了重要的实用价值,特别是在数据挖掘、语音识别、图像识别、机器人、车辆自动驾驶、生物信息学、信息安全、遥感信息处理、计算金融学、工业过程控制等
领域取得了令人瞩目的成果。
一般来说,机器学习的研究起点最早可追溯到19世纪末的神经科学,特别是James发现了神经元是相互连接的现象。随后,在20世纪30年代,McCulloch 和Pitts发现了神经元的“兴奋”和“抑制”机制,20世纪中叶,Hebb发现了“学习律”,等等。在上述神经生物学研究成果的基础上,机器学习的发展大致可分为两条重要主线。一条主线是:以Barlow提出的功能单细胞假设为依据,Rosenblatt于1956年提出了感知器,在随后的近30年时间里,Samuel等人提出的“符号机器学习”方法一直处于主导地位,1969年Minsky开始研究线性不可分问题,1986年Rumelhart提出了著名的后向传播(BP)神经网络,20世纪90年代Vapnik等人提出了针对有限样本的统计学习理论和支持向量机(SVM),等等。另一条主线是:以Hebb提出的神经集合体假设为依据,1960年Widrow提出了Madline以解决平凡解问题,1984年Valiant提出了PAC,1990年Schapire 提出了弱学习定理,1995年Freund和Schapire提出了AdaBoost算法,在上述研究成果的基础上,逐渐形成了泛化理论。需要说明的是,在符号机器学习方面,1959年Solomonoff关于文法归纳的研究应该是最早的符号机器学习,Samuel将学习限制在结构化数据,由此学习演变为约简算法,这是现代符号机器学习的基础。如果将每条规则理解为一个分类器,符号机器学习是也可算作是Hebb路线的产物。此外,1967年哥德尔从数学上证明了符号机器学习是不可能完全实现的。
10.1.2 机器学习的研究内容
一般来说,一个典型的机器学习系统(如图10.1所示)都包括下面4个程序模块:
(1) 执行系统(Performance System)。其主要功能是用学会的目标函数来解决给定的任务。
(2) 鉴定器(Critic)。它以解答路线或历史记录作为输入,输出目标函数的一系列训练样本。
(3) 泛化器(Generalizer)。它以训练样本作为输入,产生一个输出假设,作为它对目标函数的估计。它从特定的训练样本中泛化,猜测一个一
般函数,使其能够覆盖这些样本以及样本之外的情形。
(4) 实验生成器(Experiment Generator)。它以当前的假设(即当前学到的目标函数)作为输入,输出一个新的问题供执行系统去探索。
设计一个机器学习系统通常要解决如下几方面的问题:(1)选择训练经验。它包括:如何选择训练经验的类型,如何控制训练样本序列,以及如何使训练样本的分布与未来测试样本的分布相似等子问题。(2)选择目标函数(Target function)。不难发现,所有的机器学习问题几乎都可简化为学习某个特定的目标函数的问题,而且这样的简化对解决实际问题是非常有益的,因此,目标函数的
学习、设计和选择是机器学习领域的关键问题。(3)选择目标函数的表示。对于一个特定的应用问题,在确定了理想的目标函数后,接下来的任务是必须从很多(甚至是无数)种表示方法中选择一种最优或近似最优的表示方法。
图10.1 一个典型的机器学习的基本组成模块
Tom M. Mitchell认为,机器学习致力于解决的主要问题有:
(1) 存在什么样的算法能从特定的训练样本中学习一般的目标函数?如果提供了充足的训练样本,在什么条件下会使特定的算法收敛到期
望的函数?哪个算法对哪些问题的性能最好?
(2) 多少训练样本是充足的?怎样找到假设的置信度与训练样本的数量及提供给学习器的假设空间特性之间的一般关系?
(3) 学习器拥有的先验知识是怎样引导从样本进行泛化的过程的?当先验知识仅仅是近似正确的,它们会有帮助吗?
(4) 关于选择有效的后续训练经验,什么样的策略最好?这个策略的选择将如何影响学习问题的复杂性?
(5) 怎样把学习任务简化为一个或多个函数逼近问题?也就是说,系统试图学习哪些函数?这个过程本身能否自动化?
(6) 学习器怎样自动地改变表示法来提高表示和学习目标函数的能力?
10.1.3 研究现状与发展趋势
显然,任何一个没有学习能力的系统都很难被认为是一个真正的智能系统,但随着机器学习研究及应用的不断发展,尽管“学习机制”还是研究动力之一,然而,“烦恼的网络”危机使得更为重要的推动力来自“有效利用”信息。当前,很多传统领域借用机器学习来提高研究水平,应用驱动的机器学习方法层出不穷,特别是基于机器学习的数据分析方法已成为解决复杂问题的关键技术之一,因此,当前机器学习的角色也逐渐发生了转变,已发展到一个新阶段。主要体现