机器学习之聚类

在无监督学习中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。此类学习任务中研究最多,应用最广的是聚类。

聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个簇。

通过这样的划分,每个簇可能对应于一些潜在的概念(类别);需说明的是,这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。

聚类的作用:

①作为一个单独过程,用于找寻数据内在的分布结构

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

原型聚类:

原型聚类亦称基于原型的聚类,此类算法假设聚类结构能通过一组原型刻画,在现实任务中极为常用。通常情形下,算法对原型进行初始化,然后对原型进行迭代更新求解。采用不同的原型表示,不同的求解方式,将产生不同的算法。

原型是指样本空间中具有代表性的点。

K均值算法:

 最小化式9.24并不容易,找到它的最优解需考察样本集D所有可能的簇划分,这是一个NP难题。因此K均值算法采用了贪心策略,通过迭代优化来近似求解(9.24)

假定聚类簇数为k,算法开始时随机选取k个样本,作为初始均值向量

然后考察每一个样本与当前均值向量的距离分别是多少,选取最近的距离,将该样本划入距离最近的均值向量的簇中

从k个簇中分别求出新的均值向量

更新当前均值向量后,不断重复上述过程

直到第n轮迭代产生的结果与第n-1轮迭代产生的结果相同,算法停止,得到最终簇划分

K均值聚类是最基础和最常用的算法

层次聚类:

层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可以采用自底向上的聚合策略,也可以采用自顶向下的拆分策略。

AGNES是一种采用自底向上聚合策略的层次聚类算法。它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。这里的关键是如何计算聚类簇之间的距离。实际上,每个簇是一个样本集合,因此,只需采用关于集合的某种距离即可

 

集合间的距离计算常采用豪斯多夫距离。

显然,最小距离由两个簇的最近样本决定,最大距离由两个簇的最远样本决定,而平均距离则由两个簇的所有样本共同决定。

当聚类簇距离由计算时,AGNES算法被相应地称为单链接,全链接,均链接

混合高斯模型:

单高斯模型:

高斯模型是一种常用的变量分布模型。一维高斯分布的概率密度函数如下:

 μ是高斯分布的均值,σ是高斯分布的标准差

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值