基于部分连接神经网络的序列数据分类算法研究
2016-05-14张素莉
张素莉
摘 要: 研究梳理了序列数据的定义,并且分析了5种类型的序列数据,结合局部连接神经网络的特点,研究了基于局部连接神经网络的序列数据的分类算法。使用该算法进行计算,学习与收敛速度较快,对于自适应建模与控制十分适用,利用方形基函数进行计算,在网络输出过程中注意只能利用方形函数来逼近光滑函数。由于序列数据分类运算在数据挖掘中存在巨大的优势,因此对序列数据算法的研究具有很高的理论与应用价值。
关键词: 部分连接神经网络; 序列数据; 分类算法; 方形基函数
中图分类号: TN915?34 文献标识码: A 文章编号: 1004?373X(2016)09?0111?03
Abstract: The definition of sequence data is studied. The 5 kinds sequence data is analyzed. In combination with the cha?racteristics of the partially connected neural network, the classification algorithm of the sequence data based on partially connected neural network is studied. The algorithm used to calculation has fast learning and convergence rate, and is especially suitable for adaptive modeling and control. When the square primary function is used to calculate, the square function can be only used to approach the smooth function in network output process. The sequence data classification operation has great advantage in data mining, so the research of the sequence data classification algorithm has the high theory and application value.
Keywords: partially connected neural network; sequence data; classification algorithm; square primary function
0 引 言
计算机科学技术的发展,丰富和发展了数的概念,见图1。数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。序列数据就是其中一种非常重要的数据类型,它应用的领域也十分广泛,如计算机科学文本中的单词(word)序列、互联网技术中网页日志中的用户访问事件(Access Event)序列以及在生物科学中的DNA序列和蛋白质序列等。通过对序列数据进行分类运算,可以发现大量无规律数据的内在结构,从而获得关于这些数据深层次的内涵知识,例如,大型电商平台每日都产生大量的交易数据,对这些数据中的交易序列数据进行分类运算,就可以对平台购物的用户进行细分,进而根据不同类型的用户制作有针对性的市场广告,并且点对点的推送,这样就会大大提高广告投放的效率;在生物学领域,对生物体蛋白质序列进行分类运算,就能够找出各个簇中序列共享的子结构,进而可以推测共有的生物学功能。序列数据通常由两个部分组成,这两个部分是值元素和对应的序关系,这两个部分缺一不可,正是由于序列数据具有非数值类型、高维且长度不一以及特有的序关系等特征,使得对其进行分类运算成为一个研究难点。
1 序列数据的基本概念
序列数据的分类运算具有如此重要的作用,首先要清楚序列数据的概念。序列数据最主要的特点就是具有序关系信息,这一信息通过元素的空间位置或时间先后来体现。序列数据的概念是序列数据分类运算的基础,因此需要着重讨论。
1.1 序列数据的定义
1.2 序列数据的类型
根据数据产生的领域不同,序列数据包含五种类型:
(1) 文本型序列数据,日常使用的电子邮件,天天浏览的网页新闻以及各种文字类的信息等,这些海量的各种语言的文本就是一类序列数据,它们都是单词序列的集合;
(2) 生物序列数据,目前最基本的两种生物序列数据就是细胞中的DNA(RNA)和蛋白质。DNA是由核苷酸排列组成的,蛋白质是由氨基酸排列组成的,因此DNA和蛋白质都可以看作是很长的“单词”,生物序列中有一定生物学功能的序列片段就相当于一个个“字母”,可以用来表征“单词”;
(3) 事件序列数据,我们平时看电视或者听广播,这些视频流和音频流就是事件序列,此序列所隐含的序信息是时间序,且各序列元素值是某时刻所发生事件的描述信息;
(4) 时间序列数据,其在银行金融和天气预测等与人们日常生活息息相关的地方中广泛存在,该类型序列数据的序信息也是时间序,但是与事件序列不同,时间序列数据的各个元素一般是数值类型,这样就可以进行各种运算和变换,产生的数据价值会更大;
(5) 数据流序列数据,是指高速到达的数据和信息,由于其传递的速度极快,因此需要处理的速度也很快,一般对到达数据处理时只是扫描一遍,并且没有机会和时间把数据保存在本地,但同时,在处理的过程中要保持序信息在数据流中。
1.3 序列数据分类的应用
(1) 广告精准投放。如今网购在年轻人中已经十分普遍,一些大型的网购平台,如天猫、京东等,每日都会产生大量的交易数据,平台可以在后台对这些数据中的交易序列数据进行分类运算,对平台购物的用户进行细分,进而根据不同类型的用户制作有针对性的市场广告,并且点对点的推送,这样就会大大提高广告投放的效率,提高网购的平台销量,增加收益;
(2) 推测生物学功能。在生物学领域,生物细胞中的DNA(RNA)和蛋白质,DNA是由核苷酸排列组成的,蛋白质是由氨基酸排列组成的,因此DNA和蛋白质都可以看作序列数据,对生物体蛋白质序列进行分类运算,就能够找出各个簇中序列共享的子结构,进而可以推测共有的生物学功能,对生物多样性的保护可以做出很大的贡献。
2 部分连接神经网络结构及性能
20世纪80年代以来,神经网络的发展取得了很大的进步,这给数据发掘带来了巨大的利益,在理论上形成了一大批可以实际应用的模型和算法,并把它应用在一些自动控制系统、指挥系统中。现阶段,神经网络可分为部分连接神经网络与全连接神经网络两大类,但是在使用部分连接网络时,对于每组输出/输入数据只能列出少数甚至是一个权值进行调整。目前,神经网络在数据模式识别与分类、非线性建模的分析、方案数据的优化、知识的联想记忆以及非线性建模的自动化控制设计等方面有着突出的贡献。
2.1 部分连接神经网络结构特点
图2是一个3层神经网络结构图,[q]组[r]维输入向量[Xl=x1,x2,x3,…,xr,l=1,2,…,q,]数据首先通过输入层,随后进入含有[m]个节点的隐含层内,经过预先设定的特定基函数的运算后,形成隐含层的数据输出,随后与训练数据后的权值相乘,最终得到网络值数[s]维。
通过函数式(1)可以看出,在部分神经网络中,隐含层内的所有节点对输出层内相对应的节点都有影响,但是通过合理的预设对基函数进行选择,或者通过设置部分连接神经网络的主要结构参数获得不同的网络连接形式,假设施加一个输入值,可以使[αj(xi)]中不是零的元素达到极少数,也就是说绝大部分的元素都是零。因此,在实际的运算过程中,对任何的初始输入值,在输出过程中通常只会对隐含层内部分非零节点的输出采用加权求和的方式获得数值,因此属于局部神经网络的局部连接。
2.2 基于部分连接神经网络的序列数据分类算法
在对部分连接神经网络进行设定时,在输入层到隐含层的间隙处设定一个类似于查表结构的特定映射,其对应关系要根据具体网络设计情况进行预定。通过这样的设计能使上部输入层中的输入矢量根据序列串数据之间的空间距离或时间长短来进行计算,最终产生影响,实现将映射输入到隐含层当中。隐含层是一个类似“黑箱”的计算处理器,是由一族摄化感知器组成,这些感知器用于对数据的分类和分析,可以感知序列数据在时间距离和空间距离上的相似度,因此在输入层中每输入一个矢量值都会计算出一个阈值与之匹配,也可以理解为与隐含层中的[C]个感应器相互对应,这个[C]也叫做感知野,感知野是算法的一个重要参数。输入的每一个矢量值只会对隐含层当中的[C]个感应器造成影响,并且使它的输出值为1,其他感应器的输出值数是0,因此在设计时只需要考虑与[C]个感知器相对应的权值进行预设。
在网络调试过程中,设计者只需考虑对输出层的局部连接权值进行调整。与其他计算方法相比,利用这样的运算方式进行计算,学习收敛速度较快,在自适应建模与控制中很实用,除此之外,本算法选择较为简单的方形基函数进行函数预设,在网络输出过程中只能利用方形函数来逼近光滑函数,虽然局限性较强,但是精确度很高,在计算过程中如果设计者想要提高分辨率,可以利用增大[C]值的方式计算。
2.3 算法训练结果分析
本文提出的基于部分连接的神经网络序列数据分类算法,在对序列数据进行分类计算时存在两点优势:一是速度快,二是结果精确度高。为了验证算法的可靠性,设计了算法的训练。通过利用样本数据,进行分析,对上面两个标准进行衡量。
训练分为监督式和无监督式两种,监督式就是在训练的过程中有人员的随时调整,无监督式就是完全自动的训练。从对样本数据训练的过程中可见,这两种方式的训练模式,对序列数据的训练结果都是相近的,在不同的时刻,两种模式都会出现网络在对序列数据分析快速的响应结果,有部分的耗时极大值,在监督式的训练情况下,通过对数据反复多次地反复输入,使得算法对样本十分熟悉,这样一来,使用该算法进行计算,可以快速而稳定的达到要求。
若进行无监督训练,在对应较大文本的序列数据时,对于新的数据分类运用将会采用对某种已经产生结果的典型矢量进行修改来实现,这样就会自动对已有的分析结果进行修正,修正的结果不会对旧的结果加以记录学习,分类的结果一直是最新有效的。
3 结 语
本文研究梳理了序列数据的定义,并且分析了5种类型的序列数据,结合局部连接神经网络的特点,研究了基于局部连接神经网络的序列数据的分类算法,通过以上分析,不难看出利用本算法进行计算,学习与收敛速度较快,若将其运用到自适应建模与控制当中,利用方形基函数进行处理,其网络输出也只能用方形函数来逼近光滑函数,虽具有一定的局限性,但是准确度高。由于序列数据分类运算在数据挖掘中存在巨大的优势,因此对序列数据算法的研究具有很高的理论与应用价值。
参考文献
[1] 朱扬勇,熊赟.DNA序列数据挖掘技术[J].软件学报,2007,18(11):2766?2781.
[2] 朱扬勇,戴东波,熊赟.序列数据相似性查询技术研究综述[J].计算机研究与发展,2010(2):264?276.
[3] 丛爽,郑毅松.几种局部连接神经网络结构及性能的分析与比较[J].计算机工程,2003,29(22):11?13.
[4] 程起才,王士同.基于模糊系统的新型CMAC神经网络及学习算法[J].江南大学学报(自然科学版),2005,4(1):27?32.
[5] 刘晓军,阎朝鼎.一种新型的CMAC神经网络[J].中国科技信息,2005(14):45.
[6] 王明玥,高渠,陈婷婷.基于神经网络的DNA序列分析[J].通讯世界,2015(13):55?56.
[7] 戴东波,汤春蕾,熊赟.基于整体和局部相似性的序列聚类算法[J].软件学报,2010,21(4):702?717.
[8] 韩忠明,陈妮,乐嘉锦,等.面向热点话题时间序列的有效聚类算法研究[J].计算机学报,2012,35(11):2337?2347.
[9] 于世英,袁雪梅,卢海涛,等.基于序列聚类的相似代码检测算法[J].智能系统学报,2013(1):52?57.
[10] 刘晓平,季浩,沈冠町.非线性系统规律的动态可视化方法[J].系统仿真学报,2012,24(6):1287?1292.