- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XCS和其在二进制序列分类问题中应用
XCS和其在二进制序列分类问题中应用 摘 要: XCS作为一种基于精度的学习分类器系统,是近年来机器学习领域研究的热点。介绍了XCS的基本结构,研究了其在序列分类问题中的应用,并以此为基础构建一个学习/测试系统,实现了对二进制序列的学习和分类,讨论了相关参数对学习性能的影响,最后对XCS的应用前景进行了总结。
关键词: XCS; 学习分类器系统; 机器学习; 二进制序列
中图分类号: TN957.52?34 文献标识码: A 文章编号: 1004?373X(2014)05?0090?04
0 引 言
自计算机问世以来,人们就一直在研究怎样使其具备和人类一样强大的学习能力,并因此产生了多种机器学习算法。LCS(学习分类器系统)作为一种基于规则的自主学习方法,在机器学习领域占有重要的地位[1]。
1978年,John Holland首次将遗传算法和强化学习的思想结合起来,提出了LCS的概念[1]。但起初LCS规则集的更新方式相对复杂,且更新过程不稳定。为提高LCS的学习性能,S.W. Wilson在1995年提出了XCS(拓展的学习分类器系统)作为LCS的改进形式,XCS对LCS的结构进行了简化,系统内部不再需要复杂的消息列表,并将适应度取值从基于预测回报的强度改为基于预测回报的精度,因此XCS也常叫做基于精度的学习分类器系统[2]。
序列分类是机器学习领域的经典问题,通过对二进制序列的学习与分类,可以更直观地理解XCS的工作特点和学习过程。本文首先介绍了XCS的基本结构;然后讨论了序列学习与分类的问题,构建了二进制序列分类的实验环境并给出部分实验结果,分析了XCS的学习性能;最后对XCS的应用前景进行了总结。
1 XCS的基本结构
图1 XCS的基本组成
XCS的基本工作流程是:当有外界环境输入时,执行部分会根据环境的状态从种群[P]中选取与之相匹配的分类器集合[M],然后依据一定的准则确定动作集[A]并将动作输出,获得环境反馈后强化部分将更新集合[A]中分类器的参数,而后发现部分应用遗传算法在集合[A]中进行分类器的交叉和变异,依此循环往复,不断更新种群[P]中的分类器,直至获得最优的种群或达到规定的学习次数。为进一步说明XCS的学习机制,下面简要介绍各个部分的组成。
1.1 分类器种群
1.4 发现部分
发现部分主要由覆盖机制和遗传算法两部分组成。一般地,为保证匹配集[M]非空且不直接等于[A],当[M]中包含的动作数小于设定的阈值[θmna](一般为最大动作数)时,覆盖机制将被激活,用于产生状态与环境状态相匹配的新分类器,新分类器的动作在当前[M]不包含的动作中随机选取,其他参数的初始化采用默认值。覆盖机制一般发生在种群初始化为空的学习开始阶段[4]。
遗传算法是XCS学习机制的核心之一,是分类器种群[P]淘汰低准确率分类器、保留和遗传高准确率分类器的主要途径。和经典的遗传策略相一致,这里的遗传算法采取了交叉和变异两种遗传算子,遗传算子操作的对象的一般为分类器的状态或动作。在强化部分更新[A]中的分类器参数之后,遗传操作将基于适应度[F]选取父代分类器,并以交叉概率[χ]和变异概率[μ]进行分类器的交叉和变异[5]。如果有子代分类器产生,发现部分将检查[P]中的子分类器数量是否超出种群容量[N,]如超过,则遗传算法将基于适应度[F]在[P]中进行子分类器的删除操作,以保证种群不被无限扩大[6]。
2 XCS与序列分类
2.1 序列特性与机器学习
对于简单序列——如频率相差较大的正弦序列,人眼很容易加以区分,这是因为它们的变化快慢不同,而机器本身并不具备这样的理解能力,所以需要设计一个检测频率的分类系统,通过设定判决阈值来实现自动分类。
对于复杂序列,事先并不知道其特性,无法直接为其设计分类系统,但如果已经具备了大量的类别已知的数据,则可以通过机器学习方法实现对复杂序列特征的学习[7],从而达到自动分类的目的。
2.2 二进制序列的分类
序列分类是相对宽泛的概念,为便于观察实验结果,本文采取了简单的二进制序列分类问题来验证XCS的有效性。图3为4选1数据选择器的示意图,其中S0和S1控制输出端OUT选择哪个输入,传递的数据为逻辑“0”或逻辑“1”。
4 结 语
XCS是一种通用性很强的学习算法[8],但就其本身而言只是给出了一种学习的手段和框架,要用于解决实际问题,必须辅以合理的定义和建模手段[9]。本文就简单的二进制序列分类问题进行了相关的研究和实验,讨论并验证了XCS的学习性能。除此之外,XCS还可应用于解决许多实际问题,如经济学领域的数据挖掘问题[10]和机器人领域的自主导航问题等[11]。
文档评论(0)