利用聚类降维的思想
将样本聚类成K个簇,例如k=6,再对其进行one-hot编码这样就将原来mn的样本数据转换成了m6的形式,形成了降维
当p=1时,曼哈顿距离:|x1-x2|+|y1-y2|
p=2,欧氏距离
p=无穷大,切比雪夫距离,|x1-x2|,|y1-y2|谁最大,谁就是距离对应的值
杰卡德相似系数
例如推荐系统,根据A集合购买的商品,推荐B、C2个集合的商品,如何衡量B、C集合推荐的好坏,用杰卡德相似系数
向量空间余弦相似度(Cosine Similarity)
余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。
欧氏距离和余弦距离各自有不同的计算方式和衡量特征,因此它们适用于不同的数据分析模型:
欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异。
余弦距离更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题(因为余弦距离对绝对数值不敏感)。
正因为余弦相似度在数值上的不敏感,会导致这样一种情况存在:
用户对内容评分,按5分制,X和Y两个用户对两个内容的评分分别为(1,2)和(4,5),使用余弦相似度得到的结果是0.98,两者极为相似。但从评分上看X似乎不喜欢2这个 内容,而Y则比较喜欢,余弦相似度对数值的不敏感导致了结果的误差,需要修正这种不合理性就出现了调整余弦相似度,即所有维度上的数值都减去一个均值,比如X和Y的评分均值都是3,那么调整后为(-2,-1)和(1,2),再用余弦相似度计算,得到-0.8,相似度为负值并且差异不小,但显然更加符合现实。
K-means的初始值的取法改进(以概率化形式抽样):假设分成4个簇,要给4个初始值,x1,随机给,然后计算其余样本到x1的距离,距离的大小作为抽取的概率值大小,距离越大样本点的选作x2的概率越大,x3,计算其余样本与x2的距离
k-means目标函数
k-means前提,样本符合高斯分布,各个高斯分布方差相同
聚类簇数的选择
怎样选择聚类的簇的个数? x轴为簇的个数,y轴为损失值,若簇数为N,则mse=0,若簇数为1,则mse=方差。当损失值下降趋于平缓时拐点处的K值可以作为聚类的簇的个数。
聚类结果衡量
层次聚类
密度聚类
局部密度算法:给定一个半径dc,dij是指导对象i的距离,x(dij-dc)为到对象i的距离小于dc的对象的个数,个数越多,密度越大
高斯核相似度:给距离加权值,离i距离越近的给的权值越大
K近邻均值:取离i距离最近的前K个距离的均值作为密度
高局部密度点距离:计算每个样本点的密度,pi,比pi密度大的点高点i的距离里取最小值
pi大,δi也大的点就是簇中心;
**该方法用于寻找聚类中心,找到中心后再使用其他聚类方法(dbscan)完成后续步骤
谱聚类
谱聚类是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量进行聚类,从而达到对样本数据聚类的母的。谱聚类可以理解为将高维空间的数据映射到低维,然后在低维空间用其它聚类算法(如KMeans)进行聚类。
谱聚类 ( spectral clustering ) 是从图论中演化出来的算法,后来在聚类中得到了广泛的应用。它的主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高。通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。
wij:高斯相似度,是一个N*N的矩阵,第i行的w相加就是di(第i个样本的度);L=D-W,
求L的特征向量,特征值,求前K小的特征值所对应的特征向量所形成的矩阵,对其做K均值聚类,得到结果
##谱聚类的参数
δ,k,K的确定可以参考特征值的肘状图