第六章 遗传算法与机器学习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<消息> ::= {0, 1}l
<条件> ::= {0, 1, #}l <分类器> ::= <条件> : <消息> 消息和条件进行匹配时的匹配原则是:“1”与“1”匹配, “0”与“0”匹配,“#”是通配符,与“0”和“1”都可以匹 配。
6.4 分类器系统(CS-1)
假设有一条消息为M=(0 0 1 0 0),则以下条件都与它相匹 配: (0 0 # 0 0)、(0 0 1 0 0)、(# # 1 0 0) 冲突解决机制:分类器系统中通过一种“拍卖”的方式, 让所有的候选分类器通过竞争(花钱购买)来获得被“激 活”的权利。
匹兹堡方法
也可以采用更加灵活的表示方法:用不定长的串来表示规 则。这种情况下,需要对遗传算子进行修改才能保证得到 合法的个体。一种方式就是在串中加入“标点符号”,并 通过这些“标点符号”来区分各条规则和标注规则的内部 结构。 和表示方法相关的另外一个问题就是每个个体所包含的规 则数目。若将规则集合看做是一个程序或者是一个知识库, 那么,规定每个个体包含相同数目的规则是极不自然的。 Smith成功地设计了一种GA,这种算法中的个体长度是变 化的。
6.4 分类器系统(CS-1)
可以把每条规则看成是关于分类系统的一种假设 (hypothesis)。只有当某条规则自称与当前情况有关 时,它才参加角逐。它的竞争力取决于它对解决同类 问题所做的贡献大小。随着遗传算法的运作,强有力 的规则发生组配,形成融合上一代基因块为一体的后 代规则,这些后代取代了最弱小的规则,它们相当于 一些似乎可能但还未经证实的假设。
第六章 遗传算法与机器学习
概述 分类器系统CS-1(Holland)
学习系统LS-1(Smith)
组织学习方法(Wilcox)
6.1 概
述
概念学习可以看作是对概念描述空间的一种启发式搜 索。 概念描述空间是对原始数据(即由教师或环境向学习 系统提供的某些概念的实例)使用一定推理规则得到 的。 概念学习中所隐含的这种搜索机制以及它所采用的符 号表示方法,使得遗传算法在概念学习领域有其用武 之地。 遗传算法本身固有的鲁棒性,使得基于遗传算法的概 念学习系统具有更少的限制性。
6.4 分类器系统(CS-1)
信用分配机制——桶队算法
对于分类器系统来说,衡量每个分类器的“性能”非常困 难。但是,为了应用GA对分类器进行改进,又必须要对每 个分类器在系统中的作用做出一个评价。 从外部环境信息到效应器响应动作之间就形成了一条响应 链,这条响应链建立了外部信息到效应器响应之间的映射 关系。
6.1 概
述
从应用角度来说,这些系统对顺序决策这类学习问题 较为合适。该类问题可以描述如下:一决策主体以回 复方式与一具有离散时间状态的动态系统交互,在每 个时间步的开始,系统处于某确定状态。该主体依当 前状态,根据决策规则,从有限的动作集中选择一个 动作供动态系统执行,并进入到一个新的状态。同时 向主体反馈一个补偿(payoff),其目的是发现一决 策规则集以使补偿最大化。
6.1 概
述
1978年Holland等实现了第一个基于遗传算法的机器学 习系统:一级认知系统CS-1(Cognitive System Level One)。
1986年,Holland提出桶队算法(Bucket Brigade), 整个系统被称为分类器系统。
1980年,Smith提出LS-1系统。在某些重要方面,如染 色体的表示、反馈方式等,LS-1和CS-1有明显差异。 1993年,De Jong和Spears提出GABIL系统,实现基于 GA的概念学习。
分类器所产生的动作,实际上也是一种消息,它可能 会使得效应器产生一个动作,也有可能激发另一个分 类器,还有可能不产生任何作用。
分类器系统结构图
6.4 分类器系统(CS-1)
分类器系统中采用长度一定的字符串表示一条规则(分类 器),这样,就可以保证句法上的合法性,同时,这种基 于字符串的表示方法还使得应用遗传算子变得比较方便。
6.4 分类器系统(CS-1)
如果按每条规则产生的正确行动的数目对其评分,
只会有利于演化出个别超级规则,而不利于寻找 到一组相互之间发生有效作用的规则(系统)。 所以必须改变策略,强迫这些规则去争夺对行动 的控制权。每条满足条件的规则都要与其他满足 条件的规则进行竞争,并且由其中最有力的规则 来决定系统在某种情况下的行动。如果系统的行 动成功了,获胜的规则将被加强,反之,它们将 被削弱。
匹兹堡方法
首先要注意选择适当表示方法。
一种表示方法将单个规则作为一个基因,而将整个分类器 系统作为一个基因串(个体)。 交叉算子提供规则的新的组合方式,而变异算子则提供新 的规则。 为了使得交叉算子和变异算子能够产生合法的个体,一种 最简单的方法就是将所有的规则用固定长度、固定字段格 式的二进制串来表示。这样,这些“IF—THEN”规则就很 自然地表示为一组固定数目的待匹配的传感器模式和一个 在此模式下的动作。
6.4 分类器系统(CS-1)
若一个分类器一直没有被激活,它就可以一直保持它的适应值不 变。但是,若一条规则一直不被激发,那么这条规则也就没有存 在的必要。所以,必须采用一定的方法来防止出现这种“不思进 取”的现象。一种解决方法就是,在每一个时间步对所有的分类 器征收“人头税”T(C,t): T(C,t) = ctax * Strength(C, t) 那么,分类器C在t + 1时刻的适应值可以表示为: Strength(C, t+1) = Strength(C, t) - Bid(C, t) - T(C,t) + I(t) 上式可以化简为 Strength(C, t+1) = (1 - K) * Strength(C, t) + I(t) 其中,K = cbid + ctax。
6.2 遗传机器学习系统的结构
改变任务子系统结构的方式有三种: (1) 用GA改变一组预先定义的控制参数;
(2) 改变控制任务子系统行为的更加复杂的数据结构,如 “议程表”;
(2) 直接修改任务子系统的控制程序,
6.3 匹兹堡方法与密西根方法
将产生式系统引入遗传机器学习领域后产生了两种重要的 实现方法:匹兹堡方法和密西根方法。
其中,R(C)代表C的激发条件中通配符“#”的数目。 假定一个分类器C在t时刻的适应值为Strength(C, t),那么,当它 成为候选分类器时,它给出的“报价”为 Bid(C, t) = cbid * R(C) * Strength(C, t) 其中,cbid为一常数,称报价系数。从上述定义中可以看出,候选 分类器的报价与它的适应值成正比,与匹配精度成反比。
密西根方法
Holland认为,对于一个特定的人(认知实体)的知识(经 验)的更自然的观点是将知识看做是一组规则,这组规则 在与环境的交互作用下不断改变。这一组知识并不是通过 每一代中进行的选择和交叉来进行演变,相反,这一组知 识是在个体尽力使自己适应环境的过程中实时积累的。— —“分类器系统”认知模型 在分类器系统中,GAs所操作的个体不是规则集合而是单 独的规则。 分类器系统中最重要也是最困难的问题是信度分配问题, 也就是如何将适应度值分配到各条规则上去的问题。 ——桶队算法
6.4 分类器系统(CS-1)
Holland给出的在分类器中采用遗传算法的核心步骤: (1) 根据分类器的强度从分类器集合中成对挑选分类器, 强度越大,被选出的可能性越大; (2) 对选中约分类器对应用交叉算子,生成新的分类器; (3) 用生成的后代替换强度最弱的那些分类器。
6.4 分类器系统(CS-1)
6.4 分类器系统(CS-1)
也可以将“报价”简单定义为 Bid(C, t) = cbid * Strength(C, t) 若定义一个分类器在(t - 1)时刻“出售”过一条稍息,则 在t时刻它将获得收入I(t)。那么,一个候选分类器“消费” 一条消息后,它的适应值为 Strength(C, t+1) = Strength(C, t) - Bid(C, t) + I(t)
分类器之间以“交易”的形式传递消息,消息总是传递给 “报价”最高的那个分类器。
6.4 分类器系统(CS-1)
“报价”的计算:
“匹配精度”的定义:匹配精度用于衡量消息与分类器的条件的 “相似程度”。匹配精度越高,两者之间的相似性越强。若分类 器C的激发条件与消息m相匹配,则匹配精度可以定义为
p(C,m) = 1/R(C)
6.2 遗传机器学习系统的结构
大多数学习系统都具有一个共同的特性:即它们都能够产 生结构上的变化来提高其内部知识结构的一致性和广泛性, 发现和利用一些有意义的概念,增强其在环境下完成任务 的能力。
6.2 遗传机器学习系统的结构
通常,可以将遗传学习系统分为两个子系统:一个基于GA 的用于产生合适的结构变化的学习子系统和一个用于完成 外部环境任务的任务子系统。
6.4 分类器系统(CS-1)
分类器重组机制——遗传算法
来自百度文库
分类器系统用GA来生成新的,可能具有更好性能的分类器,并 且淘汰一部分适应值较低的分类器,以使分类器系统的整体性能 不断提高。 一般来说,为保证学习系统性能的稳定性,不采用完全取代的方 法,而是选取一定比例的染色体来取代。 需要确定一个时间步数Tga,这个参数表示两次调用GA对分类器 进行重组间的时间间隔。Tga可以任意确定。在实现时可以设置一 些触发条件,当满足这些条件时,就调用GA对规则进行重组。 由于分类器中使用了三元字符表{0,l,#},所以需要对经典变 异算子进行一定的修改。当发生变异时,从原来的字符变异到另 外两个字符的概率相等。即 P(0→l)=P(0→#)、P(l→0)=P(1→#)、P(#→0)=P(#→ 1)。
匹兹堡方法:将整个规则集合表示为一个个体,GA维护一
个包含一定数目的候选规则集的种群。由匹兹堡 (Pittsburgh)大学的De Jong和他的学生Smith所提出。
密西根方法:认为每个个体就是一条规则,而整个种群就
是规则集合。由密西根(Michigan)大学的Holland和他的 学生Reitman提出。 一般认为,密西根方法更加适合于在线、实时的环境,在 这种环境下,系统行为上的激进的变化是不能容忍的。而 匹兹堡方法更适合于离线的环境,在这种环境下,更加从 容不迫的搜索和更加激进的变化是可以接受的。
系统通过任务探测器从外部环境中获取环境信息,任务子 系统则对这些信息进行处理,并产生一个对外部环境信息 的响应,这个响应通过任务效应器作用到外部环境上。性 能探测器对任务子系统对外部环境所产生的影响进行检测, 并将所检测到的信息传送到学习子系统中,学习子系统利 用这些信息对任务子系统的性能进行评估,并由此改变任 务子系统的内部结构,以提高系统的性能。
end
6.4 分类器系统(CS-1)
生物进化的目的并不是要产生出单一的超级物种,
而是要产生出彼此相互适应的物种群组成的生物 因。同理利用遗传算法的目的也不是为了控制个 别规则和策略的演变,而是为了控制由许多规则 构成的分类系统的演化。竞争的压力并不能孤立 地筛选出最优规则,但是可以引起大系统的进化。
分类器系统中的遗传算法: begin (1) t = 0,随机生成集合Bt,它由M个分类器组成;
(2) 计算Bt中全体分类器的平均强度Vt。对每个分类器赋予一个标准 化强度值St(Cj)/Vt。
(3) 给Bt中的每个分类器Cj赋一个与其标准强度值成正比的概率,并 根据Bt中的概率分布,从Bt中选取n对分类器,其中n << M; (4) 对每对分类器应用交叉算子,生成2n个新的分类器; (5) 将Bt中的2n个强度值最低的分类器用新生成的2n个取代; (6) t = t + 1,返回步骤2。
6.4 分类器系统(CS-1)
分类器系统是一种学习系统,它通过学习句法规则, 来指导系统在外部环境中的行为。 分类器系统由三部分构成: (1) 规则和消息系统; (2) 信度分配系统;
(3) 遗传算法。
6.4 分类器系统(CS-1)
规则和消息系统是一种特殊的产生式系统。规则的一 般形式为: IF <条件C> THEN <动作A> 其含义是:若满足条件C,则产生动作A。也就是说, 若满足条件,则规则被“激发”。