聚类属于一种无监督学习方法,受自然界山体形式的启发,设计了一种邻域网格聚类算法。自然界中独立的山体可视为一个独立的类簇,山顶即为类簇中心,山底即为类簇的边缘。
试想:将二维平面的离散数据点(如图1所示)以某种特定的方式标记其重要程度(如局部密度),即可将二维平面数据点映射为三维空间内的山体形式(如图2所示)
图1 二维分布数据点
图2 三维密度分布图
邻域网格聚类的主要步骤为:首先将原始数据映射到网格子空间内,同时获取每个子空间单元格的局部密度,然后依据邻域关系从具有最大局部密度的单元格出发逐层地吸纳单元格,直至搜索完毕,聚类结束。对于二维空间而言,局部密度分布形式可表示为如图2所示的山体结构,山顶即为具有相对最大局部密度的聚类中心,每一个山体视为一个类簇。利用邻域关系完成从山顶至山脚的吸纳搜索过程。
邻域网格聚类主要步骤表述如下:
1)将原始数据映射至网格子空间;
2)以具有最大局部密度的网格单元为起始点,以给定邻域半径搜索其邻域单元格并标记(如图 3所示);
3)以新加入的单元格为基础,继续向外扩展搜索可能的单元格,直至没有新的单元格加入(如图 4所示);
4)在剩余的单元格中,返回第 2) 步继续执行。
图 3 聚类步骤演示
图 4 聚类步骤演示
详细基本理论可参考文章:https://journals.sagepub.com/doi/abs/10.1177/0954410017751991
文章引用信息为:
Suo, M., Zhu, B., Zhou, D., An, R., & Li, S. (2019). Neighborhood grid clustering and its application in fault diagnosis of satellite power system. Proceedings of the Institution of Mechanical Engineers, Part G: Journal of Aerospace Engineering, 233(4), 1270–1283. https://doi.org/10.1177/0954410017751991
文章相应程序已经上传至本网站,下载地址为:邻域网格聚类算法matlab代码及测试数据_基于网格的聚类算法-Matlab代码类资源-CSDN下载
内附matlab程序,及对应的测试数据。
ps:航空航天领域的期刊一直不被广大研究者们关注,导致本刊影响因子较低。但是,那都不重要,重要的是所提出的方法切实可用,能推动某个小的领域前进一小步,足以足以!
在这部分内容研究之后,我又对该方法进行了改进,增加了对密度的考虑,命名为邻域密度网格聚类方法,可并行计算搜索聚类样本,该内容发表在了清华大学学报上,可参考:邻域密度网格聚类算法及应用[J]. 清华大学学报(自然科学版)2018, 08: 732-739. DOI:10.16511/j.cnki.qhdxxb.2018.22.025
(该部分程序尚未整理完毕)
欢迎交流探讨相关学术问题。
部分网友反映上面给的下载链接失效了,大家可以通过以下网址访问和下载。
另外,清华大学学报版本的程序也已经整理完毕,在原有基础上,略有改动。也可以访问research Gate访问
在文章的后半部分,我们给出一个可能的应用场景,即对原始未标签的数据进行无监督学习后,生成了数据标签,进而,可以使用其他机器学习方法,实现一些工程应用中的功能。如我们常用的故障诊断、状态预测等PHM功能。接下来,给出一个曾经应用过的案例:
1、对原始未标定的监测数据,利用邻域网格聚类方法,完成数据的标定;
2、将标定后的数据送入LSTM模型中,进行自学习和标签预测;
3、标签预测结果即为诊断结论。
随附LSTM的算法原理和基本概念介绍:
-
- LSTM算法原理