使用高斯混合模型建立更精确的聚类

本文介绍了高斯混合模型(GMM)作为聚类算法的优势,对比了k-means聚类的局限性。GMM利用概率模型进行软聚类,能够处理非圆形分布的数据。文章详细阐述了GMM的期望最大化(EM)算法,通过Python实现展示了GMM在处理椭圆形数据集时优于k-means的效果。
摘要由CSDN通过智能技术生成

介绍

我很喜欢研究无监督学习问题。它们为监督学习问题提供了一个完全不同的挑战,用我拥有的数据进行实验的发挥空间要比监督学习大得多。毫无疑问,机器学习领域的大多数发展和突破都发生在无监督学习领域。

无监督学习中最流行的技术之一就是聚类。这是一个我们通常在机器学习的早期学习的概念,它很容易理解。我相信你曾经遇到过,甚至参与过顾客细分、购物篮分析等项目。

但问题是聚类有很多方面。它并不局限于我们之前学过的基本算法。它是一种强大的无监督学习技术,我们可以在现实世界中准确地使用它。

高斯混合模型就是我想在本文中讨论的一种聚类算法。

想预测一下你最喜欢的产品的销售情况吗?或许你想通过不同客户群体的视角来理解客户流失。无论用什么方法,你都会发现高斯混合模型非常有用。

在本文中,我们将采用自下而上的方法。因此,我们首先来看一下聚类的基础知识,包括快速回顾一下k-means算法。然后,我们将深入讨论高斯混合模型的概念,并在Python中实现它们。

目录

  1. 聚类简介
  2. k-means聚类简介
  3. k-means聚类的缺点
  4. 介绍高斯混合模型
  5. 高斯分布
  6. 期望最大化EM算法
  7. 高斯混合模型的期望最大化
  8. 在Python中实现用于聚类的高斯混合模型

聚类简介

在我们开始讨论高斯混合模型的实质内容之前,让我们快速更新一些基本概念。

注意:如果你已经熟悉了聚类背后的思想以及k-means聚类算法的工作原理,那么你可以直接跳到第4部分“高斯混合模型介绍”。

那么,让我们从正式定义核心思想开始:

聚类是指根据相似数据点的属性或特征将它们分组在一起。

例如,如果我们有一组人的收入和支出,我们可以把他们分成以下几组:

  • 赚得多,花得多
  • 赚得多,花得少
  • 赚得少,花得少
  • 赚得少,花得多

这些组中的每一个都拥有一个相似的特征,在某些情况下特别有用。例如信用卡、汽车/房产贷款等等。用简单的话说:

聚类背后的思想是将数据点分组在一起,这样每个单独的簇拥有最相似的点。

有各种各样的聚类算法。最流行的聚类算法之一是k-means。让我们了解一下k-means算法是如何工作的,以及在哪些情况下该算法可能达不到预期效果。

k-means聚类简介

k-means聚类是一种基于距离的算法。这意味着它试图将最近的点分组形成一个聚类。

让我们仔细看看这个算法是如何工作的。这将建立基础知识,以帮助你了解高斯混合模型将在本文后面的地方发挥作用。

因此,我们首先定义我们想要将种群划分成的组的数量——这是k的值。基于我们想要的聚类或组的数量,然后我们随机初始化k个中心体。

然后将这些数据点分配给到离它最近的簇。然后更新中心,重新分配数据点。这个过程不断重复,直到簇的中心的位置不再改变。

注意:这是k-means聚类的简要概述,对于本文来说已经足够了。

k-means聚类的缺点

k-means聚类概念听起来很不错,不是吗?它易于理解,相对容易实现,并且可以应用于相当多的用例中。但也有一些我们需要注意的缺陷和限制。

让我们以上面看到的收入-支出的例子为例。k-means算法似乎运行得很好,对吧?等等——如果你仔细观察,你会发现所有的聚类都是圆形的。这是因为聚类的中心体是使用平均值迭代更新的。

现在,考虑下面这个点的分布不是圆形的例子。如果我们对这些数据使用k-means聚类,你认为会发生什么?它仍然试图以循环方式对数据点进行分组。这不是很好。

因此,我们需要一种不同的方法来为数据点分配聚类。因此,我们将不再使用基于距离的模型,而是使用基于分布的模型。高斯混合模型介绍基于分布的模型!

高斯混合模型简介

高斯混合模型(GMMs)假设存在一定数量的高斯分布,每个分布代表一个簇。因此,高斯混合模型倾向于将属于单一分布的数据点聚在一起。

假设我们有三个高斯分布(下一节会详细介绍)——GD1、GD2和GD3。均值为(μ1、μ2、μ3)和方差分别(σ1、σ2、σ3)值。对于给定的一组数据点,我们的GMM将识别属于这些分布的每个数据点的概率。

等一下,概率?

你没看错!混合高斯模型是概率模型,采用软聚类方法将点分布在不同的聚类中。我再举一个例子,这样更容易理解。

这里,我们有三个用三种颜色表示的聚类——蓝色、绿色和青色。让我们以红色突出显示的数据点为例。这个点是蓝的一部分的概率是1,而它是绿色或青色的一部分的概率是0。

现在,考虑另一个点,在蓝色和青色之间的某个地方(在下面的图中突出显示)。这个点是绿色的概率是0。这个点属于蓝色和青色的概率分别是0.2和0.8。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值