Nonlinear and Density-based Clustering
Nonlinear and Density-based Clustering
How to utilize clustering results?
聚类的作用不仅仅是“分类”:
- Cluster Membership: 可作为新的分类特征
- Cluster Centroids:
- 可用于represent簇
- 压缩、降噪
- 样本与簇中心的距离还可作为新的numerical continuous feature
- Cluster Number: 反应数据的复杂度
Nonlinear Clustering -- Kernel k-Means
由于k-Means只能处理线性可分的数据,所以我们需要对数据进行变换:
Kernel k-Means的思想:
- 通过
核函数将数据映射到高维空间 - 在高维空间中使用k-Means进行聚类
常见核函数包括:RBF、Polynomial、Sigmoid、KDE (Kernel Density Estimation)等。
优点:
- 可以处理
非球状的簇 - 能发现更复杂的结构
缺点: - 计算复杂度高
- 选择合适的kernel不容易
Mean Shift Clustering
核心思想:每个点都朝着密度最大的方向移动,直到收敛。
- 以某点为圆心画圆(window)
- 计算圆内所有点的均值,作为新的圆心
- 重复这个过程,直到圆心不再变化。
特点:
- 不需要预设k
- 能自动确定簇数
- 适用于非线性簇
- 对window大小敏感
DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
核心思想:以密度为基础进行聚类 - 足够多的邻居就组成一簇
Parameters:
- : 邻域半径
- : 邻域内的最小点数
优点:
- 不需要预设k
- 能识别任意形状的簇
- 能处理噪声(即无邻居的点)
缺点: - 不适用于不同密度的簇
- 对参数敏感
t-SNE (t-Distributed Stochastic Neighbor Embedding)
用于高维数据的可视化,而不是聚类算法。
- 计算高维中每对点的“邻居概率” - 即点 在点 的邻域内的概率
- 在低维空间中用随机初始化点
- 用梯度下降法调整位置,保持原始的邻居关系
Hyperparameters:
- perplexity: 控制局部 vs 全局结构的平衡,类似与k的概念
用途:
- 图像、文本等高维数据的可视化
- 展示聚类结构
caution
t-SNE不能直接用于新数据预测,它不是监督学习算法!!