890 likes | 1.11k Views
中国科学院研究生院 2006 年 6 月 27 日. 机器学习研究 第五讲:关系学习. 韩彦军. 提纲. 什么是关系学习? 关系学习中的一阶逻辑方法。 关系学习中的概率方法。 总结。. 概述. 关系学习,译自 Relational Learning. 最近十年发展起来的一类机器学习问题及其方法的统称。 关系学习中同一样本的各个属性之间有着 复杂的关系 ,或者不同样本相互之间不独 立,这表明了样本集上的某种结构. 复杂内在结构 的问题:文本数据挖掘,生物信息学,交通工程等。. 概述. 译作关系学习不妥。 误解:代数里的关系(甚至是二元关系) 。
E N D
中国科学院研究生院 2006年6月27日 机器学习研究第五讲:关系学习 韩彦军 中国科学院自动化研究所
提纲 中国科学院自动化研究所 • 什么是关系学习? • 关系学习中的一阶逻辑方法。 • 关系学习中的概率方法。 • 总结。
概述 中国科学院自动化研究所 • 关系学习,译自Relational Learning.最近十年发展起来的一类机器学习问题及其方法的统称。 • 关系学习中同一样本的各个属性之间有着 复杂的关系 ,或者不同样本相互之间不独 立,这表明了样本集上的某种结构. • 复杂内在结构的问题:文本数据挖掘,生物信息学,交通工程等。
概述 中国科学院自动化研究所 • 译作关系学习不妥。 • 误解:代数里的关系(甚至是二元关系) 。 • Relational Learning中的关系 :一种关联,用一阶逻辑的语言就是谓词。 • 为方便起见仍称为关系学习。
概述 中国科学院自动化研究所 • 与其他能用属性-值方式表示的机器学习问题不同,关系学习中的问题一般无法如此表示:a.每个样本不仅由属性描述,而且其中还要用关系描述 b.属性不等长。
空气 结构决定性质 中国科学院自动化研究所 水 土壤 沉积物 C C
单表 属性 属性之间的关系 预测值 中国科学院自动化研究所
Cl(6) Cl(4) 中国科学院自动化研究所 C(1) C(2) H(8) H(5) Cl(3) Cl(7)
形式化描述 中国科学院自动化研究所
形式化描述 中国科学院自动化研究所
形式化描述 中国科学院自动化研究所
顾客类别预测 中国科学院自动化研究所
提纲 中国科学院自动化研究所
形式化描述 中国科学院自动化研究所
中国科学院自动化研究所 传统机器学习 实际问题 引发困难 属性顺序固定 属性顺序不定 组合爆炸 属性数目固定 属性数目不定 无法解决 不易融入 背景知识 易于融入 背景知识 效果差, 可理解性差 样本之间i.i.d 不一定i.i.d 得到错误模型 样本来自 同一模型 样本可以来自 不同模型 得到错误模型
关系学习中的一阶逻辑方法 中国科学院自动化研究所
中国科学院自动化研究所 • ILP(归纳逻辑程序)是关系学习领域的研究人员最先采用的解决方法。
中国科学院自动化研究所 以下讨论涉及到一阶逻辑中的基本定义, 请参阅《机器学习》(Tom M.Mitchell) 第204页表10-3
一阶逻辑中的基本定义 中国科学院自动化研究所 • 每个良构的表达式由常量(如Joe, 23),变量(如x),谓词(如在Female(Mary)中的Female)和函数(age(Mary)中的 age)组成。 • 项(term)为任意常量,任意变量或任意应用到项集合上的函数,例如:Mary, x, age (Mary), age (x). • 文字(literal)是应用到项集合上的任意谓词或其否定。例如:Female(Mary), ~Female(x),Greater_than(age(Mary),20) • 基本文字(ground literal)是不包含任何变量的文字(如,~Female(Joe)) • 负文字(negative literal)是包含任何否定谓词的文字(如:~Female(Joe)) • 正文字(positive literal)是不包含否定符号的文字(如:Female(Joe))
中国科学院自动化研究所 • 子句(clause)是多个文字的析取式,M1∨M2∨…∨Mn,其中的所有变量是全称量化的。 • Horn子句是一个如下形式的表达式:H(L1∧ L2∧… ∧Ln),其中L1,L2,…Ln为正文字,可以等价地写为析取式: H∨ ~L1∨~L2∨…∨~Ln • 置换(substitution)是一个将某些变量替换为某些项的函数。例如:置换{x/3,y/z}把变量x替换为项3并把变量y替换为项z。给定一个置换和一个文字L,使用L 表示应用置换后的结果。 • 逻辑程序(Logic Program):是一阶逻辑的一个子集,逻辑程序由子句构成,即一系列的if/then规则 • ILP的任务便是通过归纳学习的方法学习到用逻辑程序表达的概念。
学习规则集合 中国科学院自动化研究所 • 学习能表示为if-then规则的集合。 • 其中最重要的一种是学习包含变量的规则集合,或者称为一阶Horn子句集,由于该集合可被解释为逻辑编程语言PROLOG中的程序,学习的过程常被称为归纳逻辑程序(ILP)。 • PROLOG是一个与通用图灵机等价的编程语言。 • 学习规则集合的一种方法是学习决策树,然后转化为等价的规则集合;或者是遗传算法中,用位串编码每个规则集合,然后用遗传搜索算子来探索整个假设空间。 • 在一阶规则学习中直接学习规则,如: IF Parent(x,y) THEN Ancestor(x,y) IF Parent(x,z) and Ancestor(z,y) THEN Ancestor(x,y) • 以上两条规则紧凑地描述了一个递归函数,很难用决策树或者其他的命题方法表示,决策树一般只能学到特殊的规则。
序列覆盖算法 中国科学院自动化研究所 • 该算法学习规则集的策略为:学习一个规则,移去它覆盖的数据,再重复这一过程,被称为序列覆盖(sequential covering)算法。 • 假设已有一个子程序LEARN-ONE-RULE,它的输入为正例和反例,然后输出单个规则,它能够覆盖许多正例而覆盖很少的反例。要求有较高的精确度,但是不必有较高的覆盖度。 • 在所有可用训练样本上执行LEARN-ONE-RULE子程序,再移去由其学习到的规则覆盖的正例,然后在剩余的训练样本上执行,学习第二个规则。 • 该过程重复多次,直到最后学习到析取规则集。它们共同覆盖正例,覆盖程度达到所希望的比例。 • 将学习析取规则集的问题化简为一系列更简单的问题,每个子问题只需要学习单个合取规则。贪婪搜索,没有回溯,结果不一定最佳。
LEARN-ONE-RULE 中国科学院自动化研究所 • 实现LEARN-ONE-RULE的一个有效途径是将假设空加搜索过程设计成与ID3算法相似的方式,但是每一步只沿着最有希望的分支进行。 • 搜索开始于最一般的规则前件,然后加入那些在训练样例上性能改进最大的属性测试。然后重复该过程,贪婪地加入第二个属性测试,依此类推。 • 每个合取假设对应于待学习规则的候选前件集合,由其覆盖的样例的熵来评估。
FOIL(Quinlan,1990) 中国科学院自动化研究所 • 序列覆盖和LEARN-ONE-RULE算法在一阶表示上的自然扩展。 • FOIL学习的假设为一阶规则集的子集,类似Horn子句,但有两个不同:文字不允许含有函数符号(减小了假设空间搜索的复杂度);规则体中的文字可为负文字。 • 可以学习快速排序算法QUICKSORT的递归定义,以及学习从合法棋盘状态中区分出非法状态。 • FOIL算法由两层循环构成,外层循环对应于序列覆盖算法,每次学习一个新规则,将此规则覆盖的正例移去,再学习下一规则。内层循环是LEARN-ONE-RULE的另一种形式。
候选特化式的生成 中国科学院自动化研究所
中国科学院自动化研究所 编码正例所需的最小位数,随着规则越来越强,所需位数越来越少
空规则,对于一切x,y,都有daughter(x,y)成立 中国科学院自动化研究所
中国科学院自动化研究所 左图是一个有向图; 下图是在命题逻辑中表示 “two nodes are linked to Each other”的概念。
+ 中国科学院自动化研究所
+ 中国科学院自动化研究所
+ 中国科学院自动化研究所 注:到此已 学习到所有 正样本,而 且不覆盖负 样本,算法 结束。
FOIL的特点 中国科学院自动化研究所 • 搜索子句的过程完全由数据驱动,不需要逻辑证明。 • 采用贪婪搜索策略,且每次只考虑当前的一个最优解。 • 可以使用递归定义,但会出现无限递归,无法彻底避免。 • 采用function-free Horn 子句,限制了表达能力。 • 无法假设新的谓词,但INDUCE(Michalski,1980)和GIGOL (Muggleton and Buntine,1988)中有引入新谓词的机制,当该谓词对简化定义有帮助时。
小结 中国科学院自动化研究所 • 逻辑仅仅是一种表达语言,真正的人工智能必须能理解语义,我们在选择背景知识,假设空间和搜索路径时其实已经把语义隐含其中。 • ILP研究领域中的问题和我们目前碰到的问题不同,ILP中的数据形式复杂,但是规则相对简单,往往可以加入领域知识,而且可以被人理解。
关系学习中的概率方法 中国科学院自动化研究所
中国科学院自动化研究所 领域知识已知时,往往可以确定 结构,这时估计参数就可以了,但 尽管如此,仍是一个NP难题,只能 得到近似最优解
血型 人 人 中国科学院自动化研究所 血型 P-染色体 P-染色体 M-染色体 M-染色体 父亲 母亲 人 P-染色体 条件概率密度 CPD M-染色体 血型 污染 结果 测试
Bayesian Logic Programs 中国科学院自动化研究所 • BLPs的构成: 一个由Bayesian子句构成的有限集。 每个Bayesian子句上都定义一个条件转移概率。 proper random variables: LH(B). dependency graph. CPDs.
Bayesian Logic Programs 中国科学院自动化研究所 • 把每个基本原子映射成随机变量,且该映射是一一的。 • 分为参数学习和结构学习两部分。 • 输入是数据和初始的贝叶斯网络(需要细化)。 • 以下是例子。
Bayesian Logic Programs 中国科学院自动化研究所
Bayesian Logic Programs 中国科学院自动化研究所
Bayesian Logic Programs 中国科学院自动化研究所