聚类问题是无监督学习,算法的思想是“物以类聚,人以群分”。聚类算法感知样本间的相似度,进行类别归纳,对新的输入进行输出预测,输出变量取有限个离散值。
K-means(又称k-均值或k-平均)聚类算法。算法思想就是随机确定k个中心点作为聚类中心,然后把每个数据点分配给最邻近的中心点,分配完成后形成k个聚类,计算各个聚类的平均中心点,将其作为该聚类新的类中心点,然后重复迭代上述步骤直到分配过程不再产生变化。
算法流程:
①随机选择K个随机点(成为聚类中心)
②对于数据集中的没个数据点,按照距离K个中心店距离,将其与距离最近的中心观点并联起来,于同一中心关联的所有点聚类成一类
③计算每一组的均值,将该族所关联的中心移动到平均值的位置;
④重复执行2-3步,直至中心点不再发生变化
K-Means的优点
K-means的缺点
高斯混合模型指的是多个高斯分布函数的线性组合,是一种广泛使用聚类算法,该算法使用了高斯分布作为参数模型。
单高斯模型:高斯分布有事也被成为正态分布,是一种在自然界大量的存在的,最为常见的分布形式。
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π1e−2e2(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=1∑Kϕi2σi2π1e−2ei2(x−μi)2
高斯混合模型的求解:
EM算法是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量的概率模型参数的最大似然估计。
高斯混合模型与K-means:
混合高斯和K-means很相似,相似点在于两者的分类收初始值影响;两者可能限于局部最优解;两者类别的个数都要考猜测。混合高斯计算复杂度高于K-means。
K-means属于硬聚类,要么属于A,要么属于B,而GM属于混合式软聚类,一个样本70%属于A,另外30%属于B。
密度聚类算法假设聚类结构能通过样本分布的紧密程度确定,算法从样本密度的角度来考察样本之间的可连接性,并给予可连接样本不断扩展聚类簇以获得最终的聚类结果。
DBSCAN算法流程:
①DBSCAN通过检测数据集中每个点Eps邻域包含的点多余MinPts个,而创建一个以P为核心对象的簇。
②然后,DBSCAN迭代的聚集从这些核心对象直接密度可达的对象,这个过程可能设计一些密度可达簇的合并。
③当没有新的点添加到任何簇时,该过程结束。
层次聚类算法试图在不同层次对数据进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可以采用“自顶向下”的拆分策略。
AGNES算法流程:
①AGNES算法最初每个对象作为一个簇,然后这些簇根据某些准则被一步步的合并,使用简单链接方法。
②两个粗剪的小相思度有这两个不同簇中距离最近的数据点对的相似度来确定。此外当两个簇最近距离超过用户给定的阈值时聚类过程就会终止
③聚类的合并过程反复进行指导所有的对象最终满足簇数据。
谱聚类是一种基于凸轮的聚类方法,将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似,而子图间距离尽量距离较远,以达到常见聚类的目的。
谱聚类能够识别任意形状的样本空间且收敛域全局最优解,其基本思想是利用样本数据的相似矩阵(拉普拉斯矩阵)进行特征分析后得到的特征向量进行聚类。
谱聚类的优势: