密度聚类
密度聚类亦称“基于密度的聚类”,此类算法假设聚类结构能通过样本分布的紧密程度确定。通常情形下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。
DBSCAN是一种著名的密度聚类算法,它基于一组“领域”参数来刻画样本分布的紧密程度。
层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。
AGNES是一种采用自底向上聚合策略的层次聚类算法。它先将数据集中的每个样本看做一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。
给定聚类簇Ci与Cj,可通过下面的式子来计算距离:
在1--9行,算法先对仅含一个样本的初始聚类簇和相应距离矩阵进行初始化;然后再11--23行,AGNES不断合并距离最近的聚类簇,并对合并得到的聚类簇距离矩阵进行更新。
降维与度量学习
k邻近学习
k邻近(简称kNN)学习是一种常用的监督学习方法,其工作机制是:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。通常,在分类任务中可使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果;在回归任务中可使用“平均法”,即将这k个样本的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的样本权重越大。
通过推导,可以得出邻分类器虽然简单,但是它的泛化错误率不超过贝叶斯最有分类器的错误率的两倍。