2012年4月21日星期六

强化学习

http://wenku.baidu.com/view/de82322d2af90242a895e588.html


强化学习

百科名片

强化学习(reinforcement learning,又称再励学习,评价学习)是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。但在传统的机器学习分类中没有提到过强化学习,而在连接主义学习中,把学习算法分为三种类型,即非监督学习(unsupervised learning)、监督学习(supervised leaning)和强化学习。
目录
简介
基本模型和原理
网络模型设计
设计考虑
目标

简介  所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)

函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。

基本模型和原理  强化学习是从动物学习、参数扰动自适应控制等理论发展而来,其基本原理是:
如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。
强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化

信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。
强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是Agent对所产生动作的好坏作一种评价(通常为标量信号),而不是告诉Agent如何去产生正确的动作。由于外部环境提供了很少的信息,Agent必须靠自身的经历进行学习。通过这种方式,Agent在行动一一评价的环境中获得知识,改进行动方案以适应环境。
强化学习系统学习的目标是动态地调整参数,以达到强化信号最大。若已知r/A梯度信息,则可直接可以使用监督学习算法。因为强化信号r与Agent产生的动作A没有明确的函数形式描述,所以梯度信息r/A无法得到。因此,在强化学习系统中,需要某种随机单元,使用这种随机单元,Agent在可能动作空间中进行搜索并发现正确的动作。

网络模型设计  每一个自主体是由两个神经网络模块组成,即行动网络和评估网络。行动网络是根据当前的状态而决定下一个时刻施加到环境上去的最好动作。

对于行动网络,强化学习算法允许它的输出结点进行随机搜索,有了来自评估网络的内部强化信号后,行动网络的输出结点即可有效地完成随机搜索并且选择好的动作的可能性大大地提高,同时可以在线训练整个行动网络。用一个辅助网络来为环境建模,评估网络根据当前的状态和模拟环境用于预测标量值的外部强化信号,这样它可单步和多步预报当前由行动网络施加到环境上的动作强化信号,可以提前向动作网络提供有关将候选动作的强化信号,以及更多的奖惩信息(内部强化信号),以减少不确定性并提高学习速度。
进化强化学习对评估网络使用时序差分预测方法TD和反向传播BP算法进行学习,而对行动网络进行遗传操作,使用内部强化信号作为行动网络的适应度函数。
网络运算分成两个部分,即前向信号计算和遗传强化计算。在前向信号计算时,对评估网络采用时序差分预测方法,由评估网络对环境建模,可以进行外部强化信号的多步预测,评估网络提供更有效的内部强化信号给行动网络,使它产生更恰当的行动,内部强化信号使行动网络、评估网络在每一步都可以进行学习,而不必等待外部强化信号的到来,从而大大地加速了两个网络的学习。

设计考虑  一,如何表示状态空间和动作空间。二,如何选择建立信号以及如何通过学习来修正不同状态-动作对的值。三如何根据这些值来选择适合的动作。用强化学习方法研究未知环境下的机器人导航,由于环境的复杂性和不确定性,这些问题变得更复杂。
标准的强化学习,智能体作为学习系统,获取外部环境的当前状态信息s,对环境采取试探行为u,并获取环境反馈的对此动作的评价r和新的环境状态 。如果智能体的某动作u导致环境正的奖赏(立即报酬),那么智能体以后产生这个动作的趋势便会加强;反之,智能体产生这个动作的趋势将减弱。在学习系统的控制行为与环境反馈的状态及评价的反复的交互作用中,以学习的方式不断修改从状态到动作的映射策略,以达到优化系统性能目的。

目标  学习从环境状态到行为的映射,使得智能体选择的行为能够获得环境最大的奖赏,使得外部环境对学习系统在某种意义下的评价(或整个系统的运行性能)最佳。

学习的强化-学习的强化

学习的强化-正文

  强化是指一件事物提高了某一刺激所引起的反应出现的概率,使之在同样条件下再度发生;从神经机制说,是指一个神经过程增强了另一神经过程的强度和效应。
  在И.Π.巴甫洛夫条件反射学说中,强化是指条件反射形成过程中使无条件刺激同条件刺激相搭配。在巴甫洛夫的典型实验中,犬对节拍器的响声(条件刺激)产生唾液分泌的反应(条件反射),这一条件作用是由于食物(无条件刺激)在节拍器响声(条件刺激)之前或同时出现而形成的。因此条件反射作用的实质是对于某一特定反应来说属中性的一种刺激,在经常同可以诱发那种反应的刺激联系在一起时,它本身也开始诱发同样的反应。条件反射的形成是用强化物(无条件刺激)进行强化的结果。强化是条件作用的必要手段,受强化的刺激就可产生条件反射,不受强化的与之类似的刺激则不会产生条件反射。就人类而言,词也可以作为强化物在条件作用中起强化作用。学习的过程即是条件反射形成的过程。
  B.F.斯金纳用操作性条件作用或工具性条件作用来解释一切学习过程。他设计的实验装置称为斯金纳箱。他认为学习即是形成操作性条件反应的过程。在此过程中,强化物是在反应出现后呈现,与巴甫洛夫实验中的先出现或同时出现强化物的情况不同。这种操作发生后的强化足以增加反应发生的一般倾向,增加后来反应发生的概率,这即是学习的成功,所以斯金纳认为可以把学习定义为反应概率上的一种变化。他认为学习必须具备两个条件,一是要有反应,即动作、操作或行为;二是要继之以强化,而且越早越好。
  斯金纳把强化物分为两类:一类是第一性的,即无条件强化物,这是维持生命所必须的食物、饮料之类的刺激物,它的强化作用是原初的,不是习得的;另一类是第二性的,即条件强化物,它因同第一性强化物发生过联系或代替过第一性强化物而具有强化作用。从理论上说,几乎任何事物都可成为第二性强化物,具有强化作用。第二性强化物又可分为:有普遍性的强化物,如金钱;有社会性的强化物,如关注、赞许和喜爱;有象征性的强化物,如奖章、奖状、分数;有活动性的强化物,如参加游戏、看电影电视、参加社会活动。
  强化物有积极性的和消极性的,与之相应,强化也有积极性的和消极性的。因强化物的出现而增加了反应概率的强化称为积极性强化,这种强化物即是积极性的强化物,如糖果、赞许。相反,因强化物的消除而增加了反应概率的强化称为消极性强化,这种强化物即是消极性的强化物,如噪音、申斥。消极性强化同惩罚不同,尽管通常认为惩罚是奖赏的对立面,可是它并没有相反的效果。消极性强化同积极性强化一样,都具有增加反应概率的效果,而惩罚则是减少反应的概率。惩罚的效果是复杂的,而且在很大程度上不能加以预测。斯金纳后来建议放弃把惩罚作为一种社会控制的手段。他主张要善于利用强化,特别是一个人的内部强化。他认为教师的职责就是为每个学生及时提供适宜的和有效的强化,以增加其正当反应的概率。特别是使学生能自动地从内部自己进行强化而不必经常依赖外来强化。为了建立完善的教育过程,对教学进行科学的控制,斯金纳大力提倡程序教学机器教学,要求在设计教学程序,控制刺激,提供反馈,施行强化并且借助机器(发展到利用电子计算机)进行工作。实际应用的结果表明,这种办法提高了学习效果。
  斯金纳的关于操作性条件反应强化的学说虽然能局部地解释和解决一定的实际问题,可是事实上他把人的各种形式的心理活动都视为操作性反应,甚至把人的社会活动、相互交往也视为操作性的。这样就把来自动物的行为原则普遍应用于人的活动的一切形式,忽视了人的能动性和社会性的本质特征。
  强化在学习中的重要意义,也得到其他心理学家的重视。C.赫尔就曾指出强化是导致学习的基本条件。他认为一特殊行为范型伴随以内驱力减低时强化即行发生,学习即可成功。他把强化分为初步的和后继的两种,并指出后继强化尤为重要,特别是在人类学习当中。A.班杜拉的研究指出,强化对学习动机的影响超过对学习本身的影响。

什么是机器学习
计算机程序如何随着经验积累自动提高性能
系统自我改进的过程
历史
成功应用
学习识别人类讲话
学习驾驶车辆
学习分类新的天文结构
学习对弈西洋双陆棋

2楼
相关学科:
人工智能
计算复杂性理论
控制论
信息论
统计学
3楼
定义
如果一个计算机针对某类任务T的用P衡量的性能根据经验E来自我完善,那么我们称这个计算机程序在从经验E中学习,针对某类任务T,它的性能用P来衡量。
西洋跳棋学习问题的解释
E,和自己下棋
T,参与比赛
P,比赛成绩(或赢棋能力,击败对手的百分比)
手写识别学习问题
机器人驾驶学习问题
4楼
定义太宽泛
甚至包括了以非常直接的方式通过经验自我提高的计算机程序
实际的机器学习问题往往比较复杂
定义一类问题
探索解决这类问题的方法
理解学习问题的基本结构和过程
5楼
基本设计方法和学习途径
(以西洋跳棋为例)
选择训练经验
选择目标函数
选择目标函数的表示
选择函数逼近算法
最终设计
6楼
西洋跳棋学习问题
任务T,下西洋跳棋
性能标准P,击败对手的百分比
训练经验E,和自己进行训练对弈
学习系统需要选择
要学习的知识的确切类型
对于这个目标知识的表示
一种学习机制
7楼
第一个关键属性,训练经验能否为系统的决策提供直接或间接的反馈
第二个重要属性,学习器在多大程度上控制样例序列
第三个重要属性,训练样例的分布能多好地表示实例分布,通过样例来衡量最终系统的性能
8楼
目标函数ChooseMove
ChooseMove: BM,接受合法棋局集合中的棋盘状态作为输入,并从合法走子集合中选择某个走子作为输出
问题转化
我们把提高任务T的性能P的问题转化(或简化)为学习像ChooseMove这样某个特定的目标函数
9楼
ChooseMove的评价
学习问题很直观地转化成这个函数
这个函数的学习很困难,因为提供给系统的是间接训练经验
另一个目标函数V
一个评估函数,V: BR,它为任何给定棋局赋予一个数值评分,给好的棋局赋予较高的评分
优点,学习简单
V的应用
根据V能够轻松地找到当前棋局的最佳走法。
10楼
V的设计,对于集合B中的任意棋局b,V(b)定义如下
如果b是一最终的胜局,那么V(b)=100
如果b是一最终的负局,那么V(b)=-100
如果b是一最终的和局,那么V(b)=0
如果b不是最终棋局,那么V(b)=V(b’),其中b’是从b开始双方都采取最优对弈后可达到的终局
11楼
上面设计的缺陷
递归定义
运算效率低
不可操作
简评
学习任务简化成发现一个理想目标函数V的可操作描述。
通常要完美地学习这样一个V的可操作的形式是非常困难的。
一般地,我们仅希望学习算法得到近似的目标函数V’,因此学习目标函数的过程常称为函数逼近。
12楼
函数的表示
一张大表,对于每个唯一的棋盘状态,表中有唯一的表项来确定它的状态值
规则集合
二项式函数
人工神经网络
13楼
重要的权衡过程
一方面,我们总希望选区一个非常有表现力的描述,以最大可能地逼近理想的目标函数
另一方面,越有表现力的描述需要越多的训练数据,使程序能从它表示的多种假设中选择
14楼
一个简单的表示法,对于任何给定的棋盘状态,函数V可以通过以下棋盘参数的线性组合来计算。
x1,黑子的数量
x2,红子的数量
x3,黑王的数量
x4,红王的数量
x5,被红子威胁的黑子数量
x6,被黑子威胁的红子数量
15楼
目标函数
V(b)=w0+w1x1+w2x2+…+w6x6
其中,w0…w6是权值,表示不同棋局特征的相对重要性
至此,问题转化为学习目标函数中的系数(即权值)
16楼
每个训练样例表示成二元对
<b,Vtrain(b)>
b是棋盘状态,Vtrain(b)是训练值
比如,<<x1=0,x2=0,x3=1,x4=0,x5=0,x6=0>,100>
训练过程
从学习器可得到的间接训练经验中导出上面的训练样例
调整系数wi,最佳拟合这些训练样例
17楼
估计训练值
困难处
一个简单的方法,Vtrain(b)=V’(Successor(b))
调整权值
最佳拟合的定义,比如误差平方和最小
寻找算法,比如最小均方法,LMS Least Mean Squares
18楼
执行系统
用学会的目标函数来解决给定的任务
鉴定器
以对弈的路线或历史记录作为输入,输出目标函数的一系列训练样例。
泛化器
以训练样例为输入,产生一个输出假设,作为它对目标函数的估计。
实验生成器
以当前的假设作为输入,输出一个新的问题,供执行系统去探索。
19楼
图1-2
第13章理论上的保证
这种学习技术是否确保发现一个非常接近的近似。
更复杂的目标函数
其他学习算法
最近邻算法,存储训练样例,寻找保存的最接近的情形来匹配新的情况
遗传算法,产生大量候选的西洋跳棋程序,让它们相互比赛,保留最成功的程序并进一步用模拟进化的方式来培育或变异它们
基于解释的学习,分析每次成败的原因
20楼
一个有效的观点
机器学习问题归结于搜索问题
本书给出了对一些基本表示定义的假设空间的搜索算法
通过搜索策略和搜索空间的内在结构来刻画学习方法
21楼
存在什么样的算法能从特定的训练数据学习一般的目标函数呢?如果提供了充足的训练数据,什么样的条件下,会使特定的算法收敛到期望的函数?哪个算法对哪些问题和表示的性能最好?
多少训练数据是充足的?怎样找到学习到假设的置信度与训练数据的数量及提供给学习器的假设空间特性之间的一般关系?
学习器拥有的先验知识是怎样引导从样例进行泛化的过程的?当先验知识仅仅是近似正确时,它们会有帮助吗?
关于选择有效的后验训练经验,什么样的策略最好?这个策略的选择会如何影响学习问题的复杂性。
怎样把学习任务简化为一个或多个函数逼近问题?换一种方式,系统该试图学习哪些函数?这个过程本身能自动化吗?
学习器怎样自动地改变表示法来提高表示和学习目标函数的能力?
22楼
第2章,基于符号和逻辑表示的概念学习
第3章,决策树
第4章,人工神经网络
第5章,统计和估计理论的基础概念
第6章,贝叶斯理论
第7章,计算学习
第8章,基于实例的学习
第9章,遗传算法
第10章,规则学习
第11章,基于解释的学习
第12章,近似知识与现有数据的结合
第13章,增强学习
23楼
定义
涉及学科
完整过程
搜索的观点
相关杂志、会议、国际组织
24楼
这是《机器学习》ppt的引言。
我这里有这本ppt.有想要的留下email,我发给你。
219.131.221.*
25楼
从哪里开始学习人工智能啊 ? xu_chipeng@yahoo.com.cn
26楼
我要

joseph_me15@hotmail.com
27楼
对于现在计算机学习理论的批判,我和一位网友曾经在人工智能研究者俱乐部进行过。这位网友正在阅读类似你介绍的理论,他把自己阅读的节录发到网上,我对其进行逐一批评。
不过从吧主引述我们可以看出,目前所谓的计算机学习不是对人类智能学习过程的真正模拟,而是使程序对某些人为设定的目标的靠拢。因此这种学习我认为是对人类学习概念的歪曲。
尽管目前世界上已经有十几万人投入这项理论的研究。而且它在小的应用方面可以由一些成果。但是我认为由于它与人类学习相差很远,所以对模拟人类智能的促进作用不会太大。
这也是在网友没事少抽烟的主题“俞士汶教授谈中文语言处理”中对那里提到的学习表示疑虑的原因。因为我不相信,在计算机学习理论(也叫机器学习)的影响下,学习概念已经被歪曲,他们会搞出与人类相近的学习来。
28楼
为了考察人类学习下棋的过程。我特别新学习了一些计算机棋类游戏,边学习边考察学习的过程。在这个过程中我感觉到,很多棋下多了,不仅是对相关步骤与胜负关系的认识,还有对一些棋势的认识。
前者是通过计算(不一定是数字计算)把步骤(即棋步)与胜利联系起来。当系统里储存大量这类相关数据后,系统便可以调用此类数据应付对手,而最后的胜利表现为谁使用的步骤与胜利接近,谁就会胜利。
而棋势则是一种对大趋势的判断,它不需要复杂的计算,只凭简单的棋局图形就可以确定胜负前景。从非线性动力学的角度看,胜负棋势很类似于一些吸引子。
如果用纯数学手段解决棋势的产生,是会很复杂的。但是我在学习新棋类时,仅凭几次胜负棋局,估计哪种棋局是胜局棋势,哪种棋局是负局棋势,然后再经过一些对弈检验估计的正确与否。很快就掌握了一些棋势(实际是死记硬背下那些棋势),然后在下棋中使步骤向胜局棋势靠拢,便较快地掌握主动权。遇到新的胜负棋势,再死记它们就可以了。
这表明人类学习有一些比计算机学习理论更加简洁的操作。来发现非线性动力学系统的吸引子。使人类确定棋类胜负的速度加快。直接模拟人类学习过程,比计算机学习理论搞些什么乱七八糟的函数、搜索法要方便,有效。
通常人们讽刺笨人的一句话叫“舍近求远”。计算机学习理论就有点这种笨人作风。明明设计一个不依赖数学的可学习系统并不困难,但是他们以为那不合他们的口味,于是走远路搞一个乱七八糟的学习理论,越走毛病越多。
如果搞计算机科学不是为了应用,仅仅是为了理论完美,那大可向陈景润先生一样,倾一生精力去证明哥德巴赫猜想。但是计算机科学作为实用科学,放弃对人类学习的实际模拟,去搞数学理论完美的花架子,就太不应该了。
29楼
人类的学习过程与机器学习(计算机学习理论)的差别在于,人类的学习过程本身不是什么算法。它是计算机系统的可学习性与外界学习环境共同作用的过程。当然,系统要能够运行,必须有一些算法的支持,有算法才能有程序,有程序才能运行。支持系统运行的算法是系统的可学习性,系统如何解决各种问题,不是系统可学习性要考虑的内容。
计算机学习理论则不同,它把学习本身看成是一些算法,把系统和系统外的学习环境用一种算法混杂在一起。把系统如何解决问题与系统的学习混淆在一起。因此它在思路上是混乱的,在方法上是单一的,受限于算法的。
比如蚁群算法、遗传算法、人工神经网络算法都是计算机学习理论中很时髦的算法。但是每个算法都限定了程序的工作方式。不说具体设计程序时还会遇到不收链的问题,就其解决问题方式的单一性来说,也不可能像人类解决问题那样灵活。
对于模拟人类学习的系统来说就不会这样。系统的可学习性并没有任何解决问题的方法。系统的可学习性(算法)只保证系统能够在学习中不断的编写出各种程序的算法(自编程序)。因此这个没有具体解决任何问题方法的可学习性算法,就是一个能够得出各种算法的算法。是由系统自己解决算法问题的算法。
因此我们才说模拟人类学习过程的学习,才是很正意义的学习。而计算机学习理论的所谓的机器学习,是一种假冒的学习。
30楼
我们以人工神经网络的学习为例。
人工神经网络的学习模型是感知器,它相当于(用神经元构成的网络)模拟桑代克实验的尝试错误学习。这一步思路并没有什么错误。
进而,他们用基本神经网络模型构建出复杂网络模型,这些复杂网络模拟虽然很有些人为性,但是作为对神经网络结构的探索,由假设模型出发,也未尝不是一种方法,因此这一步也是无可指责的。
他们根据神经元在神经活动中的变化假设出一种权值,通过学习修改它,以使模拟神经网络产生一些功能,虽然假设的范围步步扩大,但是考虑到学习中总要引起系统的一些变化,以表现学习的成果,这一步也可以允许。
然而他们后面的动作就变得十分可疑,他们开始把一些复杂的工作交给这个模拟神经网络来做。例如通过训练进行识别。其可疑之处在于:这样简单的(相对于人脑的真实神经网络)网络怎么能代替人脑处理那样复杂的问题。
然而人们竟然成功了。它比通过计算实现的识别要简洁和成功率高。于是人们被人工神经网络的神奇功能惊呆了。

机器学习

百科名片

机器学习
机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

目录
基本简介
机器学习的定义和研究意义
机器学习的发展史
机器学习的主要策略
机器学习系统的基本结构
机器学习分类
  1. 基于学习策略的分类
  2. 1)机械学习
  3. 2)示教学习
  4. 3)演绎学习
  5. 4)类比学习
  6. 5)基于解释的学习
  7. 6)归纳学习
  8. 基于所获取知识的表示形式分类
  9. 1)代数表达式参数
  10. 2)决策树
  11. 3)形式文法
  12. 4)产生式规则
  13. 5)形式逻辑表达式
  14. 6)图和网络
  15. 7)框架和模式(schema)
  16. 8)计算机程序和其它的过程编码
  17. 9)神经网络
  18. 10)多种表示形式的组合
  19. 按应用领域分类
  20. 综合分类
  21. 1)经验性归纳学习
  22. 2)分析学习
  23. 3)类比学习
  24. 4)遗传算法
  25. 5)联接学习
  26. 6)加强学习
目前研究领域
展开


基本简介  学习能力是智能行为的一个非常重要的特征,

但至今对学习的机理尚不清楚。人们曾对机器学习给出各种定义。H.A.Simon认为,学习是系统所作的适应性变化,使得系统在下一次完成同样或类似的任务时更为有效。R.s.Michalski认为,学习是构造或修改对于所经历事物的表示。从事专家系统研制的人们则认为学习是知识的获取。这些观点各有侧重,第一种观点强调学习的外部行为效果,第二种则强调学习的内部过程,而第三种主要是从知识工程的实用性角度出发的。
机器学习在人工智能的研究中具有十分重要的地位。一个不具有学习能力的智能系统难以称得上是一个真正的智能系统,但是以往的智能系统都普遍缺少学习的能力。例如,它们遇到错误时不能自我校正;不会通过经验改善自身的性能;不会自动获取和发现所需要的知识。它们的推理仅限于演绎而缺少归纳,因此至多只能够证明已存在事实、定理,而不能发现新的定理、定律和规则等。随着人工智能的深入发展,这些局限性表现得愈加突出。正是在这种情形下,机器学习逐渐成为人工智能研究的核心之一。它的应用已遍及人工智能的各个分支,如专家系统、自动推理、自然语言理解模式识别计算机视觉智能机器人等领域。其中尤其典型的是专家系统中的知识获取瓶颈问题,人们一直在努力试图采用机器学习的方法加以克服。
机器学习的研究是根据生理学、认知科学等对人类学习机理的了解,建立人类学习过程的计算模型或认识模型,发展各种学习理论和学习方法,研究通用的学习算法并进行理论上的分析,建立面向任务的具有特定应用的学习系统。这些研究目标相互影响相互促进。
自从1980年在卡内基-梅隆大学召开第一届机器学术研讨会以来,机器学习的研究工作发展很快,已成为中心课题之一。

机器学习的定义和研究意义  学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。至今,还没有统一的“机器学习”定义,而且也很难给出一个公认的和准确的定义。比如,Langley(1996) 定义的机器学习是“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。(Machine learning is a science of the artificial. The field's main objects of study are artifacts, specifically algorithms that improve their performance with experience.')Mitchell(1997 )在其著作《Machine Learning》中定义机器学习是提到,“机器学习是研究计算机算法,并通过经验提高其自动性”。(Machine Learning is the study of computer algorithms that improve automatically through experience.)Alpaydin(2004)同时提出自己对机器学习的定义,“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”(Machine learning is programming computers to optimize a performance criterion using example data or past experience.)
尽管如此,为了便于进行讨论和估计学科的进展,有必要对机器学习给出定义,即使这种定义是不完全的和不充分的。顾名思义, 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机;现在是电子计算机,以后还可能是中子计算机、光子计算机或神经计算机等等
机器能否象人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。
机器的能力是否能超过人的,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断地提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。

机器学习的发展史  机器学习是人工智能研究较为年轻的分支,它的发展过程大体上可分为4个时期。
第一阶段是在50年代中叶到60年代中叶,属于热烈时期。…>
第二阶段是在60年代中叶至70年代中叶,被称为机器学习的冷静时期。
第三阶段是从70年代中叶至80年代中叶,称为复兴时期。
机器学习的最新阶段始于1986年。
机器学习进入新阶段的重要表现在下列诸方面:
(1) 机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础。
(2) 结合各种学习方法,取长补短的多种形式的集成学习系统研究正在兴起。特别是连接学习符号学习的耦合可以更好地解决连续性信号处理中知识与技能的获取与求精问题而受到重视。
(3) 机器学习与人工智能各种基础问题的统一性观点正在形成。例如学习与问题求解结合进行、知识表达便于学习的观点产生了通用智能系统SOAR的组块学习。类比学习与问题求解结合的基于案例方法已成为经验学习的重要方向。
(4) 各种学习方法的应用范围不断扩大,一部分已形成商品。归纳学习的知识获取工具已在诊断分类型专家系统中广泛使用。连接学习在声图文识别中占优势。分析学习已用于设计综合型专家系统。

遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。
(5) 与机器学习有关的学术活动空前活跃。国际上除每年一次的机器学习研讨会外,还有计算机学习理论会议以及遗传算法会议。

机器学习的主要策略  学习是一项复杂的智能活动,学习过程与推理过程是紧密相连的,按照学习中使用推理的多少,机器学习所采用的策略大体上可分为4种——机械学习、通过传授学习、类比学习和通过事例学习。学习中所用的推理越多,系统的能力越强。

机器学习系统的基本结构  表示学习系统的基本结构。环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。在具体的应用中,环境,知识库和执行部分决定了具体的工作内容,学习部分所需要解决的问题完全由上述3部分确定。下面我们分别叙述这3部分对设计学习系统的影响。
影响学习系统设计的最重要的因素是环境向系统提供的信息。或者更具体地说是信息的质量。知识库里存放的是指导执行部分动作的一般原则,但环境向学习系统提供的信息却是各种各样的。如果信息的质量比较高,与一般原则的差别比较小,则学习部分比较容易处理。如果向学习系统提供的是杂乱无章的指导执行具体动作的具体信息,则学习系统需要在获得足够数据之后,删除不必要的细节,进行总结推广,形成指导动作的一般原则,放入知识库,这样学习部分的任务就比较繁重,设计起来也较为困难。
因为学习系统获得的信息往往是不完全的,所以学习系统所进行的推理并不完全是可靠的,它总结出来的规则可能正确,也可能不正确。这要通过执行效果加以检验。正确的规则能使系统的效能提高,应予保留;不正确的规则应予修改或从数据库中删除。
知识库是影响学习系统设计的第二个因素。知识的表示有多种形式,比如特征向量、一阶逻辑语句、产生式规则、

语义网络和框架等等。这些表示方式各有其特点,在选择表示方式时要兼顾以下4个方面:
(1)表达能力强。(2)易于推理。(3)容易修改知识库。(4)知识表示易于扩展。
对于知识库最后需要说明的一个问题是学习系统不能在全然没有任何知识的情况下凭空获取知识,每一个学习系统都要求具有某些知识理解环境提供的信息,分析比较,做出假设,检验并修改这些假设。因此,更确切地说,学习系统是对现有知识的扩展和改进。
执行部分是整个学习系统的核心,因为执行部分的动作就是学习部分力求改进的动作。同执行部分有关的问题有3个:复杂性、反馈和透明性。

机器学习分类

基于学习策略的分类  学习策略是指学习过程中系统所采用的推理策略。一个学习系统总是由学习和环境两部分组成。由环境(如书本或教师)提供信息,学习部分则实现信息转换,用能够理解的形式记忆下来,并从中获取有用的信息。在学习过程中,学生(学习部分)使用的推理越少,他对教师(环境)的依赖就越大,教师的负担也就越重。学习策略的分类标准就是根据学生实现信息转换所需的推理多少和难易程度来分类的,依从简单到复杂,从少到多的次序分为以下六种基本类型:

1)机械学习  (Rote learning)
学习者无需任何推理或其它的知识转换,直接吸取环境所提供的信息。如塞缪尔的跳棋程序,纽厄尔和西蒙的LT系统。这类学习系统主要考虑的是如何索引存贮的知识并加以利用。系统的学习方法是直接通过事先编好、构造好的程序来学习,学习者不作任何工作,或者是通过直接接收既定的事实和数据进行学习,对输入信息不作任何的推理。

2)示教学习  (Learning from instruction或Learning by being told)
学生从环境(教师或其它信息源如教科书等)获取信息,把知识转换成内部可使用的表示形式,并将新的知识和原有知识有机地结合为一体。所以要求学生有一定程度的推理能力,但环境仍要做大量的工作。教师以某种形式提出和组织知识,以使学生拥有的知识可以不断地增加。这种学习方法和人类社会的学校教学方式相似,学习的任务就是建立一个系统,使它能接受教导和建议,并有效地存贮和应用学到的知识。目前,不少专家系统在建立知识库时使用这种方法去实现知识获取。示教学习的一个典型应用例是FOO程序。

3)演绎学习  (Learning by deduction)
学生所用的推理形式为演绎推理。推理从公理出发,经过逻辑变换推导出结论。这种推理是"保真"变换和特化(specialization)的过程,使学生在推理过程中可以获取有用的知识。这种学习方法包含宏操作(macro-operation)学习、知识编辑和组块(Chunking)技术。演绎推理的逆过程是归纳推理。

4)类比学习  (Learning by analogy)
利用二个不同领域(源域、目标域)中的知识相似性,可以通过类比,从源域的知识(包括相似的特征和其它性质)推导出目标域的相应知识,从而实现学习。类比学习系统可以使一个已有的计算机应用系统转变为适应于新的领域,来完成原先没有设计的相类似的功能。类比学习需要比上述三种学习方式更多的推理。它一般要求先从知识源(源域)中检索出可用的知识,再将其转换成新的形式,用到新的状况(目标域)中去。类比学习在人类科学技术发展史上起着重要作用,许多科学发现就是通过类比得到的。例如著名的卢瑟福类比就是通过将原子结构(目标域)同太阳系(源域)作类比,揭示了原子结构的奥秘。

5)基于解释的学习  (Explanation-based learning, EBL)
学生根据教师提供的目标概念、该概念的一个例子、领域理论及可操作准则,首先构造一个解释来说明为什该例子满足目标概念,然后将解释推广为目标概念的一个满足可操作准则的充分条件。EBL已被广泛应用于知识库求精和改善系统的性能。著名的EBL系统有迪乔恩(G.DeJong)的GENESIS, 米切尔(T.Mitchell)的LEXII和LEAP, 以及明顿(S.Minton)等的PRODIGY。

6)归纳学习  (Learning from induction)
归纳学习是由教师或环境提供某概念的一些实例或反例,让学生通过归纳推理得出该概念的一般描述。这种学习的推理工作量远多于示教学习和演绎学习,因为环境并不提供一般性概念描述(如公理)。从某种程度上说,归纳学习的推理量也比类比学习大,因为没有一个类似的概念可以作为"源概念"加以取用。归纳学习是最基本的,发展也较为成熟的学习方法,在人工智能领域中已经得到广泛的研究和应用。

基于所获取知识的表示形式分类  学习系统获取的知识可能有:行为规则、物理对象的描述、问题求解策略、各种分类及其它用于任务实现的知识类型。
对于学习中获取的知识,主要有以下一些表示形式:

1)代数表达式参数  学习的目标是调节一个固定函数形式的代数表达式参数或系数来达到一个理想的性能。

2)决策树  用决策树来划分物体的类属,树中每一内部节点对应一个物体属性,而每一边对应于这些属性的可选值,树的叶节点则对应于物体的每个基本分类。

3)形式文法  在识别一个特定语言的学习中,通过对该语言的一系列表达式进行归纳,形成该语言的形式文法。

4)产生式规则  产生式规则表示为条件—动作对,已被极为广泛地使用。学习系统中的学习行为主要是:生成、泛化、特化(Specialization)或合成产生式规则。

5)形式逻辑表达式  形式逻辑表达式的基本成分是命题、谓词、变量、约束变量范围的语句,及嵌入的逻辑表达式。

6)图和网络  有的系统采用图匹配和图转换方案来有效地比较和索引知识。

7)框架和模式(schema)  每个框架包含一组槽,用于描述事物(概念和个体)的各个方面。

8)计算机程序和其它的过程编码  获取这种形式的知识,目的在于取得一种能实现特定过程的能力,而不是为了推断该过程的内部结构。

9)神经网络  这主要用在联接学习中。学习所获取的知识,最后归纳为一个神经网络。

10)多种表示形式的组合  有时一个学习系统中获取的知识需要综合应用上述几种知识表示形式。
根据表示的精细程度,可将知识表示形式分为两大类:泛化程度高的粗粒度符号表示、??泛化程度低的精粒度亚符号(sub-symbolic)表示。像决策树、形式文法、产生式规则、形式逻辑表达式、框架和模式等属于符号表示类;而代数表达式参数、图和网络、神经网络等则属亚符号表示类。

按应用领域分类  最主要的应用领域有:专家系统、认知模拟、规划和问题求解、

数据挖掘、网络信息服务、图象识别、故障诊断、自然语言理解、机器人和博弈等领域。
从机器学习的执行部分所反映的任务类型上看,目前大部分的应用研究领域基本上集中于以下两个范畴:分类和问题求解。
(1)分类任务要求系统依据已知的分类知识对输入的未知模式(该模式的描述)作分析,以确定输入模式的类属。相应的学习目标就是学习用于分类的准则(如分类规则)。
(2)问题求解任务要求对于给定的目标状态,??寻找一个将当前状态转换为目标状态的动作序列;机器学习在这一领域的研究工作大部分集中于通过学习来获取能提高问题求解效率的知识(如搜索控制知识,启发式知识等)。

综合分类  综合考虑各种学习方法出现的历史渊源、知识表示、推理策略、结果评估的相似性、研究人员交流的相对集中性以及应用领域等诸因素。将机器学习方法区分为以下六类:

1)经验性归纳学习  (empirical inductive learning)。
经验性归纳学习采用一些数据密集的经验方法(如版本空间法、ID3法,定律发现方法)对例子进行归纳学习。其例子和学习结果一般都采用属性、谓词、关系等符号表示。它相当于基于学习策略分类中的归纳学习,但扣除联接学习、遗传算法、加强学习的部分。

2)分析学习  (analytic??learning)。
分析学习方法是从一个或少数几个实例出发,运用领域知识进行分析。其主要特征为:
·推理策略主要是演绎,而非归纳;
·使用过去的问题求解经验(实例)指导新的问题求解,或产生能更有效地运用领域知识的搜索控制规则。
分析学习的目标是改善系统的性能,而不是新的概念描述。分析学习包括应用解释学习、演绎学习、多级结构组块以及宏操作学习等技术。

3)类比学习  它相当于基于学习策略分类中的类比学习。目前,在这一类型的学习中比较引人注目的研究是通过与过去经历的具体事例作类比来学习,称为基于范例的学习(case_based learning),或简称范例学习。

4)遗传算法  (genetic??algorithm)。
遗传算法模拟生物繁殖的突变、交换和达尔文的自然选择(在每一生态环境中适者生存)。它把问题可能的解编码为一个向量,称为个体,向量的每一个元素称为基因,并利用目标函数(相应于自然选择标准)对群体(个体的集合)中的每一个个体进行评价,根据评价值(适应度)对个体进行选择、交换、变异等遗传操作,从而得到新的群体。遗传算法适用于非常复杂和困难的环境,比如,带有大量噪声和无关数据、事物不断更新、问题目标不能明显和精确地定义,以及通过很长的执行过程才能确定当前行为的价值等。同神经网络一样,遗传算法的研究已经发展为人工智能的一个独立分支,其代表人物为霍勒德(J.H.Holland)。

5)联接学习  典型的联接模型实现为

人工神经网络,其由称为神经元的一些简单计算单元以及单元间的加权联接组成。

6)加强学习  (reinforcement learning)。
加强学习的特点是通过与环境的试探性(trial and error)交互来确定和优化动作的选择,以实现所谓的序列决策任务。在这种任务中,学习机制通过选择并执行动作,导致系统状态的变化,并有可能得到某种强化信号(立即回报),从而实现与环境的交互。强化信号就是对系统行为的一种标量化的奖惩。系统学习的目标是寻找一个合适的动作选择策略,即在任一给定的状态下选择哪种动作的方法,使产生的动作序列可获得某种最优的结果(如累计立即回报最大)。
在综合分类中,经验归纳学习、遗传算法、联接学习和加强学习均属于归纳学习,其中经验归纳学习采用符号表示方式,而遗传算法、联接学习和加强学习则采用亚符号表示方式;分析学习属于演绎学习。
实际上,类比策略可看成是归纳和演绎策略的综合。因而最基本的学习策略只有归纳和演绎。
从学习内容的角度看,采用归纳策略的学习由于是对输入进行归纳,所学习的知识显然超过原有系统知识库所能蕴涵的范围,所学结果改变了系统的知识演绎闭包, 因而这种类型的学习又可称为知识级学习;而采用演绎策略的学习尽管所学的知识能提高系统的效率,但仍能被原有系统的知识库所蕴涵,即所学的知识未能改变系统的演绎闭包,因而这种类型的学习又被称为符号级学习。

目前研究领域  目前,机器学习领域的研究工作主要围绕以下三个方面进行:
(1)面向任务的研究 研究和分析改进一组预定任务的执行性能的学习系统。
(2)认知模型 研究人类学习过程并进行计算机模拟。
(3)理论分析 从理论上探索各种可能的学习方法和独立于应用领域的算法
机器学习是继专家系统之后人工智能应用的又一重要研究领域,也是人工智能和神经计算的核心研究课题之一。现有的计算机系统和人工智能系统没有什么学习能力,至多也只有非常有限的学习能力,因而不能满足科技和生产提出的新要求。对机器学习的讨论和机器学习研究的进展,必将促使人工智能和整个科学技术的进一步发展 。

没有评论:

发表评论