机器学习算法系列(六)

本篇博客学习分享了关于聚类的相关思想、原理及方法,以及不同方法所涉及的核心算法及其优化处理等相关知识(包括原型聚类:K-mean算法;密度聚类:DBSCAN算法

5、聚类

Clustering (聚类),简单地说就是把相似的东西分到一组,聚类的时候,我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到一起。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了,因此 clustering 通常并不需要使用训练数据进行学习,这在Machine Learning中被称作unsupervised learning (无监督学习)。

Classification (分类),对于一个classifier,通常需要你告诉它“这个东西被分为某某类”这样一些例子,理想情况下,一个 classifier 会从它得到的训练集中进行“学习”,从而具备对未知数据进行分类的能力,这种提供训练数据的过程通常叫做supervised learning (监督学习)。

聚类通过对无标记训练样本的学习来揭示数据的内在性质及规律(市场细分、集群计算)

下面学习常用的聚类方法及其所用到的一些经典算法和优化处理:

一、原型聚类:假设聚类结构能够通过一组原型刻画;算法先对原型进行初始化,然后对原型进行迭代更新求解;

K-mean(k均值算法):自动的将相同元素分为紧密关系的子集或簇,其是一个迭代过程:
首先随机选择两个点作为聚类中心,
1、根据聚类中心进行簇分类;
2、根据样本点移动聚类中心;

随机选点:
这里写图片描述
1、簇分类:根据样本点距离聚类中心的距离进行分类
这里写图片描述
2、根据各自类别的样本点移动聚类中心:计算各自类别样本点的均值找到中心点,将聚类中心移动到中心点的位置
这里写图片描述
迭代,根据如上新的聚类中心的位置重复如上1/2步骤,直到聚类中心不再移动,如下效果:
这里写图片描述

上面是对于K均值算法的直观理解,下面学习其具体实现时的计算过程:

目标优化函数–Optimization Objective(最小化处理)
这里写图片描述
关于如上参数c、u的调试,即是如下两个步骤:
1是选取尽可能离聚类中心近的点分类;
2是计算各类别样本的均值尽可能移动聚类中心更靠近中心;
这里写图片描述

上面就是本算法的核心思想了,现在再来看一下其存在的问题及具体的优化处理

1、随机初始化–Random Initialization(聚类中心的选择)

聚类中心的随机选择,运气好的话是左边的情况,不好的话可能就会出现右边的情况;为了解决这种情况,就是随机取值100次,对于每次分别计算均值及代价,最后选择代价最小的
这里写图片描述
2、选择适当的聚类数–the number of Clusters

肘部法则:分别取类别为1、2、3、、如下,每次计算相应代价值,找到肘点处3;但也可能出现右侧尴尬的情况
这里写图片描述
对于分类的选择最好的还是具体问题具体分析,如下衬衫大小的分类:
这里写图片描述

二、密度聚类:假设聚类结构能通过样本分布的紧密程度确定;从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果;

DBSCAN算法:
先上图有个直观理解:红线衔接起来的圈圈内部的所有黑点为一类,如下分为2类:
这里写图片描述
DBSCAN是基于一组邻域来描述样本集的紧密程度的,参数(ϵϵ, MinPts)用来描述邻域的样本分布紧密程度。其中,ϵϵ描述了某一样本的邻域距离阈值MinPts描述了某一样本的距离为ϵϵ的邻域中样本个数的阈值

假设我的样本集是D=(x1,x2,…,xm)(x1,x2,…,xm),则DBSCAN具体的密度描述定义如下:
 1) ϵϵ-邻域:对于xj∈Dxj∈D,其ϵϵ-邻域包含样本集D中与xjxj的距离不大于ϵϵ的子样本集,即Nϵ(xj)={xi∈D|distance(xi,xj)≤ϵ}Nϵ(xj)={xi∈D|distance(xi,xj)≤ϵ}, 这个子样本集的个数记为|Nϵ(xj)||Nϵ(xj)| 
 
 2) 核心对象:对于任一样本xj∈Dxj∈D,如果其ϵϵ-邻域对应的Nϵ(xj)Nϵ(xj)至少包含MinPts个样本,即如果|Nϵ(xj)|≥MinPts|Nϵ(xj)|≥MinPts,则xjxj是核心对象。 
 
 3)密度直达:如果xixi**位于xjxj的ϵϵ-邻域中且xjxj是核心对象**,则称xixi由xjxj密度直达。注意反之不一定成立,即此时不能说xjxj由xixi密度直达, 除非且xixi也是核心对象。
 
 4)密度可达:对于xixi和xjxj,如果存在样本样本序列p1,p2,…,pTp1,p2,…,pT,满足p1=xi,pT=xjp1=xi,pT=xj, 且pt+1pt+1由ptpt密度直达,则称xjxj由xixi密度可达。也就是说,密度可达满足传递性。此时序列中的传递样本p1,p2,…,pT−1p1,p2,…,pT−1均为核心对象,因为只有核心对象才能使其他样本密度直达。注意密度可达也不满足对称性,这个可以由密度直达的不对称性得出。
 
 5)密度相连:对于xixi和xjxj,如果存在核心对象样本xkxk,使xixi和xjxj均由xkxk密度可达,则称xixi和xjxj密度相连。注意密度相连关系是满足对称性的。

猜你喜欢

转载自blog.csdn.net/enjoy_endless/article/details/80683681