1.K均值聚类
问题1:简述K均值算法的具体步骤?
答:
(1)数据预处理,如归一化、离群点处理
(2)随机选取K个簇中心,记为u1,u2.。。。。uk
(3)定义代价函数:
(4)令t=0,1,2.。。。为迭代步数。重复下面的过程指导J收敛
对于每个样本x,将其分配到最近的簇。
对于每一个类簇,重新计算该类簇的中心。
问题2:K均值算法的优缺点是什么?如何对其进行调优?
答:受初值和离群点的影响每次的结果不稳定、结果通常不是全局最优而是局部最优解、无法很好地解决数据簇分布差别比较大的情况,不太适用于离散分类。优点是,计算复杂度接近线性。
调优方法
(1)数据归一化和离群点处理
(2)合理选择K值;手肘法、Gap Statistic
(3)采用核函数
问题3:针对K均值算法的缺点,有哪些改进的模型?
答:K均值算法的主要缺点如下。
(1)需要人工预先确定K值,且该值和真实数据分布未必吻合
(2)K均值只能收敛到局部最优,效果受到初始值影响
(3)易受到噪点的影响
(4)样本点只能被划分到单一的类中
改进的模型:
(1)K-means++ 算法
(2)ISODATA算法
当属于某个类别的样本过少时,去除该类别。当属于某个样本的类别的样本过多、分散度较大时,把该类别分为两个子类别。
问题4:证明K均值算法的收敛性?
答:K均值聚类的迭代算法实际上是一种最大期望算法,简称EM算法。EM算法解决的是在概率模型中含有无法观测的隐含变量情况下的参数估计问题。