一种基于深度学习的自聚类算法

2024-05-03 05:41聂耀鑫蒋东来程国军
信息记录材料 2024年3期
关键词:蒙特卡洛数目聚类

聂耀鑫,蒋东来,程国军

(太极计算机股份有限公司 北京 100012)

0 引言

随着大量数据的产生,数据分析手段越来越重要,尤其是聚类方法的作用越来越重要。其在文献分析等领域和促进科技创新方面发挥着重要的作用,有助于学者发掘更深层次的数据关系。例如截至2019 年1 月,仅生物医学文献数据库PubMed(https:/ /pubmed. ncbi. nlm. nih.gov/)中就包含有2 900 万篇文章,更有每天超3 000 篇新文章在不断地被加入到其中。因此越来越需要精准可靠的方法对海量数据进行聚类和分析。但这些聚类方法仍然存在很多尚未攻克或研究较少的问题,例如聚类数目k对于大多数聚类算法而言都很重要,不管是对于划分式聚类方法或是基于密度的聚类方法或其他方法而言,都需要聚类数目k作为输入。但是以往的工作证明了对k的良好预估并非易事。

近年来,聚类数目的重要性越来越被研究者们所关注。对于传统方法来说,不管是对于以k 均值聚类(kmeans)等为代表的划分聚类、以DBSCAN 为代表的密度聚类、以Chameleon 聚类为代表的层次聚类,还是以谱聚类为代表的图聚类和以高斯混合模型(Gaussian mixture model, GMM)为代表的模型聚类,都需要聚类数目k作为输入。这就导致了上述的传统方法虽然有其各自擅长的聚类情形,但是一旦聚类数目k预估失误,将会使聚类结果性能下降。

深度学习(deep learning, DL)的发展也没有绕开聚类这个经典问题。DL 凭借其层次化结构和非线性映射能力使得大规模深层次特征提取成为了可能。虽然各种深度聚类算法也进一步提高了准确率,但这些聚类方法大多数也是参数化方法,预先输入的k值是对聚类效果非常重要的影响因素,例如:热点研究[1],航天数据检测[2],对于k-means 友好算法的研究[3]以及对电力数据的分析[4]。

本文提出了一种有效的方法来预测高维数据集的聚类数目。利用自编码器技术[5]和T-SNE 技术[6]实现了对高维数据集的降维并学习提取特征,使用基于蒙特卡洛的方法预测聚类数目。

1 聚类数目预测算法

1.1 自编码器模块

自编码器是一种能够基于输入数据来学习有效编码方法的神经网络模型。其结构通常包括一个输入层、一个或多个隐藏层和一个输出层。大部分技术在考虑数据集未知聚类数量问题时,都不直接在数据集空间上预测。例如在对xi=1 ∈X这组数据聚类时,不直接在X的空间上预测,而是提出了一个非线性映射f来将xi转换为zi,其中Z是潜在特征空间。为了使Z适合聚类,特征空间Z的维数应尽可能低。本算法的目标是找到一个合适的方法来达到f的效果,从而可以提取生成低维嵌入点和一个合适的聚类算法来确定聚类数目k。

首先是从输入层到隐藏层的编码过程:

其次是从隐藏层到输入层的解码过程:

最后算法的优化目标函数为:

这里dist是使用均方方差来计算两者的距离度量函数。但是为了使数据可视化,算法仍然需要降低维数。因此采用T-SNE 降维方法对数据进行可视化处理。此方法可以使高维数据可视化为更低维的数据。例如本模型需要2 维特征进行判断指数计算。因此算法将提取到的特征可视化为2 维数据。

1.2 蒙特卡洛聚类数目预测模块

本模型确定聚类数目的指标主要有如下几个:模型的贝叶斯信息量准则(Bayesian information criterion, BIC)值、赤池信息量准则(Akaike information criterion, AIC)值[7]、轮廓系数[8](Silhoutte) 值[9]和Calinski Harabasz(CH)值[10]。训练模型时,增加参数数量也就增加了模型复杂度,进而会导致过拟合现象。针对该问题,AIC 和BIC均引入了与模型参数个数相关的惩罚项,BIC 的惩罚项比AIC 的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。轮廓系数可以作为定义为该聚类是否合理、有效的度量。聚类结果的轮廓系数的取值在[-1,1]之间,值越大,说明同类样本相距越近,不同样本相距越远,则聚类效果越好。模型CH 值越大代表着类自身越紧密,类与类之间越分散,即更优的聚类结果。

第一步是创建一个高斯混合模型,该模型具有为簇数[2,n]预设的k值范围,其中n=3,4,5,…,在基于k值范围创建一组模型之后,通过蒙特卡洛方法判断最佳聚类数目。具体来说由于存在局部最优,单个值是波动的。因此,从统计的角度出发,引入了蒙特卡洛方法(Monte Carlo method)来获取期望值,以避免局部最优,并导出最佳簇数。因此,算法可以根据得到的最佳聚类数量对数据进行GMM 聚类分析。其中,GMM 模型的概率密度函数如式(4)所示。

式(4)中,设n为观测值的数量,k为聚类数目,RSS 为残差平方和,L为似然函数,AIC 和BIC 的计算方法如式(5)、式(6)所示。

簇内不相似度为a(i),簇间差异为b(i)。S(i) 的计算方法如式(7)所示。

CH 的计算方法如式(8)所示。

式(8)中,ki为当前类别,trB(k)为类间偏离矩阵的轨迹,trW(k)为类内偏离矩阵的轨迹。

多次运行模型后,本算法可以得到聚类预测数目。获得聚类数目的总体公式如式(9)所示。

2 仿真验证

2.1 数据集与基准模型

本文选择的数据集和基准模型方法有:差距分析(gap analysis, GAP),轮廓系数,卷积自编码器(convolutional autoencoder, CAE)方法,均值漂移(mean-shift),改进的GMM 方法(improved-GMM)。这些方法和本文算法都属于较为完整的模型,可以在聚类数目预测精准度和聚类效果上与本文算法的方法进行比较。

这里分别挑选了3 种类型的数据集用来证明自聚类算法对于多种类数据的适配性。它们分别是文本数据集20Newsgroup,图像手写数字数据集MNIST 和音频数据集Urbansound8k。

20Newsgroup 语料库是18 846 个文本文档的集合,这些文档分为20 个不同的新闻组。使用这个语料库,可以观察到所提出的方法是如何在文本样本上工作的。我们使用文档的TF-IDF 表示,但这样数据的维度会过高。因此我们选择10 000 个最常用的单词作为特征。特别需要说明的是,在文档数据集20Newsgroup 中同时存在某些类别过于相似(如IBM 系统下的个人电脑硬件(comp. sys.ibm.pc.hardware)/ mac 系统下的个人电脑硬件(comp.sys.mac.hardware))的情况。因此选择完全不同的15 个类作为原始数据集。

MNIST 是一个非常简单的数据集。这个数据集包含一些手写的阿拉伯数字(0 ~90 个数字)。其中训练集有60 000 张图片,测试集有10 000 张图片。

Urbansound8k 是一个广泛用于城市环境声音自动分类研究的公共数据集。该数据集包含10 个类别共8 732个标记的声音片段(≤4 s),如:空调、汽车警报声、儿童玩耍声、狗叫声、钻孔声、发动机空转声、枪声、手持钻孔机声、警报声和街头音乐。

2.2 聚类性能实验结果

本文对3 个数据集分别在基准算法和自聚类算法上进行了测试。计算了它们的准确率和平均预测值。通过表1 和表2 的实验结果可以看出,在所有基准算法当中自聚类算法取得了最好的结果。

表1 聚类性能实验结果

表2 消融实验结果

2.3 消融实验

在这一小节中进行了消融实验分别验证自聚类算法每一组成部分对自聚类模型的影响。消融实验的设计是为了探究实验中4 个参数的重要性。如表2 分别对每个参数进行一次缺失处理,只采用其余3 个参数的值进入下一步蒙特卡洛方法。其中缺失了CH 值的实验结果表现最差,这证明了CH 值对算法的影响最大。

3 结语

综上所述,本文提出了一种基于蒙特卡洛方法预测聚类数目的深度学习方法。此算法设计了多个工作模块,从学习到的信息中提取关键特征,以进行聚类数目的预测。广泛的实验表明,本算法达到了最先进的聚类性能。此外,由于许多实际应用中高维数据较多,所以预训练模型的编码速度较慢。今后,研究人员将研究如何在保持实验结果基本不变的情况下,降低模型参数,提高训练速度。

猜你喜欢
蒙特卡洛数目聚类
有机物“同分异构体”数目的判断方法
征服蒙特卡洛赛道
基于DBSACN聚类算法的XML文档聚类
基于高斯混合聚类的阵列干涉SAR三维成像
利用控制变量方法缩减蒙特卡洛方差
《哲对宁诺尔》方剂数目统计研究
蒙特卡洛模拟法计算电动汽车充电负荷
牧场里的马
基于蒙特卡洛的非线性约束条件下的优化算法研究
一种层次初始的聚类个数自适应的聚类方法研究