5.Spark ML学习笔记—聚类—Kmeans (K-均值) 聚类算法、LDA 主题聚类算法

本文目录如下:

  • 第5章 Spark ML聚类算法
    • 5.1 基于中心的聚类—Kmeans (K-均值) 聚类算法
      • 5.1.1 K-均值聚类算法主要步骤
      • 5.1.2 K-均值算法聚类效果演示
      • 5.1.3 初始化聚类中心点
      • 5.1.4 Kmeans模型参数详解
    • 5.2 LDA 主题聚类算法

第5章 Spark ML聚类算法

  • 问题描述: 假设在你的硬盘驱动器上有很多文件夹,里面存放着大量的 mp3 文件。现在,如果可以构建一个 预测模型,从而可以帮助你自动将 类似的歌曲 进行 分类,并将它们组织成你喜欢的类别,例如乡村、说唱、摇滚等。这种将 mp3 文件分配到不同组的动作,使得 mp3 文件能以 无人监督 的方式被添加到相应的播放列表中。
  • 在之前的章节中,我们假设你已经获得了 正确标记数据 的训练数据集。遗憾的是,当我们在真实世界中收集数据 (假如我们想将大量音乐分成有兴趣的播放列表) 时,我们往往无法如此奢侈。如果我们无法直接访问这些 mp3 文件的元数据,我们怎么可能将它们分成不同的组?
  • 在这里, 聚类 算法通常是解决问题的核心。
  • 简而言之,在无监督的机器学习问题中,训练数据集的正确类别往往是不可用或未知的。
  • 换言之,无监督学习算法 的主要目的是探索未标记的输入数据中的未知/隐藏模式。

5.1 基于中心的聚类—Kmeans (K-均值) 聚类算法

  • K-均值算法 的基本思想是初始随机给定 K簇中心,按照 最邻近原则 把待分类样本点分到各个 。然后按 平均法 重新计算各个 簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。

5.1.1 K-均值聚类算法主要步骤

K-均值算法 主要分为如下几个步骤:

  • (1) 为待聚类的点寻找 聚类中心;
  • (2) 计算每个点到 聚类 中心的距离,将每个点聚类到离该点最近的 聚类 中去;
  • (3) 计算每个 聚类 中所有点的坐标平均值,并将这个平均值作为新的 聚类中心
  • (4) 反复执行(2)(3),直到 聚类中心 不再进行大范围移动或者聚类次数达到要求为止。

5.1.2 K-均值算法聚类效果演示

下面展示了对 n 个样本点进行 K-均值算法 聚类的效果,这里 k2
5.Spark ML学习笔记—聚类—Kmeans (K-均值) 聚类算法、LDA 主题聚类算法_第1张图片

5.1.3 初始化聚类中心点

K-均值++算法 选择初始中心点的基本思想就是: 初始的聚类中心之间的相互距离要 尽可能远。初始化过程如下:

  • (1) 从输入的数据点集合中随机选择一个点作为第一个聚类中心;
  • (2) 对于数据集中的每一个点x,计算它与最近聚类中心 (指已选择的聚类中心) 的距离 D(x);
  • (3) 选择一个新的数据点作为新的聚类中心,选择的原则是: D(x) 较大的点,被选取作为聚类中心的概率较大;
  • (4) 重复 (2)(3),直到k 个聚类中心被选出来;
  • (5) 利用这 k 个初始的聚类中心来运行标准的 K-均值算法

从上面的算法描述可以看到,算法的关键是第 (3) 步,如何将 D(x) 反映到点被选择的概率上。一种算法如下。

  • (1) 随机从点集 D 中选择一个点作为初始的中心点。
  • (2) 计算每一个点到最近中心点的距离 Si,对所有 Si 求和得到 sum
  • (3) 然后再取一个随机值,用权重的方式计算下一个 “种子点”。取随机值random(0,对点集 D 循环做 random - = Si 运算,直到 random <0,那么点i就是下一个中心点。
  • (4) 重复 (2)(3),直到 k 个聚类中心被选出来。
  • (5) 利用这 k 个初始的聚类中心来运行标准的 k-均值算法

5.1.4 Kmeans模型参数详解

5.Spark ML学习笔记—聚类—Kmeans (K-均值) 聚类算法、LDA 主题聚类算法_第2张图片
聚类中心点初始化方法:
5.Spark ML学习笔记—聚类—Kmeans (K-均值) 聚类算法、LDA 主题聚类算法_第3张图片


5.2 LDA 主题聚类算法

暂略…

你可能感兴趣的:(Spark,ML学习笔记,spark,kmeans,算法)