Skip to main content

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:

  1. ϵ\epsilon: 邻域半径
  2. minPtsminPts: 邻域内的最小点数

优点:

  • 不需要预设k
  • 能识别任意形状的簇
  • 能处理噪声(即无邻居的点)
    缺点:
  • 不适用于不同密度的簇
  • 对参数敏感

t-SNE (t-Distributed Stochastic Neighbor Embedding)

用于高维数据的可视化,而不是聚类算法。

  1. 计算高维中每对点的“邻居概率” - 即点 ii 在点 jj 的邻域内的概率
  2. 在低维空间中用随机初始化点
  3. 用梯度下降法调整位置,保持原始的邻居关系

Hyperparameters:

  • perplexity: 控制局部 vs 全局结构的平衡,类似与k的概念

用途:

  • 图像、文本等高维数据的可视化
  • 展示聚类结构
caution

t-SNE不能直接用于新数据预测,它不是监督学习算法!!