本公开涉及主成分分析。
背景技术:
1、在监督学习任务中,基于输入数据的可区分特性,回归或分类结果始终随着特征的增加而改进是常见的误解。然而,这种情况不是经常发生的。随着特征或维度的数量增加,准确地概括数据所需的数据量呈指数增长。通常,当新特征被添加到模型时,没有足够的附加数据来维持先前关系,并且新特征可能无法对监督学习模型具有积极影响。这俗称维数灾难。因此,通常使用例如投影或流形学习来降低训练数据的维数。
技术实现思路
1、本公开的一个方面提供了一种用于主成分分析的方法。方法由数据处理硬件执行,该方法使数据处理硬件执行操作,该操作包括从请求数据处理硬件对数据集执行pca的用户接收主成分分析(pca)请求,该数据集包括多个输入特征。操作还包括在数据集的多个输入特征上训练pca模型。操作包括使用经过训练的pca模型来确定数据集的一个或多个主成分。操作包括基于多个输入特征和一个或多个主成分来生成数据集的一个或多个嵌入特征。操作还包括将一个或多个嵌入特征返回给用户。
2、本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,数据集的一个或多个嵌入特征的数量小于数据集的多个输入特征的数量。在其他实施方式中,训练pca模型包括从多个pca变体当中选择pca变体并且基于所选择的pca变体在数据集的多个输入特征上训练pca模型。在这些实施方式中,选择pca变体可以包括从用户接收选择指示并且基于选择指示来选择pca变体。可替选地,在这些实施方式中,选择pca变体可以包括确定多个输入特征的数量满足阈值量并且基于确定多个输入特征的数量满足阈值量来选择基本pca变体。在这些实施方式中的一些实施方式中,选择pca变体包括确定多个输入特征的数目未能满足阈值量并且基于确定多个输入特征的数目未能满足阈值量来选择随机化pca变体。在这些实施方式中,第一pca变体可以包括基本pca算法并且第二pca变体可以包括随机化pca算法。可替选地,在这些实现中,阈值量可以基于实现数据处理硬件的单个服务器的存储器容量。
3、pca请求可以包括单个结构化查询语言(sql)查询。在一些实施方式中,pca模型包括随机化pca模型。在这些实施方式中,随机化pca模型可以包括转置的随机化pca模型。使用经过训练的pca模型来确定数据集的一个或多个主成分可以包括使用经济大小的qr分解算法。可替选地,使用经过训练的pca模型来确定数据集的一个或多个主成分可以包括使用具有非递减约束算法的二次规划。
4、本公开的另一方面提供了一种用于主成分分析的系统。系统包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储当在数据处理硬件上执行时使数据处理硬件执行操作的指令。操作包括从请求数据处理硬件对数据集执行pca的用户接收主成分分析(pca)请求,该数据集包括多个输入特征。操作还包括在数据集的多个输入特征上训练pca模型。操作包括使用经过训练的pca模型来确定数据集的一个或多个主成分。操作包括基于多个输入特征和一个或多个主成分来生成数据集的一个或多个嵌入特征。操作还包括将一个或多个嵌入特征返回给用户。
5、该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,数据集的一个或多个嵌入特征的数量小于数据集的多个输入特征的数量。在其他实施方式中,训练pca模型包括从多个pca变体当中选择pca变体并且基于所选择的pca变体在数据集的多个输入特征上训练pca模型。在这些实施方式中,选择pca变体可以包括从用户接收选择指示并且基于选择指示来选择pca变体。可替选地,在这些实施方式中,选择pca变体可以包括确定多个输入特征的数量满足阈值量并且基于确定多个输入特征的数量满足阈值量来选择基本pca变体。在这些实施方式中的一些实施方式中,选择pca变体包括确定多个输入特征的数目未能满足阈值量并且基于确定多个输入特征的数量未能满足阈值量来选择随机化pca变体。在这些实施方式中,第一pca变体可以包括基本pca算法并且第二pca变体可以包括随机化pca算法。可替选地,在这些实施方式中,阈值量可以基于实现数据处理硬件的单个服务器的存储器容量。
6、pca请求可以包括单个结构化查询语言(sql)查询。在一些实施方式中,pca模型包括随机化pca模型。在这些实施方式中,随机化pca模型可以包括转置的随机化pca模型。使用经过训练的pca模型来确定数据集的一个或多个主成分可以包括使用经济大小(economysized)的qr分解算法。可替选地,使用经过训练的pca模型来确定数据集的一个或多个主成分可以包括使用具有非递减约束算法的二次规划。
7、在附图和以下描述中阐述了本公开的一个或多个实施方式的细节。根据说明书和附图以及权利要求,其他方面、特征和优点将是显而易见的。
1.一种计算机实现的方法(500),当由数据处理硬件(144)执行时,所述方法使所述数据处理硬件(144)执行包括以下的操作:
2.根据权利要求1所述的方法(500),其中,所述数据集(158)的所述一个或多个嵌入特征(172)的数量小于所述数据集(158)的所述多个输入特征(159)的数量。
3.根据权利要求1或2所述的方法(500),其中,训练所述pca模型(212)包括:
4.根据权利要求1至3中任一项所述的方法(500),其中,选择所述pca变体(300)包括:
5.根据权利要求1至4中任一项所述的方法(500),其中,选择所述pca变体(300)包括:
6.根据权利要求1至5中任一项所述的方法(500),其中,选择所述pca变体(300)包括:
7.根据权利要求1至6中任一项所述的方法(500),其中,所述阈值量基于实现所述数据处理硬件(144)的单个服务器的存储器容量。
8.根据权利要求1至7中任一项所述的方法(500),其中,所述pca请求(20)包括单个结构化查询语言(sql)查询。
9.根据权利要求1至8中任一项所述的方法(500),其中,使用所述经过训练的pca模型(212)来确定所述数据集(158)的所述一个或多个主成分(220)包括使用经济大小的qr分解算法。
10.根据权利要求1至9中任一项所述的方法(500),其中,使用所述经过训练的pca模型(212)来确定所述数据集(158)的所述一个或多个主成分(220)包括使用具有非递减约束算法的二次规划。
11.一种系统(100),包括:
12.根据权利要求11所述的系统(100),其中,所述数据集(158)的所述一个或多个嵌入特征(172)的数量小于所述数据集(158)的所述多个输入特征(159)的数量。
13.根据权利要求11或12所述的系统(100),其中,训练所述pca模型(212)包括:
14.根据权利要求11至13中任一项所述的系统(100),其中,选择所述pca变体(300)包括:
15.根据权利要求11至14中任一项所述的系统(100),其中,选择所述pca变体(300)包括:
16.根据权利要求11至15中任一项所述的系统(100),其中,选择所述pca变体(300)包括:
17.根据权利要求11至16中任一项所述的系统(100),其中,所述阈值量基于实现所述数据处理硬件(144)的单个服务器的存储器容量。
18.根据权利要求11至17中任一项所述的系统(100),其中,所述pca请求(20)包括单个结构化查询语言(sql)查询。
19.根据权利要求11至18中任一项所述的系统(100),其中,使用所述经过训练的pca模型(212)来确定所述数据集(158)的所述一个或多个主成分(220)包括使用经济大小的qr分解算法。
20.根据权利要求11至19中任一项所述的系统(100),其中,使用所述经过训练的pca模型(212)来确定所述数据集(158)的所述一个或多个主成分(220)包括使用具有非递减约束算法的二次规划。