论文部分内容阅读
作为一种重要的数据研究方法,聚类在各个领域都有着良好的应用前景。聚类算法能够根据数据集中各样本的特征,将样本划分到不同的簇中,并使簇内样本尽可能的相似,而不同簇内的样本尽可能的相异。通过聚类算法,我们可以快速地了解数据的内部结构,并找到每个簇内隐含的模式,在此基础上就可以对数据进行更进一步的分析。非负矩阵分解是一种流行的聚类算法,它能够将输入矩阵近似分解为一个非负基矩阵和一个非负表示矩阵。由于参与运算的元素都是非负的,可以用来处理图像数据、基因表达数据、光谱数据等,因此该算法具有很高的实用价值。非负约束也保证了输入矩阵中的每个列向量都被表示为基矩阵中基向量的非负线性组合,反应了其将整体映射到局部的特点。但非负矩阵分解算法还存在一些不足:1.基矩阵的产生没有考虑到数据本身可能存在的流形结构;2.在单一的非负约束下,产生的基向量间可能存在较强的关联性:3.只考虑数据整体上的关系,忽略了数据局部上的关系。为了解决上述的三个问题,本文着重研究了非负矩阵分解算法,并且对其做了一些改进,主要研究工作和成果如下:(1)针对基矩阵的产生没有考虑数据本身流形结构的问题,提出了基于密度峰值的多中心点非负矩阵分解算法。虽然局部中心结构的非负矩阵分解算法采用多个中心点来表示一个簇,提高了非负矩阵分解算法的表示能力,但仍然没有考虑数据本身的流形信息或结构信息,对于结构复杂的数据可能无法取得最优的聚类结果。为了克服这一问题,本算法先在数据集中找到多个密度峰值点,再将这些密度峰值点的非负线性组合作为簇中心点代入非负矩阵分解算法,并根据表示矩阵构造簇中心点与样本点的二部图,最终通过二部图完成聚类。我们将该算法应用到人脸识别和字符识别领域,实验结果表明本算法可以有效的掌握数据本身的结构,提高聚类效果。(2)针对单一非负约束下基向量间可能存在较强关联性的问题,提出了基于Dropout的深层半非负矩阵分解算法。由于非负矩阵分解中单一的非负约束无法保证学习到的基向量间是正交的、无重叠的,为了破坏基向量间的关联性,减少基向量间的冗余信息,本文提出了基于Dropout的半非负矩阵分解算法;为了引入数据本身的结构信息,本文结合第三章的密度峰值算法,根据中心点的密度以不同的概率对矩阵进行更新,提出了基于密度峰值和Dropout的半非负矩阵分解算法;为了提高算法的表示能力,结合深层模型,进一步提出了基于Dropout的深层半非负矩阵分解算法。我们将提出的算法应用到人脸识别和字符识别领域,实验表明我们提出的算法具备良好的解释性和优越的聚类性能。(3)针对忽略了数据局部关系的问题,提出了双向图正则的非负矩阵三分解算法。经典的聚类算法只考虑数据的整体关系,也就是样本间的关系,而忽略了数据的局部关系,也就是特征间的关系。为了能在参数优化时同时考虑数据整体和局部的关系,在非负矩阵分解算法的基础上,构造特征流形正则项和样本流形正则项,提出了双向图正则的非负矩阵三分解;为了提高算法对噪声和离群点的抗敏感性,我们用L2,p范数代替目标函数中的Frobenius范数,提出了双向图正则的鲁棒非负矩阵三分解;最后结合第四章的深层模型,提出了双向图正则的深层鲁棒非负矩阵三分解。