聚类、降维与度量学习

版权声明:如需转载,请注明出处 https://blog.csdn.net/u010358304/article/details/81275716

聚类
簇内相似度高,簇间相似度低。
下式为闵可夫斯基距离

d i s t ( x i , x j ) = ( u = 1 n | x i u x j u | p ) 1 p

p = 1 时为曼哈顿距离;当 p = 2 时为欧氏距离。

但这样的计算方式只适合有序属性(“1与2”比“1与3”更进一下),对于无序属性,可以使用VDM距离,即两个属性值在各个样本簇上的分布差异。

聚类方法

  1. k-means
  2. 高斯混合聚类
  3. DBSCAN:密度聚类
  4. 层次聚类:自底而上聚合,例如AGNES,先将每个样本都看作初始聚类簇,然后每次将聚类最近的两个簇进行合并,直到达到预设的聚类簇个数。也可以采用自顶向下的拆分策略

降维的必要性
高维数据中很容易出现样本稀疏、距离计算困难等问题,即“维度灾难”,为了缓解维度灾难,常用的就是降维。因为数据样本虽然在高维空间中,但与学习任务相关的可能仅仅是一个低维分布,即高维空间的低维嵌入,所以能够进行降维。

常用方法:

  1. 特征值分解

  2. 主成分分析PCA:对样本进行中心化后,计算协方差矩阵,对协方差矩阵进行特征值分解,取最大的k个特征值对应的特征向量形成投影矩阵。

  3. 核化线性降维:前两者属于线性映射,但很多情况下高维到低维需要非线性映射才能找到恰当的低维嵌入,即采用核函数。
  4. 流形学习:Isomap(每个点计算其k近邻然后构成图,在图上使用dijkstra或是floyd来计算样本点之间的两两距离,形成的矩阵使用特征值分解,最后可以得到样本集在低维空间的投影);局部线性嵌入LLE。

度量学习
最普通的欧氏距离是每个特征维度上的差值平方和,如果不同属性的重要性不同,则可以引入属性权重,对应的距离可以表示为:

d i s t ( x i , x j ) = ( x i x j ) T W ( x i x j )

这里 W 为对角矩阵,代表每个维度的特征的权重,若更广泛地,引入特征之间的相关性,我们可以将 W 替换为一个半正定矩阵 M (保证距离非负且对称),得到马氏距离:
d i s t ( x i , x j ) = ( x i x j ) T M ( x i x j ) = | | x i x j | | M 2

度量学习即对矩阵 M 进行学习,从而提高近邻分类器的性能。最终的目标为
min M ( x i , x j ) M | | x i x j | | M 2

s . t . ( x i , x j ) C | | x i x j | | M 2 1 , M 0

其中 M 为相似样本pair集合, C 为不相似的样本pair集合。

猜你喜欢

转载自blog.csdn.net/u010358304/article/details/81275716