技术领域
[0001] 本文中所讨论的实施方式涉及例如用于分类的方法。
相关背景技术
[0002] 例如,为了认证用户,许多系统获取每个用户的生物信息,并且确定预先注册的数据库中是否存在与所获取的生物信息相一致的生物信息。认证时所获取的生物信息很少与注册时所获取的生物信息完全一致,因此相似性搜索是有效的。
[0003] 如下技术已经得到了发展,其中,当执行相似性搜索时,生物信息的特征值被转换成作为相似度的一种表达的散列向量,并且当生物信息的散列向量之间的汉明距离较小时,生物信息被识别为相似的生物信息。
[0004] 一些现有技术利用使用超平面将特征值转换为散列向量的处理,而其他现有技术利用使用超球面将特征值转换为散列向量的处理,使用超球面比使用超平面更有可能提高精度。
[0005] 例如,在下面的专利文献中描述了传统技术:
[0006] 日本早期公开专利公布No.10-247243;以及
[0007] 日本早期公开专利公布No.2009-133798。
[0008] 例如,在下面的非专利文献中描述了一些其他现有技术:
[0009] M.Datar,N.Immorlica,P.Indyk,V.S.Mirrokni,"Locality-Sensitive Hashing Scheme Based on p-Stable Distributions",Proceedings of the Twentieth Annual Symposium on Computational Geometry,SCG 2004;
[0010] Jae-Pil Heo,Youngwoon Lee,Junfeng He,Shih-Fu Chang,and Sung-Eui Yoon,"Spherical Hashing",In CVPR,pp.2957-2964,2012;以及
[0011] Kengo Terasawa and Yuzuru Tanaka,"Spherical LSH for Approximate Nearest Neighbor Search on Unit Hypersphere",In Frank K.H.A.Dehne,Jorg-Rudiger Sack,and Norbert Zeh,editors,WADS,Vol.4619of Lecture Notes in Computer Science,pp.27-38,Springer,2007。
[0012] 然而,难以使用特征值向量精确地执行相似性搜索,这是一个问题。
[0013] 假定调整投影点的位置以逆立体地将特征值数据仅投影到超球面S的朝向特征值空间的一侧的表面上。调整后,可以输入特征值数据。在这样的情况下,特征值数据也可以逆立体地被投影到超球面S的、穿过超球面S的与特征值空间相对的一侧的表面上,使得已经被逆立体投影的特征值数据之间可以出现无限远处的点的捷径。
[0014] 图29是用于解释无限远处的点的捷径的图。特征值空间V中无限远处的点被投影到超球面S的北极上的一个点。因此,例如,特征值空间V中离点Xo足够远的点p的逆立体投影使点p与超球面S上的点p'相关联;以及特征值空间V中的点q的逆立体投影使点q与超球面S上的q'相关联。这样的逆立体投影导致出现捷径。例如,在一些情况下,经过无限远点附近的路径10b比经过特征值空间V的原点附近的路径10a要短。这样的情况可以使得特征空间V中以距离10c彼此远离的点之间的距离比超球面S上的要小,并且因此可以减小点p与点q的位串之间的汉明距离。
[0015] 因此,本发明的实施方式的一个方面的目的是提供一种能够使用特征值向量精确地执行相似性搜索的用于分类的方法、设备和程序。
具体实施方式
[0047] 将参照附图对优选实施方式进行说明。需要注意的是,实施方式不限制本公开内容的权利范围。除非实施方式的处理的细节彼此相冲突,否则可以恰当地对实施方式进行组合。
[0048] [a]第一实施方式
[0049] 将使用图1对分类设备100的系统配置进行描述。图1是示出了根据本发明的第一实施方式的分类设备的系统配置的图。如图1的示例所示,分类设备100包括超平面计数存储单元121、特征值存储单元122、用于特征值空间的定义域的存储单元123、查询存储单元124和位串存储区132。每个存储单元对应于存储设备诸如半导体存储器设备(如随机存取存储器(RAM)、只读存储器(ROM)或闪速存储器)、硬盘或光盘。
[0050] 分类设备100还包括用于一般化逆立体投影的参数设置单元111、一般化逆立体投影单元112a、超平面布置单元113、转换规则生成单元114和位串生成单元115a。分类设备100进一步包括一般化逆立体投影单元112b、位串生成单元115b和汉明距离计算单元133。每个处理单元的功能可以通过集成电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实现。每个处理单元的功能也可以通过例如由中央处理单元(CPU)执行某一程序来实现。用于一般化逆立体投影的参数设置单元111是设置单元的一种示例。一般化逆立体投影112a是投影单元的一种示例。
[0051] 下面描述存储单元。超平面计数存储单元121是被配置成在其中存储待布置的超平面的数量的存储单元。
[0052] 特征值存储单元122是被配置成在其中存储多个特征值向量的存储单元。图2是示出了特征值存储单元的数据结构的示例的图。如图2所示,特征值存储单元122在其中存储识别信息和特征值向量以使其彼此相关联。识别信息是用于唯一地识别特征值向量中的每个特征值向量的信息。特征值向量是从用户的生物信息中获得的m维特征值向量。任何相关技术可以用作用于从生物信息中获取特征值向量的方法。
[0053] 用于特征值空间的定义域的存储单元123是被配置成在其中存储关于要在特征值空间中设置的特征值的定义域的信息的存储单元。可以外部给定特征值的定义域,或者可以从所保留的数据中估计特征值的定义域。
[0054] 查询存储单元124是被配置成在其中存储用作查询的特征值向量的存储单元。分类设备100搜索特征值存储单元122寻找与用作查询的特征值向量相似的特征值向量。
[0055] 位串存储区132是在其中存储有从稍后将要描述的位串生成单元115a获得的位串(二进制串)的存储区。图3是示出了位串存储区的数据结构的示例的图。如图3所示,位串存储区132在其中存储识别信息和位串以使其彼此相关联。识别信息是用于唯一地识别用作位串的生成源的每个特征值向量的信息。位串是基于特征值向量生成的位串。
[0056] 用于一般化逆立体投影的参数设置单元111是被配置成设置在执行一般化逆立体投影时所使用的投影点和超球面的位置的参数的处理单元。用于一般化逆立体投影的参数设置单元111从用于特征值空间的定义域的存储单元123获取关于特征值的定义域的信息。关于特征值的定义域的信息是例如关于特征值数据的统计值和特征值空间的理论定义域的信息。一般化逆立体投影单元112a和112b基于所获取的关于特征值的定义域的信息设置定义域。
[0057] 用于一般化逆立体投影的参数设置单元111基于这样设置的定义域来确定投影点P=(p1,p2,...,pm+1)的位置,连接北极和南极的直线与特征值空间之间的交点坐标xo=(xo1,...,xom)以及参数d。例如,用于一般化逆立体投影的参数设置单元111可以基于关于特征值空间的定义域的信息来设置参数p、xo和d的约束条件使得一般化立体投影的图像包含整个定义域,以及可以使用预定方法设置这些参数。参数xo是特征值空间V中被映射至超球面S的南极SS的点的坐标。参数d是用于调整立体投影的比例的参数,并且当超球面S的赤道被映射到特征值空间V时,参数d对应于超球面S的半径。
[0058] 被称为特征值的量的定义域具有很大差异。定义域的示例包括但不限于:所有实数、仅正实数、仅[0,1]范围内的实数以及由线性不等式所包围的区域。一般化逆立体投影的定义域随着投影点P的位置而存在很大差异。因此,如果点p被定位使得一般化逆立体投影的定义域不包括特征值的定义域,则难以执行映射。为了防止这样的问题,对参数p、xo和d进行限制。
[0059] 当在空间W中设置了超平面S时,根据特征值的定义域、基于以下三个宽泛分类的限制对投影点P的位置进行设置。
[0060] 如果特征值的定义域包含在椭圆中,则用于一般化逆立体投影的参数设置单元111设置第一限制,第一限制将投影点P限制为设置在空间W中的超球面S上方。例如,用于一般化逆立体投影的参数设置单元111将投影点P的位置范围限制为在超球面S外部。
用于一般化逆立体投影的参数设置单元111还将投影点P的第(m+1)个分量限制为1或更大。在第一实施方式中,超球面S被嵌入具有比m个维度高至少一个维度的维度的空间W中。
[0061] 用于一般化逆立体投影的参数设置单元111基于第一限制将投影点P的位置设置在超球面S上方。用于一般化逆立体投影的参数设置单元111将投影点P的位置设置在超球面S上方使得超球面S的一般化立体投影的图像包含特征值的定义域。例如,用于一般化逆立体投影的参数设置单元111获得包括所有特征值数据的特征值空间中的球面中具有最小半径的球面,并且设置投影点P的位置、交点x0和参数d使得一般化立体投影的图像包含具有最小半径的球面。
[0062] 图4是用于说明对投影点的位置进行设置的第一示例的图。如图4所示,如果定义域O包含在椭圆中,则用于一般化逆立体投影的参数设置单元111将投影点P的位置设置在超球面S上方使得一般化立体投影的图像Vs包含定义域O,以及布置超球面S。用于一般化逆立体投影的参数设置单元111将参数p设置为这样设置的投影点P的坐标,将参数xo设置为连接超球面S的北极SN和南极SS的直线与特征值空间之间的交点的坐标,以及将参数d设置为超球面S的北极SN的高度。
[0063] 将给出对在投影点P的位置被设置在超球面S上方时所设置的参数的具体示例的描述。例如,当用于一般化逆立体投影的参数设置单元111已经将xo设置为(μ1,...,μm)以及将d设置为1时,用于一般化逆立体投影的参数设置单元111进行设置。用于一般化逆立体投影的参数设置单元111获得包括特征值数据的所有球面S1中具有最小半径的球面S1,并且将球面S1的中心和半径分别假设为μ和r1。然后,将投影点P的位置设置2 1/2
为(μ1,...,μm,r1/{r1–1} )。xo的坐标可以被设置为例如包括特征值数据的所有球面S1中具有最小半径的球面S1的中心的坐标,或者可以被设置为特征值数据的平均值。
[0064] 用于一般化逆立体投影的参数设置单元111计算特征值数据的动差(moment),并且基于该动差估计数据的位置范围。用于一般化逆立体投影的参数设置单元111可以设置投影点P的位置、交点xo和参数d使得一般化立体投影的图像包含所估计的数据的位置范围。
[0065] 使用图4,将给出对使用特征值数据的动差来设置投影点P的位置的情况的描述。如图4所示,用于一般化逆立体投影的参数设置单元111基于特征值数据的动差估计定义域O。用于一般化逆立体投影的参数设置单元111将投影点P设置在超球面S上方使得超球面S的一般化立体投影的图像VS包含所估计的定义域。此时,用于一般化逆立体投影的参数设置单元111将参数p设置为在超球面S上方所设置的投影点P的坐标。用于一般化逆立体投影的参数设置单元111将参数xo和d分别设置为连接空间W中所设置的超球面S的北极SN和南极SS的直线与特征值空间之间的交点坐标Xo和参数d。
[0066] 用于一般化逆立体投影的参数设置单元111基于下面的表达式(1)计算二阶动差(k)ν。在表达式(1)中,xi 对应于第k个特征值向量的第i个分量,u对应于特征值向量的平均向量。K为特征值向量的个数。
[0067]
[0068] 如果定义域包含在通过用超平面H划分特征值空间V而获得的划分区域之一中,则用于一般化逆立体投影的参数设置单元111设置第二限制,第二限制将投影点P限制为设置在超球面S的表面上。
[0069] 用于一般化逆立体投影的参数设置单元111基于第二限制来设置投影点的位置。用于一般化逆立体投影的参数设置单元111获得如下点:该点在超球面S上且其切平面与特征值空间形成作为超平面H的公共集合,并且该点用作投影点使得包括特征值数据的所有球面S1包含在一般化立体投影的图像中,并且用于一般化逆立体投影的参数设置单元
111确定所获取的点为投影点P。
[0070] 图5是用于说明对投影点的位置进行设置的第二示例的图。如图5所示,用于一般化逆立体投影的参数设置单元111在与超球面S的表面相切的切平面中搜索穿过特征值空间V中的超平面H的切平面。用于一般化逆立体投影的参数设置单元111将投影点P的位置设置在所找到的穿过超平面H的切平面与超球面S之间的切点的位置处。用于一般化逆立体投影的参数设置单元111将参数p设置为位于其中切平面与超球面S相切的位置处的投影点P的坐标。用于一般化逆立体投影的参数设置单元111将参数xo和d分别设置为连接空间W中所设置的超球面S的北极SN和南极SS的直线与特征值空间之间的交点坐标Xo、以及超球面S的北极SN的参数d。
[0071] 如果在特征值空间V中不能识别出任何定义域,则用于一般化逆立体投影的参数设置单元111设置第三限制,第三限制将投影点P限制为设置在超球面S内部。用于一般化逆立体投影的参数设置单元111基于第三限制将投影点P的位置设置在超球面S内部。
[0072] 图6是用于说明对投影点的位置进行设置的第三示例的图。如图6所示,如果在特征值空间V中没有识别出定义域O,则用于一般化逆立体投影的参数设置单元111将投影点P设置在超球面S内部。此时,用于一般化逆立体投影的参数设置单元111将参数p设置为在超平面S内部所设置的投影点P的坐标。用于一般化逆立体投影的参数设置单元111将参数xo和d分别设置为连接空间W中所设置的超球面S的北极SN和南极SS的直线与特征值空间之间的交点坐标Xo、以及超球面S的北极SN的参数d。
[0073] 用于一般化逆立体投影的参数设置单元111基于这样设置的投影点的位置将参数p、xo和d输出至一般化逆投影单元112a和超平面布置单元113。通过这种方式,用于一般化逆立体投影的参数设置单元111设置参数p、xo和d使得超球面S的一般化立体投影的图像包含整个定义域。
[0074] 一般化立体投影指代使得投影点成为除具有原点处的中心的超球面S的北极以外的点的映射。例如,如果设定具有原点处的中心的超球面S以及投影点设定在除超球面S的北极以外的点处,则通过基于这样设置的投影点使超球面S上的点与特征值空间V中的点相关联来执行一般化立体投影。
[0075] 将给出对当m维度的超球面S被嵌入具有比m个维度高一个或更多个维度的维度的空间W中时的一般化立体投影的描述。在这种情况下,将第(m+1)个分量表示为z轴分量,在一般化立体投影中投影的超球面S上的点是其z分量小于等于投影点的z分量的点。如果超平面S上除投影点之外的两个点被投影到特征值空间中的单个点上,则超平面S上远离投影点的两个点之一被选择为待投影的点,离投影点较近的点不包含在一般化立体投影的定义域内。
[0076] 一般化立体投影的图像不是特征值空间V,因此一般化立体投影的图像用作逆一般化立体投影的定义域。例如,如果通过基于在除超球面S的北极之外的点处设置的投影点P应用一般化立体投影以将超球面S投影到特征值空间V来获得图像,则这样的图像用作一般化立体投影的定义域。
[0077] 根据投影点的位置将应用于超球面S的一般化立体投影宽泛分为四类。下面描述将一般化立体投影应用于超球面S的情况的四种示例。将使用图7对一般化立体投影的第一示例进行描述。图7是示出了当投影点位于超球面S内部时一般化立体投影的图。如果一般化立体投影的图像对应于整个特征值空间V,则将投影点P设置在超球面S内部使得一般化立体投影的图像占据整个特征值空间V。通过这个设置,在空间W中,例如,连接投影点P和特征值空间V中的点V1的直线与超球面S之间的交点S1与特征值空间中的点V1相关联。
[0078] 将使用图8对一般化立体投影的第二示例进行描述。图8是示出了当投影点位于超球面S上时一般化立体投影的图。如图8所示,如果一般化立体投影的图像包括在通过用一个超平面划分特征值空间V所获得区域中,则将投影点P设置在超球面S上使得一般化立体投影的图像占据特征值空间V的一部分并且包括沿着一个方向的无限远而沿着另一方向为有限远。
[0079] 将使用图9对一般化立体投影的第三示例进行描述。图9是示出了当投影点位于超球面S外部时一般化立体投影的图。如图9所示,如果一般化立体投影的图像包含在椭圆中,则将投影点P设置在超球面S外部并且具有大于1的z分量的位置。
[0080] 将使用图10对一般化立体投影的第四示例进行描述。图10是示出了当投影点位于超球面S外部并且具有在[-1,1]范围内的z分量时的一般化立体投影的图。如图10所示,如果一般化立体投影的图像包括沿着一个方向的无限远而沿着另一方向的有限远,则投影点P被设置在超球面S外部并且具有在[-1,1]范围内的z分量的位置。
[0081] 通过使用立体投影将通过使用超平面切割超球面S而获得的横截面映射至特征值空间来获得超球面或超平面。通过使用一般化立体投影进行相同的步骤,所获得的图像是由m个变量的至多四次多项式的零点所表示的代数流形。由至多四次多项式的零点所表示的代数流形称为四次超曲面。当投影点P设置在超球面S的中心时,则获得至多二次曲面。使用矩阵表示m个变量的二次项的系数,并且将矩阵表示为A。通过矩阵A的本征值形成各种至多二次超曲面。为了简便起见,图11、12、13和14示出了当m=2并且投影点位于超球面S的中心时横截面与至多二次超曲面中的每个之间的关系。在这种情况下,超球面S的赤道对应于特征值空间中无限远处的点,横截面与赤道之间的交点表示无限远处的至多二次超曲面的行为。
[0082] 下面描述使用通过用超平面切割超球面S而获得的横截面的一般化立体投影的示例。图11是示出了其中使用一般化立体投影对超球面S的横截面进行投影的第一示例的图。如图11所示,使用一般化立体投影,将由穿过超球面S的中心点M的超平面形成的超球面S的横截面TS投影到特征值空间V以设置包括沿着一个方向的无限远而沿着另一方向的有限远的区域Vs。由超平面所获得的图像形成直线。
[0083] 图12是示出了其中使用一般化立体投影对超球面S的横截面进行投影的第二示例的图。如图12所示,使用一般化立体投影,将由与特征值空间V正交的超平面形成的超球面S的横截面TS投影到特征值空间V以设置包括沿着一个方向的无限远而沿着另一方向的有限远的区域Vs。由超平面所获得的图像形成双曲线。
[0084] 图13是示出了其中使用一般化立体投影对超球面S的横截面进行投影的第三示例的图。如图13所示,在超球面S的朝向特征值空间V的一侧的半球的球面被与特征值空间V形成小于90度的角度的超平面切割,以形成超球面S的横截面TS。使用一般化立体投影进一步将超球面S的横截面TS投影到特征值空间V以设置包括沿着一个方向的无限远而沿着另一方向的有限远的区域Vs。由超平面所获得的图像形成双曲线。
[0085] 图14是示出了其中使用一般化立体投影对超球面S的横截面进行投影的第四示例的图。如图14所示,在超球面S的朝向特征值空间V的一侧的半球的球面被平行于特征值空间V的超平面切割,以形成超球面S的横截面TS。使用一般化立体投影进一步将超球面S的横截面TS投影到特征值空间V以设置沿着两个方向都有限远的区域Vs。由超平面所获得的图像形成椭圆。
[0086] 一般化逆立体投影单元112a和112b是如下处理单元:其将一般化逆立体投影应用于m维特征值空间V,以使特征值空间V与嵌入到具有比m高g的维度的空间W中的(m+g-1)维的超球面S相关联,其中,g为1或更大的整数。在下面的描述中,一般化逆立体投影单元112a和112b在适当的时候被统称为一般化逆立体投影单元112。下面的描述假定g为1。
[0087] 一般化逆立体投影单元112a基于已经设置的参数p、xo和d来执行特征值向量的一般化逆立体投影。一般化逆立体投影单元112a将已经使用一般化逆立体投影被投影的特征值向量的坐标输出至超平面布置单元113。
[0088] 将给出对当投影点P设置在超球面S的上方时的一般化逆立体投影的描述。图15是用于说明一般化逆立体投影的第一图。如图15的示例中所示,一般化逆立体投影使特征值空间V中的点与超球面S上的点相关联。在图15所示的示例中,穿过投影点P和V1的直线与超球面S具有交点S1和S2。在这两个交点中,远离投影点的点S1被投影。该投影使特征值空间V中的点V1与超球面S上的点S1相关联。通过这种方式,一般化逆立体投影单元112a使用一般化逆立体投影将特征值空间V中的点V1投影至超球面S上的点S1。连接超球面S的北极SN和南极SS的直线与特征值空间V之间的交点被定义为Xo。例如,北极SN的坐标为x01,x02,…x0m、和1,南极SS的坐标为x01,x02,…x0m、和-1。特征值空间V至超球面S的北极SN的高度表示为d。
[0089] 下面描述当投影点P设置在超球面S的表面上时的一般化逆立体投影。图16是用于说明一般化逆立体投影的第二图。如图16的示例中所示,一般化逆立体投影使特征值空间V中的点与超球面S上的点相关联。例如,穿过投影点P和V1的直线与超球面S之间的交点S1被投影。该投影使特征值空间V中的点V1与超球面S上的点S1相关联。通过这种方式,一般化逆立体投影单元112a使用一般化逆立体投影将特征值空间V中的点V1投影至超球面S上的点S1。
[0090] 下面描述当投影点P设置在超球面S的内部时的一般化逆立体投影。图17是用于说明一般化逆立体投影的第三图。如图17的示例中所示,一般化逆立体投影使特征值空间V中的点与超球面S上的点相关联。例如,穿过投影点P和V1的直线与超球面S的交点S1被投影。该投影使特征值空间V中的点V1与超球面S上的点S1相关联。通过这种方式,一般化逆立体投影单元112a使用一般化逆立体投影将特征值空间V中的点V1投影至超球面S上的点S1。
[0091] 将对一般化逆立体投影的示例进行描述。例如,假定投影点P为超球面S的中心,并且特征值空间V的特征值向量(坐标)为(x1,x2,...,xm),通过表达式(2)给定一般化逆-1 2立体投影(f :V→W)。通过表达式(3)限定r。通过表达式(4)限定表达式(2)中的α。
[0092]
[0093]
[0094] α=(d-1)/r (4)
[0095] 立体投影是在如下情况下的映射:其中,设置了具有原点处的中心的超球面S并且超球面S的北极作为投影点。图18和19是示出了特征值空间V与超球面S之间关系的图。如图18所示,逆立体投影使特征值空间V中的点与超球面S上的点相关联。图18中所示的示例使特征值空间V中的点V1与超球面S上的点S1相关联。穿过北极SN和点V1的直线与超球面S表面的交点对应于S1。例如,如图19所示,超球面S的横截面SA与特征值空间V的区域VA相关联。
[0096] 逆立体投影为立体投影的逆映射。立体投影定义如下:按照图18所示布置超球面S和特征值空间V,从北极SN绘制直线并且与超球面S相交于交点S1并且与特征值空间V相交于交点V1;因此立体投影定义为从交点S1至交点V1的映射。
[0097] 假定特征值空间V的特征值向量(坐标)为(x1,x2,...,xm),通过表达式(5)给定-1 2逆立体投影(f :V→W),其中通过表达式(6)限定表达式(5)中的r。
[0098]
[0099]
[0100] 在表达式(5)和(6)中,xo和d为参数。参数xo和d对应于图18所示的xo和d。
[0101] 超平面布置单元113是被配置成基于超平面计数存储单元121中所存储的超平面的个数n在超球面S中布置横向切割(m+g-1)维超球面S的n个超平面的处理单元。假设n个超平面横向切割超球面S,则超平面布置单元113可以随机或在预定位置处布置n个超平面。超平面布置单元113识别相应的超平面的法向量和偏移坐标,并且将这样识别的法向量的数据和偏移坐标的数据输出至转换规则生成单元114。法向量被表示为(v1,v2,...,vn),偏移坐标表示为c1,c2,…,和cn。
[0102] 转换规则生成单元114是被配置成基于法向量的数据和偏移坐标的数据生成关于转换规则的信息的处理单元。转换规则生成单元114通过布置n个法向量来生成数据n×(m+1)的矩阵W11,W12,…,和Wn(m+1)。例如,表达式(7)中n×(m+1)矩阵的每行对应于法向量。转换规则生成单元114将随机数作为值分配给n×(m+1)矩阵的数据中缺乏值的维度中的元素。转换规则生成单元114生成偏移坐标作为n×1数据。
[0103]
[0104] 转换规则生成单元114将n×(m+1)矩阵的数据和n×1数据输出至位串生成单元115a。
[0105] 基于查询存储单元124中存储的特征值向量以及已经设置的参数p、x0和d,一般化逆立体投影单元112b执行逆立体投影,并且计算超球面S上对应于特征值向量的坐标。一般化逆立体投影单元112b将该结果输出至位串生成单元115b。
[0106] 位串生成单元115a使用表达式(7)计算b1,b2,b3,…,和bn。
[0107] 计算b1,b2,b3,…,和bn之后,位串生成单元115a通过将具有正值的bN转换为1以及将具有非正值的bN转换为0来计算位串。例如,如果b1,b2,b3,…,和bn的值分别为正、负、正…和正。则位串生成单元115a生成位串“1,0,1,…,1”。
[0108] 基于从一般化逆立体投影单元112a所获取的坐标,位串生成单元115a生成位串,并且将该位串输出至位串存储区132。
[0109] 基于查询存储单元124中存储的特征值向量以及已经设置的参数p、xo和d,一般化逆立体投影单元112b执行逆立体投影并且计算超球面S上对应于特征值向量的坐标。一般化逆立体投影单元112b将所计算出的坐标输出至位串生成单元115b。
[0110] 基于从一般化逆立体投影单元112b所获取的坐标,位串生成单元115b生成多个位串,并且将所生成的位串输出至位串存储区132。
[0111] 汉明距离计算单元133从位串存储区132中读取由位串生成单元115a生成的位串以及由位串生成单元115b生成的位串,并且计算位串之间的汉明距离。汉明距离指代作为具有相同位数的二进制数之间的比较结果的、不同于彼此的位数的个数。汉明距离计算单元133基于汉明距离的计算结果按照位串与查询位串之间的汉明距离的升序对位串进行排序。汉明距离计算单元133可以输出所有排序的位串中较高排序的位串作为对应于查询位串的位串,或可以输出排序结果。
[0112] 将给出对用于一般化逆立体投影的参数设置单元111设置投影点P的位置、交点xo和参数d的处理过程的描述。图20是示出了设置参数的第一过程的示例的图。在图20所示的处理中,用于一般化逆立体投影的参数设置单元111对投影点P的位置范围的条件进行设置。
[0113] 如图20所示,用于一般化逆立体投影的参数设置单元111试图获取关于特征值空间的定义域的信息(步骤S10)。如果不存在关于特征值空间的定义域的信息(步骤S11处为否),则用于一般化逆立体投影的参数设置单元111不对投影点P的位置范围的条件进行设置(步骤S17),并且终止过程。
[0114] 如果存在关于特征值空间的定义域的信息(步骤S11处为是)并且定义域包含在椭圆中(步骤S12处为是),则用于一般化逆立体投影的参数设置单元111将投影点P的位置范围设置为在超球面S外部并且将投影点P的第(m+1)个分量限制为1或更大(步骤S13)。如果存在关于特征值空间的定义域的信息(步骤S11处为是)而定义域不包含在椭圆中(步骤S12处为否),则用于一般化逆立体投影的参数设置单元111执行步骤S14处的处理。
[0115] 如果在步骤S14处定义域包含在通过用一个超平面划分特征值空间V而获得的区域中(步骤S14处为是),则用于一般化逆立体投影的参数设置单元111将投影点P的位置范围设置为在超球面S上(步骤S15)。如果定义域不包含在通过用一个超平面划分特征值空间V而获得的区域中(步骤S14处为否),则用于一般化逆立体投影的参数设置单元111将投影点P的位置范围设置为在超球面S内部(步骤S16)。
[0116] 使用图21,将给出基于已经通过图20所示的处理设置条件的投影点P的位置范围来设置投影点的处理过程的描述。图21是示出了设置参数的第二过程的示例的图。用于一般化逆立体投影的参数设置单元111获取包括特征值数据的所有球面S1中具有最小半径的球面S1并且分别假设球面S1的中心和半径为μ和r1(步骤S20)。
[0117] 如果投影点的位置范围被设置条件为位于超球面S外部(步骤S21处为是),则用于一般化逆立体投影的参数设置单元111如下设置参数:Xo=μ;d=1和p=2 1/2
(μ1,...,μm,r1/{r1–1} )(步骤S22)。如果投影点的位置范围未被设置条件为位于超球面S外部(步骤S21处为否),则用于一般化逆立体投影的参数设置单元111执行步骤S23处的处理。
[0118] 如果投影点的位置范围被设置条件为位于超球面S上(步骤S23处为是),则用于一般化逆立体投影的参数设置单元111确定将特征值空间V划分为其中之一包含定义域的区域的超平面H(步骤S24)。此外,用于一般化逆立体投影的参数设置单元111搜索如下点:该点在超球面S上且其切平面与特征值空间形成作为超平面H的公共集合,并且该点用作投影点使得球面S1包含在一般化立体投影的图像中。用于一般化逆立体投影的参数设置单元111确定超球面S上的仅一点为投影点(步骤S25)。此时,用于一般化逆立体投影的参数设置单元111将参数p、xo和d分别设置为位于其切平面与超球面S相切的位置的投影点P的坐标、空间W中所设置的超球面S的交点xo以及关于超球面S的北极SN的d。
[0119] 如果投影点的位置范围未被设置条件为位于超球面S上(步骤S23处为否),则用于一般化逆立体投影的参数设置单元111如下设置参数:Xo=μ;d=r1和p=(μ1,...,μm,0)(步骤S26)。
[0120] 通过这种方式,实现按照由计算机执行的分类方法的处理,其中,基于关于特征值空间的定义域的信息设置投影点的位置,这样设置的投影点的位置用于将特征值空间中存在的向量投影到维度比特征值空间的维度高至少一个维度的空间中存在的球面。可以通过根据定义域设置投影点,并且基于这样设置的投影点执行一般化逆立体投影来精确地执行使用特征值向量的相似性搜索。
[0121] 设置处理基于关于特征值空间的定义域的信息设置球面的位置。该过程使得能够精确地执行使用特征值向量的相似度搜索。
[0122] 如果特征值空间的定义域包含在椭圆区域中,则设置处理将投影点设置在球面外部的、穿过球面的与特征值空间相对的一侧的位置中。如果特征值空间的定义域包含在通过用一个平面划分特征值空间而获得的区域中时,则设置处理将投影点设置在球面的表面上。因此,可以通过根据定义域的形状设置投影点来将仅特征值空间V中的所请求的区域投影到球表面上。
[0123] [b]第二实施方式
[0124] 将使用图22对分类设备200的系统配置进行描述。图22是示出了根据本发明的第二实施方式的分类设备的系统配置的图。如图22的示例所示,分类设备200包括超平面计数存储单元221、特征值存储单元222、用于特征值空间的定义域的存储单元223、查询存储单元224和位串存储区232。每个存储单元对应于存储设备诸如半导体存储器设备(如随机存取存储器(RAM)、只读存储器(ROM)或闪速存储器)、硬盘或光盘。
[0125] 分类设备200还包括用于一般化逆立体投影的参数设置单元211、一般化逆立体投影单元212a、超平面布置单元213、转换规则生成单元214和位串生成单元215a。分类设备200进一步包括一般化逆立体投影单元212b、位串生成单元215b和汉明距离计算单元233。每个处理单元的功能可以通过集成电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)实现。每个处理单元的功能也可以通过例如由中央处理单元(CPU)执行某一程序来实现。用于一般化逆立体投影的参数设置单元211是设置单元的一种示例。一般化逆立体投影212a是投影单元的一种示例。
[0126] 每个处理单元的数据结构与第一实施方式中的每个处理单元的数据结构相同,因此省略对每个处理单元的数据结构的描述。
[0127] 基于已经设置的定义域,用于一般化逆立体投影的参数设置单元211确定投影点P的位置、连接北极和南极的直线与特征值空间之间的交点坐标xo以及参数d。
[0128] 根据定义域、基于以下三个宽泛分类的限制对空间W中的投影点的位置进行设置。
[0129] 如果特征值的定义域包含在椭圆中,则用于一般化逆立体投影的参数设置单元211设置第一限制,第一限制将投影点P限制为设置在空间W中的超球面S上方。例如,用于一般化逆立体投影的参数设置单元211将投影点P的位置范围限制为在超球面S外部。
用于一般化逆立体投影的参数设置单元211还将投影点P的第(m+1)个分量限制为1或更大。例如,图4示出了将投影点P限制为设置在超球面S上方的示例。
[0130] 用于一般化逆立体投影的参数设置单元211基于第一限制将投影点P的位置设置在超球面S上方。如下所述,用于一般化逆立体投影的参数设置单元211将投影点P的位置设置在超球面S上方使得超球面S的一般化立体投影的图像包含特征值的定义域。
[0131] 用于一般化逆立体投影的参数设置单元211获得特征值数据的平均值μ和方差-协方差矩阵的最大本征值的平方根σ。例如,当用于一般化逆立体投影的参数设置单元211已经将xo设置为μ和将d设置为1时,其将投影点P的位置设置为2 1/2
(μ1,...,μm,5σ/{(5σ)–1} )。
[0132] 如果定义域包含在通过用超平面H划分特征值空间V而获得的划分区域之一中,则用于一般化逆立体投影的参数设置单元211设置第二限制,第二限制将投影点P限制为设置在超球面S的表面上。例如,图5示出了限制投影点P设置在超球面S的表面上的示例。
[0133] 用于一般化逆立体投影的参数设置单元211基于第二限制来设置投影点的位置。用于一般化逆立体投影的参数设置单元211获得如下点:该点在超球面S上且其切平面与特征值空间形成作为超平面H的公共集合,并且该点用作投影点使得包括特征值数据的所有球面S1包含在一般化立体投影的图像中,并且用于一般化逆立体投影的参数设置单元
211确定所获取的点为投影点P。此时,用于一般化逆立体投影的参数设置单元211将参数p设置为位于其中切平面与超球面S相切的位置处的投影点P的坐标。用于一般化逆立体投影的参数设置单元211将参数x0和d分别设置为连接空间W中所设置的超球面S的北极SN和南极SS的直线与特征值空间之间的交点坐标Xo、以及超球面S的北极SN的参数d。
[0134] 如果在特征值空间V中不能识别出任何定义域,则用于一般化逆立体投影的参数设置单元211设置第三限制,第三限制将投影点P限制为设置在超球面S内部。用于一般化逆立体投影的参数设置单元211基于第三限制将投影点P的位置设置在超球面S的内部。例如,图6示出了将投影点P限制为设置在超球面S内部的示例。用于一般化逆立体投影的参数设置单元211如下面所描述的设置投影点P的位置。
[0135] 用于一般化逆立体投影的参数设置单元211获得特征值数据的平均值μ和方差-协方差矩阵的最大本征值的平方根σ。例如,当用于一般化逆立体投影的参数设置单元211已经将xo设置为μ和将d设置为5σ时,其将投影点P的位置设置为(μ1,...,μm,0)。用于一般化逆立体投影的参数设置单元211将这样设置的参数p、xo和d输出至一般化逆立体投影212a。在其他处理单元中执行的处理与第一实施方式中的其他处理单元中执行的处理相同,因此省略对其他处理单元中执行的处理的描述。
[0136] 将使用图23对根据第二实施方式的分类设备200的处理过程进行描述。设置关于投影点P的位置范围的条件的处理与第一实施方式中的设置关于投影点P的位置范围的条件的处理相同,因此将省略其描述。图23是示出了设置参数的第三过程的示例的图。用于一般化逆立体投影的参数设置单元211获得特征值数据的平均值μ和方差-协方差矩阵的最大本征值的平方根σ(步骤S30)。
[0137] 如果投影点的位置范围被设置条件为位于超球面S外部(步骤S31处为是),则用于一般化逆立体投影的参数设置单元211如下设置参数:X0=μ;d=1和p=2 1/2
(μ1,...,μm,5σ/{(5σ)–1} )(步骤S32)。如果投影点的位置范围未被设置条件为位于超球面S外部(步骤S31处为否),则用于一般化逆立体投影的参数设置单元211执行步骤S33处的处理。
[0138] 如果投影点的位置范围被设置条件为位于超球面S上(步骤S33处为是),则用于一般化逆立体投影的参数设置单元211确定将特征值空间V划分为其中之一包含定义域的区域的超平面H(步骤S34)。此外,用于一般化逆立体投影的参数设置单元211搜索如下点:该点在超球面S上且其切平面与特征值空间形成作为超平面H的公共集合,并且该点用作投影点使得特征值空间的定义域包含在一般化立体投影的图像中。用于一般化逆立体投影的参数设置单元211确定超球面S上的满足上述条件的仅一个点作为投影点(步骤S35)。此时,用于一般化逆立体投影的参数设置单元211将参数p、xo和d分别设置为位于其切平面与超球面S相切的位置的投影点P的坐标、空间W中所设置的超球面S的交点xo以及超球面S的北极SN的d。
[0139] 如果投影点的位置范围未被设置条件为位于超球面S上(步骤S33处为否),则用于一般化逆立体投影的参数设置单元211如下设置参数:Xo=μ;d=5σ和p=(μ1,...,μm,0)(步骤S36)。
[0140] 通过这种方式,通过基于方差-协方差矩阵的最大本征值的平方根σ设置参数数p、x0和d,可以识别特征值空间中的定义域,并且可以精确地执行使用特征值向量的相似性搜索。
[0141] [3]第三实施方式
[0142] 将使用图24对分类设备300的系统配置进行描述。图24是示出了根据本发明的第三实施方式的分类设备的系统配置的图。如图24的示例所示,分类设备300包括超平面计数存储单元321、特征值存储单元322、用于特征值空间的定义域的存储单元323、查询存储单元324和位串存储区332。每个存储单元对应于存储设备诸如半导体存储器设备(如随机存取存储器(RAM)、只读存储器(ROM)或闪速存储器)、硬盘或光盘。
[0143] 分类设备300还包括用于一般化逆立体投影的参数设置单元311、一般化逆立体投影单元312a、超平面布置单元313、转换规则生成单元314、位串生成单元315a和计算单元316。分类设备300进一步包括一般化逆立体投影单元312b、位串生成单元315b和汉明距离计算单元333。每个处理单元的功能可以通过集成电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)实现。每个处理单元的功能也可以通过例如由中央处理单元(CPU)执行某一程序来实现。用于一般化逆立体投影的参数设置单元311是设置单元的一种示例。一般化逆立体投影312a是投影单元的一种示例。下面描述处理单元。
[0144] 用于一般化逆立体投影的参数设置单元311确定在包括投影点P的位置、连接北极和南极的直线与特征值空间之间的交点坐标xo以及参数d的多个参数串中具有最高近似精度的参数串A。将给出用于一般化逆立体投影的参数设置单元311中执行的设置具有高近似精度的参数串的处理的三个具体示例的描述。将给出用于一般化逆立体投影的参数设置单元311使用“爬山搜索”技术设置具有高近似精度的参数串的示例的描述。
[0145] 用于一般化逆立体投影的参数设置单元311基于根据第一实施方式的过程识别参数串A的初始值。计算单元316从位串生成单元315a获取基于该初始值计算的特征值向量的位串。计算单元316基于相应的特征值向量和位串计算近似精度。例如,通过表达式(8)或(9)计算近似精度。
[0146]
[0147]
[0148] 将对计算近似精度的处理的示例进行描述。计算单元316从特征值存储单元322选出特征值向量va,并且识别特征值空间中距特征值向量va为第一个至第m个最小距离的特征值向量。距特征值向量va为最小距离的特征值向量表示为va1至vaM。例如,在表达式(8)中,特征值向量的个数M对应于|Rk|。
[0149] 计算单元316从由位串生成单元315a获得的位串中识别距特征值向量va所对应的位串为第一个至第m个最小距离的位串,并且识别对应于所识别的位串的特征值向量vb1至vbM。计算单元316计算特征值向量vb1至vbM中有多少特征值向量与特征值向量va1至vaM中的那些特征值向量相同。这样计算的数量对应于表达式(8)中的|Rk∩Qk'|。
[0150] 用于一般化逆立体投影的参数设置单元311设置参数空间中的参数串A的I个近似值Bi。计算单元316计算每个近似值Bi的近似精度。用于一般化逆立体投影的参数设置单元311将具有最高近似精度的参数串设置为参数串A。用于一般化逆立体投影的参数设置单元311重复上面所描述的处理以识别具有最高近似精度的参数串。
[0151] 基于在用于一般化逆立体投影的参数设置单元311重复上面所描述的处理预定次数后所获得的最终的参数串A生成位串,汉明距离计算单元333计算位串存储区322中所存储的位串之间的汉明距离。
[0152] 将给出其中用于一般化逆立体投影的参数设置单元311使用“马尔可夫链蒙特卡罗法”设置具有高近似精度的参数串的示例的描述。用于一般化逆立体投影的参数设置单元311基于根据第一实施方式的过程识别参数串A。计算单元316从位串生成单元315a获取基于该参数串A生成的相应的特征值向量的位串。
[0153] 计算单元316基于相应的特征值向量和位串执行近似相似性搜索,并且计算参数串A的近似精度X1。例如,按照与爬山搜索技术相同的方式通过表达式(8)计算近似精度。
[0154] 用于一般化逆立体投影的参数设置单元311设置接近于参数串A的近似值B。计算单元316基于相应的特征值向量和位串执行近似相似性搜索,并且计算近似值B处的近似精度X2。
[0155] 用于一般化逆立体投影的参数设置单元311生成随机数,并且如果该随机数的值小于X2/X1,则将参数串A设置为近似值B。如果所生成的随机数的值不小于X2/X1,则用于一般化逆立体投影的参数设置单元311使得参数串的位置保持不变。用于一般化逆立体投影的参数设置单元311执行上面所描述的处理预定次数。
[0156] 将给出对其中用于一般化逆立体投影的参数设置单元311使用“集群智能”设置具有高近似精度的参数串的示例的描述。用于一般化逆立体投影的参数设置单元311识别多个参数串。例如,用于一般化逆立体投影的参数设置单元311通过使用与第一实施方式的方法相同的方法来获取参数串以及获取接近于参数串的位置的多个位置来识别参数串的位置。
[0157] 用于一般化逆立体投影的参数设置单元311从位串生成单元315a获取基于参数串的位置所计算出的相应的特征值向量的位串。用于一般化逆立体投影的参数设置单元311假定每个参数串为荷电粒子的位置,并且使用目标函数执行荷电系统搜索以设别出具有最高近似精度的参数串的位置。
[0158] 假定每个参数串的位置为荷电粒子的位置使得能够对当参数串在参数空间移动时阻止参数串彼此接近的限制进行设置。因此,可以在距其他参数串预定距离的位置处识别出具有最高近似精度的参数串A。汉明距离计算单元333使用参数串A计算汉明距离。
[0159] 荷电系统搜索的目标函数是如下函数:在给定参数串的位置的情况下计算近似精度并且通过与上面所描述的爬山搜索技术和马尔可夫链蒙特卡罗法的处理相同的处理来计算近似精度。
[0160] 将对根据第三实施方式的分类设备300的处理过程进行描述。将按照如下顺序对识别参数串的处理进行描述:使用爬山搜索技术的参数串识别处理、使用马尔可夫链蒙特卡罗法的参数串识别处理以及使用集群智能的参数串识别处理。
[0161] 首先给出对使用爬山搜索技术的参数串识别处理的示例的描述。图25是示出了设置参数的第四过程示例的图。如图25所示,用于一般化逆立体投影的参数设置单元311确定参数串A并且将参数串A输出至一般化逆立体投影单元312a(步骤S40)。一般化逆立体投影单元312a使用用于一般化逆立体投影的参数设置单元311的输出参数串A将一般化逆立体投影应用于特征值数据并且将结果输出至超平面布置单元313(步骤S41)。
[0162] 如果用于一般化逆立体投影的参数设置单元311已经重复步骤S43至S49预定次数(步骤S42处为是),则过程结束。如果步骤S43至S49的处理的重复次数小于预定次数(步骤S42处为否),则用于一般化逆立体投影的参数设置单元311执行步骤S43处的处理。
[0163] 超平面布置单元313布置超平面,转换规则生成单元314生成转换规则(步骤S43)。基于转换规则生成单元314的输出,计算单元316计算近似相似性搜索的近似精度(步骤S44)。用于一般化逆立体投影的参数设置单元311生成参数空间中的参数串A的近似值Bi并且将近似值Bi输出至一般化逆立体投影单元312a(步骤S45)。
[0164] 一般化逆立体投影单元312a使用相应的参数串将一般化逆立体投影应用于特征值数据并且将相应的结果输出至超平面布置单元313(步骤S46)。超平面布置单元313布置超平面,以及转换规则生成单元314生成转换规则(步骤S47)。计算单元316基于转换规则生成单元314的输出来计算相应的近似值Bi处的近似精度(步骤S48)。用于一般化逆立体投影的参数设置单元311将参数串A的位置确定为给出参数串A和近似值Bi的近似精度中的最高近似精度的位置(步骤S49)。
[0165] 将给出对使用马尔可夫链蒙特卡罗法的参数串识别处理的示例的描述。图26是示出了设置参数的第五过程示例的图。如图26所示,用于一般化逆立体投影的参数设置单元311确定参数串A并且将结果输出至一般化逆立体投影单元312a(步骤S50)。一般化逆立体投影单元312a使用用于一般化逆立体投影的参数设置单元311的输出参数串A将一般化逆立体投影应用于特征值数据并且将结果输出至超平面布置单元313(步骤S51)。
[0166] 如果用于一般化逆立体投影的参数设置单元311已经重复步骤S53至S59预定次数(步骤S52处为是),则过程结束。如果步骤S53至S59的处理的重复次数小于预定次数(步骤S52处为否),则用于一般化逆立体投影的参数设置单元311执行步骤S53处的处理。
[0167] 超平面布置单元313布置超平面,以及转换规则生成单元314生成转换规则(步骤S53)。基于转换规则生成单元314的输出,计算单元316计算近似相似性搜索的近似精度X1(步骤S54)。用于一般化逆立体投影的参数设置单元311生成参数空间中的参数串A的近似值B并且将近似值B输出至一般化逆立体投影单元312a(步骤S55)。
[0168] 一般化逆立体投影单元312a使用上面所提及的参数串将一般化逆立体投影应用于特征值数据并且将结果输出至超平面布置单元313(步骤S56)。超平面布置单元313布置超平面,以及转换规则生成单元314生成转换规则(步骤S57)。计算单元316基于转换规则生成单元314的输出计算近似值B处的近似精度X2(步骤S58)。用于一般化逆立体投影的参数设置单元311生成在[0,1]范围内的随机数,并且如果随机数小于X2/X1,则确定参数串A位于近似值B处,否则使得参数串A保持不变(步骤S59)。
[0169] 将给出对使用集群智能的参数串识别处理的示例的描述。图27是示出了设置参数的第六过程示例的图。如图27所示,用于一般化逆立体投影的参数设置单元311确定多个参数串并且将结果输出至一般化逆立体投影单元312a(步骤S60)。一般化逆立体投影单元312a使用用于一般化逆立体投影的参数设置单元311的输出参数串将一般化逆立体投影应用于特征值数据并且将结果输出至超平面布置单元313(步骤S61)。
[0170] 如果用于一般化逆立体投影的参数设置单元311已经重复步骤S63处的处理预定次数(步骤S62处为是),则处理结束。如果步骤S63处的处理的重复次数小于预定次数(步骤S62处为否),则用于一般化逆立体投影的参数设置单元311重复步骤S63处的处理。
[0171] 用于一般化逆立体投影的参数设置单元311假定每个参数串的位置为参数空间中荷电粒子的位置并且使用目标函数搜索荷电粒子(步骤S63)。
[0172] 在图28的处理过程中使用目标函数。图28是示出了目标函数的处理过程的示例的图。如图28所示,分类设备300的用于一般化逆立体投影的参数设置单元311开始目标函数(步骤S70)。超平面布置单元313布置超平面,以及转换规则生成单元314生成转换规则(步骤S71)。计算单元316基于转换规则生成单元314的输出计算近似相似性搜索的近似精度X1(步骤S72)。计算单元316输出近似精度X1(步骤S73)。用于一般化逆立体投影的参数设置单元311结束目标函数(步骤S74)。
[0173] 通过这种方式,设置处理通过一次或更多次执行下列处理来设置第一参数:将第一参数设置为包括球面中设置的投影点的位置以及球面的位置中的一个或更多个位置的第一参数、以及在参数空间中接近于该第一参数的一个或更多个第二参数中具有最高近似精度的参数。因此,通过搜索投影点的更恰当的位置可以精确地执行使用特征值向量的相似性搜索。
[0174] 设置处理通过一次或更多次执行以下处理来设置第一参数:如果通过将参数空间中接近于包括球面中设置的投影点的位置以及球面的位置中的一个或更多个位置的第一参数的第二参数的近似精度除以第一参数的近似精度而获得的值大于随机数,则将第一参数设置为第二参数。因此,通过搜索给出较高近似精度的投影点的位置可以精确地执行使用特征值向量的相似性搜索。
[0175] 设置处理设置被假定为荷电粒子并且被布置在球面中的多个投影点中给出最高近似精度的投影点。通过假定投影点为荷电粒子,投影点以分散的方式进行布置,使得可以减少搜索的次数。
[0176] 图30是示出了每个分类设备的硬件配置的图。如图30所示,计算机400包括执行各种类型的运算处理的CPU 401、接受来自用户的数据输入的输入设备402以及监测器403。计算机400还包括从记录介质中读取程序等的媒体读取设备404、用于与其他设备连接的接口设备405以及用于与其他设备无线连接的无线通信设备406。计算机400还包括在其中暂时地存储各种类型信息的随机存取存储器(RAM)407和硬盘设备408。设备401至
408连接至总线409。
[0177] 硬盘设备408在其中存储例如具有与图1、22和24中所示的处理单元的功能相同的功能的信息处理程序。硬盘设备408在其中存储用于执行信息处理程序的各种类型的数据。
[0178] CPU 401通过读取存储在硬盘设备408中的程序并且在RAM 407中加载和执行该程序来执行各种类型的处理。程序可以操作计算机400以作为图1、22和24中所示的处理单元。
[0179] 上面所描述的信息处理程序没有必要一定存储在硬盘设备408中。例如,计算机400可以读取和执行存储在计算机400可读的存储介质中的程序。计算机400可读的存储介质的示例包括但不限于:便携式记录介质诸如CD-ROM、DVD和通用串行总线(USB)存储器、半导体存储器诸如闪速存储器、以及硬盘驱动器。程序可以存储在连接至公共线、互联网、局域网(LAN)等的设备中,并且通过计算机400从设备中读取以被执行。
[0180] 本发明的实施方式之一提供了使得能够使用特征值向量进行精确的相似性搜索的效果。