本发明涉及模型辨识技术领域,具体涉及一种多层布尔网络的模型辨识方法及系统。
背景技术:
基因表达是一个复杂的过程。许多生物过程都需要通过基因调控网络实现基因表达。近年来,人们对研究遗传调控网络有着非常大的兴趣,在理解生物过程及有效控制干预方面发挥着非常重要的作用。布尔网络是一种以有向图为基础的离散系统,是一种较为简单的逻辑动力系统。布尔网络能够模拟一些复杂的生物系统网络,考夫曼在1969年提出可以用布尔网络描述基因调控网络,首次将逻辑运算中的“0”和“1”表示基因被抑制和被表达两种状态。由于布尔网络模型在状态表达上较为简单,而又能够可以简洁有效的描述作用在有限集上的动态离散模型。因此,布尔网络已成为基因调控网络的重要模型之一。
生物调节系统的分析是要研究基因在整体水平上的相互作用,而不是生物体孤立部分的某一特征。为了理解生物系统的复杂性与变异性,考虑到许多层级的相互作用,需要新的描述水平。因此,有必要引入一个新的网络—多层网络。布尔网络的辨识帮助我们了解到更多的生物模型,其并不是直接构造布尔网络的逻辑动态方程,而是基于观测数据和半张量积先构造它的代数形式,然后再返回逻辑形式,进而给出辨识的方法。近年来,遗传网络模型和网络辨识问题的研究与开发取得了显著进展,但是这些问题的研究均是基于单层布尔网络的研究开展的。例如,研究者希望通过少量基因来辨识基因模式的方法[1],还有通过数据可能来自癌细胞扩散过程的观察和诊断。考虑模型结构的复杂性和随机因素的干扰性,研究多层布尔网络的辨识,为具有复杂结构的布尔网络模型的辨识提供理论依据和应用探索研究具有十分重要的意义。
技术实现要素:
鉴于以上问题,本发明提出一种多层布尔网络的模型辨识方法及系统,用以解决现有单层或多层布尔网络并不能详细地描述生物模型之间的逻辑关系和不能对多层布尔网络模型进行有效辨识的问题。
根据本发明一方面,提出一种多层布尔网络的模型辨识方法,该辨识方法包括以下步骤:
步骤一、获取观测数据;其中,所述观测数据不包含所有状态;
步骤二、对所述观测数据进行预处理;
步骤三、建立多层布尔网络模型;其中,多层布尔网络包括多个单层布尔网络和各层之间的全局状态层;
步骤四、辨识获得一个或多个多层布尔网络的模型结构,过程包括:
根据所述观测数据对每个结点的结构进行辨识,获得单个结点的结构,从而获得多层布尔网络模型的结构,其中单个结点的结构辨识具体步骤为:
步骤四一、根据所述观测数据和下述公式对单个结点结构矩阵的部分已知列进行辨识,获得所述单个结点结构矩阵的部分已知列:
其中,l表示布尔网络层数;i表示结点;
步骤四二、按照下述公式将已获得部分已知列的单个结点结构矩阵与换位矩阵相乘,获得对应所述单个结点结构矩阵每一列的单列结构矩阵:
其中,w表示换位矩阵;n表示结构矩阵的总列数;
步骤四三、将所述单列结构矩阵分为左右相等的两个列数相等的子块,当两个子块相等时,保留所述单列结构矩阵,作为所述单个结点结构矩阵的部分列;当两个子块不相等时,不保留所述单列结构矩阵;将获得的多个部分列与步骤四一中获得的部分已知列相结合,获得最终的单个结点结构矩阵;
步骤四四、重复步骤四二至步骤四三,直至单个结点结构矩阵的所有列均被辨识出来,获得单个结点结构矩阵,从而辨识获得单个结点的结构。
进一步地,步骤一中所述观测数据表示为:
其中,n表示每层布尔网络的结点数;xl(0),…,xl(n)表示第l层布尔网络的观测数据;
进一步地,步骤二中所述预处理为数据集合的统计和向量化处理。
进一步地,步骤三中所述多层布尔网络模型表示为:
其中,
进一步地,步骤四中当辨识获得多个多层布尔网络的模型结构时,利用最小入度建模算法,在多个多层布尔网络模型结构中选择一个作为最终的多层布尔网络模型结构。
进一步地,步骤四中当辨识获得多个多层布尔网络的模型结构时,根据矛盾列的数据,利用极大似然估计法,获得多个多层布尔网络模型结构被选择的概率,从而根据所述概率,确定最终的多层布尔网络模型结构;其中,矛盾列的定义是由于观测数据各状态相互矛盾而导致所述单个结点结构矩阵的每一列结果不唯一。
根据本发明另一方面,提出一种多层布尔网络的模型辨识系统,该辨识系统包括:
数据获取模块,用于获取观测数据;其中,所述观测数据不包含所有状态;所述观测数据表示为:
其中,n表示每层布尔网络的结点数;xl(0),…,xl(n)表示第l层布尔网络的观测数据;
预处理模块,用于对所述观测数据进行预处理;所述预处理为数据集合的统计和向量化处理;
模型建立模块,用于建立多层布尔网络模型;其中,多层布尔网络包括多个单层布尔网络和各层之间的全局状态层;
结构辨识模块,用于辨识获得一个或多个多层布尔网络的模型结构,辨识过程包括根据所述观测数据对每个结点的结构进行辨识,获得单个结点的结构,从而获得多层布尔网络模型的结构,其中单个结点的结构辨识具体步骤为:
步骤四一、根据所述观测数据和下述公式对单个结点结构矩阵的部分已知列进行辨识,获得所述单个结点结构矩阵的部分已知列:
其中,l表示布尔网络层数;i表示结点;
步骤四二、按照下述公式将已获得部分已知列的单个结点结构矩阵与换位矩阵相乘,获得对应所述单个结点结构矩阵每一列的单列结构矩阵:
其中,w表示换位矩阵;n表示结构矩阵的总列数;
步骤四三、将所述单列结构矩阵分为左右相等的两个列数相等的子块,当两个子块相等时,保留所述单列结构矩阵,作为所述单个结点结构矩阵的部分列;当两个子块不相等时,不保留所述单列结构矩阵;将获得的多个部分列与步骤四一中获得的部分已知列相结合,获得最终的单个结点结构矩阵;
步骤四四、重复步骤四二至步骤四三,直至单个结点结构矩阵的所有列均被辨识出来,获得单个结点结构矩阵,从而辨识获得单个结点的结构。
进一步地,所述模型建立模块中建立的多层布尔网络模型表示为:
其中,
进一步地,系统还包括第一结构选择模块,所述第一结构选择模块用于当辨识获得多个多层布尔网络的模型结构时,利用最小入度建模算法,在多个多层布尔网络模型结构中选择一个作为最终的多层布尔网络模型结构。
进一步地,系统还包括第二结构选择模块,所述第二结构选择模块用于当辨识获得多个多层布尔网络的模型结构时,根据矛盾列的数据,利用极大似然估计法,获得多个多层布尔网络模型结构被选择的概率,从而根据所述概率,确定最终的多层布尔网络模型结构;其中,矛盾列的定义是由于观测数据各状态相互矛盾而导致所述单个结点结构矩阵的每一列结果不唯一。
本发明的有益技术效果是:
实际领域中,人们希望通过少量基因来辨识基因模式,或者通过采集的数据来进行诊断,但是并不知道逻辑动态系统或布尔网络,这就需要对布尔网络进行辨识与重构。本发明提出一种多层布尔网络的模型辨识方法及系统,考虑到实际生物系统的随机性,当观测数据不包含所有状态或观测数据较少时,可能会引起对立的辨识结果,本发明在多层布尔网络辨识的基础上提出了多层概率布尔网络的辨识,多层概率布尔网络的辨识分为两个部分,首先根据观测数据,给出多层布尔网络的结构辨识,然后根据矛盾列的数据,用极大似然估计法,给出系统选择的概率,从而根据概率确定最终的多层布尔网络的模型结构。本发明可以准确地辨识模型结构,从而可以详细地描述生物模型中的逻辑关系,因此,本发明可以广泛地应用于基因调控网络的研究中。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。
图1是多层布尔网络模型示例图;
图2是本发明方法的示意性流程图;
图3是布尔网络简单的结构示例图;
图4是本发明实施例中不同癌症与microrna的关系示意图;
图5是本发明实施例中前列腺癌、胆管和不同microrna的模型结构示意图;
图6是本发明系统的示意性结构图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
近年来,越来越多的学者开始关注和研究多层布尔网络,但是目前对于多层布尔网络的辨识问题并没有相应的处理方案,因为多层布尔网络与单层布尔网络之间存在着很多不同之处。对于多层布尔网络来说,辨识结果不同于简单的单层布尔网络的辨识问题,因为即使模型中的布尔网络的层数为一,系统中仍然有全局状态存在,而全局状态与处在每一层的基本状态之间存在逻辑关系,布尔网络的辨识就是将其代数状态空间方程转化为逻辑动态系统。
对于多层布尔网络来说,并不是指简单的单层布尔网络叠加的,而是存在一个全局状态层,全局状态层上的结点状态取决于渠道函数,有一定的更新规律。一些状态点同时存在于不同的层中,在演化及发展的过程中彼此互相影响,并不独立。假设多层布尔网络有k层,每层有n个结点。在整个网络中,彼此不同的结点一共有n个(这里n≤n≤nk)。本发明所建立的多层布尔网络模型如图1所示,多层布尔网络的逻辑动态系统可表示为:
该模型的具体描述如下:
如图1中所示,这里k=2表示有两层,n=2表示每层上有两个状态结点,n=3表示一共有3个不同的状态结点;
在多层布尔网络模型中,有ai,l∈d,如果状态点i在l层上,则有ai,l=1,那么结点i所在层的集合记为
在图1中,可以得到第一个结点所在的层的集合是
其中,f为结点i在第l层的更新函数。
对于全局状态层,用
其中,
因此,可以得到多层布尔网络的代数形式为:
这里,ll和
对于多层布尔网络不同于简单的单层布尔网络模型之处在于,一些状态点同时存在不同的层中,这些存在于不同层的状态点在其演化及发展的过程中彼此相互影响,并不独立。因此,系统中有全局状态层存在,而全局状态与处在每一层的基本状态之间存在逻辑关系。
但是考虑到实际生物系统的随机性,当观测数据不包含所有状态或观测数据较少时,本发明提出一种多层布尔网络的模型辨识方法。目标是找到一个逻辑动态系统,从而辨识出网络模型。如图2所示,该辨识方法包括下述步骤:
第一步,对观测数据进行集合的统计和向量化处理;
假设多层布尔网络有l层、n个结点,令下述公式成立:
假设一组观测数据可表示为:
这里,
最终将观测数据表示为向量形式。
第二步,结构矩阵的辨识;
把公式(3)中的结构矩阵
例如,如图3所示,x1的邻域为{x1,x2},记作u(x1)={x1,x2};x2的邻域为u(x2)={x1,x3};x1的邻域为u(x3)={x1}。考察一个n结点布尔网络,记第k个结点的入度为di(k),它表明直接指向结点k的边数为di(k)。回忆邻接矩阵[2],可知:
其中,k=1,2,…,n。在一个有序的网络中,入度远小于结点数。
定义1:n结点布尔网络,一个入度为
显然,最小入度实现需要的数据少得多。数据较少时考虑最小入度建模。
下面找到逻辑动态系统,使得给定的数据可以确定下述逻辑表达式:
这里,
由于数据相互矛盾导致coli(ll)即矩阵ll的第i列的结果不唯一,因此考虑每一个变量
这里,
定义2[3]:换位矩阵
w[m,n]=δmn[1,m+1,2m+1,…,(n-1)m+1,2,m+2,2m+2,…,(n-1)m+2,…m,2m,3m,…,nm]
那么矩阵
当m=n时,将w[n×n]写成w[n]。
因此,由定义2自定义一组矩阵:
得到的每个矩阵分为左右相等的两个列数相等的子块:
根据公式(4),当j=1时,有
如果
命题1[3]:设x=△m,y=△n,z=△r,定义:
那么,
f[m,n,r]xyz=x
m[m,n,r]xyz=y
r[m,n,r]xyz=z
注:如果只有两个因子x∈△m,y∈△n,则有定义
则用解代替待定元,得到:
考虑xj,将
然后,对3≤j≤n重复这一步,检验
类似的,将其用到其他几个方程,最后得到整个模型的逻辑动态方程。
进一步地,由于观测数据可能互相矛盾或者重复,从而导致多层布尔网络的代数形式即公式(2)中的ll的某列不唯一,数据可能引起对立的辨识结果,因此,考虑多层布尔网络的概率辨识。
由于多层概率布尔网络是多层布尔网络的一种延伸,多层概率布尔网络的结点
其中,i=1,2,…,n,
其中,l=1,2,…,k,i=1,2,…,n,
此时,多层布尔网络即公式(1)就转变成了多层概率布尔网络。设
因此,多层概率布尔网络可以被描述如下:
其中,
由此得到,目标是找到一个逻辑动态系统,使得给定的数据可以确定下述动态方程:
下面介绍利用极大似然估计法根据概率进一步对模型进行辨识的步骤。
首先针对观测数据给出一些标记:
1)观测数据的系统状态为λω:
其中,ω≤2n,
2)针对观测数据,令
sl={(xl(0),xl(1)),(xl(1),xl(2)),…,(xl(n-1),xl(n))}
其中,(xl(n-1),xl(n))表示从前一个时刻的状态到下一个时刻的状态的转换。
令sl,i={(xl(0),xl,i(1)),(xl(1),xl,i(2)),…,(xl(n-1),xl,i(n))}表示含有结点的观测数据,其中,(xl(n-1),xl,i(n))表示第i个结点从前一个时刻的状态到下一个时刻的状态的转换的集合。
3)
下面对参数pl,i进行学习,可以使用容斥原理来计算
其中,
时间序列sl,i的可能性定义为:
对其取自然对数,得到对数似然:
对于所定义的优化问题的可行解很有可能是空集,所以重新定义一个有误差的约束:
其中,
利用多层布尔网络的结构辨识以及概率辨识相结合,最终得到辨识结果如下:
具体实施例一
基于本发明方法研究致病microrna和不同癌症间是否共享发病机制的模型辨识。microrna是一类重要的非编码rna,它的异常能导致人类疾病的发生、发展。通过癌症组织芯片的测定,许多microrna在癌症组织与正常组织中的表达情况迥异,从而证实了microrna与癌症的产生是密切相关的。
为了研究不同疾病之间是否共享发病机制,利用mir2disease数据库中那些已知的microrna失调能导致疾病的信息描述致病microrna和癌症之间的相互关系。首先建立致病microrna和不同癌症间是否共享发病机制的模型。
如图4所示,图中矩形与圆形图案分别代表各种不同的癌症与microrna,它们之间的连线表示它们之间具有因果关系。实心圆表示那些能引起3种以上癌症的microrna。从microrna方面来说,hsa-let-7a失调是导致9种癌症的罪魁祸首,hsa-mir-124a、hsa-let-7c、hsa-mir-145和hsa-mir-221这4种microrna每一种都至少与5种癌症有关(网络中的实心圆图案)。从图中发现,多种癌症连着部分相同的致病microrna,暗示着这些疾病共享一些发病机制。
利用上述模型提取癌症前列腺癌(prostatecarcinoma)和胆管癌(cholangiocarcinoma),相关癌症的microrna为hsa-let-7a、hsa-mir-221、hsa-let-7c、hsa-mir-145和hsa-mir-124a,具体模型如图5。为了便于计算,将上述模型中的第一层的致病microrna用
第一层观测数据为:
x1(0)=[101],x1(1)=[010],x1(2)=[110],x1(3)=[101],
x1(4)=[111],x1(5)=[101],x1(6)=[010],x1(7)=[110]。
第二层观测数据为:
x2(0)=[100],x2(1)=[011],x2(2)=[100],x2(3)=[110],
x2(4)=[100],x2(5)=[010],x2(6)=[100],x2(7)=[011]。
全局状态层观测数据为:
根据上述观测数据x1(0)=δ2[121],于是数据的向量形式为:
模型的观察数据的向量结构为:
第一层:
第二层:
根据观测数据,以结点
(1)模型结构辨识
step1:将
根据第一层观测数据已知:
则有:
同理可求:
得到:
同理可求:
则:
其中矛盾列的值有
step2:当矛盾列选择
设
对不确定元素有解,则不依赖
将
δ2[11]=δ2[2*]
这方程无解,即方程依赖于
那么:δ2[12]=δ2[1*],有解δ2[12],则不依赖于
最后得到逻辑表达式为:
step3:当矛盾列选择
设
对不确定元素有解,则不依赖
将
δ2[11]=δ2[1*]
这方程无解,即方程依赖于
那么:δ2[11]=δ2[1*],方程无解,则依赖于
最后得到逻辑表达式为:
(2)概率学习
将系统状态λi在观测数据中体现,所以令
x1(0)=[101]=λ0x1(1)=[010]=λ1x1(2)=[110]=λ2x1(3)=[101]=λ0
x1(4)=[111]=λ3x1(5)=[101]=λ0x1(6)=[010]=λ4x1(7)=[110]=λ5
首先处理观测数据,针对结点
s1,1=(x(0),0)(x(1),1)(x(2),1)(x(3),1)(x(4),1)(x(5),0)(x(6),1)
λ0的转换是冲突的,因为在时刻1和6时,结点的系统状态λ0为0,而在第5时刻时,结点的系统状态λ0为1,系统状态λ0将结点
所以
可以得到
取对数似然为:
有:
最终:
因此结点
同样的,可以求出整个系统的代数状态空间方程为:
第二层的状态空间方程为:
全局状态层的状态空间方程为:
通过观测数据可以辨识出前列腺癌和胆管癌和致病microrna的关系,并且通过辨识知道了
根据本发明另一方面,如图6所示,提出一种多层布尔网络的模型辨识系统,该辨识系统包括:
数据获取模块110,用于获取观测数据;其中,观测数据不包含所有状态;观测数据表示为:
其中,n表示每层布尔网络的结点数;xl(0),…,xl(n)表示第l层布尔网络的观测数据;
预处理模块210,用于对观测数据进行预处理;预处理为数据集合的统计和向量化处理;
模型建立模块310,用于建立多层布尔网络模型;其中,多层布尔网络包括多个单层布尔网络和各层之间的全局状态层;
结构辨识模块410,用于辨识获得一个或多个多层布尔网络的模型结构,辨识过程包括根据观测数据对每个结点的结构进行辨识,获得单个结点的结构,从而获得多层布尔网络模型的结构,其中单个结点的结构辨识具体步骤为:
步骤四一、根据观测数据和下述公式对单个结点结构矩阵的部分已知列进行辨识,获得单个结点结构矩阵的部分已知列:
其中,l表示布尔网络层数;i表示结点;
步骤四二、按照下述公式将已获得部分已知列的单个结点结构矩阵与换位矩阵相乘,获得对应单个结点结构矩阵每一列的单列结构矩阵:
其中,w表示换位矩阵;n表示结构矩阵的总列数;
步骤四三、将单列结构矩阵分为左右相等的两个列数相等的子块,当两个子块相等时,保留单列结构矩阵,作为单个结点结构矩阵的部分列;当两个子块不相等时,不保留单列结构矩阵;将获得的多个部分列与步骤四一中获得的部分已知列相结合,获得最终的单个结点结构矩阵;
步骤四四、重复步骤四二至步骤四三,直至单个结点结构矩阵的所有列均被辨识出来,获得单个结点结构矩阵,从而辨识获得单个结点的结构。
进一步地,模型建立模块310中建立的多层布尔网络模型表示为:
其中,
进一步地,系统还包括第一结构选择模块510,第一结构选择模块510用于当辨识获得多个多层布尔网络的模型结构时,利用最小入度建模算法,在多个多层布尔网络模型结构中选择一个作为最终的多层布尔网络模型结构。
进一步地,系统还包括第二结构选择模块520,第二结构选择模块520用于当辨识获得多个多层布尔网络的模型结构时,根据矛盾列的数据,利用极大似然估计法,获得多个多层布尔网络模型结构被选择的概率,从而根据概率,确定最终的多层布尔网络模型结构;其中,矛盾列的定义是由于观测数据各状态相互矛盾而导致单个结点结构矩阵的每一列结果不唯一。
附:对本发明中用到的主要符号说明如下:
∝矩阵的半张量积
w[m,n]mn×mn换位矩阵
inn阶单位阵
1n
△n
col{a}矩阵a的列集合
coli(a)矩阵a的第i列
dk{0,1,2,…,k}
d2{0,1}
∨析取(或)
∧合取(与)
→蕴含
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
本发明援引的文献如下:
[1]akutsut,kuharas,maruyamao,etal.identificationofgeneticnetworksbystrategicgenedisruptionsandgeneoverexpressionsunderabooleanmodel[j].theoreticalcomputerscience,2003,298(1):235–251.
[2]chengd,qih,liz.modelconstructionofbooleannetworkviaobserveddata[j].ieeetransactionsonneuralnetworks,2011,22(4):525-536.
[3]陈增强,王晶晶,韩晓光.基于矩阵半张量积方法的带有敌对输入的异步时序机控制[j].中国科学:信息科学,2019,49(11):1488-1501.