1.聚类
监督学习:发现数据属性和类别属性之间的关联模式,并通过利用这些模式来预测未知数据的类别属性
无监督学习:数据没有目标属性,发现数据中存在的内在结构及规律
无监督学习中研究最多,应用最广的是聚类,常见的无监督学习任务还有密度估计,异常检测等。
聚类是一种发现数据中的相似群的技术,聚类是一个将数据集中某些方面相似的数据成员进行分类组织的过程。一个聚类就是一些数据实例的集合,这个集合中的元素彼此相似,与其它聚类中的元素不同。
聚类既可以作为一个单独过程,用于寻找数据内在的分布结构,也可以作为分类等其它学习任务的前驱过程。
实例1:在营销学中,对客户进行分割,为每组客户指定一个营销策略,也是采用聚类完成
实例2:在生物学上,聚类能用于推导植物和动物的分类,对基因进行分类,获得对种群固有结构的认识
事实上,聚类是数据挖掘技术中应用最广泛的技术之一。
聚类算法分为:
1.原型聚类
2.层次聚类
3.密度聚类
**距离函数(相似性或相异性):**度量两个数据点的相似程度
聚类的评价方式:
1.类内差异(聚类内部距离):最小化
2.类间差异(聚类外部距离):最大化
2.原型聚类
原型聚类亦成“基于原型的聚类”,此类算法假设聚类结构能通过一组原型刻画,在现实聚类任务中极为常用,算法首先对原型进行初始化,然后进行迭代更新求解,采用不同的原型表示,不同的求解方式将产生不同的算法。几种著名的原型聚类算法包括K均值算法,学习向量量化算法,高斯混合聚类算法。
**K均值算法:**给定样本集,K均值算法针对聚类所得簇划分最小平方误差,平方误差刻画了簇内样本围绕均值向量的紧密程度,平方误差值越小则簇内样本相似度越高。但是要找到平方误差的最优解需要考察样本集中所有可能的簇划分。因此K均值算法采用了贪心策略,通过迭代优化来近似求解平方误差。
为避免运行时间过长,通常设置一个最大运行轮数或最小调整幅度阈值,若达到最大轮数或调整幅度小于阈值则停止运行。K均值算法仅在凸行簇结构上效果较好(凸行簇结构即“椭球”簇结构)
学习向量量化算法(LVQ):
与K均值算法类似,学习向量量化也是试图找到一组原型向量来刻画聚类结构,但与一般聚类算法不同的是LVQ假设数据样本带有类别标记,学习过程利用样本这些监督信息来辅助聚类。
LVQ算法如下:每个原型向量代表一个聚类簇,两个原型向量可以代表同一个簇。算法先对原型向量初始化,例如可以对第q个簇,可以从对应的同类别样本中随机选取一个作为原型向量,在每一轮迭代中算法随机选取一个有标记训练样本,找出与其距离最近的原型向量,根据两者的类别标记是否一致来对原型向量进行相应的更新(若类别相同,向该样本方向靠拢,距离减小,否则增大)。若算法的停止条件已满足则将当前原型向量作为最终结果返回。
高斯混合聚类:
与K均值,LVQ用原型向量来刻画聚类结构不同,高斯混合聚类采用概率模型来表达聚类原型。
高斯混合聚类的基本假设是样本的生成过程由高斯混合分布给出的,也就是说有若干个高斯分布,每个分布对应一个被选择的概率,基于这个被选择的概率和若干分布产生样本。如果能知道每个样本由哪个高斯分布产生的,就知道这个样本属于哪个簇了。所以聚类问题转化为判断样本由哪个高斯分布产生。
具体来说如果选择每个混合成分的先验概率和每个混合成分产生每个样本概率,要求的是给定样本属于每个混合成分的后验概率,选择后验概率最大的那个作为样本的簇。但其实已知条件不足,两个概率都是未知的,需要进行参数估计,可采用极大似然估计法。
3.密度聚类
密度聚类亦称“基于密度的聚类”,此类算法假设聚类架构能通过样本分布的紧密程度确定。通常情况下密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终结果。
4.层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构,数据集的划分可采用“自底向上”的聚合策略也可采用“自顶向下”的分析策略。
AGNES是一种采用自底向上聚合策略的层次聚类算法,它先将数据集中的每个样本看作一个初始簇,然后在算法运行每一步找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数,这里的关键是如何计算聚类簇之间的距离。每个簇是一个样本集合,因此只需采用集合的某种距离即可。
显然最小距离由两个簇的最近样本决定,最大距离由两个簇最远样本决定,而平均距离则由两个簇所有样本共同决定。
和AGNES相反,DIANA是采用自顶向下的分拆策略,AGNES和DIANA都不能对已合并或已分拆的聚类簇进行回溯调整。