CN106934417A - 一种面向混合属性的数据流自适应聚类方法 - Google Patents
一种面向混合属性的数据流自适应聚类方法 Download PDFInfo
- Publication number
- CN106934417A CN106934417A CN201710127480.1A CN201710127480A CN106934417A CN 106934417 A CN106934417 A CN 106934417A CN 201710127480 A CN201710127480 A CN 201710127480A CN 106934417 A CN106934417 A CN 106934417A
- Authority
- CN
- China
- Prior art keywords
- grid
- data
- attribute
- dimension
- grids
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 52
- 238000012423 maintenance Methods 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 26
- 239000006185 dispersion Substances 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 14
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 8
- 230000002238 attenuated effect Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 74
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000007621 cluster analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 235000018185 Betula X alpestris Nutrition 0.000 description 1
- 235000018212 Betula X uliginosa Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004941 influx Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Complex Calculations (AREA)
Abstract
一种面向混合属性的数据流自适应聚类方法,包括以下步骤:1)数据预处理和网格初始化,确定网格在每一维属性中的划分粒度以及离线聚类过程中网格对象间的相似度;2)对网格进行在线维护;3)当用户发送聚类请求时,聚类过程由在线阶段转为离线阶段,根据网格的密度信息将网格分为密集网格和稀疏网格;对于密集网格,使用改进的DBSCAN算法进行聚类;对于稀疏网格,则使用基于密度‑距离分布的CCFD算法进行聚类,最终将得到的聚类结果输出;完成整个聚类过程。本发明具有良好的适用性和可扩展性,能够有效地处理相关数据集,取得较好的聚类结果。
Description
技术领域
本发明属于聚类方法领域,涉及一种面向混合属性的数据流聚类方法。
背景技术
大数据技术的发展,随之产生的数据量高速增加,聚类分析作为对各种数据的分析的重要技术再次成为研究热点。聚类分析在金融、市场营销、信息检索、信息过滤、科学观测与工程等各个领域广泛应用。混合属性数据流聚类是针对混合属性数据流,原始数据以庞大的数据流形式到达,数据流的属性大多是同时具有取值为连续数值的数值属性和代表类别或状态的分类属性这两种属性类型的混合属性,需要对这些混合属性的数据流进行预处理、聚类和知识提取。传统的聚类算法有基于划分的算法、基于层次的算法、基于密度的算法等。数据流聚类算法大体上也可以按照这种方法来区分。
基于划分的方法的典型代表是K-means算法和K-Median算法。2000年,Guha提出了一种基于K-means的单遍扫描算法来处理数据流。该算法对存储空间的需求比较低,但是,这个算法中存在一个近似的中间结果,这个中间变量会随着迭代次数的增多而变大,最终导致聚类结果的不准确;2002年,O’callaghan等通过对K-Medians算法进行扩展,提出了STREAM算法。STREAM算法采用批处理的方式处理数据,且每次处理的数据点个数都会受到内存大小的限制,无法满足数据流的数据量大、分布变化快等特点的数据流的聚类。
2003年,C.Aggarwal等在文献中提出了CluStream算法,成为扩展层次方法的典型算法。它把整个数据流聚类的过程分解成两个步骤:在线更新和离线聚类。在线更新阶段的主要工作是收集数据流中的数据和更新微簇,算法采用金字塔时间框架结构对数据进行存储,之后进行微簇的更新;离线聚类阶段的主要工作是对微簇进行宏聚类,这里的聚类方法是扩展了传统的BIRCH算法。CluStream算法是当前比较流行的数据流聚类算法之一,并且,由CluStream算法提出的这个两段处理过程现在被广泛用于各种数据流挖掘算法中。但是CluStream算法也存在一些缺点:首先该算法不能处理任意形状的簇;其次对于噪声的适应性较差;并且需要人为指定聚类微簇的数量,严重影响了原始数据聚类的形状分布。C.Aggarwal等又提出了HpStream算法,对高维数据流进行处理采用的是投影方法,经实验证明,这个算法在各个方面都比CluStream有了进一步的提高。
2006年,Cao.F等提出了DenStream算法。这是一种全新的、基于密度方法的聚类算法。该算法使用了前面提到过的CluStream算法的两段处理框架,在线阶段使用衰减窗口处理数据,生成核心微簇,离线阶段扩展了DBSCAN算法对数据进行聚类,由微簇生成宏簇。在DenStream算法中还提出了潜在簇的概念,较为妥当的处理了数据中出现的离群点。但是由于DenStream算法采用全局一致的绝对密度作为参数,所以使得聚类结果对参数的选择非常敏感。针对Den-Stream算法问题,Tang提出了一种改进DenStream算法,DenStreamII算法引入重叠因子的概念,有效解决了交叠微簇的归属问题。Zhang在顶级会议PKDD上首次提出了StrAP算法,该算法在AP算法的基础上改进,使之面向数据流对象,该算法将新到达的数据对象与当前模型匹配,匹配成功则更新微簇,否则将其视为噪声点放入暂存盒中。张建朋提出了StrDenAP算法,该算法在StrAP算法的基础上,借鉴了CluStream的两阶段框架,采用近邻传播算法,考虑数据到达时间对聚类结果的影响,算法能够取得较好的聚类效果。
发明内容
为了克服现有大多数数据流聚类方式存在的聚类中心需要人工确定、聚类准确率低、不能有效处理混合属性数据集、不同数据集聚类效果差异性大和参数依赖性大的不足,本发明提供了一种面向混合属性的数据流自适应聚类方法,具有能处理混合属性数据集、处理速度快、准确率高的特点。
本发明解决其技术问题所采用的技术方案是:
一种面向混合属性的数据流自适应聚类方法,包括以下步骤:
1)数据预处理和网格初始化,过程如下:
1.1对于一个d维数据,根据其每一维属性的性质,将该维划分为数值属性维度和分类属性维度两类,分类属性数据分为二元数据和序数型数据;对于一个数据流对象,通过查询其每一维属性的定义而确定该维属性是数值属性还是分类属性,若是分类属性,则进一步将其划分为二元属性或序数属性;当确定对象数据流每一维度的属性性质后,使用距离计算公式计算出各部分距离,并将各部分距离相加得到两数据点之间的最终距离;
1.2根据对象数据流每一维度的属性性质,对每维属性进行划分操作以建立最小网格单元;首先,通过随机采样的方法从数据集对象当中取出总体数据的β%进行预处理分析,将所有被取出的数据点构成一个集合M;
对于每一数值属性维度,分析集合M中所有数据在该维度的分布情况,统计出最大值和最小值,并根据这些信息确定网格在该维度的最小划分长度,通过最小划分长度将该维度划分成一个个区间,最终确定网格在此维度上的粒度;
对于任意维分类属性维度k,无论该属性是二元属性还是序数属性,其值均在该维度上离散且有限,所以将M中所有元素在该维度上的不同值取出,构成一个集合Ik,统计Ik中的元素个数,并将其作为网格在此维度上的分类个数;
1.3经过预处理分析,原本的d维空间就被划分成了一个以网格单元为单位的子空间集合;将集合M中的数据点以一定的流速流入在线网格框架,每隔单位时间统计密这段时间内数据点流入网格的分布情况;当集合M中的数据全都流入网格后,将此时密度不为零的网格作为初始网格,存入网格列表;
2)网格的在线维护,过程如下:
2.1当数据点Xi到达时,根据Xi的维度信息计算出与Xi对应的网格,将Xi投入网格,对网格的元组信息进行更新;
2.2统计当前时刻所有数据点落入的网格的个数,计算该时刻数据点落入网格的分散程度,根据分散程度的大小,使用不同的衰减系数对这些数据进行衰减;
2.3在线过程中计算网格的平均密度,设置参数μ,确定网格阈值,将所有网格划分成密集网格和稀疏网格两类;
2.4根据网格阈值Dbd,计算在线检测的最短时间间隔ΔT,每隔ΔT对所有网格进行密度更新,同时计算出新的网格平均密度和网格阈值;
2.5使用最低权值检测机制,对每一个网格设定一个随网格存在时间而逐渐递增的最低权值阈值函数,该值在网格密度信息更新时同步更新,若更新后的网格密度小于该最小权值,则说明网格已过时或包含噪声点,将该网格删除;
3)离线聚类,当用户向系统发送请求时,将统计当前时刻的网格信息进行离线聚类操作,过程如下:
3.1从数据空间中寻找到一个密集网格g,以网格g为本次聚类的起始点开始聚类,按照广度优先搜索原则,寻找到密集网格g直接相邻的密集网格gi,然后对每个gi网格单元继续进行广度优先搜索,直到所有到网格g相邻可达的密集网格单元被搜索到为止;当一次聚类过程结束时,从剩余的未聚类密集网格中找出新的网格继续聚类,重复上述步骤,直到剩余的网格中不包含密集网格为止;
3.2将经在线过程统计后的所有网格作为输入,通过基于密度-距离的参数自适应聚类方法寻找出最优dc,当dc确定后,计算出每个数据点的密度值ρ和最近邻数据点δ,根据ρ和δ值将所有稀疏网格进行划分,完成对稀疏网格的聚类;
3.3输出聚类结果。
本发明的有益效果主要表现在:能够处理包含数值属性、二元属性和序数属性的混合属性数据集,并能识别出任意形状的类簇。采用非均匀衰减模型进一步提高了在线过程的抗噪能力;使用最低权值函数在线删除稀疏微簇,减少了算法的内存开销,提高了算法的处理速度;离线过程中对于密集网格和稀疏网格采用不同的聚类方法,提高了聚类准确率。在真实数据集上的实验结果表明,该方法具有良好的适用性和可扩展性,能够有效地处理相关数据集,取得较好的聚类结果。
附图说明
图1是数据流聚类的研究框架图。
图2是均匀衰减模型和非均匀衰减模型的聚类效果对比图。
图3是不同λ时随时间变化的曲线图。
图4是网格在线更新机制流程图。
图5是稀疏网格聚类的流程图。
具体实施方式
下面结合附图对本发明作进一步的描述。
参照图1~图5,一种面向混合属性的数据流自适应聚类方法,包括以下步骤:
1)数据预处理和网格初始化,过程如下:
1.1对于一个d维数据,根据其每一维属性的性质,可以将该维划分为数值属性维度和分类属性维度两类。分类属性数据又可以分为二元数据和序数型数据。对于一个数据流对象,可以通过查询其每一维属性的定义而确定该维属性是数值属性还是分类属性,若是分类属性,则可以进一步将其划分为二元属性或序数属性。当确定对象数据流每一维度的属性性质后,使用相应的距离计算公式计算出各部分距离,并将各部分距离相加得到两数据点之间的最终距离。
1.2根据对象数据流每一维度的属性性质,对每维属性进行划分操作以建立最小网格单元。首先,通过随机采样的方法从数据集对象当中取出总体数据的β%进行预处理分析,将所有被取出的数据点构成一个集合M。
对于每一数值属性维度,分析集合M中所有数据在该维度的分布情况,统计出最大值和最小值,并根据这些信息确定网格在该维度的最小划分长度,通过最小划分长度将该维度划分成一个个区间,最终确定网格在此维度上的粒度。
对于任意维分类属性维度k,无论该属性是二元属性还是序数属性,其值均在该维度上离散且有限,所以可以将M中所有元素在该维度上的不同值取出,构成一个集合Ik,统计Ik中的元素个数,并将其作为网格在此维度上的分类个数。
1.3经过预处理分析,原本的d维空间就被划分成了一个以网格单元为单位的子空间集合。现将集合M中的数据点以一定的流速流入在线网格框架,每隔单位时间统计密这段时间内数据点流入网格的分布情况。当集合M中的数据全都流入网格后,将此时密度不为零的网格作为初始网格,存入网格列表。同时根据每个单位时间段内流入数据的分布情况确定系统的在线衰减参数λlow,λmed和λhigh。
2)网格的在线维护,过程如下:
2.1当数据点Xi到达时,根据Xi的维度信息计算出与Xi对应的网格,将Xi投入网格,对网格的元组信息进行更新。
2.2统计当前时刻所有有数据点落入的网格的个数,计算该时刻数据点落入网格的分散程度,分散程度的计算公式为
ω=n/N (1)
其中n表示在当前时刻有数据点落入的网格的数量,N表示当前时刻的网格总数。ω∈(0,1],ω的大小可以反映当前时刻流入数据的分布集中程度。ω越小,表示流入的数据分布地越集中;ω越大,表示流入的数据分布地越分散。
根据分散程度的大小,使用不同的衰减系数对这些数据进行衰减。
2.3在线过程中计算网格的平均密度,设置参数μ,确定网格阈值,将所有网格划分成密集网格和稀疏网格两类。
2.4根据网格阈值Dbd,计算在线检测的最短时间间隔ΔT。每隔ΔT对所有网格进行密度更新,同时计算出新的网格平均密度和网格阈值。ΔT不宜过大或过小。当ΔT太大时,算法将不能有效检测到数据流的实时变化;ΔT太小将导致频繁的计算,增加了算法的运算消耗。当运算负担过大时,在线过程的算法处理速度可能不足以满足对数据流进行快速处理的要求。本算法中使用一个网格从稀疏网格变为密集网格的最小时间作为ΔT的值。
ΔT的计算公式为
其中Dbd为网格阈值,λhigh为最大衰减系数。
2.5使用最低权值检测机制,对每一个网格设定一个随网格存在时间而逐渐递增的最低权值阈值函数,最低权值阈值函数的计算公式为
其中t0表示网格的创建时间,tc表示当前时间。
该值在网格密度信息更新时同步更新。若更新后的网格密度小于该最小权值,则说明网格已过时或包含噪声点,将该网格删除以减少算法的运行内存消耗,提高算法的处理速度和效率。
3)离线聚类
当用户向系统发送请求时,系统将统计当前时刻的网格信息,进行离线聚类操作。
3.1使用改进的DBSCAN算法,从数据空间中寻找到一个密集网格g,以网格g为本次聚类的起始点开始聚类,按照广度优先搜索原则,寻找到密集网格g直接相邻的密集网格gi,然后对每个gi网格单元继续进行广度优先搜索,直到所有到网格g相邻可达的密集网格单元被搜索到为止。当一次聚类过程结束时,从剩余的未聚类密集网格中找出新的网格继续聚类,重复上述步骤,直到剩余的网格中不包含密集网格为止。
3.2将经在线过程统计后的所有网格作为输入,通过基于密度-距离的参数自适应聚类方法寻找出最优dc,当dc确定后,计算出每个数据点的密度值ρ和最近邻数据点δ,根据ρ和δ值将所有稀疏网格进行划分,完成对稀疏网格的聚类。
其中ρ和δ的计算公式为
ρi=∑f(dij-dc) (5)
δi=min(dij)(ρj≥ρi) (6)
dij表示点i和点j之间的距离。
3.3输出聚类结果。
本实施例中,针对在线过程中的噪声点干扰,提出一种非均匀衰减的在线聚类模型来提高数据流的在线聚类效果;同时在离线过程中,针对具有不同密度信息的网格,使用改进的DBSCAN算法和基于密度-距离分布的CCFD快速聚类算法进行聚类分析,快速有效地提升数据流聚类算法的精度。
数据流聚类被分为在线过程和离线过程两块内容。在线过程主要包括初始化过程和在线维护。初始化过程中,将最先流入的一部分数据点投入网格,进行网格的初始化操作;当源源不断的数据流入时,为了保证网格信息的实时性,需要对网格进行在线维护。当用户发送聚类请求时,聚类过程由在线阶段转为离线阶段,根据网格的密度信息将网格分为密集网格和稀疏网格。对于密集网格,使用改进的DBSCAN算法进行聚类;对于稀疏网格,则使用基于密度-距离分布的CCFD算法进行聚类,最终将得到的聚类结果输出。完成整个聚类过程。
具体研究框架如图1所示。
通过随机采样的方法从数据集对象当中取出总体数据的β%进行预处理分析,将所有被取出的数据点构成一个集合M,若每个数据点由d维向量构成,其中包含p维数值属性,q维二元属性和r维序数属性数据(p+q+r=d),则对于任意数据点xi∈M,xi可以表示为xi={xi1,...,xip,xi(p+1),...,xi(p+q),xi(p+q+1),...,xid},xij表示第i个数据点的第j维属性值,其中{xi1,xi2,...,xip}表示数值属性数据,{xi(p+1),xi(p+2),...,xi(p+q)}表示二元属性数据,{xi(p+q+1),xi(p+q+2),...,xid}表示序数属性数据。
定义1:对于任意两个数据点xi和xj,其距离计算公式为:
Dis(xi,xj)=d(xi,xj)p+d(xi,xj)q+d(xi,xj)r (7)
其中,d(xi,xj)p表示数据间的数值属性距离分量,对这部分计算采用欧氏距离计算方法,具体公式为:
而
公式(9)中表示在第n维数值属性上所有数据点的最大值,表示在第n维数值属性上所有数据点的最小值。Xin∈[0,1]实际上是对数据对象xi原本在该维度上的属性值xin进行归一化处理后的结果,其目的是对各个数值属性维度进行权重的平衡调整,防止一些维度的数值属性绝对范围相差过大而导致各个数据维度在距离计算中出现权值不统一的情况。
d(xi,xj)q表示数据间的二元属性距离分量,对这部分计算采用简单匹配的计算方法,具体公式为:
其中,
d(xi,xj)r表示数据间的序数属性分量距离之和,其公式为:
同样地,由于每个序数型数据可以有不同的数目状态,必须将这些数据的属性值映射到[0,1]上,以便每个属性都有相同的权重。在这里给出z(xin,xjn)的计算公式:
其中num(In)表示对应n维序数属性所有离散值的个数总和。
根据公式(7)~(13)即可计算出任意两个数据点之间的距离。离线聚类过程中,将所有网格看作是一个个位于网格几何中心的虚拟数据点,此时网格间距离也可用上述公式进行计算。
定义2:设数据流在tp时刻流入的数据点落在n个网格内,此时系统存在密度不为0的网格总数为N,则定义该时刻下数据的分散程度为:
ω=n/N (14)
由公式(14)可得ω∈(0,1],ω的大小可以反映当前时刻流入数据的分布集中程度。ω越小,表示流入的数据分布地越集中;ω越大,表示流入的数据分布地越分散。
定义3:根据ω的大小,将tp时刻流入的数据点的分散度进行离散化处理,对具有不同的分散度的数据,采用不同的衰减参数进行衰减:
公式(15)中,λlow,λmed,λhigh为根据初始化聚类分析得到的三个衰减参数,且有λlow<λmed<λhigh。定义3说明不同时刻的衰减系数随流入数据分散程度的变化而变化,流入网格的数据将按与之对应的衰减系数进行密度衰减。整个在线过程的密度衰减是非均匀的。
下面对非均匀衰减模型的一些概念进行说明。
定义4(数据密度):对于任意数据对象x,若其到达的时间点为tc,则T(x)=tc。该数据对象的密度值D(x,t)的定义如下:
其中的计算公式如公式(15)。
定义5(网格的密度更新):假设网格den在tp时刻接受到了一个新的数据对象,且该网格上次的密度更新时间为tl,则该网格的密度更新公式为:
D(den,tp)=Dhigh(den,tp)+Dmed(den,tp)+Dlow(den,tp) (17)
从公式(17)中可以看出,D(den,tp)由Dhigh(den,tp),Dmed(den,tp)和Dlow(den,tp)三部分组成,这三部分分别对应在相应的衰减参数λhigh,λmed和λlow下衰减的数据密度总和。对于Dhigh(den,tp),其密度更新机制为:
其中Dhigh(den,0)=0。Dmed(den,tp)和Dlow(den,tp)的密度更新机制和Dhigh(den,tp)完全一致。
定义6(网格的平均密度):设数据的流速为v,若在任意时刻t,记流入网格的所有数据点的密度总和为Dglobal(t),此时网格总数为N,则当前网格的平均密度为:
Dave=Dglobal(t)/N (19)
其中,Dglobal(t)的计算公式为:
Dglobal(t)=Dhigh(t)+Dmed(t)+Dlow(t) (20)
对于Dhigh(t),其密度更新机制为:
其中Dhigh(0)=0。Dmed(t)和Dlow(t)的密度更新机制和Dhigh(t)完全一致。
从上述分析中可以看出,所有网格密度总和的计算和更新公式和单独一个网格den的密度计算更新公式基本一致。从宏观角度来讲,可以将整个空间当作一个巨大的网格,所有流入的数据点均落在这个网格之内,故该有关该网格的密度计算和更新机制与网格den完全相同。
定义7(密集网格和稀疏网格):根据定义6中的公式(19)~(21)能计算出当前时间的网格平均密度Dave,现设定参数μ,则:
上式中,Sm表示所有密集网格的集合,Sp表示所有稀疏网格的集合,μ为人工设定的一个阈值参数,一般情况下μ≥1,通过μ可以对所有的网格进行划分,为后续过程中有关网格的在线更新机制和离线聚类算法做好铺垫。
从上述定义可知,非均匀衰减模型的实质是根据每一时刻落入网格的数据点的分散程度,对这些数据采用不同的衰减速率进行网格的在线密度更新。具体方案为:将流入网格的数据点分为快速衰减数据、正常衰减数据和慢速衰减数据三类。当一个数据点流入网格后,根据其衰减类型对网格的密度向量Dv进行更新。Dv保存了当前时刻该网格中快速衰减数据、正常衰减数据和慢速衰减数据各自的密度总和。使用非均匀衰减模型的目的是抑制分布分散的噪声数据对在线聚类过程的干扰,同时加强对分布集中的核心点密度信息的保留,提高算法在在线聚类过程中的聚类性能。其具体图示如图2所示。
图2(a)表示网格中数据点的原始分布情况;图2(b)表示未经衰减时,流入一部分数据点后,窗口上的数据点分布情况;图2(c)表示使用均匀衰减模型后得到的数据分布图;图2(d)表示使用非均匀衰减模型后数据在二维窗口上的分布情况。从(b)和(c)、(d)的对比中可以看到,使用衰减模型和网格的在线删除机制能有效剔除一部分包含噪声点的网格,便于离线过程中聚类算法的实行。同时观察(c)和(d),可以发现在均匀衰减模型中,仍然留有残余的噪声点,且簇内结构不够紧密。相比于均匀衰减模型,非均匀衰减模型因为对不同数据的衰减力度不同,使得到的结果具有更高簇内密度,对噪声点的抑制能力更好。
定理1:对于任意网格den,该网格从稀疏网格变为密集网格的最小时间为:
其中,λhigh为最大衰减系数,Dbd=μDave表示划分稀疏网格和密集网格的网格阈值。
证明:假设在t时刻,网格den为密集网格,且den的密度值恰好等于网格阈值。经过ΔT时间后,网格衰减为稀疏网格,同时在t+ΔT时,网格又吸收了一个数据点,使网格den的密度又重新达到了网格阈值,此时该网格再度成为密集网格。从中可以得到:
D(den,t+ΔT)+1=Dbd
把网格的密度公式带入上式得到:
Dhigh(den,t+ΔT)+Dmed(den,t+ΔT)+Dlow(den,t+ΔT)+1=Dbd
即
而因为λlow<λmed<λhigh,且Dhigh(den,t)+Dmed(den,t)+Dlow(den,t)=Dbd,则有
所以
证毕。
根据上述证明,每隔ΔT即需要对所有网格进行密度检测,更新密集网格和稀疏网格。
随着数据对象的不断流入,系统存储的网格数量也随之增加。过多的网格数量将对算法的存储空间和运行速率提出较高的要求。事实上,很多网格中只包含极少数的噪声点,这些网格的密度随着时间的推移而逐渐趋向于0,这些包含噪声点的网格对离线过程中的聚类分析没有任何意义。将这些网格从网格列表中删除,不但能够减少在线过程中算法的存储消耗,同时能在离线聚类过程中除去噪声点的干扰,提高算法的准确率。因此,在数据流在线过程中,建立合适的网格更新和删除机制是十分必要的。
为删除一些落入噪声点的网格,采用最低权值检测机制。最低权值的阈值设定如下:
上式中,t0表示网格的创建时间,tc表示当前时间。是一个随时间t变化的递增函数。λ∈{λhigh,λmed,λlow}是衰减系数,此处将其作为最低权值阈值计算的一个参数。采用不同的λ时,随时间变化的曲线也呈现出不同的状态,其具体情况如下图3所示。
由公式和图3可以得到,当tc=t0时,值为0;且说明网格存在时间越长,其期望权值就越高。同时在相同tc时,λ越大,也越大。为保证网格不被误删除,计算最低权值阈值函数时,将λlow代入公式(25),最终获得的函数曲线如图中红色曲线所示。对于一个稀疏网格,若在t时刻,网格的密度小于则从当前角度来看,该稀疏网格不大可能成长为密集网格,故将其删除。
网格的在线更新机制如图4所示。
当用户向系统发送请求时,系统将统计当前时刻的网格信息,进行离线聚类操作。离线聚类过程类似于静态聚类,它将所有网格当作是一个个位于网格几何中心的虚拟点,使用聚类算法对这些点进行聚类操作,最终得到聚类结果并输出。
改进的DBSCAN算法类似于图像处理中的邻域搜索算法。该算法首次从数据空间中寻找到一个密集网格g,以网格g为本次聚类的起始点开始聚类,按照广度优先搜索原则,寻找到密集网格g直接相邻的密集网格gi,然后对每个gi网格单元继续进行广度优先搜索,直到所有到网格g相邻可达的密集网格单元被搜索到为止。当一次聚类过程结束时,从剩余的未聚类密集网格中找出新的网格继续聚类,重复上述步骤,直到剩余的网格中不包含密集网格为止。
本实施例以Rodriguez等提出的基于中心点具有高密度ρ且与比它高密度点具有较大距离δ的假设的算法为基础,对该算法中的密度半径dc进行自适应,最终得到了基于密度-距离的参数自适应聚类方法。下面给出该算法的部分定义:
定义8(局部密度):对于任意数据对象i,其局部密度的计算方法为:
ρi=Σf(dij-dc) (26)
其中,dij表示点i和点j之间的距离。函数f的计算法则为:
其中,wj表示数据对象对应网格的网格密度。
定义9(最近距离):对于任意对象i,其到局部密度比它大的点的最近距离为:
δi=min(dij)(ρj≥ρi) (28)
一般将数据对象j当做数据对象i的关联对象。记为L(i)=j。
对于ρ值最大的点,存在
δi=max(δj)(i≠j) (29)
此时该数据对象的关联对象就是其本身,即L(i)=i。
对于稀疏网格的聚类方法具体步骤为:
首先将所有网格(包括已经经过划分的密集网格和未经划分的稀疏网格)作为输入,通过自适应方法寻找出最优dc;当dc确定后,根据公式(26)和(27)计算所有网格的密度值;计算完成后,根据公式(28)和(29)再计算出所有稀疏网格i的关联对象L(i);之后选取任意一个未经划分的稀疏网格对象i,将该对象与其关联对象L(i)划分为一类。此过程中,若L(i)也是未经划分的稀疏网格,则将i与L(i)划分至L(i)的关联对象L(L(i)),由此类推,直到某一稀疏网格的关联对象是一个已经经过划分的数据对象,此时将过程中的一系列稀疏网格均和该对象划分为一类;执行该步操作直到所有稀疏网格均被划分时,输出最终聚类结果。
算法的流程图如图5所示。
Claims (5)
1.一种面向混合属性的数据流自适应聚类方法,其特征在于:包括以下步骤:
1)数据预处理和网格初始化,过程如下:
1.1对于一个d维数据,根据其每一维属性的性质,将该维划分为数值属性维度和分类属性维度两类,分类属性数据分为二元数据和序数型数据;对于一个数据流对象,通过查询其每一维属性的定义而确定该维属性是数值属性还是分类属性,若是分类属性,则进一步将其划分为二元属性或序数属性;当确定对象数据流每一维度的属性性质后,使用距离计算公式计算出各部分距离,并将各部分距离相加得到两数据点之间的最终距离;
1.2根据对象数据流每一维度的属性性质,对每维属性进行划分操作以建立最小网格单元;首先,通过随机采样的方法从数据集对象当中取出总体数据的β%进行预处理分析,将所有被取出的数据点构成一个集合M;
对于每一数值属性维度,分析集合M中所有数据在该维度的分布情况,统计出最大值和最小值,并根据这些信息确定网格在该维度的最小划分长度,通过最小划分长度将该维度划分成一个个区间,最终确定网格在此维度上的粒度;
对于任意维分类属性维度k,无论该属性是二元属性还是序数属性,其值均在该维度上离散且有限,所以将M中所有元素在该维度上的不同值取出,构成一个集合Ik,统计Ik中的元素个数,并将其作为网格在此维度上的分类个数;
1.3经过预处理分析,原本的d维空间就被划分成了一个以网格单元为单位的子空间集合;将集合M中的数据点以一定的流速流入在线网格框架,每隔单位时间统计密这段时间内数据点流入网格的分布情况;当集合M中的数据全都流入网格后,将此时密度不为零的网格作为初始网格,存入网格列表;
2)网格的在线维护,过程如下:
2.1当数据点Xi到达时,根据Xi的维度信息计算出与Xi对应的网格,将Xi投入网格,对网格的元组信息进行更新;
2.2统计当前时刻所有数据点落入的网格的个数,计算该时刻数据点落入网格的分散程度,根据分散程度的大小,使用不同的衰减系数对这些数据进行衰减;
2.3在线过程中计算网格的平均密度,设置参数μ,确定网格阈值,将所有网格划分成密集网格和稀疏网格两类;
2.4根据网格阈值Dbd,计算在线检测的最短时间间隔ΔT,每隔ΔT对所有网格进行密度更新,同时计算出新的网格平均密度和网格阈值;
2.5使用最低权值检测机制,对每一个网格设定一个随网格存在时间而逐渐递增的最低权值阈值函数,该值在网格密度信息更新时同步更新,若更新后的网格密度小于该最小权值,则说明网格已过时或包含噪声点,将该网格删除;
3)离线聚类,当用户向系统发送请求时,将统计当前时刻的网格信息进行离线聚类操作,过程如下:
3.1从数据空间中寻找到一个密集网格g,以网格g为本次聚类的起始点开始聚类,按照广度优先搜索原则,寻找到密集网格g直接相邻的密集网格gi,然后对每个gi网格单元继续进行广度优先搜索,直到所有到网格g相邻可达的密集网格单元被搜索到为止;当一次聚类过程结束时,从剩余的未聚类密集网格中找出新的网格继续聚类,重复上述步骤,直到剩余的网格中不包含密集网格为止;
3.2将经在线过程统计后的所有网格作为输入,通过基于密度-距离的参数自适应聚类方法寻找出最优dc,当dc确定后,计算出每个数据点的密度值ρ和最近邻数据点δ,根据ρ和δ值将所有稀疏网格进行划分,完成对稀疏网格的聚类;
3.3输出聚类结果。
2.如权利要求1所述的一种面向混合属性的数据流自适应聚类方法,其特征在于:所述步骤2.2中,分散程度的计算公式为
ω=n/N (1)
其中,n表示在当前时刻有数据点落入的网格的数量,N表示当前时刻的网格总数;ω∈(0,1],ω的大小反映当前时刻流入数据的分布集中程度,ω越小,表示流入的数据分布地越集中;ω越大,表示流入的数据分布地越分散;
根据分散程度的大小,使用不同的衰减系数对这些数据进行衰减。
3.如权利要求2所述的一种面向混合属性的数据流自适应聚类方法,其特征在于:所述步骤2.4中,ΔT的计算公式为
其中Dbd为网格阈值,λhigh为最大衰减系数。
4.如权利要求3所述的一种面向混合属性的数据流自适应聚类方法,其特征在于:所述步骤2.5中,最低权值阈值函数的计算公式为
其中t0表示网格的创建时间,tc表示当前时间。
5.如权利要求4所述的一种面向混合属性的数据流自适应聚类方法,其特征在于:所述步骤3.2中,ρ和δ的计算公式为
ρi=∑f(dij-dc) (5)
δi=min(dij) (ρj≥ρi) (6)
dij表示点i和点j之间的距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127480.1A CN106934417A (zh) | 2017-03-06 | 2017-03-06 | 一种面向混合属性的数据流自适应聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710127480.1A CN106934417A (zh) | 2017-03-06 | 2017-03-06 | 一种面向混合属性的数据流自适应聚类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106934417A true CN106934417A (zh) | 2017-07-07 |
Family
ID=59423281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710127480.1A Pending CN106934417A (zh) | 2017-03-06 | 2017-03-06 | 一种面向混合属性的数据流自适应聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106934417A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108662726A (zh) * | 2018-05-17 | 2018-10-16 | 广东美的制冷设备有限公司 | 空调器及电控装置、参数调整方法、可读存储介质 |
CN109389172A (zh) * | 2018-10-11 | 2019-02-26 | 中南大学 | 一种基于无参数网格的无线电信号数据聚类方法 |
CN111026028A (zh) * | 2019-12-11 | 2020-04-17 | 上海维宏电子科技股份有限公司 | 数控系统中针对加工工件实现二维平面化网格划分处理的方法 |
CN111951942A (zh) * | 2020-08-25 | 2020-11-17 | 河北省科学院应用数学研究所 | 门诊预检分诊方法、装置、终端及存储介质 |
CN112699113A (zh) * | 2021-01-12 | 2021-04-23 | 上海交通大学 | 时序数据流驱动的工业制造流程运行监测系统 |
CN113360716A (zh) * | 2021-06-01 | 2021-09-07 | 上海天麦能源科技有限公司 | 一种燃气管网结构逻辑化处理方法及系统 |
US11461372B1 (en) | 2021-03-18 | 2022-10-04 | Bae Systems Information And Electronic Systems Integration Inc. | Data clustering in logic devices using unsupervised learning |
-
2017
- 2017-03-06 CN CN201710127480.1A patent/CN106934417A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108662726A (zh) * | 2018-05-17 | 2018-10-16 | 广东美的制冷设备有限公司 | 空调器及电控装置、参数调整方法、可读存储介质 |
CN108662726B (zh) * | 2018-05-17 | 2019-11-08 | 广东美的制冷设备有限公司 | 空调器及电控装置、参数调整方法、可读存储介质 |
CN109389172A (zh) * | 2018-10-11 | 2019-02-26 | 中南大学 | 一种基于无参数网格的无线电信号数据聚类方法 |
CN109389172B (zh) * | 2018-10-11 | 2022-05-20 | 中南大学 | 一种基于无参数网格的无线电信号数据聚类方法 |
CN111026028A (zh) * | 2019-12-11 | 2020-04-17 | 上海维宏电子科技股份有限公司 | 数控系统中针对加工工件实现二维平面化网格划分处理的方法 |
CN111026028B (zh) * | 2019-12-11 | 2022-12-06 | 上海维宏电子科技股份有限公司 | 针对加工工件实现二维平面化网格划分处理的方法 |
CN111951942A (zh) * | 2020-08-25 | 2020-11-17 | 河北省科学院应用数学研究所 | 门诊预检分诊方法、装置、终端及存储介质 |
CN111951942B (zh) * | 2020-08-25 | 2022-10-11 | 河北省科学院应用数学研究所 | 门诊预检分诊方法、装置、终端及存储介质 |
CN112699113A (zh) * | 2021-01-12 | 2021-04-23 | 上海交通大学 | 时序数据流驱动的工业制造流程运行监测系统 |
US11461372B1 (en) | 2021-03-18 | 2022-10-04 | Bae Systems Information And Electronic Systems Integration Inc. | Data clustering in logic devices using unsupervised learning |
CN113360716A (zh) * | 2021-06-01 | 2021-09-07 | 上海天麦能源科技有限公司 | 一种燃气管网结构逻辑化处理方法及系统 |
CN113360716B (zh) * | 2021-06-01 | 2023-11-24 | 上海天麦能源科技有限公司 | 一种燃气管网结构逻辑化处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106934417A (zh) | 一种面向混合属性的数据流自适应聚类方法 | |
Moon et al. | Parsimonious black-box adversarial attacks via efficient combinatorial optimization | |
CN106570178B (zh) | 一种基于图聚类的高维文本数据特征选择方法 | |
Li et al. | Optimizing generalized pagerank methods for seed-expansion community detection | |
Falkner et al. | Combining hyperband and bayesian optimization | |
CN107066555B (zh) | 面向专业领域的在线主题检测方法 | |
CN108667684B (zh) | 一种基于局部向量点积密度的数据流异常检测方法 | |
CN104182527B (zh) | 基于偏序项集的中英文本词间关联规则挖掘方法及其系统 | |
CN113344128B (zh) | 一种基于微簇的工业物联网自适应流聚类方法及装置 | |
CN112214689A (zh) | 基于社交网络中群体的影响力最大化方法及系统 | |
CN107832456B (zh) | 一种基于临界值数据划分的并行knn文本分类方法 | |
Kojadinovic et al. | Comparison between a filter and a wrapper approach to variable subset selection in regression problems | |
CN112598128A (zh) | 一种模型训练以及联机分析处理方法及装置 | |
CN108763295A (zh) | 一种基于深度学习的视频近似拷贝检索算法 | |
Goyal et al. | Anytime frequent itemset mining of transactional data streams | |
Xing et al. | Fuzzy c-means algorithm automatically determining optimal number of clusters | |
Al-Khamees et al. | Survey: Clustering techniques of data stream | |
Ab Ghani et al. | Subspace Clustering in High-Dimensional Data Streams: A Systematic Literature Review. | |
Gandhi et al. | Space-efficient online approximation of time series data: Streams, amnesia, and out-of-order | |
Tareq et al. | Online clustering of evolving data stream based on adaptive Chebychev distance | |
Tugnait | Estimation of high-dimensional differential graphs from multi-attribute data | |
CN115098881A (zh) | 一种基于敏感等级划分的数据扰动方法及装置 | |
Zhu et al. | PTAOD: A novel framework for supporting approximate outlier detection over streaming data for edge computing | |
Xie et al. | An Efficient Fuzzy Stream Clustering Method Based on Granular-Ball Structure | |
Hu | Local graph clustering using l1-regularized pagerank algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170707 |
|
RJ01 | Rejection of invention patent application after publication |