- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch6-粒子群优化算法
机器学习Machine Learning 粒子群拓扑结构 全局版本PSO和局部版本的PSO 全局版本PSO 粒子跟踪两个极值,自身极值pbesti和种群全局极值gbest。按上述思想的PSO是全局版的,虽然收敛快,但是有时会陷入局部最优。 局部版本的PSO 通过保持多个吸引子来避免早熟,指粒子除了追随自身极值外,不跟踪全局极值,而是追随拓扑近邻粒子当中的局部极值了lbest 四、随机生成各个粒子的初始位置向量;群体结构为全 互联结构。五、按照PSO算法进行求解,直到达到最大迭代次数。 RNA(核糖核酸)二级结构预测问题产生的背景 RNA二级结构简介 RNA(核糖核酸),其化学构成如下: 三叶草的RNA二级结构图 碱基间的配对 碱基配对类型:“G≡C”,“A=U”与“G=U”。 稳定性: “G≡C”“A=U”“G=U”。 定义: RNA二级结构的预测 RNA二级结构的模体 基于粒子群算法的RNA二级结构预测方法 编码 每个茎区结构的定义如下: struct Stem{ int start; //茎区的起点 int end; //茎区的终点 int length; //茎区的长度 float free_energy; //该茎区的自由能 } 结构体数组stem[]用来记录RNA序列所有可能的茎区,则优化 算法的计算实质就是对该结构体数组进行操作。从中挑选出一组相容的茎 区序列Si={stem[i1],stem[i2],???,stem[ik]},1?i1,i2,???,ik?SUM,即可表示问题 的一个可行解。 最小自由能算法 这类方法是以分子热力学原理为基础,假定RNA处于稳定的环境中,因而自由能最低的结构最稳定。 RNA二级结构的不同的结构单元应赋以不同的能量值。这里的能量包括碱基对的两个碱基之间或两个碱基对之间的自由能,以及碱基对的堆积能量。对于每种折叠结果,根据结构单元的组成计算自由能的总和,当自由能最小时便认为该折叠为最优折叠。 对于给定的RNA序列,设SP(stem pool,SP)表示该序列所有可能的茎区集合,Etotal(S)表示一个二级结构S的总体自由能,则问题描述如下: 求茎区子集,使得由该子集构成的二级结构 有: s.t.茎区子集 满足相容性条件。 其中Etotal=Estack+Ehairpin+Ebulge+Emulti,即一个RNA二级结 构S的总体自由能等于其各结构单元自由能之和。对于多分支环 能量采用如下线性近似: 通过点阵法计算出一个RNA分子中所有可能存在的茎区,并对 这些茎区按照碱基起始位置递增的次序排序,同时对这些茎区 按照十进制整数进行编号,依次地为结构体数组stem[]赋初值 ,为了方便后续处理,我们将stem[0]的所有属性赋值为0,从 stem[1]开始,每个stem[i]将描述位于排序后的第i位的茎区 (1? i?SUM),SUM表示该RNA分子可能存在的茎区的总数。因 此该算法的搜索空间可以由有限个状态点构成的,如果将每个 状态点看作是一个集合,则搜索空间可使用公式(5.8)表示 为: 搜索空间中的每个点Xi={xi1,xi2,…,xin}的具体含义 为:Xi是当前被预测的RNA分子的一种相容的茎区集合 ,当xij为的整数K时,表示选择了位于stem[]数据中 下标为K的茎区。此时,粒子群的速度公式和状态公式 定义如下: ① “?1”运算 A?1B:表示将B集合中的所有茎区加入到集合A中。需要注意的是:当B集合中的茎区加入到A集合中之后,需要检查A集合中所有茎区的相容性,如果新加入的茎区与原来A集合中的茎区不相容,则需要除掉原来A集合中与B集合不相容的茎区。 在该运算中,我们淘汰A集合中的茎区来保证B集合中的所有茎区都进入下一个状态中。这样,当粒子向最优粒子或历史最优点靠近时,可以尽可能多的保留较优状态中的茎区。 ② “-”运算 A-B:集合之间的差运算,结果为属于A但是不属于B的茎区。 ③ “?1”运算 n?1S:S为集合,n为不大于|S|的整数,表示从S集合中任意选择n个茎区组成的新的集合。具体实现为: ④ “?2”运算 n?2S:表示从SUM个茎区中任选n个替换S中的茎区。该运算符实质上是一个变异算子。本粒子正处于历史最优点,因此,为了避免粒子陷入局部极值,对于粒子速度的计算公式可以运用该变异运算。 公式中的参数定义如下: ?=round(|Vi(t)|*Rand1); ?1=round(|pbesti(t
文档评论(0)