聚类方法概要

    技术2024-08-05  71

    本文主要简单介绍聚类的本质思想、用途及分类。 在最后给出各算法详细内容的链接。

    一、概要

    聚类算法是无监督学习中的典型算法。 通过训练不带标签的原数据,根据样本的相似度或距离将其归类,总结每一类的基本特征,从而了解实质。聚类本质是统计描述方法,建立建设,而非验证假设。 用一句古语来说,就是“物以类聚,人以群分”。 聚类的核心概念是相似度或距离,因为相似度或距离将直接影响聚类的结果,所以其选择会是聚类的根本问题,具体的选择取决于应用场景的特性。

    常用的相似度或距离:

    闵可夫斯基距离(简称闵氏距离,可以衍生为欧氏距离、曼哈顿距离、切比雪夫距离等);马氏距离(考虑了各变量之间的相关系,且不受量纲的影响)

    欧氏距离与马氏距离的优缺点

    相关系数夹角余弦(文本分析用的多)

    二、用途

    常见的使用场景有:

    预分析过程(划分个体的过程;为下一步建模提供指导意见);细分市场、个体消费行为划分(先聚类,再利用判别分析进一步研究各个群体之间的差异);异常检测;数据离散化(比如对一个或多个连续特征聚类,实现连续特征离散化的目的);设计抽样方案(分层抽样的依据)。

    三、分类

    按聚类结果分:

    硬聚类:聚类结果中每个样本只能属于一个类,常见的 K-Means、层次聚类等;软聚类:聚类结果中每个样本属于哪个类别以概率的形式呈现,即每个样本可能属于多个样本,如高斯混合模型。

    按算法特性分:

    四、聚类算法的选择

    如果数据量为中小规模,例如在 100w 条之内,K-Means 是不错的选择(也可以视情况用 Mini Batch KMeans),100w 以上需要考虑用 Mini Batch KMeans; 如果数据中有离群点,使用基于密度的 DBSCAN 可以有效应对; 如果数据集是高维的,使用基于图论的谱聚类,其他的聚类算法在应对高维数据集时很难获得令人满意的效果。

    五、聚类算法详述

    K-Means 概要及其实现

    参考: [1] 李航. 《统计学习方法》. [2] 宋天龙. 《Python 数据分析与数据化运营》

    Processed: 0.015, SQL: 9