首页 体育 教育 财经 社会 娱乐 军事 国内 科技 互联网 房产 国际 女人 汽车 游戏

如何利用高斯混合模型建立更好、更精确的集群?

2019-12-21

点击上方“蓝字”重视“AI开发者”

本文作者 | AISHWARYA SINGH

编译 | skura

高斯混合模型是一种强壮的聚类算法。本文将带你了解高斯混合模型的作业原理以及怎么在 Python 中完结它们,咱们还将评论 k-means 聚类算法,看看高斯混合模型是怎么对它进行改善的。

我真的很喜欢研讨无监督的学习问题。相关于一个有监督的学习问题来说,它们供给了一个彻底不同的应战——有更多的空间来实验我的数据。难怪机器学习范畴的大多数开展和打破都发作在无监督学习范畴。

无监督学习中最盛行的技能之一是聚类。这是一个概念且很简略把握,咱们一般在机器学习的前期学习它。我信任你现已阅历乃至参与过客户细分、商场篮剖析等项目。

高斯混合模型

但问题是——集群有很多层。它不仅限于咱们之前学习的根本算法。它是一种强壮的无监督学习技能,咱们能够在实际国际中准确无误地运用它。

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

想猜测你最喜欢的产品的销量吗?想经过不同客户集体的视角来了解客户丢掉?不管是什么用例,你都会发现高斯混合模型十分有用。

在本文中,咱们将选用自下而上的办法。因而,咱们将首要学习聚类的根底知识,包含快速回忆 k-means 算法。然后,咱们将深化研讨高斯混合模型的概念并用 Python 完结它们。

假如你对集群和数据科学还不了解,我建议您学习以下归纳课程:Applied Machine Learning

本文将分为以下几个部分:

聚类简介

k-means 聚类简介

k-means 聚类的缺陷

高斯混合模型简介

高斯散布

什么是希望最大化?

高斯混合模型中的希望最大化

    聚类简介

在咱们开端评论高斯混合模型的实质之前,让咱们快速更新一些根本概念。

留意:假如你现已了解了聚类背面的思维以及 k-means 聚类算法的作业原理,能够直接跳到第四节「高斯混合模型简介」。

因而,让咱们从正式界说开端:

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

例如,假如咱们有一组人的收入和开销,咱们能够将他们分为以下几类:

高收入,高消费

高收入,低消费

低收入,低消费

低收入,高消费

这些组都别离具有一个具有类似特征,这在向组投递相关计划/产品时十分有用。想想信用卡、轿车/房产借款是不是这样的?简略地说:

集群背面的思维是将数据点分组在一起,这样每个独自的集群都具有最类似的数据点。

有各式各样的聚类算法。最盛行的聚类算法之一是 k-means。让咱们了解 k-means 算法是怎么作业的,以及该算法或许达不到预期的状况。

    k-means 聚类简介

k-means 聚类是一种依据间隔的聚类算法。这意味着它企图将最近的点分组以构成一个簇。

让咱们细心看看这个算法是怎么作业的。这将协助你了解高斯混合模型是怎么在本文后边发挥作用的。

因而,咱们首要界说要将整体划分为的组的数量——这是 k 的值。依据需求的簇或组的数量,随机初始化 k 个质心。

然后将数据点指定给最近的质心,构成一个簇。然后更新质心并重新分配数据点。这个进程不断重复,直到质心的方位不再改动。

这里有个视频代表了初始化和更新集群的整个进程,其间,群集数被指定为 10:

原视频地址:https://thumbs.gfycat.com/SoftEnragedHypsilophodon-mobile.mp4

留意:这是 k-means 聚类的扼要概述,关于本文来说现已足够了。假如你想深化研讨 k-means 算法的作业,这里有一个深化的攻略:The Most Comprehensive Guide to k-means you’ll Ever Need !

  k-means 聚类的缺陷

k-means 聚类概念听起来不错,对吧?它易于了解,相对简略完结,而且能够应用于很多用例中。但也有一些缺陷和局限性需求咱们留意。

让咱们以咱们在上面看到的相同的出入比如为例。k-means 算法好像运转得很好,可是,假如你细心观察,你会发现一切创立的簇都是圆形的。这是因为集群的质心是运用均匀值迭代更新的。

现在,考虑下面的比如,其间点的散布不是圆形的。假如咱们对这些数据运用 k-means 聚类,你以为会发作什么?它依然企图以循环办法对数据点进行分组。那不太好!k-means 无法辨认正确的集群:

k-means 高斯混合模型

因而,咱们需求一种不同的办法来将集群分配给数据点。因而,咱们不再运用依据间隔的模型,而是运用依据散布的模型。

    高斯混合模型简介

高斯混合模型假定存在必定数量的高斯散布,而且每个散布代表一个簇。因而,高斯混合模型倾向于将归于单一散布的数据点组合在一起。

假定咱们有三个高斯散布——GD1、GD2 和 GD3。它们别离具有必定的均值和方差。关于给定的一组数据点,咱们的 GMM 将辨认归于这些散布的每个数据点的概率。

等等,概率?

对的!高斯混合模型是一种概率模型,选用软聚类办法对不同的聚类点进行散布。我再举一个比如,让咱们更简略了解。

在这里,咱们有三个集群,用三种色彩表明——蓝色、绿色和青色。让咱们以赤色杰出显现的数据点为例。该点成为蓝色团簇一部分的概率为 1,而成为绿色或青色团簇一部分的概率为 0。

高斯混合模型

现在,考虑另一个点-介于蓝色和青色之间。这个点是绿色簇的一部分的概率是 0,对吧?这归于蓝色和青色的概率别离为 0.2 和 0.8。 

高斯混合模型运用软聚类技能将数据点分配给高斯散布。你必定想知道这些散布是什么,所以让我鄙人一节解释一下。

    高斯散布

我信任你了解高斯散布。它有一个钟形曲线,数据点环绕均匀值对称散布。

下图有一些高斯散布,均匀值和方差不同。记住,σ 值越高,价差越大:

高斯混合模型

在一维空间中,高斯散布的概率密度函数由下式给出:

高斯散布

其间μ是均匀值,σ2 是方差。

但这只适用于单个变量。在两个变量的状况下,咱们将得到如下所示的三维钟形曲线,而不是二维钟形曲线:

高斯混合模型

概率密度函数由以下公式给出:

高斯散布

其间 x 是输入向量,μ是 2D 均匀向量,∑ 是 2 2 协方差矩阵。协方差现在能够界说曲线的形状。咱们也能够对 d 维进行推行。

因而,这个多元高斯模型将 x 和 μ 作为长度 d 的向量,∑ 将是一个 d d 协方差矩阵。

因而,关于具有 d 个特征的数据集,咱们将得到 k 个高斯散布的混合,每个都有必定的均匀向量和方差矩阵。可是,怎么分配每个高斯散布的均值和方差值?

这些值用一种叫做希望最大化的技能来确认。在深化研讨高斯混合模型之前,咱们需求了解这项技能。

    什么是希望最大化?

好问题!

希望最大化是寻觅正确模型参数的统核算法。当数据短少值时,或许换句话说,当数据不完好时,咱们一般运用 EM。

这些缺失的变量称为潜在变量。当咱们在研讨一个无监督学习问题时,咱们以为方针是不知道的。

因为短少这些变量,很难确认正确的模型参数。这样想吧——假如你知道哪个数据点归于哪个集群,你就很简略确认均匀向量和协方差矩阵。

因为咱们没有潜在变量的值,希望最大化企图运用现有数据来确认这些变量的最优值,然后找到模型参数。依据这些模型参数,咱们回来并更新潜在变量的值。

广义上,希望最大化算法有两个进程:

E-step:在这个进程中,可用的数据用于估量丢掉变量的值

M-step:依据 E-step 中生成的估量值,运用完好的数据更新参数

希望最大化是许多算法的根底,包含高斯混合模型。那么,GMM 怎么运用 EM 的概念,以及怎么将其应用于给定的点集?让咱们看看!

    高斯混合模型中的希望最大化

让咱们用另一个比如来了解这一点。我想让你在读的时分自己也考虑以下。这将协助你更好地了解咱们在说什么。

假定咱们需求分配 k 个簇。这意味着存在 k 个高斯散布,均匀值和协方差值为 μ1,μ2 ... μk 和 ∑1,∑2 ... ∑k。此外,还有一个用于散布的参数,用于界说散布的点数。或许换句话说,散布密度用 ∏i 表明。

现在,咱们需求找到这些参数的值来界说高斯散布。咱们现已决议了簇的数量,并随机分配了均值、协方差和密度的值。接下来,咱们将履行 E-step 和 M-step!

E-step:

关于每个点 Xi,核算它归于簇/散布 C1、C2、…CK 的概率。运用以下公式完结此操作:

高斯混合模型

该值将在将点指定给右簇时为高,否则为低。

M-step:

完结 E-step 后,咱们回来并更新 ∏,μ 和 ∑ 值。更新办法如下:

新密度由群会集的点数与总点数的比率界说:

高斯混合模型

均匀值和协方差矩阵依据分配给散布的值进行更新,与数据点的概率值成份额。因而,具有更高概率成为该散布一部分的数据点将奉献更大的部分:

高斯混合模型

依据此进程生成的更新值,咱们核算每个数据点的新概率并迭代更新值。为了最大化对数似然函数,重复该进程。实际上咱们能够说:

k-means 只考虑更新质心的均值,而 GMM 则考虑数据的均值和方差!

    结语

这是高斯混合模型的入门攻略。我在这里的意图是向你介绍这种强壮的聚类技能,并展现它与传统算法比较是多么高效。

我鼓舞你参与一个集群项目并在那里测验 GMMs。这是学习和了解一个概念的最好办法——信任我,你会意识到这个算法有多有用!

via:https://www.analyticsvidhya.com/blog/2019/10/gaussian-mixture-models-clustering/

/ 更多阅览 /

热门文章

随机推荐

推荐文章