信息序列转换为向量化数据的方法及系统与流程

文档序号:13095043阅读:428来源:国知局
信息序列转换为向量化数据的方法及系统与流程

本发明涉及数据挖掘技术领域,具体涉及信息序列转换为向量化数据的方法及系统。



背景技术:

信息序列是具有一定顺序的信息数据,如比特流,dna,蛋白质序列等。信息序列的特点是信息量大,顺序不可随意改变。一般情况下,包含高度重复信息的信息序列难以以传统的方法分析。

在有大量的已知的信息序列和信息序列对应的结果的情况下(如已知几万段相同产物的dna的序列,和其对应产物的表达水平),对信息序列建立数据挖掘模型来分析其中原理是极为有效的方法。但是计算机上的数据挖掘模型所需要的输入是多维度向量化数据,所以如何把这一段信息序列转化为多维度向量化数据是一个重要的问题。

在现有技术中,对信息序列中的数据只进行简单的统计,将统计结果写入向量中。以dna序列为例,现有技术所用的方法为:建立新的向量化数据a1。统计长度为l的dna序列中a/t/g/c占dna总长度的比例a,t,g,c.然后在向量化数据a1里存储{a,t,g,c,l}.即a1:{a,t,g,c,l}为最后得到的向量化数据。这种方法只统计了信息序列数据中各个成分所占比例,而序列的顺序这一重要的、包含信息的特征则没有利用上。这样产生的代表dna的向量化数据,在接下来的数据挖掘过程中表现不佳。



技术实现要素:

本发明要解决的技术问题在于,克服现有的技术的不足,提供信息序列转换为向量化数据的方法及系统,其能够在信息序列转换为向量化数据时,将信息序列中的顺序信息表达出。

为达到上述技术目的,一方面,本发明所述的信息序列转换为向量化数据的方法,所述方法包括:

依次读取信息序列中每个信息元;

根据每个信息元在信息序列中的位置建立对应的子向量;

将每个所述子向量按照对应信息元在信息序列中的位置排列,组成信息序列的向量。

另一方面,本发明所述的信息序列转换为向量化数据的系统,所述系统包括:

读取单元,用于依次读取信息序列中每个信息元;

子向量单元,用于根据每个信息元在信息序列中的位置建立对应的子向量;

向量单元,用于将每个所述子向量按照对应信息元在信息序列中的位置排列,组成信息序列的向量。

在本发明所述的技术方案中,建立包含信息序列中每个信息元的位置信息的子向量,然后将子向量按照每个信息元在信息序列中的位置排列,从而构成信息序列的向量,由此来将信息序列转换为向量化数据,以方便计算机建立数据挖掘模型。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例的方法流程示意图;

图2为本发明实施例的系统结构示意图;

图3为本发明实施例中子向量单元的结构示意图;

图4为本发明实施例中子向量片段模块的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明所述的信息序列转换为向量化数据的方法,包括以下步骤:

101、依次读取信息序列中每个信息元;

102、根据每个信息元在信息序列中的位置建立对应的子向量;具体如下:

1021、分别选取当前信息元和其相邻的若干信息元组成多个子向量片段,具体包括:

选取当前信息元和排列在当前信息元之后、且相邻的一个信息元组成当前信息元的第一片段;

选取当前信息元和排列在当前信息元之后、且相邻的两个信息元组成当前信息元的第二片段;

以此类推,取当前信息元和排列在当前信息元之后、且相邻的m个信息元组成当前信息元的第m片段,m为信息序列中当前信息元之后包括的信息元数量;

从当前信息元的m个片段中,选取连续的p个片段作为当前信息元的子向量片段,所述p为自然数,且p≤m;优选地,选取的当前信息元的p个子向量片段中,长度最长的子向量片段所含信息元的数量是长度最短的子向量片段的两倍。

1022、将当前信息元的每个子向量片段与信息序列匹配,记录信息序列中当前信息元的每个子向量片段的出现次数;所述次数分别记录在对应的当前信息元的每个子向量片段之后;

1023、将当前信息元的每个子向量片段分别与对应的出现次数组合成对应的子向量元素;

1024、将各子向量元素按顺序依次排列组成当前信息元的子向量,具体为:

所述子向量元素按对应子向量片段所含信息元的数量由小到大依次排列组成当前信息元的子向量。

103、将每个所述子向量按照对应信息元在信息序列中的位置排列,组成信息序列的向量。

如图2至图4所示,本发明所述的信息序列转换为向量化数据的系统,包括:

读取单元21,用于依次读取信息序列中每个信息元;

子向量单元22,用于根据每个信息元在信息序列中的位置建立对应的子向量;

向量单元23,用于将每个所述子向量按照对应信息元在信息序列中的位置排列,组成信息序列的向量。

具体实施例中,所述子向量单元22的一种可能结构,如图3所示,包括:

子向量片段模块221,用于分别选取当前信息元和其相邻的若干信息元组成多个子向量片段;

次数模块222,用于将当前信息元的每个子向量片段与信息序列匹配,记录信息序列中当前信息元的每个子向量片段的出现次数;

子向量元素模块223,用于将当前信息元的每个子向量片段分别与对应的出现次数组合成对应的子向量元素;

排列模块224,用于将各子向量元素按顺序依次排列组成当前信息元的子向量。

具体实施例中,所述子向量片段模块221的一种可能结构,如图4所示,包括:片段子模块2211和选取子模块2210;

所述片段子模块2211,用于选取当前信息元和排列在当前信息元之后、且相邻的一个信息元组成当前信息元的第一片段;选取当前信息元和排列在当前信息元之后、且相邻的两个信息元组成当前信息元的第二片段;以此类推,取当前信息元和排列在当前信息元之后、且相邻的m个信息元组成当前信息元的第m片段,m为信息序列中当前信息元之后包括的信息元数量;

所述选取子模块2210,用于从当前信息元的m个片段中,选取连续的p个片段作为当前信息元的子向量片段,所述p为自然数,且p≤m。

在具体实施例中,所述次数模块222具体用于将所述出现次数分别记录在对应的当前信息元的每个子向量片段之后;所述排列模块224具体用于将所述子向量元素按对应子向量片段所含信息元的数量由小到大依次排列。

在具体实施例中,所述选取子模块2210选取的当前子向量的p个子向量片段中,长度最长的子向量片段所含信息元的数量是长度最短的子向量片段的两倍。

在信息序列转化为向量化数据x之后,可以将该向量化数据x和信息序列的结果y表达为(x,y)的形式。当得到一批有表达结果的信息序列后,将各信息序列表达为(x,y)的形式输入至计算机,利用逻辑回归分类器对这批表达为(x,y)形式的数据进行训练。训练模型可选如下模型:

上述函数hθ(x)表示已知x时,对y的估计值的计算公式。

从公式(1)中可以看到,分类器模型训练的过程即找出一组参数θ,使模型的结果hθ(x)尽量符合训练数据的结果。

逻辑回归分类器模型训练的原理是使用梯度下降法,即:

公式(2)中y是一条信息序列的结果,m是在训练过程中训练数据的总条数,α叫做学习率,在实际操作中需要不断手动调整α以使模型效果最好;

公式(2)中θ,x为向量,维度数量相同。x的下标表示第i条数据,上标j表示x的第j个分量(维度)。

在梯度下降法中,对每一个θ的分量不断执行公式(2)。可以证明,这样做的话,所有的θ会收敛于全局最优解。也就是说当训练完成后,得到的是最符合训练集的参数组θ。

接下来在预测过程中,已知信息序列的向量x时,将x带入公式(1),并且公式(1)中已经有训练好的参数组θ。计算hθ(x)就得到在已知信息序列的向量x情况下对y的预测值hθ(x),从而预测出信息向量表达结果y。

以dna序列为例,若dna序列为:

agttcagtcagcagcagcagtcag

其表达量(结果)为0.93,则此数据的y=0.93;

以从左到右的顺序读取dna序列中每一个信息元。首先读取到第一个信息元a;

则信息元a的各子向量片段为:

第一片段:ag、第二片段:agt、第三片段:agtt、第四片段:agttc、第五片段:agttca……

选取第二片段至第五片段这4个片段作为信息元a的子向量片段,其中,第五片段:agttca所含的信息元的数量是第二片段:agt所含信息元数量的两倍。

将信息元a的第二片段至第五片段与上述dna序列进行匹配,分别记录第二片段至第五片段在dna序列中出现的次数,然后将所述次数记录在对应片段后面;

则信息元a的各子向量元素为:agt:1、agtt:1、agttc:1和agttca:1;

将信息元a的子向量元素按照对应子向量片段的长度由小到大依次排列,得到信息元a的子向量为:{agt:1,agtt:1,agttc:1,agttca:1}。

然后读取到来到信息元g,按照上述方法可得到信息元g的子向量为:{agt:1,agtt:1,agttc:1,agttca:1,gtt:1,gttc:1,gttca:1,gttcag:1}。

继续读取dna序列中的信息元直至最终得到每个信息元的子向量。

然后将各信息元的子向量按照对应信息元在dna序列中的位置排列,组成dna序列的向量x:

{"cag":5,"gtt":1,"tcag":2,"gcagc":2,"tcagt":1,"agc":3,"agca":3,"agt":2,"gttcag":1,"agtcag":2,"gttca":1,"gtcagc":1,"cagc":3,"cagcag":3,"agcagt":1,"cagca":3,"cagt":2,"ttc":1,"ttcag":1,"gttc":1,"gtc":1,"gtcag":1,"tcagc":1,"gcagt":1,"agcagc":2,"ttca":1,"gcagtc":1,"gca":3,"agcag":3,"gcag":3,"agtca":2,"gcagca":2,"tcagtc":1,"cagtca":2,"tcagca":1,"gtca":1,"cagtc":2,"agtc":2,"ttcagt":1,"tca":2}。

结合dna序列的表达量,可将dna序列表示为(x,y)的形式。

假设我们有大量的有结果的dna数据,可以写成(x,y)的形式;

然后在安装了scikit(开源机器学习框架)的python软件中,输入下列代码:

model=logisticregression()

model.fit(x,y)

等计算机工作完毕,便建立好了逻辑回归模型。之后当有一些dna只知道其序列不知道其结果,要对其结果进行预测时,用同样的本发明所述的方法写成向量的形式(x2),之后在python软件中输入如下的代码:

predicted=model.predict(x2)

等计算机工作完毕之后python软件中的predicted里便存放了对向量x2的预测结果。

在本发明中,产生的向量化数据维度数量较多,且相对长度较大的片段对应的维度能够描述相对长度较小的片段之间的顺序关系。因此大片段和小片段共同组成的向量化数据可以描述信息序列本身所包含的各信息元的顺序信息。

本发明可以使信息序列的向量化数据在后续信息挖掘步骤内的表现有了很大的改善,能够建立起表现更好的信息序列和其结果之间关系的神经网络模型,对信息序列的结果预测的准确度进一步提升,分类器模型的误差也因此减小。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1