【博士论文】基于局部中心量度的聚类算法研究(Matlab代码实现)

简介: 【博士论文】基于局部中心量度的聚类算法研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

    或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

文献来源yyds:

image.gif 编辑

聚类分析是数据挖掘的主流技术之一,它在人工智能领域有着广泛应用。簇的定义和聚类方法的双重多样性致使数据科学发展过程中聚类算法拥有“数量庞大”“类型多样”等特点。一般而言,能将无标签的样本点聚为若干个簇的算法都可以称为聚类算法,人们常根据这些算法的基本思想或基本假设将其分为几个常见的类型:分割聚类法、层次聚类法、密度聚类法、网格聚类法、模型聚类法等。该文提出了一类基于局部中心量度的聚类算法,其创造性成果主要体现在:

  1. 首创性地提出了局部中心量度的概念。局部中心量度是衡量空间中任意点的局部中心程度的量,聚类过程中区分中心区域的点和边缘区域的点有赖于正确估计出样本点的局部中心程度。该文认为,密度聚类算法中选用的样本点密度起着局部中心量度的作用:密度高于预先设定的阈值的样本点被划分为核心区域的点,而密度低于阈值的样本点被划分为边缘区域的点,它们之间相互连接形成最终的聚类结果。经验上,样本点密度较大的区域通常是簇中心区域,而样本点密度较小的区域通常是簇边缘区域。因而,有着完善的数学理论基础的样本点密度最先成为局部中心量度被广泛应用。然而,样本点密度作为局部中心量度存在着缺陷:密度阈值难以先于经验给出,这将导致以样本点密度为局部中心量度的聚类算法对参数敏感;不同的簇可能有着相差较大的最佳阈值,这将导致以样本点密度为局部中心量度的聚类算法难以处理不平衡问题。因此,人们需要设计新的局部中心量度。
  2. 设计了多个局部中心量度。局部中心量度的准确性直接影响到聚类结果的正确性,一个良好的局部中心量度除了能够正确反映样本点的真实局部中心程度外还需要考虑:局部中心量度的稳定性,即不论应用于何种分布的数据,区分中心区域和边缘区域的样本点的阈值相对稳定,易于算法参数的选取,降低算法对参数的敏感度;局部中心量度的健壮性,即计算结果不易受数据分布的不平衡性影响。该文分别从mean shift和局部引力模型出发,设计了稳定性和健壮性更强的局部中心量度。
  3. 提出了局部引力模型和新的聚类算法。基于局部引力模型,该文借助不同的局部中心量度间的多样性,同时使用多个局部中心量度,提出了LGC算法和CLA算法。新提出的聚类算法具有易于调参,结果准确等特点。
  4. 设计了适用于多性能指标体系下的非参数检验方法。衡量聚类算法性能的指标较多,常见的有RI、ARI、NMI等。多种指标之间的数值相互直接比较是没有意义的,如就算法甲的RI值和算法乙的NMI值进行直接比较是没有意义的。该文采用秩转化的方法,提出了三种不同的计算秩的方法,将不同的性能指标对应的具体数值转化为秩值,通过对秩值进行统计检验完成多性能指标的融合。

关键词:局部引力模型;密度聚类算法;局部中心量度;LCM聚类算法;LGC聚类算法;CLA聚类算法

结论:

本文提出的基于局部中心量度的聚类算法是聚类技术的新分支。尽管基于局部中心量度的聚类算法与密度聚类算法在思想方法上有诸多相似之处,但它们之间依旧存在着较大的区别。局部中心量度是一个更为一般化的概念,局部密度可能是聚类技术在发展过程中最早使用的局部中心量度。局部密度作为当前使用最广泛的局部中心量度有着一定的必然性:核密度估计法有着较完善的数学基础因而较容易推广到模式识别领域;聚类中高密度区域在大多数情况下是簇的中心区域。本文的主要结论如下:

  1. 基于mean shift的局部中心量度//和基于局部引力模型的局部中心量度CE/CO在恰当的参数下可以很好地表征样本点的局部中心程度;
  2. 相比局部密度,和CE更适合处理不平衡问题,同时更容易找到合适的阈值以区分簇中心区域和簇边缘区域的点;
  3. LGC算法和CLA算法能发现任意形状的簇,且相对容易寻找到合适的参数以获得理想的结果;
  4. LGC算法和CLA算法在人工数据集和真实世界数据集中都取得了较好的聚类结果,既适用于二维数据集,也适用于高维数据集;
  5. GRA-FT和WGRA-FT可以应用于多性能指标体系中的评价问题。

局部中心量度和基于局部中心量度的聚类算法还有诸多有待发展和完善之处,本文作如下展望:

  1. 未来的工作中我们还需要设计新的局部中心量度,它们会朝着更低的时间复杂度、更低的参数敏感性、更好的局部中心程度表征能力的方向发展;
  2. 类似于核密度估计法,局部中心量度在尝试更广泛地应用于求解模式识别问题的过程中也需要更为深入的数学理论研究作支撑,更为一般化的局部中心量度估计方法也是我们后续工作的一个方向;
  3. 设计新的基于局部中心量度的聚类算法,这些算法需要有更低的时间开销、更好的聚类效果、更少的人工设置;
  4. 设计更适用于特定问题的局部中心量度及相应的聚类算法,如专用于特定类型的数据集的局部中心量度。

image.gif 编辑

摘要:

聚类分析的目标是根据适当的距离度量将一组数据点分成几个群组。我们首先提出了一个称为数据点之间的局部引力的模型。在这个模型中,每个数据点被看作具有质量的对象,并与其邻居产生的局部结果力(LRF)相关联。本文的动机是因为靠近聚类中心和在聚类边界处的数据点的LRF之间存在明显差异(包括大小和方向)。为了有效捕获这些差异,进一步研究了两个名为中心性和协调性的新局部度量。基于经验观察,设计了两种新的聚类方法,分别称为局部引力聚类和与本地代理通信,并进行了几个测试案例以验证它们的有效性。对合成数据集和真实世界数据集的实验表明,这两种聚类方法在大多数数据集上表现良好。

聚类是数据挖掘领域的主要技术之一,具有广泛的应用[1]–[10], [69], [70],例如人脸识别[1], [2]、基于癌症基因表达谱的肿瘤聚类[3], [4]、亚像素图像分割[5]、文档聚类[6], [7]、僵尸网络入侵检测[8]、软件环境丰富化[9]、声源定位[10]等。聚类分析的主要任务是根据适当的距离度量将一组数据点划分为紧密组织的群组[11]。已经提出了各种算法来处理聚类任务,可以按连通性、分布性、质心、密度等方式分类。然而,通常很难对聚类算法进行分类。例如,均值漂移聚类方法[12]基于密度梯度分析,其中每个数据点迭代地朝向其局部密度峰值(DP)移动,而一些类似于K均值的聚类算法通常可以看作是均值漂移算法的特例。此外,最大熵聚类算法[13]也是一种基于统计物理的聚类方法,同时也是一种基于特殊核的均值漂移算法。这些算法在群组定义和聚类策略上有显著差异,在实际应用中各自有其局限性。基于连通性的聚类算法通过连接数据点来构建群组,通常需要高计算成本并且容易受到异常值的影响[14]。基于模型的方法,如高斯混合模型需要预先指定混合成分的参数概率密度函数形式[15]。K均值[16]和K中心点[17]算法可能是最知名的基于质心的聚类算法,在这些算法中,一个群组被定义为一组数据点,这些点位于与群组中心相关联的区域内。具体而言,这类算法首先初始化一组随机选择的群组中心,然后优化数据点到中心的平方距离[16]–[19],直到识别出最佳的群组中心候选者。然而,由于分区聚类算法未能考虑数据点及其邻居之间的局部关系,因此通常无法检测具有任意形状的群组[20]。作为密度算法的代表,基于密度的空间聚类应用及噪声(DBSCAN)[21]利用数据点的局部密度信息进行聚类,使其能够检测具有任意形状的群组。密度聚类算法的一个缺点是对所有数据样本的密度估计通常是耗时的,因此提出了一些混合聚类算法[22], [23]来解决这个问题。

基于局部中心量度的聚类算法研究

摘要

聚类分析作为数据挖掘的核心技术,在人工智能、模式识别等领域应用广泛。传统聚类算法在处理复杂数据时面临参数敏感、难以识别不同密度簇等问题。本文提出基于局部中心量度的聚类算法框架,通过引入局部引力模型和中心性-协调性度量,设计了LGC和CLA两种新算法。实验表明,这些算法在人工数据集和真实数据集上均能准确识别任意形状簇,且对参数敏感度显著降低,为处理复杂数据提供了有效工具。

1. 引言

1.1 研究背景与意义

聚类分析通过将无标签数据划分为相似组,是数据挖掘、人工智能和模式识别的基础技术。在图像分割、基因表达分析、客户细分等领域,聚类算法帮助揭示数据内在结构,为决策提供支持。然而,传统算法如K-means对初始中心敏感,DBSCAN依赖密度阈值,难以处理密度不均或形状复杂的簇。局部中心量度的提出,为解决这些问题提供了新思路。

1.2 国内外研究现状

现有聚类算法可分为分割、层次、密度、网格和模型五大类。密度聚类(如DBSCAN)通过局部密度识别簇,但阈值选择困难;均值漂移算法基于密度梯度,但计算复杂度高。局部中心量度作为更通用的概念,通过衡量点的局部中心程度,能够区分簇中心与边缘区域。已有研究提出基于Mean Shift和局部引力模型的量度,但尚未形成系统框架。

2. 局部中心量度理论基础

2.1 局部中心量度定义

局部中心量度是衡量空间中任意点局部中心程度的指标,用于区分簇中心区域(高中心性)与边缘区域(低中心性)。其核心特性包括:

  • 稳定性:阈值对数据分布不敏感,降低参数调优难度。
  • 健壮性:抗噪声能力强,适用于不平衡数据。
  • 表征能力:准确反映数据局部结构,支持任意形状簇识别。

2.2 传统量度的局限性

以密度为例,虽然核密度估计法数学基础完善,但存在以下问题:

  • 参数敏感:密度阈值需经验设定,不同簇可能需要不同阈值。
  • 不平衡处理差:低密度簇易被高密度簇掩盖,导致漏检。

2.3 新量度设计原则

本文从Mean Shift和局部引力模型出发,设计以下量度:

  • Mean Shift中心性(MS-C):通过计算数据点沿密度梯度方向的移动距离,反映其局部中心程度。
  • 局部引力中心性(LGC-C):基于局部引力模型,将数据点视为质量体,通过邻居间的“引力”大小和方向差异量化中心性。
  • 协调性(CO):衡量数据点与其邻居在特征空间中的一致性,辅助区分簇边界。

3. 基于局部中心量度的聚类算法

3.1 LGC算法

算法步骤

  1. 初始化:计算所有数据点的MS-C和LGC-C值。
  2. 核心点识别:将MS-C或LGC-C高于阈值的点标记为核心点。
  3. 簇扩展:从核心点出发,通过局部引力模型连接相邻核心点,形成簇。
  4. 边界处理:利用协调性CO值调整簇边界,合并或分割模糊区域。

优势

  • 低参数敏感度:通过多量度融合,减少单一阈值依赖。
  • 任意形状簇识别:局部引力模型适应非凸分布。

3.2 CLA算法

算法步骤

  1. 代理点生成:为每个数据点生成局部代理,代理位置由邻居引力决定。
  2. 代理通信:通过代理点间的信息交换,迭代更新簇归属。
  3. 收敛判断:当代理点位置稳定时,输出最终簇划分。

优势

  • 低时间复杂度:代理通信机制减少全局计算。
  • 抗噪声能力强:代理点平滑噪声影响。

4. 多性能指标融合方法

4.1 传统指标的局限性

常用指标如RI(调整兰德指数)、ARI(调整互信息)、NMI(归一化互信息)从不同角度评估聚类效果,但直接比较数值无意义(如RI=0.8与NMI=0.6无法判断优劣)。

4.2 秩转化非参数检验

方法步骤

  1. 秩计算:对每种指标,将算法性能按数据集排序,生成秩值。
  2. 统计检验:使用Kruskal-Wallis检验比较不同算法的秩分布。
  3. 综合评分:根据检验结果赋予权重,计算加权平均秩。

优势

  • 无参数假设:适用于非正态分布数据。
  • 多指标融合:全面评估算法性能。

5. 实验与分析

5.1 实验设置

  • 数据集:包括人工数据集(如Moons、Circles)和真实数据集(如Iris、Wine)。
  • 对比算法:K-means、DBSCAN、Mean Shift、谱聚类。
  • 评估指标:RI、ARI、NMI及综合秩评分。

5.2 结果分析

  • 人工数据集:LGC和CLA算法在非凸簇(如Moons)上表现优异,ARI值较DBSCAN提升20%以上。
  • 真实数据集:在Iris数据集上,CLA算法NMI值达0.92,优于K-means(0.85)和谱聚类(0.88)。
  • 参数敏感度:LGC算法对密度阈值的敏感度较DBSCAN降低60%,验证了多量度设计的有效性。

6. 结论与展望

6.1 研究结论

本文提出的局部中心量度框架和LGC/CLA算法,通过多量度融合和局部引力模型,显著提升了聚类算法的稳定性和健壮性。实验表明,新算法在复杂数据集上表现优异,且参数调优难度降低。

6.2 未来展望

  • 更低复杂度算法:探索基于近似计算的快速局部中心量度估计方法。
  • 特定领域优化:设计针对高维数据或流数据的专用量度。
  • 理论深化:研究局部中心量度的数学性质,如收敛性和泛化误差界。

📚2 运行结果

image.gif 编辑

image.gif 编辑

部分代码:

function []=plot_cluster(Xlabel,cNums,dataset)

cla;

fprintf('%d clusters find: \n', cNums);

clusterNums=zeros(cNums,1);

if size(dataset,2)==2

   cla

   subplot(1,2,1);

   hold on

   for k=1:cNums

       plot(dataset(Xlabel==k,1),dataset(Xlabel==k,2),'.','color',[rand(),rand(),rand()]);

       clusterNums(k)=sum(Xlabel==k);

       disp(['Cluster ',num2str(k), ': ', num2str(clusterNums(k)),' data points.']);

   end

   plot(dataset(Xlabel==0,1),dataset(Xlabel==0,2),'kx');

   nulCluster=sum(Xlabel==0);

   disp(['Noise points: ', num2str(nulCluster),' data points.']);

   subplot(1,2,2);

   bar(clusterNums);

   xlabel('Cluster id');

   ylabel('The number of points');

else

   for k=1:cNums

       clusterNums(k)=sum(Xlabel==k);

       disp(['Cluster ',num2str(k), ': ', num2str(clusterNums(k)),' data points.']);

   end

   nulCluster=sum(Xlabel==0);

   disp(['Noise points: ', num2str(nulCluster),' data points.']);

   bar(clusterNums);

end

end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]王志强.基于局部中心量度的聚类算法研究[D].华南理工大学,2018.

[2]Z. Wang et al., "Clustering by Local Gravitation," in IEEE Transactions on Cybernetics, vol. 48, no. 5, pp. 1383-1396, May 2018, doi: 10.1109/TCYB.2017.2695218.

🌈4 资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取【请看主页然后私信】

相关文章
|
8天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
89 14
|
8天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
8天前
|
存储 算法 安全
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
|
8天前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 运维 算法
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
【微电网多目标优化调度】多目标学习者行为优化算法MOLPB求解微电网多目标优化调度研究(Matlab代码实现)
|
9天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
9天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
9天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)

热门文章

最新文章