专栏首页AI人工智能收藏!!无监督机器学习中,最常见的聚类算法有哪些?

收藏!!无监督机器学习中,最常见的聚类算法有哪些?

来源商业新知网,原标题:无监督机器学习中,最常见的聚类算法有哪些?

在机器学习过程中,很多数据都具有特定值的目标变量,我们可以用它们来训练模型。

但是,大多数情况下,在处理实际问题时,数据不会带有预定义标签,因此我们需要开发能够对这些数据进行正确分类的机器学习模型,通过发现这些特征中的一些共性,来预测新数据的类。

无监督学习分析过程

开发无监督学习模型需遵循的整个过程,总结如下:

无监督学习的主要应用是:

· 按某些共享属性对数据集进行分段。

· 检测不适合任何组的异常。

· 通过聚合具有相似属性的变量来简化数据集。

总之,主要目标是研究数据的内在(和通常隐藏)的结构。

这种技术可以浓缩为无监督学习试图解决的两种主要类型的问题。如下所示:

· 聚类

· 维度降低

在本文中,我们将重点关注聚类问题。

聚类分析

在基本术语中,聚类的目的是在数据中的元素内找到不同的组。为此,聚类算法在数据中找到结构,以使相同聚类(或组)的元素彼此比来自不同聚类的元素更相似。

以可视方式想象一下,我们有一个电影数据集,并希望对它们进行分类。我们对电影有如下评论:

机器学习模型将能够在不知道数据的任何其他内容的情况下推断出两个不同的类。

这些无监督学习算法具有令人难以置信的广泛应用,并且对于解决诸如音乐、文档或电影分组之类的实际问题,以及基于其购买来找到具有共同兴趣的客户非常有用。

下面是一些最常见的聚类算法:

· K均值聚类

· 分层聚类

· 基于密度的扫描聚类(DBSCAN)

· 高斯聚类模型

K均值聚类

K均值算法非常容易实现,并且在计算上非常有效。这是它为何如此受欢迎的主要原因。但是,在非球形的群体中识别类别并不是很好。

关键概念

· 平方欧几里德距离(Squared Euclidean Distance)

K均值中最常用的距离是欧氏距离平方。m维空间中两点x和y之间的距离的示例是:

这里,j是采样点x和y的第j维(或特征列)。

· 集群惯性

集群惯性是聚类上下文中给出的平方误差之和的名称,表示如下:

其中μ(j)是簇j的质心,并且如果样本x(i)在簇j中则w(i,j)是1,否则是0。

K均值可以理解为试图最小化群集惯性因子的算法。

算法步骤

1. 选择k值,即我们想要查找的聚类数量。

2. 算法将随机选择每个聚类的质心。

3. 将每个数据点分配给最近的质心(使用欧氏距离)。

4. 计算群集惯性。

5. 将计算新的质心作为属于上一步的质心的点的平均值。换句话说,通过计算数据点到每个簇中心的最小二次误差,将中心移向该点。

6. 返回第3步。

K-Means超参数

· 簇数:要生成的簇和质心数。

· 最大迭代次数:单次运行的算法。

· 数字首字母:算法将使用不同的质心种子运行的次数。根据惯性,最终结果将是连续运行定义的最佳输出。

K-Means的挑战

· 任何固定训练集的输出都不会始终相同,因为初始质心是随机设置的,会影响整个算法过程。

· 如前所述,由于欧几里德距离的性质,在处理采用非球形形状的聚类时,其不是一种合适的算法。

应用K均值时要考虑的要点

· 必须以相同的比例测量特征,因此可能需要执行z-score标准化或max-min缩放。

· 处理分类数据时,我们将使用get dummies功能。

· 探索性数据分析(EDA)非常有助于概述数据并确定K-Means是否为最合适的算法。

· 当存在大量列时,批训练(minibatch)的方法非常有用,但是不太准确。

如何选择正确的K值

选择正确数量的聚类是K-Means算法的关键点之一。要找到这个数字,有一些方法:

· 领域知识

· 商业决策

· 肘部法则

由于与数据科学的动机和性质相一致,肘部法则是首选方法,因为它依赖于支持数据的分析方法来做出决定。

肘部法则

肘部法则用于确定数据集中正确的簇数。它的工作原理是绘制K的上升值与使用该K时获得的总误差。

目标是找到每个群集不会显著上升方差的k。

在这种情况下,我们将选择肘部所在的k = 3。

K均值限制

虽然K均值是一种很好的聚类算法,但是当我们事先知道聚类的确切数量以及处理球形分布时,它是最有用的。

下图显示了如果我们在每个数据集中使用K均值聚类,即使我们事先知道聚类的确切数量,我们将获得什么:

将K均值算法作为评估其他聚类方法性能的基准是很常见的。

分层聚类

分层聚类是基于prototyope的聚类算法的替代方案。分层聚类的主要优点是不需要指定聚类的数量,它会自己找到它。此外,它还可以绘制树状图。树状图是二元分层聚类的可视化。

在底部融合的观察是相似的,而在顶部的观察是完全不同的。对于树状图,基于垂直轴的位置而不是水平轴的位置进行结算。

分层聚类的类型

这种类型的聚类有两种方法:集聚和分裂。

· 分裂:此方法首先将所有数据点放入一个集群中。 然后,它将迭代地将簇分割成较小的簇,直到它们中的每一个仅包含一个样本。

· 集聚:此方法从每个样本作为不同的集群开始,然后将它们彼此靠近,直到只有一个集群。

单链接和完整链接

这些是用于凝聚层次聚类的最常用算法。

· 单链接

作为一种凝聚算法,单链接首先假设每个样本点都是一个簇。然后,它计算每对聚类的最相似成员之间的距离,并合并两个聚类,其中最相似成员之间的距离最小。

· 完整链接

虽然与单链接类似,但其理念恰恰相反,它比较了一对集群中最不相似的数据点来进行合并。

分层聚类的优点

· 由此产生的层次结构表示可以提供非常丰富的信息。

· 树状图提供了一种有趣且信息丰富的可视化方式。

· 当数据集包含真正的层次关系时,它们特别强大。

分层聚类的缺点

· 分层聚类对异常值非常敏感,并且在其存在的情况下,模型性能显着降低。

· 从计算上讲,分层聚类非常昂贵。

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

DBSCAN是另一种特别用于正确识别数据中的噪声的聚类算法。

DBSCAN分配标准

它基于具有指定半径ε的多个点,并且为每个数据点分配了特殊标签。分配此标签的过程如下:

· 它是指定数量(MinPts)的相邻点。 如果存在落在ε半径内的此MinPts点数,则将分配核心点。

· 边界点将落在核心点的ε半径内,但相邻数将少于MinPts数。

· 每隔一点都是噪点。

DBSCAN 算法

该算法遵循以下逻辑:

1. 确定核心点并为每个核心点或每个连接的核心点组成一个组(如果它们满足标准为核心点)。

2. 确定边界点并将其分配给各自的核心点。

下图总结了这个过程和注释符号。

DBSCAN与K均值聚类

DBDSCAN的优点

· 我们不需要指定群集的数量。

· 集群可采用的形状和大小具有高度灵活性。

· 识别和处理噪声数据和异常值非常有用。

DBSCAN 的缺点

· 处理两个集群可到达的边界点时比较困难。

· 它没有找到不同密度的井簇。

高斯混合模型 (GMM)

高斯混合模型是概率模型,其假设所有样本是从具有未知参数的有限数量的高斯分布的混合生成的。

它属于软群集算法组,其中每个数据点都属于数据集中存在的每个群集,但每个群集的成员资格级别不同。此成员资格被指定为属于某个群集的概率,范围从0到1。

例如,突出显示的点将同时属于集群A和B,但由于其与它的接近程度而具有更高的集群A的成员资格。

GMM假设每个聚类遵循概率分布,可以是高斯分布或正态分布。它是K-Means聚类的推广,包括有关数据的协方差结构以及潜在高斯中心的信息。

一维GMM分布

GMM将在数据集中搜索高斯分布并将它们混合。

二维GMM

当具有的多变量分布如下时,对于数据集分布的每个轴,平均中心将是μ+σ。

GMM 算法

它是一种期望最大化算法,该过程可概括如下:

1.初始化K高斯分布,可通过μ(平均值)和σ(标准偏差)值来实现。也可从数据集(天真方法)或应用K-Means中获取。

2.软聚类数据:这是“期望”阶段,其中所有数据点将分配给具有各自成员级别的每个聚类。

3.重新估计高斯分布:这是“最大化”阶段,该阶段会对期望进行检查并且将其用于计算高斯的新参数中:新μ和σ。

4.评估数据的对数似然性以检查收敛。日志的相似度越高,我们创建的模型的混合可能越适合数据集。所以,这是最大化的功能。

5.从步骤2开始重复直到收敛。

GMM 的优点

· 它是一种软聚类方法,可将样本成员分配给多个聚类。这一特性使其成为学习混合模型的最快算法。

· 集群的数量和形状具有很高的灵活性。

GMM 的缺点

· 它对初始值非常敏感,这将极大地影响其性能。

· GMM可能会收敛到局部最小值,这将是次优解决方案。

· 当每个混合物的点数不足时,算法会发散并找到具有无限可能性的解,除非人为地规范数据点之间的协方差。

聚类验证

聚类验证是客观和定量评估聚类结果的过程。我们将通过应用集群验证索引来进行此验证。主要有三类:

外部指数

这些是我们在标记原始数据时使用的评分方法,这不是这类问题中最常见的情况。我们将一个聚类结构与事先已知的信息相匹配。

最常用的索引是Adjusted Rand索引。

· 调整后的兰特指数(ARI)€[-1,1]

我们应首先对其组件进行定义,以便了解:

· a:是C和K中同一群集中的点数

· b:是C和K中不同群集中的点数。

· n =是样本总数

ARI可以获得从-1到1的值。值越高,它与原始数据匹配越好。

内部验证指数

在无监督学习中,我们将使用未标记的数据,这时内部索引更有用。

最常见的指标之一是轮廓系数。

· 剪影系数:

每个数据点都有一个轮廓系数。

· a =同一群集中与其他样本i的平均距离

· b =最近邻集群中与其他样本i的平均距离

轮廓系数(SC)的值是从-1到1。值越高,选择的K值越好。但是相对于没有达到理想值的情况,超过理想的K值对我们会更加不利。

轮廓系数仅适用于某些算法,如K-Means和层次聚类。它不适合与DBSCAN一起使用,我们将使用DBCV代替。

原文链接:https://www.shangyexinzhi.com/Article/details/id-99598/

我来说两句

0 条评论
登录 后参与评论

推荐阅读

  • 远程办公经验为0,如何将日常工作平滑过度到线上?

    我是一名创业者,我的公司(深圳市友浩达科技有限公司)在2018年8月8日开始运营,现在还属于微型公司。这个春节假期,我一直十分关注疫情动向,也非常关心其对公司带来的影响。

    TVP官方团队
    TAPD 敏捷项目管理腾讯乐享企业邮箱企业编程算法
  • 数据中台,概念炒作还是另有奇效? | TVP思享

    作者简介:史凯,花名凯哥,腾讯云最具价值专家TVP,ThoughtWorks数据智能业务总经理。投身于企业数字化转型工作近20年。2000年初,在IBM 研发企业级中间件,接着加入埃森哲,为大型企业提供信息化架构规划,设计,ERP,云平台,数据仓库构建等技术咨询实施服务,随后在EMC负责企业应用转型业务,为企业提供云迁移,应用现代化服务。现在专注于企业智能化转型领域,是数据驱动的数字化转型的行业布道者,数据中台的推广者,精益数据创新体系的创始人,2019年荣获全球Data IQ 100人的数据赋能者称号,创业邦卓越生态聚合赋能官TOP 5。2019年度数字化转型专家奖。打造了行业第一个数据创新的数字化转型卡牌和工作坊。创建了精益数据创新方法论体系构建数据驱动的智能企业,并在多个企业验证成功,正在向国内外推广。

    TVP官方团队
    大数据数据分析企业
  • 扩展 Kubernetes 之 CRI

    使用 cri-containerd 的调用流程更为简洁, 省去了上面的调用流程的 1,2 两步

    王磊-AI基础
    Kubernetes
  • 扩展 Kubernetes 之 Kubectl Plugin

    kubectl 功能非常强大, 常见的命令使用方式可以参考 kubectl --help,或者这篇文章

    王磊-AI基础
    Kubernetes
  • 多种登录方式定量性能测试方案

    最近接到到一个测试任务,某服务提供了两种登录方式:1、账号密码登录;2、手机号+验证码登录。要对这两种登录按照一定的比例进行压测。

    八音弦
    测试服务 WeTest
  • 线程安全类在性能测试中应用

    首先验证接口参数签名是否正确,然后加锁去判断订单信息和状态,处理用户增添VIP时间事务,成功之后释放锁。锁是针对用户和订单的分布式锁,使用方案是用的redis。

    八音弦
    安全编程算法
  • 使用CDN(jsdelivr) 优化博客访问速度

    PS: 此篇文章适用于 使用 Github pages 或者 coding pages 的朋友,其他博客也类似.

    IFONLY@CUIT
    CDNGitGitHub开源
  • 扩展 Kubernetes 之 CNI

    Network Configuration 是 CNI 输入参数中最重要当部分, 可以存储在磁盘上

    王磊-AI基础
    Kubernetes
  • 聚焦【技术应变力】云加社区沙龙online重磅上线!

    云加社区结合特殊时期热点,挑选备受关注的音视频流量暴增、线下业务快速转线上、紧急上线防疫IoT应用等话题,邀请众多业界专家,为大家提供连续十一天的干货分享。从视野、预判、应对等多角度,帮助大家全面提升「技术应变力」!

    腾小云
  • 京东购物小程序购物车性能优化实践

    它是小程序开发工具内置的一个可视化监控工具,能够在 OS 级别上实时记录系统资源的使用情况。

    WecTeam
    渲染JavaScripthttps网络安全缓存

扫码关注云+社区

领取腾讯云代金券