聚类与异常检测:原理、方法与实践
1. 聚类方法概述
聚类是将数据对象分组为多个类或簇的过程,使得同一簇内的对象具有较高的相似性,而不同簇的对象具有较高的差异性。常见的聚类方法包括基于划分、谱聚类、层次聚类、基于密度和基于模型的方法等。以下是几种常见聚类算法的介绍:
1.1 谱聚类(Spectral Clustering)
谱聚类算法基于图论,通过对数据的相似度矩阵进行特征分解来实现聚类。在Dlib库中,谱聚类算法通过 spectral_cluster 函数实现。以下是一个使用示例:
typedef matrix<double, 2, 1> sample_type;
typedef knn_kernel<sample_type> kernel_type;
...
std::vector<sample_type> samples;
...
std::vector<unsigned long> clusters =
spectral_cluster(kernel_type(samples, 15), samples, num_clusters);
该函数接受距离函数对象、训练数据集和簇的数量作为参数,并返回一个包含簇索引的容器。
1.2 层次聚类(Hierarchical Clustering)
层次聚类是一种自底向上的聚类方法,通过不断合并相似的簇来形成最终的聚类结果。Dlib库中的 bottom_up_cluster </
聚类与异常检测详解
超级会员免费看
订阅专栏 解锁全文
865

被折叠的 条评论
为什么被折叠?



