3.3 基于数据属性的二重概念漂移检测机制
数据的属性(特征)用来描述数据最小的单元,从数据的属性分析中可以了解数据的基本信息、学习数据背后的隐含信息。在很多对数据的处理方法中,数据的清洗、数据的分类学习等都是从数据的属性分析开始的。可见,认识数据属性是一种简单而有效的数据分析处理方式。
K-means聚类不使用类别标签,而相似性的定义又是基于数据属性的,所以,K-means是基于数据属性进行聚类的。把相似度高的数据实例划分在同一个簇内,把相似度低的数据实例划分在不同簇内,使得每个数据实例仅属于K个簇中的一个,以此达到对数据实例进行分类的效果。
K-means聚类的概念漂移检测机制的算法伪代码如算法1所示。
算法1 K-means聚类的概念漂移检测机制的算法伪代码
对于数据流中出现的概念漂移的现象,采取重新构造分类器的方法可解决新窗口数据分类精度下降的问题。由于数据流中出现的可能是噪声数据,因此可采用抛弃噪声数据的方法进行处理,从而在流式数据上进行概念漂移检测,需要把数据流以窗口的形式划分为一段段的批数据。当新窗口的数据到来时,根据K-means聚类的输出结果并按照聚类的定义,分析每个实例与K个聚簇中心的关系,为每个实例找到一个归属簇。当数据流中未发生概念漂移时,几乎可以为每个实例找到一个最近的簇。但当有概念漂移发生或出现噪声时,会导致两种情况发生:一是数据流中出现较多实例且不能被任何簇覆盖,即不能划分到任何一个已有的簇中,这种情况极可能是数据流发生了概念漂移;二是数据流中的某几个实例可以划分到某一个簇中,但划分的结果是将导致该簇与其他簇有交集,这种情况表明该实例极可能是噪声数据。
该算法会检测到两种异常现象:第一种是不能划分到某个簇中的实例较多,此时极可能是类别中出现了新的概念;第二种是某些实例可以划分到某一个簇中,但划分会改变该簇的结构,使得该簇与其他簇有交集,这种情况下,这些实例可能是噪声数据,也可能是新的概念。当这样的实例个数小于预先设定的阈值uthd时,则把其当成噪声数据抛弃;若大于uthd,则很可能出现了新的概念,需要对新窗口数据重新进行聚类。