1.聚类算法
1.1 聚类
聚类算法分为两类:
- Partitioning Clustering:
- K-means/K=medoids
- Gaussian Mixture Model(高斯混合模型)
- Spectral Clustering(谱聚类)
- Centroid-based Clustering
- Hierarchical Clustering:
- Single-linkage
- Complete-linkage
- Connectivity-based Clusting
聚类算法的应用:
- 数据压缩
- 数据层次化组织
1.2 K-means算法
目标:将n个数据点分成K类
min μ 1 , . . . , μ k ∑ i = 1 n min j = 1 , . . . , k ∣ ∣ x i − μ j ∣ ∣ 2 \displaystyle\min_{\mu_1,...,\mu_k} \sum_{i=1}^n \displaystyle\min_{j=1,...,k}||x_i-\mu_j||^2 μ1,...,μkmini=1∑nj=1,...,kmin∣∣xi−μj∣∣2
- L2距离平方对距离数据与中心之间的距离进行度量
- 最优的选择中心点,对于d>1,全局最优是NP-hard问题
- 聚类结果:对于空间的Voronoi分割:将空间分割成多个多边形,每个多边形对应一个cluster中心 μ \mu μ
1.3 K-medoids算法
- 限制数据中心必须来自中心点
- 使用L1函数作为聚类函数
1.4 层次聚类
层次聚类假设类别之间存在层次结构,将样本聚到层次化的类中。
因为每个样本只属于一个类,所以层次聚类属于硬聚类。