一种用于序列数据分割的有序模糊c均值聚类方法
【技术领域】
[0001] 本发明涉及数据挖掘领域,是一种用于序列数据分割的有序模糊C均值聚类方 法。
【背景技术】
[0002] 随着大数据时代的来临,各行各业所产生的海量数据已成为一种宝贵的资源。深 入挖掘海量数据中所隐藏的知识和信息,已经成为诸多领域共同的需求,这也促使了数据 挖掘技术的产生。序列数据,或称轨迹数据,是一种特殊的数据存在形式。在序列数据中, 各样本点按照一定的时空关系(轨迹)顺序生成,前面的样本点会影响到后面的样本点,因 而各样本点之间并不相互独立。日常生产生活中的很多设备都会产生序列数据,如运动传 感器、GPS、摄像机、电子笔、各类工业传感器等。为了挖掘序列数据中蕴含的数据模式,从而 对其数据特征进行深入细致的分析,首先需要对序列数据进行分割或聚类,即依照某种规 则将各样本点划分到不同的数据段或数据类,每个数据段内的样本点具有相似的特性,不 同数据段之间的数据特征各不相同。
[0003] 由于序列数据具有特定的序列性,其分割结果需满足以下两个条件才有物理意 义:(1)分割后各样本点仍保持原来的顺序;(2) -个样本点只能归属于一个数据段或两个 相邻的数据段。虽然传统的K均值聚类、模糊C均值聚类等方法可用于对序列数据进行分 害J,但由于这些传统聚类方法并不能处理数据的序列性,因而很可能将在序列上不相邻的 样本点划分到同一数据段,从而打乱原始数据的序列结构,导致序列分割效果并不理想。在 这种情况下,需对序列分割结果进行后处理以保持数据原始的序列性,效率低下。此外,K均 值聚类方法对数据的分割是硬性的,不适合处理存在数据段边界重叠的情况。模糊C均值 聚类方法虽以隶属度的方式将各样本点柔性地划分到多个数据段,但在处理序列数据时, 并不能保证只将一个样本点划分到一个数据段或两个相邻的数据段,导致序列分割结果的 物理意义难以解释。近年来,随着序列数据在各领域的大量涌现,为了便于分析这些序列数 据的数据特征和数据模式,迫切需要有一种能够直接有效地对序列数据进行分割的方法。
【发明内容】
[0004] 为了克服现有的聚类方法在对序列数据进行分割或聚类时存在分割效果不好、效 率低、结果难以解释等不足,本发明提供了一种可应对序列数据的序列结构,效率高且分割 效果好的有序模糊C均值聚类方法。该方法考虑到序列数据的序列性特点,通过对传统的 模糊C均值聚类算法进行改进,在每个聚类步中施加序列性约束,聚类的同时保持样本点 的原始顺序不变,并采用样本点逐个迭代优化策略,实现对序列数据最优的模糊分割。
[0005] 本发明所采用的技术方案为:
[0006] -种用于序列数据分割的有序模糊C均值聚类方法,包括以下步骤:
[0007] (1)输入有序数据集;
[0008] (2)选定聚类数目,对有序数据集进行初始分割或聚类,获得各数据段的初始聚类 中心和伪边界以及样本点的初始隶属度矩阵;
[0009] (3)构造目标函数,在满足严格序列性约束的前提下,逐点对各数据段中前半段和 后半段内样本点进行重新划分,并计算样本点重新划分后的隶属度,如果由该样本点隶属 度变化所引起的目标函数变化为负,接收这一重新划分,并更新该样本点的隶属度以及各 数据段的聚类中心,继续重新划分当前数据段的下一个样本点,否则拒绝这一重新划分,跳 转到下一数据段逐点进行重新划分;
[0010] (4)迭代进行步骤(3)直至没有任何样本点的重新划分被接收;
[0011] (5)输出最终的隶属度矩阵以及各数据段的聚类中心,完成序列数据分割。
[0012] 其中,步骤(1)中所述的有序数据集为{XdX2,…,Xn},由依序产生的η个样本 点Xj,j= 1,···,]!构成,样本点的形式可以是点、向量、矩阵或者高阶张量数据。
[0013] 其中,步骤(2)中所述的聚类数目为c,对有序数据集X进行初始分割的方法如 下:
[0014] ①利用式(1)计算序列数据的累积长度L]:
[0015] Lj=Lj!+|IX-Xjil (1)
[0016] 式中j(j= 2, ···,!!)为样本点的索引,Lf0,I|XfXj」I表示样本点\与样本 点X,:之间的欧几里得距离;
[0017] ②计算c个数据段的平均长度:λ=Ln/c;
[0018] ③设定第一个数据段的伪左边界为b1= 1 ;
[0019] ④对于第i(i= 2,…,c)个数据段,依次比较λ(i-1)与Lj(j= 1,…,η)的大小, 找到第一个满足λ(i-1) <、的j,将第i个数据段的伪左边界设定为b1=j;
[0020] ⑤利用式(2)确定第j个样本点\在第i个数据段中的初始隶属度 Uj j(0 ^ 1):
[0021]
[0022] 各样本点的隶属度需满足下列条件:
[0023] ⑥计算各数据段的初始聚类中心m1:
[0025] ⑦所有样本点的隶属度Ulj构成cXn维的初始隶属度矩阵U。
[0026]其中,步骤(3)中所述的目标函数为:
[0028] 式中为对应于第i(i=l,.",c)个数据段的子目标函数,Ul为隶属度矩 阵U的第i行,mi为第i个数据段的聚类中心,uu为样本X,(j= 1,…,η)在第i个数据段的 隶属度,屯=| |X「m」|为样本X,与第i个聚类中心心之间的欧几里德距离,se[1,①) 是一个加权指数。
[0029] 其中,步骤(3)中所述的第i个数据段中前半段内的样本点是指样本索引j满足 je[1^4+1^/2)的样本点,其中h为第i个数据段的伪左边界,ηι为第i个数据段内样本 点的伪数目,对于i= 1到c-1,η;的计算公式为:n;=bi+1-bi;对于i=c,η。的计算公式 为:n-b。,式中η为样本点的总数。第i(i〈c)个数据段中后半段内的样本点是指样本 索引j满足je[bi+rv^b^-l]的样本点,第c个数据段中后半段内的样本点是指样本索 弓丨j满足je[bc+nc/2,n]的样本点。
[0030] 其中,步骤(3)中所述的严格序列性约束是指在对各数据段内的样本点逐点进行 重新划分时,各数据段中前半段内从段首开始逐点重新划分,每个样本点只能重新划分到 本数据段及其前一数据段,而各数据段中后半段内从段尾开始逐点重新划分,每个样本点 只能重新划分到本数据段及其后一数据段。该序列性约束可以保证序列分割后各样本点的 原始顺序保持不变。
[0031] 其中,步骤(3)中所述的样本点重新划分后的隶属度的计算方法如下:
[0032] 假设第j(j= 1,···,!〇个样本点\当前的隶属度为Ul],与当前各数据段聚类中心 mji= 1,···')间的欧几里德距离为屯=|IXfm」|,样本点\按照如下三种情况进行重 新划分:
[0033] ①如果X,位于第1个数据段的前半段或第c个数据段的后半段,则X,不会被重新 划分;
[0034] ②如果X,位于第i(i辛1)个数据段的前半段,则重新划分后X,在第k(k= 1,···,?)个数据段内的隶属度为:
[0035]
[0036] 式中s为式(3)中定义的加权指数;
[0037]③如果X,位于第i(i辛c)个数据段的后半段,则重新划分后X,在第k(k= 1,…,c)个数据段内的隶属度%为:
[0038]
[0039] 式中s为式(3)中定义的加权指数。
[0040] 其中,步骤(3)