0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聚类是另一种无监督机器学习方法

倩倩 来源:边际实验室 2020-03-25 16:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

聚类是另一种无监督机器学习方法,该方法将数据点分为相似的组,称之为“类”。一个类包含来自数据集的一个观察子集,同一类中的所有观察值都被认为是“相似的”。每个类里观测值彼此之间接近(称为内聚),两个不同的类里的观测值彼此远离或者尽可能不同(称为分离)。下图描述了类的内聚和分离。

聚类算法在许多投资问题中特别有用。例如,在对公司进行分组时,类可以发现公司之间的重要相似性和差异性,而这些相似性和差异性可能不会被标准的行业分类所捕捉。在投资组合管理中,聚类方法被用来改善投资组合的多样化。

在实践中,专家判断在聚类算法中起着一定的作用。首先,专家必须确定什么是“相似”。每个公司都可以被认为是一个具有多种特征的观察值,包含营业收入、利润、财务比率等财务数值,以及其他潜在的模型输入值。有了这些特征值,两个观测值之间的相似度或“距离”就可以被定义。距离越小,观测结果越相似;距离越大,观测结果越不相似。

一个常用的定义方法是欧几里得距离,即两点之间的直线距离。在机器学习中,经常使用的距离度量有十余种。在实践中,距离度量的选择取决于数据的性质(是否是数值)和被分析的业务类别。

一旦定义了相关的距离度量,我们就可以将类似的观测结果分在一起。我们现在介绍两种比较流行的聚类方法:K-Means和分层聚类。

K-Means

K-Means是一种相对较老的算法,它将观察值重复划分为一个固定的数字k(不重叠的类)。类的数量k是一个模型超参数,它的值由研究人员在学习开始之前设置。每个类由它的形心(centroid,即中心)定义,每个观测值都由算法分配到与该观测值最接近的形心的类中。

K-Means算法遵循迭代过程。如下表所示,k=3和一组关于变量的观察结果可以用两个特征来描述。

在表中,水平轴和垂直轴分别代表第一和第二特征。例如,投资分析师可能希望将一组公司用两个测量标准分成三类。

算法将观测数据按以下步骤进行分类:

1、首先确定k(本例为3)个初始随机形心的位置。

2、算法分析每个观测值的特征。基于使用的距离度量,K-Means将每个观测值分配给最近的形心(类由形心定义)。

3、借助每个类中的观测值,K-Means算法在计算每个类新的(k个)形心(形心是观测值的平均值)。

4、然后将观测结果重新分配到新的形心,根据观测结果对类重新定义。

5、再次进行新的(k个)形心及类的确定过程。

K-Means算法将继续迭代,直到没有观察结果被重新分配到另一个新的类(即不需要重新计算新的形心)。该算法最终收敛并得到最后的K个类及类内的观察值。在k=3的约束下,K-Means算法最小化了类内的距离(内聚最大化),最大化了类间距离(分离最大化)。

K-Means算法速度快,在拥有上亿个观测数据的数据集上运行良好。但是,类的最终分配可能取决于形心的初始位置。为了解决这个问题,可以使用不同的形心多次运行该算法,然后根据业务目的选择最有用的分类。

这种技术的一个限制是,在运行K-Means之前,必须确定类的数量(超参数k)。

因此,我们需要知道,研究问题及分析数据集,选择多少个类是合理的。或者,可以选择k的取值范围,通过运行算法找到最优的类的数量——使类内距离最小,类内的相似度最大。但是,最终结果仍可能过于主观。

以罗素3000指数为例,该指数跟踪美国市值最高的3000只股票。这3000支股票可以根据财务特征(如总资产、总收益、盈利能力、杠杆率等)和经营特征(如员工人数、研发费用等)分为10个、50个甚至更多的类。由于处于同一行业类别中的公司可能具有非常不同的财务和运营特征,因此使用K-Means派生出不同的类可以为“同类”群体的性质提供独特的理解。如前所述,k的准确选择取决于所需的精度或分割的水平。我们还可以使用聚类对投资工具或对冲基金进行分类,作为标准分类的替代方法。聚类还可以帮助实现可视化数据,并有助于检测趋势或异常值。

总而言之,K-Means算法是投资实践中最常用的算法之一,特别是在高维数据中发现特有模式及作为现有静态行业分类的替代方法等方面。

分层聚类

分层聚类是一种用于构建层次类结构的迭代过程。在K-Means聚类中,算法将数据分割成预定数目的聚类;类之间没有定义的关系。然而,在分层聚类中,算法会创建大小递增(“内聚”)或递减(“分离”)的中间类,直到达到最终的聚类。正如“分层”一词所暗示的,该过程在多层类之间创建关系。虽然与K-Means聚类相比,分层聚类的计算量更大,但它的优点是允许分析师在决定使用哪种间隔的数据之前检查不同间隔数据的分段。

更详细地说,内聚式(自下至上)分层聚类先将每个观察值作为自己的类。然后,算法根据距离(相似度)的度量找到两个最近的类,并将它们合并成一个新的更大的类。这个过程不断重复,直到所有的观察值都聚集成一个类。下表中的A表描述了一个内聚聚类的假想示例,其中的观察结果用字母表示(A到K),观察结果周围的圆圈表示类。这个过程从11个单独的类开始,然后生成分组序列。第一个序列包括6个类,有5个类各自有2个观测值,1个类有单个观测值G。接下来生成2个类,一个类有6个观测值,另一个类有5个观测值。最后的结果是一个包含所有11个观测值的大类,该大类包括两个主要的子类,每个子类包含三个较小的孙类。

相反,分离式(自上而下)分层聚类从单个类的所有观察值开始。然后根据距离(相似度)将观测结果分成两个类。然后,该算法逐步将中间类划分为更小的类,直到每个类只包含一个观察值。B表描述了分离式聚类的步骤,它以一个包含11个观察值的类开始,算法生成两个较小的类,一个有6个观测值,另一个有5个观测值;然后再分为6个类;最后生成11个类,每个类只包含一个观测值。

在这个假设的例子中,内聚式和分离式聚类产生了相同的结果:两个主要的子类,每个子类有三个更小的孙类。我们可以在6个类或2个类之间进行选择。由于计算速度快,内聚式聚类是处理数据集的常用方法。内聚式聚类算法根据局部模式进行决策,不考虑数据的全局结构。因此,内聚式聚类非常适合于对较小的类进行识别。由于分离式聚类先从整体开始,所以常被侧重于分析数据的全局结构,因此更适合于识别较大的类。

为了确定内聚式和分离式聚类的最佳结果,需要对两个类之间的距离有明确的定义。一些常用的定义包括求每个类中所有观测值之间直线距离的最小值、最大值或平均值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 聚类算法
    +关注

    关注

    2

    文章

    118

    浏览量

    12497
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
  • K-means
    +关注

    关注

    0

    文章

    28

    浏览量

    11700
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    未上市半导体公司的另一种选择?奎芯与和顺石油

    最近资本市场上那些“跨界并购”的事儿,确实挺耐人寻味的。你看,波又波的传统企业,就像约好了似的,争先恐后地往半导体行业里挤。这表面看是生意场上的正常操作,背后却藏着不少关于行业转型、生存发展
    的头像 发表于 11-18 11:46 139次阅读

    用PLC实现卷径计算的两算法

    卷径计算,是动态计算如钢卷,纸卷等存料量的一种方法,它是实现张力控制和自动充放料、以及甩尾控制的重要前提。卷径计算目前主流的方法有两一种是根据机列速度(产线速度)和和被测卷的转动角
    的头像 发表于 11-14 16:54 1361次阅读
    用PLC实现卷径计算的两<b class='flag-5'>种</b>算法

    使用MATLAB的支持向量机解决方案

    支持向量机 (SVM) 是一种监督机器学习算法,它能找到分离两个的数据点的最佳超平面。
    的头像 发表于 10-21 15:00 308次阅读
    使用MATLAB的支持向量机解决方案

    阅兵日的“另一种受阅”:赛思的方阵,在高精度授时领域!

    9月3日举世瞩目的阅兵盛典如期举行45个方队依次接受祖国和人民的检阅每个整齐划的方阵步伐背后每架毫秒不差的空中梯队身后是另一支特殊的“方阵”正在接受“
    的头像 发表于 09-09 13:31 552次阅读
    阅兵日的“<b class='flag-5'>另一种</b>受阅”:赛思的方阵,在高精度授时领域!

    一种新的刷直流电机反电动势检测方法

    位置传感器刷直流电机的控制算法是近年来研究的热点之,有霍尔位置信号直流电机根据霍尔状态来确定通断功率器件。利用刷直流电机的数学模型,根据反电动势检测原理,提出了
    发表于 08-07 14:29

    一种新的刷直流电机反电动势检测方法

    位置传感器刷直流电机的控制算法是近年来研究的热点之,有霍尔位置信号直流电机根据霍尔状态来确定通断功率器件。利用刷直流电机的数学模型,根据反电动势检测原理,提出了
    发表于 08-04 14:59

    一种带通滤波器在位置传感器转子检测中的应用

    摘 要:论文研究了一种直流无刷电机的位置传感器的转子位置的硬件电路检测方法。结合传统“反电动势\"方法,分析并设计了一种新的带通滤波器延时
    发表于 08-04 14:56

    ARM入门学习方法分享

    。 以下是些入门学习方法的分享: 、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一种精简指令集
    发表于 07-23 10:21

    机器学习异常检测实战:用Isolation Forest快速构建标签异常检测系统

    本文转自:DeepHubIMBA监督异常检测作为机器学习领域的重要分支,专门用于在缺乏标记数据的环境中识别异常事件。本文深入探讨异常检测技术的理论基础与实践应用,通过Isolatio
    的头像 发表于 06-24 11:40 1202次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>异常检测实战:用Isolation Forest快速构建<b class='flag-5'>无</b>标签异常检测系统

    章 W55MH32 高性能以太网单片机的学习方法概述

    本章介绍W55MH32的学习方法,建议先了解硬件资源,按基础篇、入门篇循序渐进学习。参考两份手册,提供例程资料,还给出官网、github 等学习资料查找渠道。让我们起踏上W55MH3
    的头像 发表于 05-26 09:07 531次阅读
    第<b class='flag-5'>一</b>章 W55MH32 高性能以太网单片机的<b class='flag-5'>学习方法</b>概述

    提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇)

    一种阈值方法:基于 LSTM 网络的基线(个 LSTM 框架辅助几个优化步骤)和监督检测
    的头像 发表于 05-22 16:38 805次阅读
    提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇)

    使用MATLAB进行监督学习

    监督学习一种根据未标注数据进行推断的机器学习方法监督
    的头像 发表于 05-16 14:48 1178次阅读
    使用MATLAB进行<b class='flag-5'>无</b><b class='flag-5'>监督学习</b>

    一种刷直流电机霍耳信号与定子绕组关系自学习方法

    的关系。提出了一种刷直流电机霍耳信号与定子绕组关系自学习方法,该方法通过不同的绕组通电组合将电机转子依次转到6个不同的位置并记录对应的霍耳信号,然后得出霍耳信号与定子绕组的对应关系。
    发表于 03-25 15:15

    数据降维工具介绍——SpatialPCA

    ,NMF)等,多是基于单细胞数据进行开发的,因此不定完全适用于空间转录组数据。例如,常用的降维方法并没有运用空间转录组所特有的组织空间定位信息,而仅仅只是基于表达谱进行
    的头像 发表于 02-07 11:19 1050次阅读
    数据降维<b class='flag-5'>聚</b><b class='flag-5'>类</b>工具介绍——SpatialPCA

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习般指神经网络算法)是个强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度
    的头像 发表于 12-30 09:16 1982次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习方法</b>和应用指导