机器学习5

聚类问题

聚类问题是无监督学习,算法的思想是“物以类聚,人以群分”。聚类算法感知样本间的相似度,进行类别归纳,对新的输入进行输出预测,输出变量取有限个离散值。

  • 可以作为一个单独的过程,用于寻找数据内在的分布结构。
  • 可以作为分类、稀疏表示等其他学习任务的前驱过程

1.K-means

K-means(又称k-均值或k-平均)聚类算法。算法思想就是随机确定k个中心点作为聚类中心,然后把每个数据点分配给最邻近的中心点,分配完成后形成k个聚类,计算各个聚类的平均中心点,将其作为该聚类新的类中心点,然后重复迭代上述步骤直到分配过程不再产生变化。

算法流程

①随机选择K个随机点(成为聚类中心)

②对于数据集中的没个数据点,按照距离K个中心店距离,将其与距离最近的中心观点并联起来,于同一中心关联的所有点聚类成一类

③计算每一组的均值,将该族所关联的中心移动到平均值的位置;

④重复执行2-3步,直至中心点不再发生变化

K-Means的优点

  • 原理比较简单,实现也是很容易,收敛速度快
  • 聚类效果较优
  • 算法的可解释度比较强
  • 主要需要调参的参数仅仅是簇数k

K-means的缺点

  • k值的选取不好把握
  • 不平衡数据集的聚类效果不佳
  • 采用迭代方法,得到的结果只是局部最优
  • 对噪音和异常点比较敏感

2.高斯混合模型

高斯混合模型指的是多个高斯分布函数的线性组合,是一种广泛使用聚类算法,该算法使用了高斯分布作为参数模型。

单高斯模型:高斯分布有事也被成为正态分布,是一种在自然界大量的存在的,最为常见的分布形式。
f ( x ∣ μ , σ 2 ) = 1 2 σ 2 π e − ( x − μ ) 2 2 e 2 f(x|\mu,\sigma^2) = \frac{1}{\sqrt{2\sigma^2\pi}}e^{-\frac{(x-\mu)^2}{2e^2}} f(xμ,σ2)=2σ2π 1e2e2(xμ)2
高斯混合模型:混合模型是一个可以用来表示在总体分布中含有K个子分部的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由K个子分部组成的混合分布。
p ( x ) = ∑ i = 1 K ϕ i 1 2 σ i 2 π e − ( x − μ i ) 2 2 e i 2 p(x)=\sum^K_{i=1}\phi_i\frac{1}{\sqrt{2\sigma_i^2\pi}}e^{-\frac{(x-\mu_i)^2}{2e_i^2}} p(x)=i=1Kϕi2σi2π 1e2ei2(xμi)2
高斯混合模型的求解

​ EM算法是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量的概率模型参数的最大似然估计。

高斯混合模型与K-means

混合高斯和K-means很相似,相似点在于两者的分类收初始值影响;两者可能限于局部最优解;两者类别的个数都要考猜测。混合高斯计算复杂度高于K-means。

K-means属于硬聚类,要么属于A,要么属于B,而GM属于混合式软聚类,一个样本70%属于A,另外30%属于B。

3.密度聚类

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

DBSCAN算法流程

①DBSCAN通过检测数据集中每个点Eps邻域包含的点多余MinPts个,而创建一个以P为核心对象的簇。

②然后,DBSCAN迭代的聚集从这些核心对象直接密度可达的对象,这个过程可能设计一些密度可达簇的合并。

③当没有新的点添加到任何簇时,该过程结束。

4.层次聚类

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

AGNES算法流程

①AGNES算法最初每个对象作为一个簇,然后这些簇根据某些准则被一步步的合并,使用简单链接方法。

②两个粗剪的小相思度有这两个不同簇中距离最近的数据点对的相似度来确定。此外当两个簇最近距离超过用户给定的阈值时聚类过程就会终止

③聚类的合并过程反复进行指导所有的对象最终满足簇数据。

5.谱聚类

谱聚类是一种基于凸轮的聚类方法,将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似,而子图间距离尽量距离较远,以达到常见聚类的目的。

谱聚类能够识别任意形状的样本空间且收敛域全局最优解,其基本思想是利用样本数据的相似矩阵(拉普拉斯矩阵)进行特征分析后得到的特征向量进行聚类。

谱聚类的优势

  • 只需要带聚类点之间的相似度矩阵就可以做聚类了
  • 对于不规则的数据(或者是离群点)不是那么敏感,个人感觉主要体现在最小化图切割的公式中
  • k-means聚类算法比较适合于凸数据集(数据集内的任意两点之间的连线都在该数据集以内,简单理解就是圆形),而谱聚类则比较通用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值