【基因调控网络】Gene regulatory networks modelling using a dynamic evolutionary hybrid(ENFRN ,动态进化混合模型2010)

【基因调控网络】Gene regulatory networks modelling using a dynamic evolutionary hybrid(ENFRN ,动态进化混合模型2010)ENFRN动态进化混合模型2010摘要跟据基因调控网络重建面临的三个问题:数据高维、时间动态、测量噪声,提出了一种多层进化训练的神经-模糊递归网络(ENFRN),可以用于描述潜在目标基因和调控的类型。其中递归、自组织机构和进化训练等特点优化了弱调控关系,模糊的特性避免了噪声影响的问题,最后为每一组调控都给定了分数。方法最终在酵母的基准数集上进行了测试。各个方法的特点传统方法:Boo…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

ENFRN 动态进化混合模型2010

摘要

跟据基因调控网络重建面临的三个问题:数据高维时间动态测量噪声,提出了一种多层进化训练的神经-模糊递归网络(ENFRN),可以用于描述潜在目标基因和调控的类型。
其中递归、自组织机构和进化训练等特点优化了弱调控关系,模糊的特性避免了噪声影响的问题,最后为每一组调控都给定了分数。方法最终在酵母的基准数集上进行了测试。

各个方法的特点
传统方法:
  1. Boolean Networks(布尔网络):只有0和1两个状态,不能表示中间的状态等级。
  2. Bayesian Networks(贝叶斯网络):不能考虑到时间动态性
  3. Dynamic Byesian Networks(动态贝叶斯网络):较高的计算复杂度
  4. linear additive regulation models(线性附加调控网络):不能计算非线性的动态基因调控网络
近期的方法:(相对于2010年)
  1. hybrid neuro-genetic algorithm(混合神经进化算法):当模型面对复杂动态基因时间序列时ANN可能会陷入局部陷阱中。
    详情见https://blog.csdn.net/loveC__/article/details/88977410
  2. recurrent neural networks(RNNs,递归神经网络):虽然有自使用循环,反向链接,递归可以记录历史信息,但是没有recurrent fuzzy neural networks(RFNNs,递归模糊神经网络)表现好,模糊特性可以更好的处理不确定的噪声数据。
算法

由于算法较为复杂,故此大致描述一下算法的整体流程,核心结构是一个5层的递归神经模糊网络,通过三次对其优化,得到基因调控之间的调控类型和潜在调控关系。其中最初第一次初始化网络结构,接着第二次优化使用BPSO对网络的结构进行优化,最后使用PSO对网络结构参数进行微调,对每个基因分配Regulation Score(RS)和Regulation Type。

ENFRN 5层结构

在这里插入图片描述
ϕ i ( k ) \phi_i^{(k)} ϕi(k)表示节点 i i i在第 k k k层上的输入, Ψ i ( k ) \Psi_i^{(k)} Ψi(k)表示节点 i i i在第 k k k层上的输出。
1. 第一层:第一层为输入层,每个节点直接输入变量到下一层中
Ψ i ( 1 ) = ϕ i ( 1 ) = x i \Psi_i^{(1)}= \phi_i^{(1)}=x_i Ψi(1)=ϕi(1)=xi
2. 第二层:标签语言输入层,该层中的每个节点表示一个高斯隶属函数,该函数对应于一个语言标签
Ψ i j ( 2 ) = e x p ( ( ϕ i j ( 2 ) − c i j ) 2 σ i j 2 ) \Psi_{ij}^{(2)} = exp \Bigg({\frac {(\phi_{ij}^{(2)}-c_{ij})^2}{\sigma_{ij}^2}} \Bigg) Ψij(2)=exp(σij2(ϕij(2)cij)2)
其中 c i j c_{ij} cij代表均值, σ \sigma σ表示标准差, Ψ i j \Psi_{ij} Ψij表示第 i i i个输入变量的第 j j j个隶属函数。在第二层中有递归的结构,这一层中每一个节点的输入的某个时间点为 t t t:
ϕ i j ( 2 ) ( t ) = x i ( t ) + β i j ⋅ Ψ i j ( 2 ) ( t − 1 ) \phi_{ij}^{(2)}(t) = x_i(t)+\beta_{ij} \cdot \Psi_{ij}^{(2)}(t-1) ϕij(2)(t)=xi(t)+βijΨij(2)(t1)
其中 β i j \beta_{ij} βij表示反馈单元的链接权重, ϕ i j \phi_{ij} ϕij表示第 i i i个输入变量的第 j j j个隶属函数。可以从公式看出其中 Ψ i j ( 2 ) \Psi_{ij}^{(2)} Ψij(2)是节点上一个时间的输出,作为了现在隶属函数中的输入。此公式表示了第二层的递归链接的方式,保存了每一层的过去状态的信息。
3. 第三层:规则层,包括所有的规则节点,每一个节点都匹配一个规则,后面将会详细讲述,第三层节点的添加规则。
Ψ i ( 3 ) = ∏ i ϕ i ( 3 ) \Psi_i^{(3)} = \prod_i \phi_i^{(3)} Ψi(3)=iϕi(3)
其中:
∏ i ϕ i ( 3 ) = e x p ( − [ D i ( ϕ i ( 2 ) − c i ) ] T [ D i ( ϕ i ( 2 ) − c i ) ] ) \prod_i \phi_i^{(3)} = exp \Bigg( -[D_i \big(\phi_i^{(2)}-c_i \big)]^T[D_i \big(\phi_i^{(2)} -c_i \big)] \Bigg) iϕi(3)=exp([Di(ϕi(2)ci)]T[Di(ϕi(2)ci)])
每个规则节点的输出,对应这个规则的触发强度。
4. 第四层:ENFRN对输出进行分区,这些节点被称为语言节点,对应于模糊规则的后面部分。
Ψ i ( 4 ) = ∑ i ϕ i ( 4 ) \Psi_i^{(4)} = \sum_i \phi_i^{(4)} Ψi(4)=iϕi(4)
当前层的每个节点的输出,是规则层中规则节点的和(这些规则层中对应节点的结果是当前节点)。
5. 第五层:输出层,去模糊过程
y j = Ψ i ( 5 ) = ∑ i w i j ϕ i ( 5 ) ∑ i ϕ i ( 5 ) y_j = \Psi_i^{(5)} = \frac {\sum_i w_{ij}\phi_i^{(5)}}{\sum_i \phi_i^{(5)}} yj=Ψi(5)=iϕi(5)iwijϕi(5)
w i j w_{ij} wij是输出层模糊集的宽度。ENFRN为对应输出变量计算预测值。

算法分为三大部分:

  1. 第一部分:5层结构的创建。首先需要对第三层规则层进行初始化,初始化规则节点,通过训练集得到规则层的规则节点数量。
  2. 第二部分:使用BPSO对ENFRN进行优化和学习,这一层主要优化ENFRN的结构,简化模型,降低冗余的规则。
  3. 第三部分:使用PSO对ENFRN中的具体参数进行学习优化。
实验结果

由于论文中链接失效,无法获取数据集和测试集,最终在网络上找到了cdc_15和cdc_28的时间序列测试集,使用cdc_15作为训练集,cdc_28作为测试集,得到以下结果。

a/a Regulator Type Target Train Composite Score Test Composite Score
1 Gene5 + Gene1 0.32194 0.26300
2 Gene3 Gene1 31.19813 32.06183
3 Gene4 + Gene4 30.34433 30.25702
4 Gene5 + Gene6 0.39765 0.31757
5 Gene12 + Gene6 0.39765 0.31757
6 Gene6 + Gene7 0.33661 0.20830
7 Gene8 + Gene7 0.33661 0.22057
8 Gene1 Gene7 0.52834 0.40458
9 Gene9 Gene10 30.38451 29.63479

由于数据中没有基因的名称,故对基因进行了1-12进行了编号,从数据可以看出,从12个基因中得到了9组调控信息,其中+代表积极调控(Up Regulation)
-代表不稳定调控(UnStable Regulation)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206817.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Batchnorm原理详解「建议收藏」

    Batchnorm原理详解「建议收藏」Batchnorm原理详解前言:Batchnorm是深度网络中经常用到的加速神经网络训练,加速收敛速度及稳定性的算法,可以说是目前深度网络必不可少的一部分。本文旨在用通俗易懂的语言,对深度学习的常用算法–batchnorm的原理及其代码实现做一个详细的解读。本文主要包括以下几个部分。Batchnorm主要解决的问题 Batchnorm原理解读 Batchnorm的优点 Batc…

    2022年4月29日
    39
  • Java程序概述

    Java程序概述Java程序概述一、Java开发环境1、Java程序编译执行的过程2、Java平台概述3、JDK部分常用工具二、Application三、Applet四、Servlet五、JSP和JavaBean六、脚本一、Java开发环境1、Java程序编译执行的过程Java程序在编译执行过程中,首先把源文件(.java文件)编译成字节码文件,即类文件(.class);然后由解释器负责解释执行类文件。2、Java平台概述Java平台包括Java应用程序接口(API)和Java虚拟机(JavaVirtual

    2022年7月7日
    21
  • CentOs6.5安装Docker中:No package docker-io available[通俗易懂]

    CentOs6.5安装Docker中:No package docker-io available[通俗易懂]在Centos中安装docker时出现:No package docker-io available 说是yum没有找到docker这个包,

    2022年6月13日
    29
  • javah命令详解「建议收藏」

    javah命令详解「建议收藏」概述:最近在写c++/c的一个小的项目,需要打成动态库,供java使用。就对java调用c++/c代码做了简答了解,在此做记录。jni开发第一步,就是用javah命令生成生成c\c++头文件。javah命令参数详解cmd(默认配置jdkpath)执行javah-help如下图:-d和-o这两个参数用于设置生成的C\C++头文件的指定,该两参数选项不能同时使…

    2022年9月25日
    0
  • Python Qt GUI设计:5种事件处理机制(提升篇—3)

    Python Qt GUI设计:5种事件处理机制(提升篇—3)事件处理机制本身很复杂,是PyQt底层的知识点,当采用信号与槽机制处理不了时,才会考虑使用事件处理机制。

    2022年5月16日
    40
  • 一比一还原axios源码(五)—— 拦截器「建议收藏」

    上一篇,我们扩展了Axios,构建了一个Axios类,然后通过这个Axios工厂类,创建真正的axios实例。那么今天,我们来实现下Axios的拦截器也就是interceptors。我们来简单看下Ax

    2022年3月25日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号