机器学习实战--聚类

本文介绍了聚类的基本概念,作为无监督学习的一种,聚类旨在揭示数据的内在结构。文章详细讨论了三种主要的聚类类型:原型聚类(包括k均值、学习向量量化和高斯混合聚类)、密度聚类(如DBSCAN)以及层次聚类,并阐述了各种算法的工作原理和应用场景。
摘要由CSDN通过智能技术生成

一 什么是聚类?

在无监督学习中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。

聚类试图将数据集中的样本划分为活干个通常是不想交(正交)的子集,每个子集称为一个簇。通过这样的划分每个簇可能对应于一些潜在的类别。这些类别对聚类算法而言事前是未知的。聚类的过程仅能自动形成簇机构,簇所对应的类别语义需由使用者来把握和命名。

聚类既能作为一个独立过程,用于找寻数据内在分布结构,也可作为分类等其他学习任务的前驱过程。例如在一些商业应用中需要对新用户的类型进行判别,但定义“用户类型”对商家来说却可能不太容易,此时往往可先对用户数据进行聚类,根据聚类结果将每个簇定义一个类,然后再基于这些类训练分类模型,用于判别新用户的类型。

二 聚类类型

基于不同的学习策略,人们设计出多种类型的聚类算法。

1 原型聚类

原型聚类亦称基于原型的聚类,此类算法假设聚类结构能通过一组原型刻画。通常情况下,算法先对原型进行初始化,人后对原型进行迭代更新求解,采用不同的原型表示、不同的求解方式,将产生不同的算法。

1.1 k均值算法

这是一个迭代算法,需要根据不同的质心执行多次,直至其收敛。它是一个基于距离的聚类算法。同一个簇中的对象彼此相似,不同簇中的对象彼此相异。

步骤:

(1)将N个对象划分到K个非空子集中。

(2)计算当前分区的簇质心。

(3)将各个对象分配到有最近质心的簇。为各个数据点找到最近的簇

(4)如果不再有新的分配,则停止计算。否则重复(2)(3)知道算法收敛。

这个算法会反复迭代,直到质心不再变化,此时就找到了我们想要的K个簇。由于K-均值算法是一个迭代的过程,每一步都会根据各个现有簇当前中心重新计算簇各个对象成员关系。这个过程会反复进行,直到达到算法收敛。

1.2学习向量量化

与k均值算法类似,“学习向量量化”(Learning Vector Quantization,简称LVQ)也是试图找到一组原型向量来刻画聚类结构,但与一般聚类算法不同的是,LVQ假设数据样本带有类别标记,学习过程利用样本的这些监督信息来辅助聚类。

步骤: 

(1)统计样本的类别,假设一共有q类,初始化为原型向量的标记为{t1,t2,……,tq}。从样本中随机选取q个样本点位原型向量{p1,

p2 ,……, pq}。初始化一个学习率a,a 取值范围(0,1)。 

(2) 从样本集中随机选取一个样本(x, y),计算该样本与q个原型向量的距离(欧几里得距离),找到最小的那个原型向量p,判

样本的标记y与原型向量的标记t是不是一致。若一致则更新为p’ = p + a*(x-p),否则更新为p’ = p - a*(x - p)。 

(3) 重复第2步直到满足停止条件。(如达到最大迭代次数) 

(4) 返回q个原型向量。

1.3 高斯混合聚类

高斯模型即正态分布&#x

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值