生成和划分多项式的制作方法
【专利摘要】一种包含软件的非瞬时性存储设备,所述软件在由处理器执行时,使得处理器基于d次的候选多项式的空间线性组合在在点集上没有求值小于阈值的次数小于d的多项式上的投影来生成多项式的投影集合。软件也使得处理器计算包含在点上求值的候选多项式与在点上求值的多项式的投影集合之间的差的矩阵的奇异值分解,并且使得处理器基于阈值划分由奇异值分解产生的多项式。
【专利说明】生成和划分多项式
【背景技术】
[0001] 数据分析是普遍存在的。然而,某些数据不是数值的,并且即使是数值的,也可能 是非线性的。非数值的数据的示例包括扫描的文档和照片。在这样的非数值的数据上的可 能有用的分析的类型可以包括压缩、特性识别等。当然,计算机仅理解数字,所以非数值的 数据可以被转换到数字用于计算机来理解和进一步处理。
【专利附图】
【附图说明】
[0002] 针对本发明的示例性实施例的详细描述,将参考附图,其中: 图1示出了各种类的示例; 图2示出了根据实施的系统的示例; 图3示出了系统的实施的另一示例;以及 图4示出了根据各种示例的方法。
【具体实施方式】
[0003]根据各种实施,从非数值的数据提取数字使得计算设备可以进一步分析提取的数 值数据和/或对所述数据执行期望类型的操作。可以将提取的数值数据称为"数据点"或 "坐标"。用于分析从非数值数据提取的数值数据的技术的类型包括针对每个感兴趣的类确 定多项式的独特集合以及然后在数据点的集合上对多项式进行求值(evaluate)。针对数据 点的给定的集合,类中的一个的多项式可以求值到〇或者近似〇。然后数据点被说成属于对 应于那些特定的多项式的类。
[0004] 本文讨论的原理涉及一种技术,通过所述技术,计算设备关于类处理数据点。所述 技术涉及依据相应的类描述数据点。
[0005]可以对许多类型的非数值数据进行测量。例如,在字母数字字符识别的环境中,针 对在扫描的文档中遇到的每个字母数字字符可以进行多个不同的测量。这样的测量的示例 包括组成字符的线条的平均斜度、字符的最宽部分的测量、字符的最高部分的测量等等。目 的是针对每个可能的字母数字字符确定多项式的适合的集合。因此,大写字母A具有多项 式的独特集合,B具有多项式的其自己的独特集合,以此类推。每个多项式具有次数n(n可 以是1、2、3等等)并且可以将测量值中的某些或全部用作输入。
[0006] 图1图示了三个类--类A、类B和类C的存在。已经确定多项式的独特集合来对 应于每个类。示出了数据点P。数据点P可以实际上包括多个数据值。目的是确定P属于 哪个类。通过将数据点P插入到每个类的多项式中并且确定多项式的哪个集合求值接近0 来进行确定。对应于求值接近〇的多项式的集合的类是P被确定对应于的类。
[0007] 在图1中描绘的类可能对应于字母表的字母。例如,针对字母A,如果测量(也被 称为数据点或坐标)被插入到针对字母A的多项式中,则所述多项式求值为0或者接近于 〇,而针对其他字母的多项式没有求值为〇或近似0。因此,系统遇到在文档中的字符、进行 各种测量、将那些数据点(或者至少它们中的某些)插入到针对各种字母的多项式中的每个 中、并且确定哪个字符的多项式求值为0。对应于该多项式的字符是系统已经遇到的字符。
[0008] 然而,分析的部分是确定针对每个字母数字字符使用哪个多项式。可以使用被称 为近似消逝理想(ApproximateVanishingIdeal) (AVI)的一类技术来确定用于每个类的 多项式。词语"消逝"是指针对输入坐标的正确集合(rightset),多项式求值为0的事实。 近似意味着出于分类目的,多项式仅必须求值为近似0。然而,这些技术中的很多技术不是 稳定的。稳定性的缺乏意味着多项式面对噪声没有良好地执行。例如,如果存在字母A的或 者该字母周围的外部的像素的某些失真,则即使针对字母A进行了测量,针对字母A的多项 式也可能根本不消逝到0。某些AVI技术基于快速但本质上不稳定的绕轴旋转(pivoting) 技术。
[0009] 下文讨论的实施涉及稳定的近似消逝理想(SAVI)技术,顾名思义,其面对输入数 据中的噪声是稳定的。
[0010] 图2图示了一种系统,所述系统包括各种引擎--初始化引擎102、投影引擎 104、减法引擎106、奇异值分解(SVD)引擎108和划分引擎110。在某些示例中,每个引擎 102-110可以被实施为处理器执行软件。例如,图3示出了一个适合的示例,其中处理器120 耦合到非瞬时性存储设备130。非瞬时性存储设备130可以被实施为易失性存储(例如随机 访问存储器)、非易失性存储(例如硬盘驱动器、光存储、固态存储等等)或者易失性和/或非 易失性存储的各种类型的组合。
[0011] 非瞬时性存储设备130在图3中被示出为包括功能上对应于图2的引擎中的每个 的软件模块。软件模块包括初始化模块132、投影模块134、减法模块136、SVD模块138和 划分模块140。图2的每个引擎可以被实施为执行图3的相应的软件模块的处理器120。
[0012] 本文为了便于解释,在各种引擎102-110之中和在软件模块132-140之中进行区 分。然而在某些实施中,引擎/模块中的两个或更多的功能性可以被一起组合到单个引擎/ 模块中。进一步地,被本文描述为归因于每个引擎102-110的功能性可应用于对应于每个 这样的引擎的软件模块,并且被本文描述为由给定模块执行的功能性也可应用于相应的引 擎。
[0013] 现在将参考图4的流程图描述由图2的各种引擎102-110执行的功能。本文描述 的SAVI过程可以是迭代过程并且在图4中图示的动作代表所述过程的一个迭代。针对每个 类执行在图4中描绘的SAVI过程,期望针对所述每个类生成多项式。下文参考的数据(也 被称为点或坐标)代表被用于生成正确的多项式的训练数据。
[0014] 初始化引擎102将维数(d)初始化到1 (动作202)。公开的SAVI过程因此以维 数1的多项式开始。初始化引擎102也初始化候选多项式的集合。候选多项式代表在给定 迭代中将被处理以确定多项式中的哪些,如果有的话,在点的给定集合上求值为近似〇 (例 如低于阈值)的多项式。在点上求值为小于阈值的那些候选多项式被选作针对给定类的多 项式。候选多项式的初始集合可以包括在坐标中的全部单项式。即存在和在训练数据中存 在的坐标一样多的单项式。
[0015] 然后,投影引擎104处理候选多项式的集合,例如如在图4中的说明性动作204中 描述的那样。在动作204中,投影引擎104生成多项式的投影集合。在某些实施中,通过计 算d次的候选多项式的空间线性组合在在点集上没有求值为0的次数小于d的多项式上的 投影来生成多项式的投影集合。在过程的第一迭代中,d是1,但是在通过所述过程的后续 迭代中,d被递增(2、3等等)。在以d等于1穿过所述算法的第一次趟(pass)中,在点集上 没有求值为〇的次数小于d(即O次)的多项式由诸如Ι/sqrt(点的数量)的标量值代表, 其中"sqrt"是指平方根运算符。
[0016] 以下是d次候选多项式的线性组合在在点集上没有求值为0的次数小于d的多项 式上的计算的示例。投影引擎104可以将没有求值为0的次数小于d的多项式乘以在点上 求值的没有求值为〇的次数小于d的多项式,并且然后将该结果乘以在点上求值的d次的 候选多项式。在一个示例中,枵嵚41螌104计笪:
【权利要求】
1. 一种方法,其包括: 通过执行存储在非瞬时性计算机可读存储设备上的模块,通过计算d次的候选多项式 的空间线性组合在在点集上没有求值小于阈值的次数小于d的多项式上的投影来生成多 项式的投影集合; 从在点上求值的候选多项式减去在点上求值的多项式的投影集合来生成求值的多项 式的减法矩阵; 计算求值的多项式的减法矩阵的奇异值分解;以及 基于阈值划分由奇异值分解产生的多项式。
2. 如权利要求1所述的方法,其中生成多项式的投影集合包括将没有求值小于阈值 的次数小于d的多项式乘以在点上求值的没有求值小于阈值的次数小于d的多项式并且将 该结果乘以在点上求值的d次的候选多项式。
3. 如权利要求1所述的方法,进一步包括将d设置到1以及将候选多项式初始化为点 的全部单项式。
4. 如权利要求1所述的方法,进一步包括递增d以及执行生成多项式的投影集合的后 续迭代、从在点上求值的候选多项式减去在点上求值的多项式的投影集合、计算奇异值分 解、以及在这样的后续的迭代中使用仅那些求值为在阈值之上的值的多项式来针对d的递 增的值将多项式划分为在点集上没有求值小于阈值的次数小于d的多项式。
5. 如权利要求1所述的方法,进一步包括: 递增d ; 将在点上没有求值小于阈值的d-1次的候选多项式的集合乘以在点上没有求值小于 阈值的1次候选多项式,以及 重复生成多项式的投影集合,计算奇异值分解并且针对d的递增的值划分多项式。
6. 一种系统,其包括: 投影引擎,用于生成d次的候选多项式的空间线性组合在在点集上没有求值小于阈值 的次数小于d的多项式上的多项式的投影集合; 减法引擎,用于基于在点上求值的多项式的投影集合和在点上求值的候选多项式生成 减法矩阵; 奇异值分解引擎,用于计算求值的多项式的减法矩阵的奇异值分解;以及 划分引擎,用于基于阈值划分由奇异值分解产生的多项式。
7. 如权利要求6所述的系统,其中投影引擎用于通过将没有求值小于阈值的次数小 于d的多项式乘以在点上求值的没有求值小于阈值的次数小于d的多项式并且将该结果乘 以在点上求值的d次的候选多项式来生成多项式的投影集合。
8. 如权利要求6所述的系统,进一步包括初始化引擎,用于将d设置到1并且将候选 多项式初始化为点的全部单项式。
9. 如权利要求6所述的系统,其中划分引擎用于递增d并且然后使得执行投影引擎生 成多项式的投影集合的后续迭代,减法引擎从在点上求值的候选多项式减去在点上求值的 多项式的投影集合,奇异值分解引擎计算奇异值分解,并且划分引擎在这样的后续的迭代 中使用仅那些求值为在阈值之上的值的多项式来针对d的递增的值将多项式划分为在点 集上没有求值小于阈值的次数小于d的多项式。
10. 如权利要求6所述的系统,其中划分引擎用于: 递增d ; 将在点上没有求值小于阈值的d-1次的候选多项式的集合乘以在点上没有求值小于 阈值的1次候选多项式,以及 使得执行投影引擎生成多项式的投影集合的后续迭代,减法引擎从在点上求值的候选 多项式减去在点上求值的多项式的投影集合,奇异值分解引擎计算奇异值分解,以及划分 引擎再次针对d的递增的值划分多项式。
11. 一种非瞬时性计算机可读存储设备,其包含软件,该软件当由处理器执行时使得 处理器: 基于d次的候选多项式的空间线性组合在在点集上没有求值小于阈值的次数小于d的 多项式上的投影生成多项式的投影集合; 计算包含在点上求值的候选多项式与在点上求值的多项式的投影集合之间的差的矩 阵的奇异值分解;以及 基于阈值划分由奇异值分解产生的多项式。
12. 如权利要求11所述的非瞬时性计算机可读存储设备,其中软件使得处理器通过 将没有求值为〇的次数小于d的多项式乘以在点上求值的没有求值小于阈值的次数小于d 的多项式并且将该结果乘以在点上求值的d次的候选多项式来生成多项式的投影集合。
13. 如权利要求11所述的非瞬时性计算机可读存储设备,其中软件使得处理器将d设 置到1并且将候选多项式初始化为点的全部单项式。
14. 如权利要求11所述的非瞬时性计算机可读存储设备,其中软件使得处理器递增d 并且执行生成多项式的投影集合的后续迭代、从在点上求值的候选多项式减去在点上求值 的多项式的投影集合、计算奇异值分解、以及在这样的后续的迭代中使用仅那些求值为在 阈值之上的值的多项式来针对d的递增的值将多项式划分为在点集上没有求值小于阈值 的次数小于d的多项式。
15. 如权利要求11所述的非瞬时性计算机可读存储设备,其中软件使得处理器: 递增d ; 将在点上没有求值小于阈值的d-1次的候选多项式的集合乘以在点上没有求值小于 阈值的1次候选多项式,以及 重复生成多项式的投影集合、计算奇异值分解、从在点上求值的候选多项式减去在点 上求值的多项式的投影集合、以及针对d的递增的值划分多项式。
【文档编号】G06F17/00GK104246746SQ201280072842
【公开日】2014年12月24日 申请日期:2012年7月30日 优先权日:2012年7月30日
【发明者】勒哈维 D., 谢恩 S. 申请人:惠普发展公司,有限责任合伙企业