想比于监督学习,非监督学习的输入数据没有标签信息,需要通过算法模型来挖掘数据内在的结构和模式。非监督学习主要包含两大类学习方法:数据聚类和特征变量关联。其中,聚类算法往往是通过多次迭代来找到数据的最优分割,而特征变量关联则是利用各种相关性分析来找到变量之间的关系。
1 K均值聚类
支持向量机、逻辑回归、决策树等经典的机器学习算法主要用于分类问题,即根据一些已给定类别的样本,训练某种分类器,使得它能够对类别未知的样本进行分类。
与分类问题不同,聚类是在实现并不知道任何样本类别标签的情况下,通过数据之间的额内在关系把样本划分为若干类别,使得同类别样本之间的相似度高,不同类别之间的样本相似度低。
K均值聚类是最基础和最常用的聚类算法。基本思想是,通过迭代方式寻找K个簇的一种划分方案,使得聚类结果对应的代价函数最小。特别的,代价函数可以定义为各个样本距离所属簇中心点的误差平方和。
知识点:K均值聚类算法,ISODATA算法,EM算法
问题:简述K均值算法的具体步骤
K均值聚类的核心目标是将给定的数据集划分成K个簇,并给出每个数据对应的簇中心点。
问题:K均值算法的优缺点是什么,如何对其进行调优?
缺点:例如受初值和离群点的影响每次的结果不稳定、结果通常不是全局最优而是局部最优解、无法很好地解决数据簇分布差别比较大的情况(比如一类是另一类样本数量的100倍)、不太适用于离散分类等。
优点:对于大数据集,K均值聚类算法相对是可伸缩和高效的,它的计算复杂度是O(NKt)接近于线性,N是数据对象的数目,K是聚类的簇数,t是迭代的轮数。尽管算法经常以局部最优结束,但一般情况下达到的局部最优已经可以满足聚类的需求。
K均值算法的调优一般可从以下几个角度出发:
(1)数据归一化和离群点处理
K均值聚类本质上是一种基于欧式距离度量的数据划分方法,均值和方差大的维度将对数据的聚类结果产生决定性的影响,所以未做归一化处理和统一单位的数据是无法直接参与运算和比较。同时,离群点或少量的噪声数据就会对均值产生较大的影响,导致中心偏移,因此使用K均值聚类算法之前通常需要对数据做预处理。
(2)合理选择K值
K值得选择是K均值聚类最大的问题之一,这也是K均值聚类算法的主要缺点。
手肘法,认为拐点就是K的最佳值
手肘法是一个经验方法,缺点就是不够自动化。
Gap Statistic方法
(3)采用核函数
面对非凸的数据分布形状时,可能需要引入核函数来优化,这时算法又称为核K均值算法,是核聚类方法