1. 谱聚类的主要思想是:基于数据集 来构建图 五、谱聚类 - 图1 ,其中:

      • 顶点 :由数据集中的数据点组成:五、谱聚类 - 图2

      • 边 :任意一对顶点之间存在边。

        距离越近的一对顶点,边的权重越高;距离越远的一对顶点,边的权重越低。

      通过对图 五、谱聚类 - 图3 进行切割,使得切割之后:不同子图之间的边的权重尽可能的低、各子图内的边的权重尽可能的高。这样就完成了聚类。

    1. 在图 五、谱聚类 - 图4 中,定义权重 为顶点 五、谱聚类 - 图5 和 之间的权重,其中 五、谱聚类 - 图6

      定义 为邻接矩阵:

      五、谱聚类 - 图7

      由于 为无向图,因此 五、谱聚类 - 图8 。即: 。

      • 对图中顶点 五、谱聚类 - 图9 ,定义它的度 为:所有与顶点 五、谱聚类 - 图10 相连的边的权重之和: 。

        定义度矩阵 五、谱聚类 - 图11 为一个对角矩阵,其中对角线分别为各顶点的度:

      • 对于顶点集合 五、谱聚类 - 图12 的一个子集 ,定义 五、谱聚类 - 图13 为子集 中点的个数;定义 五、谱聚类 - 图14 ,为子集 中所有点的度之和。

    2. 事实上在谱聚类中,通常只给定数据集 五、谱聚类 - 图15,因此需要计算出邻接矩阵 。

      • 基本思想是:距离较近的一对点(即相似都较高),边的权重较高;距离较远的一对点(即相似度较低),边的权重较低。

      • 基本方法是:首先构建相似度矩阵 五、谱聚类 - 图16,然后使用 -近邻法、五、谱聚类 - 图17 近邻法、或者全连接法。

        • 通常相似度采用高斯核:五、谱聚类 - 图18 。此时有 。即: 五、谱聚类 - 图19
        • 也可以选择不同的核函数,如:多项式核函数、高斯核函数、sigmoid 核函数。
    3. -近邻法:设置一个距离阈值 五、谱聚类 - 图20,定义邻接矩阵 为:

      五、谱聚类 - 图21

      即:一对相似度小于 的点,边的权重为 五、谱聚类 - 图22 ;否则边的权重为 0 。

      -近邻法得到的权重要么是 0 ,要么是 五、谱聚类 - 图23,权重度量很不精确,因此实际应用较少。

    4. 近邻法:利用 KNN 算法选择每个样本最近的 五、谱聚类 - 图24 个点作为近邻,其它点与当前点之间的边的权重为 0 。

      这种做法会导致邻接矩阵 非对称,因为当 五、谱聚类 - 图25 是 的 五、谱聚类 - 图26 近邻时, 不一定是 五、谱聚类 - 图27 的 近邻。

      为了解决对称性问题,有两种做法:

      • 只要一个点在另一个点的 五、谱聚类 - 图28 近邻中,则认为是近邻。即:取并集。

      • 只有两个点互为对方的 五、谱聚类 - 图29 近邻中,则认为是近邻。即:取交集。

    5. 全连接法:所有点之间的权重都大于 0 :五、谱聚类 - 图30

    1. 定义拉普拉斯矩阵 ,其中 五、谱聚类 - 图31 为度矩阵、 为邻接矩阵。

    2. 拉普拉斯矩阵 五、谱聚类 - 图32 的性质:

      • 因为 是实对称矩阵,因此它的特征值都是实数。

      • 对任意向量 五、谱聚类 - 图33,有: 。

      • 设其 五、谱聚类 - 图34 个实特征值从小到大为 ,即:五、谱聚类 - 图35

    1. 给定无向图 ,设子图的点的集合 五、谱聚类 - 图36 和子图的点的集合 都是 五、谱聚类 - 图37 的子集,且 。

      定义 五、谱聚类 - 图38 和 之间的切图权重为:五、谱聚类 - 图39

      即:所有连接 和 五、谱聚类 - 图40 之间的边的权重。

    2. 对于无向图 ,假设将它切分为 五、谱聚类 - 图41 个子图:每个子图的点的集合为 ,满足 五、谱聚类 - 图42 且 。

      定义切图cut 为:五、谱聚类 - 图43 ,其中 为 五、谱聚类 - 图44 的补集。

    5.3.1 最小切图

    1. 引入指示向量 ,定义:

      五、谱聚类 - 图45

      则有:

      因此 五、谱聚类 - 图46 。其中 ,五、谱聚类 - 图47 为矩阵的迹。

      考虑到顶点 有且仅位于一个子图中,则有约束条件:

      五、谱聚类 - 图48

    2. 最小切图算法: 最小的切分。即求解:

      五、谱聚类 - 图49

    3. 最小切图切分使得不同子图之间的边的权重尽可能的低,但是容易产生分割出只包含几个顶点的较小子图的歪斜分割现象。

    5.3.2 RatioCut 算法

    1. 切图不仅考虑最小化 五、谱聚类 - 图50,它还考虑最大化每个子图的点的个数。即:

      • 最小化 五、谱聚类 - 图51:使得不同子图之间的边的权重尽可能的低。
      • 最大化每个子图的点的个数:使得各子图尽可能的大。
    2. 引入指示向量 ,定义:

      五、谱聚类 - 图52

      则有:

      因此 五、谱聚类 - 图53 。其中 ,五、谱聚类 - 图54 为矩阵的迹。

      考虑到顶点 有且仅位于一个子图中,则有约束条件:

      五、谱聚类 - 图55

    3. RatioCut算法: 最小的切分。即求解:

      五、谱聚类 - 图56

      因此只需要求解 最小的 五、谱聚类 - 图57 个特征值,求得对应的 个特征向量组成 五、谱聚类 - 图58

      通常在求解得到 之后,还需要对行进行标准化:五、谱聚类 - 图59

    4. 事实上这样解得的 不能完全满足指示向量的定义。因此在得到 五、谱聚类 - 图60 之后,还需要对每一行进行一次传统的聚类(如:k-means 聚类)。

    5. RatioCut 算法:

      • 输入:

        • 数据集
        • 降维的维度 五、谱聚类 - 图61
        • 二次聚类算法
        • 二次聚类的维度
      • 输出:聚类簇 五、谱聚类 - 图62

      • 算法步骤:

        • 根据相似度矩阵构建邻接矩阵 、度矩阵 五、谱聚类 - 图63 ,计算拉普拉斯矩阵 。

        • 计算 五、谱聚类 - 图64 最小的 个特征值,以及对应的特征向量 五、谱聚类 - 图65,构建矩阵 。

        • 五、谱聚类 - 图66 按照行进行标准化: ,得到 五、谱聚类 - 图67

    5.3.3 Ncut 算法

    1. 切图不仅考虑最小化 ,它还考虑最大化每个子图的边的权重。即:

      五、谱聚类 - 图68

      • 最小化 :使得不同子图之间的边的权重尽可能的低。
      • 最大化每个子图的边的权重:使得各子图内的边的权重尽可能的高。
    2. 引入指示向量 五、谱聚类 - 图69,定义:

      则有:

      五、谱聚类 - 图70

      因此 。其中 五、谱聚类 - 图71 , 为矩阵的迹。

      考虑到顶点 五、谱聚类 - 图72 有且仅位于一个子图中,则有约束条件:

    3. Ncut算法: 五、谱聚类 - 图73 最小的切分。即求解

    4. 五、谱聚类 - 图74 ,则有:

      五、谱聚类 - 图75 ,则最优化目标变成:

      因此只需要求解 五、谱聚类 - 图76 最小的 个特征值,求得对应的 五、谱聚类 - 图77 个特征向量组成 。然后对行进行标准化:五、谱聚类 - 图78

      RatioCut 类似,Ncut 也需要对 的每一行进行一次传统的聚类(如: 聚类)。

    5. 事实上 五、谱聚类 - 图79 相当于对拉普拉斯矩阵 进行了一次标准化:五、谱聚类 - 图80

    6. Ncut 算法:

      • 输入:

        • 数据集
        • 降维的维度 五、谱聚类 - 图81
        • 二次聚类算法
        • 二次聚类的维度
      • 输出:聚类簇 五、谱聚类 - 图82

      • 算法步骤:

        • 根据 构建相似度矩阵 五、谱聚类 - 图83

        • 根据相似度矩阵构建邻接矩阵 、度矩阵 五、谱聚类 - 图84 ,计算拉普拉斯矩阵 。

        • 构建标准化之后的拉普拉斯矩阵 五、谱聚类 - 图85

        • 计算 最小的 五、谱聚类 - 图86 个特征值,以及对应的特征向量 ,构建矩阵 五、谱聚类 - 图87

        • 对 按照行进行标准化:五、谱聚类 - 图88 ,得到 。

        • 五、谱聚类 - 图89 中每一行作为一个 维的样本,一共 五、谱聚类 - 图90 个样本,利用二次聚类算法来聚类,二次聚类的维度为 。

          最终得到簇划分 五、谱聚类 - 图91

    5.4 性质

    1. 谱聚类算法优点:

      • 只需要数据之间的相似度矩阵,因此处理稀疏数据时很有效。
      • 由于使用了降维,因此在处理高维数据聚类时效果较好。
      • 如果最终聚类的维度非常高,则由于降维的幅度不够,则谱聚类的运行速度和最后聚类的效果均不好。