聚类是在事先并不知道任何样本类别标签的情况下,通过数据之间的内在 关系把样本划分为若干类别,使得同类别样本之间的相似度高,不同类别之间的样本相似度低。
速记:预处理. 1.随机选簇心 2.按照簇心聚类 3.重新计算簇心 4.重复2,3。
详细:缺点:受初值和离群点的影响,每次的结果不稳定、结果通常不是全局最优而是局部最优解、无法很好地解决数据簇分布差别比较大的情况(比如一类是另一类样本数的100倍)、不太适用于离散分类等。
优点:对于大数据集,K均值聚类算法相对是可伸缩和高效的,它的计算复杂度是 O ( N K t ) O(NKt) O(NKt)接近于线性,其中N是数据对象的数目,K是聚类的簇数,t是迭代的轮数。
调优:
1.数据归一化和离群点处理 2.合理选择K值 3.采用核函数
速记:缺点如下。K-means++(间隔最远选择初始点)、ISODATA(当属于某个类别的样本数过少时,去掉该类;过多则分成两个子类别)
详细:K均值的主要缺点如下:
(1)需要人工预先确定 K值,且该值和真实的数据分布未必吻合。
(2)K均值只能收敛到局部最优,效果受初始值影响很大。
(3)易受到噪点的影响。
(4)样本点只能被划分到单一的类中。
改进模型如速记。
速记:用EM算法可证。E步等同于对于每一个点找最近的簇,M步等于找到最优的簇心。
详细:有空研究下再写。
高斯混合模型就是用多个高斯分布函数的线性组合来对数据分布进行拟合。理论上高斯混合模型可以拟合出任意类型的分布。
高斯混合模型的核心思想是什么?它是如何迭代计算的?
速记:假设数据可以看作从多个高斯分布中生成出来的。EM算法计算。
详细:假设数据可以看作从多个高斯分布中生成出来的。在该假设下,每个单独的分模型都是标准高斯模型,其均值和方差 ∑ i \sum_i ∑i是待估计的参数。此外,每个分模型都还有一个参数 π i \pi_i πi,可以理解为权重或生成数据的概率。高斯混合模型的公式为:
p ( x ) = ∑ i = 1 K π i N ( x ∣ μ i , ∑ i ) p(x)=\sum_{i=1}^K\pi_iN(x|\mu_i, \sum _i) p(x)=i=1∑KπiN(x∣μi,i∑)
一个例子:
有两个一维标准高斯分布的分模型N(0,1),N(5,1),其权重分别为0.7和0.3 。那么,在生成第一个数据点时,先按照权重的比例,随机选择一个分布,比如选择第一个高斯分布,接着从N(0,1)中生成一个点,如-0.5,便是第一个数据点。如此循环执行,便成出了所有的数据点。
但是,通常都是不能直接得到高斯混合模型的参数的。其实,大多数情况下都是得不到参数的,拥有的只有有限的样本。给定一个K,用EM算法求参数。关于EM算法,可以参考我的另一篇博文。
具体到高斯模型的求解,EM算法的迭代过程如下:
首先,初始随机选择各参数的值。然后,重复下述两步,直到收敛。
与K均值相同的是,它们都是可用于聚类的算法;都需要指定K值;都是使用EM算法来求解;都往往只能收敛于局部最优。
相比于K均值算法来说,高斯混合模型的优点是:可以给出一个样本属于某类的概率是多少;不仅仅可以用于聚类,还可以用于概率密度估计;并且可以用于生成新的样本点。
自组织神经网络是如何工作的?他与K均值算法有何区别?
速记:Kohonen网络本质上是一个两层的神经网络;与KMeans的区别:不需指定K值。受噪点影响较小,但准确性较低。相对而言,可视化比较好,而且具有优雅的拓扑关系图。
详细:看书。
速记:估计聚类趋势,判定数据簇数,测定聚类质量。
详细:聚类评估的任务是估计在数据集上进行聚类的可行性,以及聚类方法产生结果的质量。这一过程又分为三个子任务。
这一步骤是检验数据分布中是否存在非随机的簇结构。如果数据是随机的,那么聚类的结果也是毫无意义的。可以通过观测聚类误差是否随类别数的增加而单调变化,如果是随机的,那么变化应该不明显。
也可以应用霍普金斯统计量来判断数据在空间上的随机性。首先,从所有样本中随机找n个点,记为 p 1 , p 2 , . . . , p n p_1,p_2,...,p_n p1,p2,...,pn,对其中的每一个点 p i p_i pi,都在样本空间中找到一个离他最近的点并计算它们之间的距离 x i x_i xi,从而得到距离向量 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn;然后,从样本的可能取值范围内随机生成n个点,记为 q 1 , q 2 , . . . , q n q_1,q_2,...,q_n q1,q2,...,qn,对每个随机生成的点,找到一个离它最近的样本点并计算它们之间的距离,得到 y 1 , y 2 , . . . , y n y_1,y_2,...,y_n y1,y2,...,yn。霍普斯金统计量H可以表示为:
H = ∑ i = 1 n y i ∑ i = 1 n x i + ∑ i = 1 n y i H=\frac{\sum_{i=1}^ny_i}{\sum^n_{i=1}x_i+\sum_{i=1}^ny_i} H=∑i=1nxi+∑i=1nyi∑i=1nyi
如果样本接近随机分布,那么 ∑ i = 1 n x i \sum^n_{i=1}x_i ∑i=1nxi和 ∑ i = 1 n y i \sum_{i=1}^ny_i ∑i=1nyi的取值应该比较接近,即H的值接近于0.5;如果聚类趋势明显,则随机生成的样本点距离应该远大于实际样本点的距离,即 ∑ i = 1 n x i ≪ ∑ i = 1 n y i \sum^n_{i=1}x_i\ll\sum_{i=1}^ny_i ∑i=1nxi≪∑i=1nyi,H的值接近于1.
手肘法或Gap Statistic方法。
轮廓系数、均方根标准偏差、R方、改进的Hubert Γ \Gamma Γ统计。