一种基于测地线覆盖的非线性降维算法的制作方法

文档序号:14940830发布日期:2018-07-13 20:42阅读:170来源:国知局

本发明属于机器学习领域,具体涉及流形学习中的一种基于测地线覆盖的非线性降维算法。



背景技术:

随着互联网技术的发展,每秒钟都会产生大量各种各样的数据,比如文本、图像、视频、语音、遥感、气候、金融、基因等数据,在很多实际场景下,这些数据都是高维的。然而,由于高维数据容易引发“维数灾难”等问题,使得很难高效率地处理这些数据,并且会消耗大量的计算资源。数据降维的目的就是在保持原始数据的主要特征的前提下,把高维数据投影到低维空间上。降维技术在很多领域都扮演着重要的角色,比如模式识别、机器学习等等。

流形学习作为数据降维技术的一个重要分支,由于其独特的特点,使其越来越受关注。为了满足各种不同领域的要求,有很多的流形学习方法都已经被提出,然后很多方法的性能都不够理想,因为存在一些问题,比如不能很好地保持数据的主要特征,或者是处理效率太低。为了更好地阐述这些问题,下面将解释两种代表性的流形学习方法:局部线性嵌入(locallylinearembedding,简称lle)、等距映射(isometricmapping,简称isomap)。

流形学习是基于假设输入数据点是从光滑的低维流形中采样得到的,通常利用近邻点构成的领域图来近似地计算数据之间的位置关系。对于给定的数据,在欧式空间使用k近邻算法就可以得到领域图,通过领域图和测地线便可以得到两点之间的测地距离。每一种流形学习方法其实归根接地都是试图在低维空间保持数据之间的几何特性。

lle算法是试图在降维的过程中保持局部领域结构,是基于局部线性保形映射思想。lle首先是通过每个样本点的领域分别学习一组线性参数,这些参数要能通过领域重构出原样本点。然后在低维空间保持这些参数,从而得到高维数据的低维嵌入。在信息处理的许多应用中,局部信息有时比全局信息更为有效,还具有良好的表达能力,即当全局结构为非欧氏空间的情况下,局部几何结构接近于欧氏空间。因为只包含多项式数量级的稀疏矩阵运算,所以在计算量上有优势。但是,该方法也存在着一些应用限制,例如:对参数和外界噪声过于敏感、处理分布稀疏的数据集时降维性能失效。

isomap算法的思想不同于lle算法,isomap算法试图在目标空间保持高维空间的全局信息,特别地,它需要在目标空间保持所有样本点两两之间的测地距离。isomap算法在降维效果上表现得更加稳定,这是由于在目标函数优化过程中保持了全局信息。然而,由于要计算所有样本点两两之间的测地距离,所以isomap算法需要消耗大量的计算时间。另外,在目标空间保持所有样本点两两之间的测地距离对实际场景往往是要求太高了,给计算过程带来了没必要的额外资源消耗。



技术实现要素:

本发明的目的在于提出了一种基于测地线覆盖的非线性降维算法。测地线的寻找方法不但对计算效率产生着重大的影响,也对降维效果的好坏起着直接的作用,为此,本发明首先提出一种“放射型最短路径覆盖算法”,该算法可以高效地对高维数据样本点集进行测地线覆盖,从而把点集化成测地线集合,然后基于测地线对高维数据进行降维。降维过程遵循两个规则,第一个规则是测地线上的任意两点间的测地距离在低维空间要保持,第二个规则是测地线在低维空间可以看做是一条直线。降维算法的基本思想是每条测地线上的点相对于该测地线的起点都有一个预测值,把预测值和低维空间未知的真实值之间的误差累加起来,根据平方误差和最小原则,从而达到降维的效果。本发明具体内容如下:

1、“放射型最短路径覆盖算法”。该算法在每次迭代过程中会返回一条或者多条测地线,如果返回的是多条测地线,这多条测地线会构成放射型结构,即起点公共,而其余部分均不相交,整体结构呈中心放射型。可以看出,每次迭代都要从众多的测地线中筛选出合适的测地线,筛选过程用到的三个原则如下:

①筛选原则:测地线的长度在5到n/20之间,n表示样本点的总量;

②排序原则:第一步把所有测地线按样本点数排序,样本点数依次递减;第二步样本点数如果相同,则按与r的相交点的个数排序(其中r表示未被覆盖的点的集合),相交点数越多排得越前;

③取线原则:从头到尾遍历排序后的测地线集合集合,构成放射型结构,比如先取出第一条测地线,

算法的操作步骤是首先利用k近邻算法构建领域图,然后在每次迭代过程中,随机从r中选择一个点作为起点s,根据dijkstra算法,找出从点s到r中的其他点的所有侧地线,接着按照筛选原则,筛选出的测地线构成一个新的集合,记为t,然后对t中的测地线根据排序原则进行排序,再按取线原则取出测地线,形成集合p,从r中移除被p覆盖的点,并把p中的测地线放进总集合ω中,再进行下一次迭代,直到r为空;当r为空时,再把ω里的每条测地线的中点以及终点放到r中,再次进行迭代,更新ω和r,直到r又变为空。

2、一种非线性降维算法。通过“放射型最短路径覆盖算法”得到的每条测地线降到低维空间都可以看作是一条直线,并且是具有起点和方向的。对于第p条测地线,其起点就是该测地线的第一个占方向就是最后一个点和第一个点之间的单位向量,若用dgeo(xi,xj)表示样本xi和样本xj之间的测地距离,则第p条测地线上的第i个点相对于起点的预测值可以表示为

进一步化简可以得到

其中是选择行向量。

若对于点xi都|ii|条测地线经过,则低维空间对应的yi就有|ii|个预测值,这些预测值应该都是与yi重合的,从而根据平方误差和最小化原则构建误差函数如下:

经推导,可得算法最终的目标函数为

其中si是选择行向量。上式y可能有多个解,为了避免平凡解,上式通常以瑞利商求解,即令yyt=id,对特征值分解,取前d个最小非零特征值所对应的特征向量,即可求得样本点在低维流形中的嵌入坐标。

本发明的特点及其意义:

(1)具有简单性的特点。模型构造简单,物理意义直观,计算复杂度较小。

(2)具有较好的适用性。在人工合成数据集和现实数据集上,都能取得比较理想的实验结果。

附图说明

图1是本发明基于测地线覆盖的非线性降维算法的操作流程图。

具体实施方式

如附图所示,一种基于测地线覆盖的非线性降维算法,包括以下内容:

设x=[x1…xn]∈rd×n表示一组高维数据样本点集,其映射到低维空间中的样本点集为y=[y1…yn]∈rd×n,其中:d为高维空间的维数;d(d<<d)为低维空间的维数;x为高维数据模型的输入,是高维空间rd×n中的n个d维实数列向量;y为高维数据映射到低维空间中的输出样本集,是低维空间rd×n中的n个d维实数列向量。

使用k近邻方法,求出每个样本点的k近邻,构建测地距离矩阵d,d中的值如下:若样本点xi和xj互为近邻点,则d(i,j)=d(j,i)=d(xi,xj),其中d(xi,xj)表示xi和xj之间的测地距离;若不为近邻点,则d(i,j)=d(j,i)=inf,其中inf表示无穷大。根据矩阵d和测地线,就可以求出任意测地线上两点的测地距离,如设样本点xi和xj互不为近邻点,若在同一条测地线上,样本点xi、xk和xj为连续的三个点,则d(i,j)=d(j,i)=d(i,k)+d(k,j)。

接着提出“放射型最短路径覆盖算法”对高维空间的样本点进行测地线覆盖。该算法会用到三个原则,定义分别如下:

④筛选原则:测地线的长度在5到n/20之间,n表示样本点的总量;

⑤排序原则:第一步把所有测地线按样本点数排序,样本点数依次递减;第二步样本点数如果相同,则按与r的相交点的个数排序(其中r表示未被覆盖的点的集合),相交点数越多排得越前;

⑥取线原则:从头到尾遍历排序后的测地线集合集合,构成放射型结构,比如先取出第一条测地线,保存到新集合p中,接着取出第二条测地线,判断第二条测地线除了起点外,是否与p中的测地线有相交,如没有相交,则把第二条测地线加入到p中,如相交,则舍弃;按此规则,直到把集合遍历完;

每次迭代,随机从r中选择一个点作为起点s,从点s使用dijkstra算法找到到r中的其他点的所有侧地线,然后按照筛选原则,把筛选出的测地线构成一个新的集合,记为t,然后对t中的测地线根据排序原则进行排序,再按取线原则取出测地线,形成集合p,从r中移除被p覆盖的点,并把p中的测地线放进总集合ω中,再进行下一次迭代,直到r为空;当r为空时,再把ω里的每条测地线的中点以及终点放到r中,再次进行迭代,直到r又变为空;

“放射型最短路径覆盖算法”把高维样本从点集化成测地线集合ω,测地线投映到低维空间遵循两个规则,第一个规则是测地线上的任意两点间的测地距离在低维空间要保持,第二个规则是测地线在低维空间可以看做是一条直线。设第p条测地线可以表示为则xi映射到低维空间中且以第p条测地线的第一个点作为起点的预测值为其中p=1,2,…,|ii|,表示之间的测地距离;因为第p条测地线在低维空间中可以看做是一条直线,所以第p条测地线的方向可以由起点和终点表示为因此得到:

其中是选择行向量。

若样本点xi有|ii|条测地线通过,则低维真实值yi就有|ii|个预测值,这些预测值和真实值应该是无限靠近的,因此可以得到单个样本的误差又因为总共有n个样本,故总的误差为

又因为

其中si是选择行向量故算法最终的目标函数为

上式y可能有多个解,为了避免平凡解,上式通常以瑞利商求解,即令yyt=id,对特征值分解,取前d个最小非零特征值所对应的特征向量,即可求得样本点在低维流形中的嵌入坐标。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1