APP下载

面向大数据的聚类挖掘算法研究

2022-11-01

中国新技术新产品 2022年14期
关键词:表达式聚类公式

(湖南环境生物职业技术学院,湖南 衡阳 421005)

1 大数据处理技术与聚类分析法

1.1 大数据处理技术

数据采集层:利用python 网络爬虫、DataX、Sqoop 和ETL 等构件,可以对大量的数据进行有效的收集;采用Flume、Kafka 等方法,进行了对流式数据收集。同时,基于数据结构的不同,采用批量采集和流采集技术可以完成对结构化、半结构化和结构化数据的采集。

数据采集层按照数据源的类别来完成数据的收集,以数据的相关数据库、文件等为基础。完成网络上的数据的爬虫工作,以及数据采集、社交加粉等工作。

Hadoop 技术体系结构包括HDFS、MapReduce、Hive、ZooKeeper、Zookeeper等,最基本和最关键的部分是由一个文件系统HDFS(Hadoop Distributed File System)来实现MapReduce。

1.2 面向大数据的聚类挖掘算法分析

K-means 聚类是最早期提出的一种聚类方法。由于其编程简单、易于聚类和聚类的高效性,因此具有广泛的适用性。然而在数据量不断增加的情况下,K-means 聚类方法的聚类效率会明显下降,而且错误也会增加。

K-means 聚类算法实现聚类的基本步骤如下:1) 负荷数据集N,选择K 个群组中心为初始聚类中心。在进行聚类中心的选定时,可以采用多种方法进行分类,然而在大部分的情况下都无法一次选出最佳群集。在传统的随机抽取算法中,由于采用了随机抽取的方法,往往无法直接获得最好的结果,因此必须反复地选择不同的簇,以获得最佳的聚类中心。2)对各用户数据和K 个群集的关联程度进行运算,并按照所求的关联性,将各用户数据分别按最具关联性的类别进行分组。3) 将各群集中心的全部数据平均化,以此为新的聚类中心。4)建立一个目的功能,并求出该目的功能的最低数值,接着第2步和第3 步反复进行,直至所产生的聚类中心大于该目的功能的最低数值。5) 将获得满意的聚类中心的输出数据用作该算法的聚类中心。

K-means 的核心代码如下。

# 导包from sklearn.cluster import KMeans# 模型创建kmeans_model=KMeans(n_clusters=5,init=’k-means++’,random_state=11)# 进行聚类处理y_kmeans=kmeans_model.fit_predict(x)

FCM(Fuzzy-c-Means algorithm,FCM)聚类算法的基本原理是模糊理论,所以又称模糊C 均值算法。FCM 聚类算法是将个用户数据作为个向量x,FCM 聚类算法的模糊隶属度的取值为[0,1],通过计算每个向量的模糊隶属度将其进行归类。FCM 聚类算法的实质是构建模糊矩阵,矩阵中的每个元素就是每个向量的模糊隶属度,所以其值的大小为[0,1],归类后的每个元素的模糊隶属度之和均为1。通过设定非相似性函数,并以函数的最小值为目标值,求取聚类中心。

FCM 聚类算法非线性约束条件的表达式如公式(1)所示。

式中:u的取值为[0,1];c为模糊类的聚类中心;d为第个聚类中心到第的向量之间的欧式距离;为加权指数,其取值为[1,∞]。

为使目标函数取得最小值,该文做出以下改进,其表达式如公式(3)所示。

式中:λ为个约束式的拉格朗日因子。

使目标函数取得最小值的必要条件如公式(4)所示。

FCM 聚类算法的基本步骤如下。1) 计算每个向量的模糊隶属度,构建初始模糊矩阵,使矩阵中的每个元素的取值为[0,1],使其满足每类中的向量的隶属度之和为1。2) 计算个模糊类的聚类中心c。3) 计算目标函数,并设定目标函数的阈值。4) 计算新的模糊矩阵。然后再返回到第2 步,不断地进行迭代,直到满足条件为止。FCM 聚类算法的流程图如图1 所示。

图1 FCM 聚类算法的流程图

对数据进行聚类时,由于不同类的数据具有一定的相关性,会导致在聚类的过程中发生错误的情况。而马氏距离中的协方差矩阵能够消除不同类数据之间相关性,因此利用马氏距离优化FCM 聚类算法(MFCM)用于对不同数据进行分类。通过在FCM 聚类算法的目标函数中增加协方差矩阵因子改善目标函数的阈值,达到提高聚类精度的目的。增加的调节因子为-1n ││,得到的MCFM 聚类算法的目标函数的表达式如公式(5)所示。

式中:a为样本到同簇其他样本的平均距离。

MFCM聚类算法的基本步骤如下。1) 设有个用户负荷数据,聚类的数目为个,的取值范围为[2,],设置起始聚类中心和阈值,并使迭代计数器的次数为=0。2) 根据上述公式确定隶属度函数。3) 根据上述公式确定聚类中心。4) 不断进行迭代,求取新的聚类中心,直到‖A-A‖,然后将输出的结果作为新的聚类中心。如果‖A-A‖,则重新回到第一步,并将迭代计数器的次数设置为=+1。MFCM 聚类算法的流程图如图2 所示。

图2 MFCM 聚类算法流程图

1.3 聚类结果度量分析

对数据进行聚类分析后,需要对聚类的效果进行评估,最常用的方法就是计算每类数据之间的距离。数据之间的距离越远,说明聚类的效果越好,数据之间的距离越近,聚类的效果越差。采用不同方法对聚类结果进行分析时,得到的距离也不一样。对数据(,),距离函数的选取应具备以下条件。1) 满足对称性原则,即(,)=(,);2) 满足非负性原则,即(,)=0。3) 满足三角不定式原则,即(,)≤(,)+(,)。4) 满足自反性原则,即当=时(,)=0。

欧式距离是计算各类之间距离最简单的一种方法,即计算空间中2 个数据点之间的距离,表达式如公式(11)所示。

式中:为表示第1 行第列数;为表示第2 行第列数;为表示第1 行第列数;为表示第2 行第列数。

欧式距离虽然能能够计算2 个负荷数据或者2 个数据向

量之间的距离,但是无法区别数据之间的差异性,导致误差增大,因此应用范围具有一定的局限性。

余弦相似度的基本原理是通过计算2个数据或者2个数据向量之间的余弦值,将数据进行分类。通过计算相似度的大小判断数据之间的相似性。

余弦相似度的表达式如公式(13)所示。

余弦相似度的取值为[-1,1],通过cos()值的大小,可以算出2 个数据之间的夹角大小。与欧式距离相比,当2 个数据之间的差异性过大时,余弦相似度对聚类分析的效果更好,产生的误差更小。

马氏距离是将数据通过协方差公式计算数据之间的距离。马氏距离能够分析数据的各种特性之间的联系,比欧式距离具有更好的聚类效果,能减小误差。

令存在数据集(xy),其中xRyR,数据集共有个数据,x是维特征向量,y∈[-1,1]为x的类标号。

设是×阶输入矩阵,每行代表一个数据,则数据向量的均值表达式如公式(14)所示。

马氏距离具备的特点包括平移不变性、旋转不变性以及放射不变性。

由于马氏距离采用了协方差矩阵,因此其聚类性能优于欧式距离。因为马氏距离构造的矩阵中的元素都是经过标准化处理的,所以可以区分出各种维度的数据,进而加强了各种数据矢量的关联性。马氏距离不但可以更好地进行分类,还可以扩大数据的差异,提高其聚类效率。

利用聚类有效性函数可以评价聚类的效果和优劣,并可以判定是否正确。由于该数据是一种非线性的曲线,不能通过对其属性进行直观分析,因此可以通过分类之间的隔离程度和内部的紧密程度来进行间接判定。根据4 个指标的规模来判定各类别间的关联度,其关联度愈高,则聚类结果愈佳。相关度愈小,效应愈弱。

相似度表达式如公式(18)所示。

式中:为类内加权平均值。

某一类数据的类内紧密度表达式如公式(20)所示。

MIA 函数的表达式如公式(21)所示。

式中:N 为用户的个数;MIA 为类内距离和的平均值,MIA的值越小,聚类效果越好。

CDI 函数的表达式如公式(22)所示。

式中:X为第类用户;为类内紧密度的平均值,的值越小,聚类效果越好。

SI 函数的表达式如公式(23)所示。

DBI 函数的表达式如公式(24)所示。

式中:为类内距离与类间距离的比值,的值越小,聚类效果越好。

该文使用的熵函数为Renyi 熵函数,主要用于确定随机事件的不确定度。Renyi 熵函数通过对Renyi 熵的值进行计算评估聚类效果。

Renyi 熵函数的表达式如公式(25)所示。

式中:C为聚类后的第类数据集;为类内的数据总数;N为第类数据集所含数据总数;(x-x)为高斯核函数。

x-x)的表达式如公式(26)所示。

式中:为聚类后的第类数据集;C为聚类后的第类数据集;N为第类数据集所含数据总数;N为第类数据集所含数据总数;为个无标记样本,= {,, . . . ,X};为个无标记样本,= {,, . . . ,X}。

Renyi 熵函数能够评估聚类效果,主要是通过计算Renyi熵的值得出数据集之间的无序程度。Renyi 熵的值越大,聚类效果越好;Renyi 熵的值越小,聚类效果越差。

2 聚类算法结果分析

用户负荷数据聚类指标对比图如图3 所示。从图3 可以看出,MFCM 聚类方法具有比FCM 聚类方法更好的分类结果,说明MFCM 聚类方法在聚类中的分类差异较大,因此具有较好的聚类性能。

图3 用户负荷数据聚类指标对比图

MFCM 聚类方法在分类中的类内点和MIA 指标显著降低,说明MFCM 聚类方法在分类中的关联性更强,分类效果也更好。该文利用MFCM 方法对负荷进行更好的分类,并根据类别的不同采用了相应的正确率阈值。根据分类数目的不同,得到的正确率阈值结果见表1。

表1 用户数据分类数目正确率对比

由表1 中的数据可以得出以下结论。1) 无论将负荷数据分为几类,基于MFCM 聚类算法的正确率要都要高于传统的FCM聚类算法,因此可以证明基于MFCM 聚类算法具有更好的聚类效果。2) 当将负荷数据分为4 类时,基于MFCM 聚类算法的正确率最高,并且始终保持在设定的阈值90%以上,表明将用户负荷数据分为4 类时聚类效果最好。基于用电行为和用户类型的原因,用户类型存在相同用电行为,导致无法正确进行聚类分析。另外,随着分类数目的增加,SI、DBI、MIA 和CDI 指标的值不断下降并逐渐稳定在某一定值左右波动。将负荷数据分成4 类后,各种指标的值在小范围内波动,因此把数据聚类成4 类是正确的。同时将负荷数据分成4 类后,基于MFCM 聚类算法的指标值比传统的FCM 聚类算法和K-means 聚类算法都小,聚类效果明显优于其他算法。

3 结语

该文主要从K-means 算法和聚类质量评价函数入手进行分析。结合研究数据特点分别构建特征核心指标体系模型、聚类分析模型和聚类质量评价模型。结合上述指标描述,用实际运行数据验证模型有效性,并结合实例分析判断各聚类指标值,确定算法的适用性,进而了解大数据处理算法。结果表明其聚类分析分类明显,聚类效果相对稳定。

猜你喜欢

表达式聚类公式
组合数与组合数公式
排列数与排列数公式
等差数列前2n-1及2n项和公式与应用
一个混合核Hilbert型积分不等式及其算子范数表达式
表达式转换及求值探析
浅析C语言运算符及表达式的教学误区
基于DBSACN聚类算法的XML文档聚类
基于高斯混合聚类的阵列干涉SAR三维成像
一种层次初始的聚类个数自适应的聚类方法研究
自适应确定K-means算法的聚类数:以遥感图像聚类为例