6.2.5 基于解释的学习
解释学习本质上是一种演绎学习,它通过对现有例子求解过程的解释,得出一般性控制知识,用于以后类似问题的求解。
1.学习算法描述
一般的解释学习由四个前件和一个后件构成。这四个前件分别是:
(1)领域理论:用一些规则和事实来描述某一领域的知识,在算法中,这些规则和事实必须用符号抽象出来。
(2)目标概念:对要学习概念的描述。
(3)操作性标准:用于衡量学习系统对目标概念的描述是否准确,对学习过程起控制作用。
(4)训练例子:能用领域理论明确解释,并充分说明目标概念的实例,它是解释学习的对象。
解释学习的后件是:一个满足操作标准的关于目标概念的充分概念描述。
下面将通过一个解释学习的例子来说明解释学习算法。
假如,要得出关于“一个物体x可以安全地放置在另一个物体y的上面”的一般性控制知识,可以通过以下操作实现。
首先,用符号表示出解释学习的前件:
目标概念:Safe-to-stack(x,y)
训练例子(是一些描述物体obj1与obj2的事实):
On(obj1,obj2)物体obj1可以放在物体obj2上面
Is-a(obj1,book)物体obj1是一本书
Is-a(obj2,table)物体obj2是一张桌子
Volume(obj1,1)物体obj1的数量为1
Density(obj1,0.1)物体obj1的密度为0.1
领域理论:
┐Fragile(y)→Safe-to-stack(x,y)
若y不是易碎物品,则x可以放在y上
Lighter(x,y)→Safe-to-stack(x,y)
若x比y轻,则x可以放在y上
Volume(p,v)^Density(p,d)^Product(v,d,w)→Weight(p,w)给定物体p的重量参数
Is-a(p,table)→Weight(p,5)桌子的重量参数为5
Weight(p1,w1)^Weight(p2,w2)^Smaller(w1,w2)→Lighter(p1,p2)判别物体p1和p2轻重的准则
接着从目标概念出发,运用领域理论进行逆向推理,便可得到一个实例求解的解释树,如图6-2所示。
在得出训练例子的解释树之后,将解释树的所有叶子结点的合取作为前件,根结点作为后件,便得到关于判断一个物体是否能放置到桌子上的一般性控制知识:
Volume(obj1,1)^Density(obj1,0.1)^Product(1,0.1,0.1)^Is-a(obj2,table)
^Smaller(0.1,5)→Safe-to-stack(obj1,obj2)
图6-2 Safe-to-stack(obj1,obj2)的解释树
2.解释学习模型
在逻辑上,解释学习的求解是由四个前件经过推理得到一个后件,由此可以得出解释学习的模型。图6-3比较简洁地表达了解释学习的基本原理。事实上,解释学习的四个前件在学习中并非处于同一层次,它们控制着学习过程的不同环节。图中箭头的指向表示学习的流程:先由学习系统接受一个不可操作的描述概念D1(不能有效地用于识别相应概念的例子),然后根据知识库中的领域理论对D1进行不同描述的转换,并由执行系统(包含操作性标准)对每个转换结果进行测试,直到转换结果被执行系统所接受,才输出可操作的概念描述D2。
虽然解释学习属于保真推理,但受领域知识完善程度的影响,并非总能产生正确的解释描述。比如,解释学习的特点非常适合个性化信息检索,但在引入解释学习之前,首先必须完善个性化信息检索的领域知识,用逻辑符号抽象出个性化信息模型。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。