首页> 中国专利> 一种基于t-SNE算法的数据降维方法及装置

一种基于t-SNE算法的数据降维方法及装置

摘要

本发明提供一种基于t‑SNE算法的数据降维方法及装置。所述方法包括:计算任意两个高维数据间的欧氏距离d(xi,xj);将所有d(xi,xj)按照从小到大的顺序排列后分组,并分别为每个组别设置一个从小到大的加权系数;对所述欧氏距离进行加权,利用加权后的欧氏距离计算高维空间数据的联合分布pij,得到低维空间数据的联合分布;基于KL散度构建目标函数,利用梯度下降法求解低维空间数据yi、yj的最优解。本发明基于改进的t‑SNE算法,通过对欧氏距离分组加权,使高相似程度的样本数据的相似程度变得更高,使低相似程度的样本数据的相似程度变得更低,降维后的低维样本能够更好地反映高维空间内样本的空间分布情况。

著录项

说明书

技术领域

本发明属于数据降维技术领域,具体涉及一种基于t-SNE算法的数据降维方法及装置。

背景技术

随着科学技术的发展进步,尤其是大数据时代的到来,数据规模和复杂性逐渐增加,数据维数通常可达到成百上千维,甚至更多。但通常所使用的高维数据中包含很多冗余数据和噪声数据,很难从数据中直接观察到数据的分布和特征。因此,对高维数据进行可视化降维,有利于提取出高维空间中数据的特征分布。

传统的降维方法主要采用线性方法对数据进行降维,如主成分分析法PCA、非负矩阵分解法NMF等。但是这些传统的线性降维方法很难准确地表示内部结构为非线性的数据。为此,在过去的几十年里,出现了很多非线性降维算法,如等度量映射法ISORRAP、局部线性嵌入法LLE和随机相邻嵌入法SNE等。t分布式相邻嵌入法t-SNE是SNE算法的一种改进算法,该算法是一种保持数据点之间距离的非线性映射方法,当将高维空间数据点维数降到低维空间时,保存内部结构和全局结构信息。t-SNE算法的不足是,在降维过程中对于相关性或相似程度不同的数据样本不加区别地一律相待,降维后的低维样本不能很好地反映高维空间内样本的空间分布情况。

发明内容

为了解决现有技术中存在的上述问题,本发明提供一种基于t-SNE算法的数据降维方法及装置。

为了实现上述目的,本发明采用以下技术方案。

第一方面,本发明提供一种基于t-SNE算法的数据降维方法,包括:

计算任意两个高维数据x

将所有d(x

对所述欧氏距离进行加权,利用加权后的欧氏距离计算高维空间数据x

基于KL散度构建目标函数,利用梯度下降法求解低维空间数据y

进一步地,所述两个高维数据x

式中,x

更进一步地,x

式中,p

更进一步地,y

式中,d(y

更进一步地,所述目标函数C为:

式中,KL为K-L散度。

进一步地,所述方法在计算d(x

式中,

第二方面,本发明提供基于t-SNE算法的数据降维装置,包括:

欧氏距离计算模块,用于计算任意两个高维数据x

欧氏距离分组模块,用于将所有d(x

概率分布计算模块,用于对所述欧氏距离进行加权,利用加权后的欧氏距离计算高维空间数据x

最优解求解模块,用于基于KL散度构建目标函数,利用梯度下降法求解低维空间数据y

进一步地,所述两个高维数据x

式中,x

更进一步地,x

式中,p

更进一步地,y

式中,d(y

与现有技术相比,本发明具有以下有益效果。

本发明通过计算任意两个高维数据x

附图说明

图1为本发明的实施例一种基于t-SNE算法的数据降维方法的流程图。

图2为本发明的实施例一种基于t-SNE算法的数据降维装置的方框图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一种基于t-SNE算法的数据降维方法的流程图,包括以下步骤:

步骤101,计算任意两个高维数据x

步骤102,将所有d(x

步骤103,对所述欧氏距离进行加权,利用加权后的欧氏距离计算高维空间数据x

步骤104,基于KL散度构建目标函数,利用梯度下降法求解低维空间数据y

本实施例的降维方法是t-SNE算法的一种改进算法,在介绍本实施例技术方案之前先介绍一下t-SNE算法的原理。t-SNE算法要对每个数据点近邻的分布进行建模,其中近邻是指相互靠近数据点的集合。在原始高维空间中,将高维空间建模为高斯分布;而在低维输出空间中,可以将其建模为t分布。该过程的目标是找到将高维空间映射到低维空间的变换,并且最小化所有点在这两个分布之间的差距。与高斯分布相比t分布有较长的尾部,这有助于数据点在低维空间中更均匀地分布。t-SNE算法包括以下步骤:先计算出两个数据样本在高维空间中的高斯核函数(即欧氏距离的负指数函数),再根据高维空间中的高斯核函数进行高维相似性度量,高维相似性主要由高维空间内的任意两点之间的条件概率计算其高维空间的联合概率。再通过随机选取低维空间内的样本点,计算低维空间联合概率,进行高维低维联合概率的一一匹配,衡量高低维之间的相似性程度,采用使用KL散度(Kullback-Leiblerdivergence)通过梯度下降法进行寻优计算。t-SNE算法存在的问题是,基于欧氏距离计算高维空间内的任意两点之间的条件概率时,对不同大小的欧氏距离没有进行区分对待,使降维后的低维样本不能很好地反映高维空间内样本的空间分布情况。

本实施例中,步骤101主要用于计算任意两个高维数据x

本实施例中,步骤102主要用于对上一步求得的欧氏距离进行加权。先将所有d(x

本实施例中,步骤103主要用于计算高、低维空间数据的联合分布。先对所述欧氏距离进行加权;然后利用加权后的欧氏距离基于高斯核函数计算任意两个数据点之间的条件概率,进而得到高维空间的联合概率;最后基于t分布得到低维空间的联合概率。

本实施例中,步骤104主要用于求解低维空间数据的最优解。步骤104的实现方法与t-SNE算法完全相同,tSNE采用KL散度来构建目标函数,通过梯度下降的方法来求输入数据对应的低维表达式,通过迭代后选出降维后的最优解。

作为一可选实施例,所述两个高维数据x

式中,x

本实施例给出了计算两个高维数据欧氏距离的计算公式。上式中,N为高给数据的维度,当N=2时,上式即是平面上任意两点之间的距离公式;当N=3时,上式变成了三维空间内任意两点之间的距离公式。

作为一可选实施例,x

式中,p

本实施例给出了计算高维空间任意两点x

作为一可选实施例,y

式中,d(y

本实施例给出了低维空间任意两个数据y

作为一可选实施例,所述目标函数C为:

式中,KL为K-L散度。

本实施例给出了本算法目标函数的表达式。目标函数仍然是采用tSNE算法中的目标函数,所不同的是,这里高维空间的概率分布p

作为一可选实施例,所述方法在计算d(x

式中,

本实施例给出了对欧氏距离进行归于化处理的一种技术方案。由于欧氏距离的大小相差很大,如果不进行归一化处理,将不便于分组和加权系数的分配。因此,在计算完任意两点之间的欧氏距离后,要先对其进行归一化处理,然后再进行分组和加权等后续步骤。根据上面的归一化公式,当d(x

图2为本发明实施例一种基于t-SNE算法的数据降维装置的组成示意图,所述装置包括:

欧氏距离计算模块11,用于计算任意两个高维数据x

欧氏距离分组模块12,用于将所有d(x

概率分布计算模块13,用于对所述欧氏距离进行加权,利用加权后的欧氏距离计算高维空间数据x

最优解求解模块14,用于基于KL散度构建目标函数,利用梯度下降法求解低维空间数据y

本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。后面的实施例也是如此,均不再展开说明。

作为一可选实施例,所述两个高维数据x

式中,x

作为一可选实施例,x

式中,p

作为一可选实施例,y

式中,d(y

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号