加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

深度剖析:数据科学家需懂的5种聚类算法

发布时间:2018-04-26 19:45:49 所属栏目:教程 来源:李佳惠
导读:【资讯】聚类是一种涉及数据点分组的机器学习技术。给定一组数据点,我们可以使用聚类算法将每个数据点分类到一个特定的组中。理论上,属于同一组的数据点应具有相似的属性和特征,而不同组中的数据点应具有高度不同的属性和特征。聚类是无监督学习的一种
副标题[/!--empirenews.page--]

  【资讯】聚类是一种涉及数据点分组的机器学习技术。给定一组数据点,我们可以使用聚类算法将每个数据点分类到一个特定的组中。理论上,属于同一组的数据点应具有相似的属性和特征,而不同组中的数据点应具有高度不同的属性和特征。聚类是无监督学习的一种方法,是在许多领域使用统计数据分析的常用技术。

  在数据科学中,我们可以使用聚类分析,通过在应用聚类算法时查看数据点落入哪些组,从数据中获得一些有价值的见解。今天,我们将看看数据科学家需要知道的5种流行的聚类算法以及它们的优缺点!

  K均值(K-Means)聚类

  K-Means可能是最知名的聚类算法。它在很多介绍性的数据科学和机器学习课程中都有教过。在代码中很容易理解和实现!可以看看下面的图解说明。

  深度剖析:数据科学家需要了解的5种聚类算法

  1.首先,我们首先选择一些要使用的类|组,并随机初始化他们各自的中心点。计算出使用的类的数量,最好快速查看一下数据,尝试确定任何不同的分组。中心点是与每个数据点矢量长度相同的,在上面的图形中是“X”的形状。

  2.每个数据点通过计算该点与每个组中心之间的距离来进行分类,然后将该点分类到中心与其最接近的组中。

  3.根据这些分类点,重新计算组中的所有向量的均值。

  4.重复这些步骤进行一定数量的迭代,或者直到组中心在迭代之间变化不大。你也可以选择随机初始化组中心几次,然后选择看起来像是提供最佳结果的运行。

  K-Means的优点是速度非常快,因为我们真正在做的是计算点和组中心之间的距离,因为它具有线性复杂度O(n),需非常少的计算。

  另一方面,K-Means有一些缺点。首先,你必须选择有多少组,这并不总是微不足道的,理想情况下,我们希望它使用一个聚类算法来帮助我们,因为它的目的是从数据中获得一些见解。 K-means也从随机选择的聚类中心开始,因此可能在算法的不同运行中产生不同的聚类结果。因此,结果可能不可重复,并且缺乏一致性。其他的集群方法更一致。

  K-Medians是与K-Means相关的另一个聚类算法,除了不是用组的中心点重新计算组的中心点,而是使用组的中值向量。这种方法对异常值不太敏感(因为使用中值),但对于较大的数据集要慢得多,因为在计算中值向量时,每次迭代都需要进行排序。

  Mean-Shift聚类

  Mean-Shift聚类是基于滑动窗口的算法,它试图找到密集的数据点区域。这是一个基于中心的算法,这意味着目标是定位每个组/类的中心点,这通过更新中心点的候选者作为滑动窗口内点的平均值来工作。然后这些候选窗口被过滤到后处理阶段,以消除近似的重复,形成最终的中心点集及其相应的组。可以看一下下面的图解。

  深度剖析:数据科学家需要了解的5种聚类算法

  ▲Mean-Shift聚类用于单个滑动窗口

  1.为了解释均值偏移,我们将在上面的例子中考虑二维空间中的一组点,如上图所示。我们从一个以C点(随机选择)为中心,以半径r为核心的圆滑动窗口开始。Mean-Shift是一种“爬山算法”,它涉及将这个核迭代地移动到每个步骤的较高密度区域,直到收敛。

  2.在每次迭代中,滑动窗口通过将中心点移动到窗口内的点(因此名称)的平均值而移向较高密度的区域。滑动窗口内的密度与其内部的点数成正比。当然,通过转移到窗口点的平均值,它将逐渐走向高点密度区域。

  3.我们继续根据平均值移动滑动窗口,直到没有方向移位可以容纳更多的内核点。看看上面的图表,我们继续移动这个圆,直到不再增加密度(即窗口中的点数)。

  4.步骤1至步骤3的过程用许多滑动窗口完成,直到所有点位于窗口内。当多个滑动窗口重叠时,保留包含最多点的窗口。然后数据点按其所在的滑动窗口聚集。

  下面显示了所有滑动窗口从头到尾的整个过程。每个黑点代表滑动窗口的质心,每个灰点都代表一个数据点。

  深度剖析:数据科学家需要了解的5种聚类算法

  ▲Mean-Shift聚类的整个过程

  与K-means 聚类相比,不需要选择聚类数量,因为均值偏移能自动发现这一点。这是一个巨大的优势。聚类中心向最大密度点聚合的事实也是非常理想的,因为它理解和符合自然数据驱动的意义是非常直观的。缺点是窗口大小/半径“r”的选择可能是不重要的。

  基于密度的噪声应用空间聚类(DBSCAN)

  DBSCAN是一种基于密度的聚类算法,类似于均值偏移,但具有一些显著的优点。看看下面的另一个图表,让我们开始吧!

  深度剖析:数据科学家需要了解的5种聚类算法

  ▲DBSCAN笑脸集群

  1.DBSCAN从一个没有被访问的任意开始数据点开始。这个点的邻域是利用距离epsilon提取的(ε距离内的所有点都是邻域点)。

  2.如果在该邻域内有足够数量的点(根据minPoints),则聚类过程开始,并且当前数据点成为新聚类中的第一个点。否则,该点将被标记为噪声(稍后会介绍,这个噪声点可能成为群集的一部分)。在这两种情况下,该点被标记为“已访问”。

  3.在这个新集群中第一个点,它的ε距离邻域内的点也成为同一个集群的一部分。这个过程使ε邻域内的所有点属于同一个集群,然后对刚刚添加到组中的所有新点重复该过程。

  4.重复步骤2和3的这个过程直到聚类中的所有点都被确定,即聚类的ε邻域内的所有点都被访问和标记。

  5.一旦我们完成了当前的集群,一个新的未访问的点被检索和处理,导致发现进一步的集群或噪声。这个过程重复,直到所有点被标记为已访问。由于所有点已经被访问完毕,每个点都被标记为属于一个集群或是噪声。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读