一种基于改进kd树标记点选取的快速谱聚类方法技术

技术编号:20272846 阅读:32 留言:0更新日期:2019-02-02 03:46
本发明专利技术公开了一种基于改进kd树标记点选取的快速谱聚类方法。本发明专利技术首先利用改进的kd树方法在数据集中选取标记点,然后依据标记点建立数据之间的相似矩阵,最后使用了一种深度自编码代替了传统的对拉普拉斯矩阵进行特征分解的降维方法。在实验中,我们证明了我们提出的方法的优越性,在大规模数据集中,此算法在准确度与经典谱聚类算法基本一致的情况下大大提高了聚类速度。

【技术实现步骤摘要】
一种基于改进kd树标记点选取的快速谱聚类方法
本专利技术涉及数据挖掘下的聚类领域,特别涉及一种基于改进kd树标记点选取的快速谱聚类方法。
技术介绍
谱聚类来源于图论中的最小切割问题。如果把数据集表示成图,每一个数据点作为图的顶点,连结顶点的边表示相邻顶点间的相似性。那么谱聚类的过程就是通过切割相似度最小的边将相似图分为几个子图,使得子图内相似性最大子图间相似性最小。谱聚类对高维的小规模数据聚类效果非常好,这是因为它独有的将拉普拉斯矩阵进行特征分解的步骤。然而,这个特征分解步骤的计算复杂度很高(为O(n3),n是数据点的数量)。因此,将谱聚类用于处理大规模数据很不现实。为了解决这个问题,前人研究出了许多改进方法。这些算法的主要思想都是在数据集中选取一定数量的标记点,然后计算这些标记点间的相似性,然后将标记点与全部数据点之间建立一定的联系,将结果推广到全部数据点中。Nystrom方法就是用标记点采样从邻接矩阵中抽取出样本列,它的满矩阵是用在标记点和其他点之间的相关关系来近似的。有人采用随机选取以及求取k-means聚类中心的方法来确定标记点,然后将所有的数据点分配给距离最近的标记点。在这些标记点上进行谱聚类后将每个数据点分配给他们对应的标记点所属的类。还有人在数据集中选择p个标记点然后计算所有点和这些标记点的相似性并建立一个的矩阵。然后整个矩阵的特征向量由这个矩阵的特征分解来近似。它的结果接近于在n个数据点上进行谱聚类的结果,但是计算时间却少得多。训练一个自编码器要比特征分解快得多,因为它很容易并行化。但是神经网络的输入层的大小等于数据点的数量,随着n的增长,整个网络会急剧扩大。因此,将此结构用于大型数据集是不可行的。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于改进kd树标记点选取的快速谱聚类方法,本专利技术的总体复杂度是O(np+nd),实现了快速而准确的聚类。为实现上述目的,本专利技术提供以下的技术方案:一种基于改进kd树标记点选取的快速谱聚类方法,包括如下步骤:步骤一、输入有n个数据点的数据集X=(x1,x2.....xn),运用改进的KD树选取标记点的方法从X中选取p个标记点,记为{m1,m2,......mp};m表示子块中心点;步骤二、计算所有数据点与标记点之间的相似度,将他们存放在矩阵W中;步骤三、计算度矩阵;步骤四、计算自编码器的输入S;步骤五、用S作为输入训练自编码器;步骤六、在训练好的自编码器的隐藏层中进行k-means聚类。进一步的改进,改进的KD树选取标记点的方法步骤如下:数据集X中有n个数据点;计算数据集X每一维的方差,依次选取前y个方差最大的维度为整个数据集的划分方向;划分方向后的左右子树节点数量按如下方法确定:若要从含有n个数据点的数据集为X=(x1,x2.....xn)中选取p个标记点,由于标记点为分子块后的数据中心点,即将n个数据点分成p块,每一个子块的数据点个数u为n与p的商,因为数据点个数为整数,将商向下取整,记为:这样划分方向后的左、右子树分别含有的子块数与u的积即分别为左、右子树的节点数目;子块划分的方法如下:限定2y≤p≤2y+1,那么首先限定左子树的子块数为v左=2y个,则右子树的子块个数为v右=p-2y个;然后每一次划分时,将左子树进行平均分,右子树按照上述方法再进行分割,限定2y′≤v右≤2y′+1,那么个子块,个子块,如此循环往复,直至划分为左右节点都为一个子块;最终计算每个子块中数据点的平均值m作为子块中心点,子块中心点的集合P即为选取的标记点,记为P={m1,m2,.....mp},(p<<n)。进一步的改进,所述步骤二步骤如下:用取得的p个标记点与全部数据点之间的相似度表示出一个长度为n的特征向量:所取得的p个标记点为{m1,m2,......mp}(p<<n)然后,计算所有数据点与P个标记点之间的相似度并构造一个p×n的相似矩阵W;使用高斯核函数来计算两点之间的相似性:ωij;i表示第i行,j表示第j列;xi表示数据集中的第i个数据点;其中,σ为数据点和标记点之间距离的中值;保证相似度的值在区间[0-1]之间;W的每一列被表示为wj,代表原始数据集X中的一个点和所有标记点之间的相似度;构造矩阵W时间复杂度是O(npd),d表示特征的数量。进一步的改进,所述步骤三如下:构造拉普拉斯矩阵:定义矩阵M=WTW,基于这个定义;M依然是所有数据的相似矩阵;由于mij=wiTwj,mij表示相似矩阵M中第i行第j列的值;wi表示矩阵W的第i行;dii=∑imij=∑iwiTwj,dii表示度矩阵对角线上的元素数值;则其中ws是一个p×1的向量,它的第k个列元素是W的第k行的所有元素之和;因此,D可以被写成:D=diag(WTws);D表示对角矩阵;最后我们定义拉普拉斯矩阵为:Lnorm=D-1/2MD-1/2=D-1/2WTWD-1/2,Lnorm表示拉普拉斯矩阵;步骤三、拉普拉斯矩阵的前k个最小特征值对应的特征向量f,将各自对应的特征向量f组成的矩阵按行标准化,最终组成n×k维的特征矩阵F。具体实施方式下面详细说明本专利技术基于改进kd树标记点选取的快速谱聚类方法的优选实施方式。输入:有n个数据点的数据集输出:将数据集分为k类1.运用改进的KD树选取标记点的方法从X中选取p个标记点,记为2.计算所有数据点与标记点之间的相似度,将他们存放在矩阵W中。3.计算度矩阵4.计算自编码器的输入S,5.用S作为输入进行训练自编码器6.在训练好的自编码器的隐藏层中进行k-means聚类。使用的自编码说明本文中自编码器的输入为S=WD-1/2。训练自编码器的目标函数是S的重建误差。将自编码器训练好之后我们获得了潜在空间中所有数据点的表示,因此就可以在降维后的数据空间也就是自编码的隐藏层上运行k-means聚类,得到聚类结果。同样,我们不需要计算S=WD-1/2,我们可以单纯的将D-1/2中的每一个对角线元素与W的相应列相乘,即如上所述,训练自动编码器的目标函数是将网络输入输出之间的欧式距离最小化,也就是S和S′,如果每层的隐藏单元的数量是p,最有效的方法是使用反向传播机制和mini-batch梯度下降法训练神经网络。与特征分解问题不同,训练阶段可以采用分布式的方法,大大缩短了计算时间。试验本专利技术的快速聚类方法,实验中的所有代码都是在MATLABR2015b中实现的,运行在Windows8上,CPU为2.60GHzi7-4720HQ,16gb主存。数据集描述:数据集数据点个数属性个数类别数USPS929825610Protein243873573Connect-4675571263MINTIST70000784410实验在4个大数据集上进行,包括手写数字(即MNIST和USPS)、分子生物学(protein)、connect-4game。所有数据集的详细信息如表1所示。性能指标:对所有的方法,聚类结果使用准确性(ACC)进行评价。我们将所有方法运行10次,并记录平均结果和运行时间。其中TP表示将正类预测为正类数,TN:表示将负类预测为负类数FP:表示将负类预测为正类数,FN:表示将正类预测为负类数为了证明本专利技术方法的优越性,我们选择将本专利技术的本文档来自技高网
...

【技术保护点】
1.一种基于改进kd树标记点选取的快速谱聚类方法,其特征在于:包括如下步骤:步骤一、输入有n个数据点的数据集X=(x1,x2.....xn),运用改进的KD树选取标记点的方法从X中选取p个标记点,记为{m1,m2,......mp};m表示子块中心点;步骤二、计算所有数据点与标记点之间的相似度,将他们存放在矩阵W中;步骤三、计算度矩阵;步骤四、计算自编码器的输入S;步骤五、用S作为输入训练自编码器;步骤六、在训练好的自编码器的隐藏层中进行k‑means聚类。

【技术特征摘要】
1.一种基于改进kd树标记点选取的快速谱聚类方法,其特征在于:包括如下步骤:步骤一、输入有n个数据点的数据集X=(x1,x2.....xn),运用改进的KD树选取标记点的方法从X中选取p个标记点,记为{m1,m2,......mp};m表示子块中心点;步骤二、计算所有数据点与标记点之间的相似度,将他们存放在矩阵W中;步骤三、计算度矩阵;步骤四、计算自编码器的输入S;步骤五、用S作为输入训练自编码器;步骤六、在训练好的自编码器的隐藏层中进行k-means聚类。2.如权利要求1所述的基于改进kd树标记点选取的快速谱聚类方法,其特征在于:改进的KD树选取标记点的方法步骤如下:数据集X中有n个数据点;计算数据集X每一维的方差,依次选取前y个方差最大的维度为整个数据集的划分方向;划分方向后的左右子树节点数量按如下方法确定:若要从含有n个数据点的数据集为X=(x1,x2.....xn)中选取p个标记点,由于标记点为分子块后的数据中心点,即将n个数据点分成p块,每一个子块的数据点个数u为n与p的商,因为数据点个数为整数,将商向下取整,记为:这样划分方向后的左、右子树分别含有的子块数与u的积即分别为左、右子树的节点数目;子块划分的方法如下:限定2y≤p≤2y+1,那么首先限定左子树的子块数为v左=2y个,则右子树的子块个数为v右=p-2y个;然后每一次划分时,将左子树进行平均分,右子树按照上述方法再进行分割,限定2y′≤v右≤2y′+1,那么个子块,个子块,如此循环往复,直至...

【专利技术属性】
技术研发人员:邱云飞王秋涵
申请(专利权)人:辽宁工程技术大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1