CN115413345A - 提升和矩阵分解 - Google Patents

提升和矩阵分解 Download PDF

Info

Publication number
CN115413345A
CN115413345A CN202180006754.6A CN202180006754A CN115413345A CN 115413345 A CN115413345 A CN 115413345A CN 202180006754 A CN202180006754 A CN 202180006754A CN 115413345 A CN115413345 A CN 115413345A
Authority
CN
China
Prior art keywords
matrix
generating
training
feature
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180006754.6A
Other languages
English (en)
Inventor
王刚
何鹏宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN115413345A publication Critical patent/CN115413345A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供了包括在计算机存储介质上编码用于呈现新的机器学习模型架构的计算机程序的方法、***和装置。在一些方面中,方法包括获得具有多个训练样本的训练数据集,训练数据集包括特征变量和输出变量。使用训练数据集生成第一矩阵,第一矩阵是训练数据集的稀疏表示。生成第一矩阵可以包括生成数值特征的分类表示和分类特征的编码表示。方法进一步包括生成第二矩阵、第三矩阵和第四矩阵。然后,使用包括多个可调参数的向量表示第一矩阵的每个特征。通过使用损失函数、第四矩阵和第一矩阵的组合调整可调参数的值,机器学习模型可以学习。

Description

提升和矩阵分解
背景技术
本说明书涉及处理数据和机器学习模型。
机器学习是一种人工智能,其旨在教导计算机如何学习和行动,而无需被明确编程。更具体地,机器学习是数据分析方法,该方法涉及建立和调整模型,这允许计算机可执行程序通过经验“学习”。机器学习涉及算法的设计,这些算法调整其模型以改善他们预测能力。这是通过首先使用结果(标签)是已知的历史数据(训练数据)训练机器学习模型来实现的,这被称为监督学习。计算机可以在训练期间识别规则或关系,并且学习机器学习模型的学习参数。然后,使用新的输入,机器学习模型可以基于识别到的规则或关系生成预测。
发明内容
一般而言,本说明书中所描述的主题的一个创新方面可以被体现为方法,该方法包括以下操作:获得包括多个训练样本的训练数据集,其中,每个训练样本包括特征变量和一个或多个输出变量;使用训练数据集,生成第一矩阵,该第一矩阵是训练数据集的稀疏表示,其中,生成第一矩阵包括:基于特征变量中的每个数值特征变量来生成特征变量的分类表示;通过对每个分类特征变量进行编码,来生成特征变量中的每个分类特征变量的编码表示;对训练数据集的矩阵表示进行因数分解,以生成包括第二矩阵的一个或多个矩阵;使用(i)第二矩阵和(ii)正则化项来生成第三矩阵;基于(i)一个或多个矩阵或(ii)第三矩阵来生成第四矩阵;使用向量来表示第一矩阵的每个特征,该向量包括多个可调参数;以及使用(i)损失函数、(ii)第四矩阵和(iii)第一矩阵的组合来调整可调参数的值。
这个方面的其他实施方式包括相应的装置、***和计算机程序,被配置为执行方法的方面并且在计算机存储设备上编码。这些和其他实施方式可以各自可选地包括以下一个或多个特征。
方法可以包括损失函数,该损失函数提供与以下形式的特定损失函数所提供的给定结果对应的结果:
Figure GDA0003765376790000021
其中,R是残差,yi是输出变量,c是常数并且E是编码表示。
方法可以包括基于每个数值特征变量来生成特征变量的分类表示,该数值特征变量包括:选择节点集合;将数值特征表示为:(i)嵌入的加权和、或(ii)嵌入的加权平均值;使用插值技术来生成嵌入的对应权重;以及使用对应的权重来表示第一矩阵中的每个数值变量。
方法可以包括插值技术,该插值技术用于生成嵌入的对应权重,该嵌入包括样条插值。
方法可以包括生成训练样本中所包括的序数特征集合的分类表示,包括:对序数特征集合执行离散傅里叶变换(DFT)或离散小波变换(DWT);以及至少部分地基于DFT或DWT变换矩阵,将分类表示分配给序数特征集合。
方法可以包括调整可调参数的值,包括迭代地生成序列模型,以预测损失函数的残差,直到损失函数的残差不能再减少、模型质量的度量满足质量阈值、或模型的大小已经达到了最大模型大小阈值。
方法可以包括进一步调整可调参数的值,可以进一步包括基于损失函数的导数生成伪残差。
方法可以包括训练,以在每个后续生成的模型的模型序列中预测先前生成的模型的组合残差值。
方法可以进一步包括调整可调参数的值,包括至少部分地基于设备训练或调用模型的内存约束,迭代地调整可调参数的值,直到模型的大小达到了模型大小阈值。
本说明书中所描述的主题的特定实施例可以实施以实现以下一个或多个优点。例如,本文中所讨论的技术可以基于新的模型架构生成训练机器学习模型,与其他计算昂贵和需要更长的训练周期的机器学习模型相比,该训练机器学习模型需要更少的训练和计算资源来训练和提供高准确度。一般而言,复杂的机器学习模型可以学习训练数据中的错综复杂的关系,但是它对诸如手机的低计算能力的设备不太有利,但是这种新架构使使用低计算能力的设备学习或预测这些错综复杂的关系变得可行,这使得它比其他机器学习模型更高效。从使用其他架构的复杂模型中进行的推断的延迟,也使得那些其他模型对卫生和紧急情况中的实时应用和关键***不太有利,而本文中所讨论的架构可以用于健康和紧急情况中的实时应用和关键***。事实上,使用本文中所讨论的技术生成的模型可以比典型的神经网络模型小很多个数量级,而且速度更快。
与其他现有的机器学习模型相比,本说明书中所描述的机器学习模型也有更高程度的可解释性,这进一步使它适合用在模型预测必须对人类操作员有意义的诸如健康的领域,从而提供对其他机器学习模型的改进。本文中所呈现的机器学习模型也可以用于广泛的建模问题,包括二进制和多任务分类、回归和排序,使得其有利于各种建模问题,从而使得现有机器学习模型比其他受限于它们可以应用的建模问题类型的机器学习模型更灵活。
本说明书中所描述的主题的一个或多个实施例的细节在附图和以下描述中进行说明。主题的其他特征、方面和优点通过说明书、附图和权利要求书将变得显而易见。
附图说明
图1是机器学习模型的示例训练***的框图。
图2是用于生成第一矩阵的示例过程的流程图。
图3是训练机器学习模型的模型参数的示例过程的流程图。
图4是可以用于执行所描述的操作的示例计算机***的框图。
具体实施方式
本文公开了位于一个或多个位置的一个或多个计算机上的方法、***、装置和计算机可读介质,其被配置为响应于在训练数据集合上训练机器学习模型,生成和提供训练机器学习模型。
如说明书和权利要求书中所使用的,除非上下文中另有明确规定,以下术语具有以下含义:
特征:特征是所观察到的现象的单独可测量性质或特性。
分类特征:特征被划分为组。通常,这些特征基于它们被分配到的组取有限数量的可能值。
数值特征:可以用数字表达的特征,而不是自然语言描述。有时称为数量特征,数值特征以数字形式收集。数值特征与其他数字形式的数据类型的区别在于它有能力对这些数字执行算术操作。
序数特征:这些特征是一种具有对其设定顺序或等级的分类数据。
样条:由分段多项式组成的函数,每个分段多项式都有特定的区间。两个分段多项式相交的点被称为控制点或节点。
图1示出了机器学习模型102的示例训练***100。训练***100被配置为生成和提供训练机器学习模型102。模型102被配置为接收输入,并且根据机器学习模型参数集合的当前值处理输入,以基于输入生成输出。一般而言,模型102可以被配置为接收任何种类的数据输入,包括但不限于图像、视频、声音和文本数据,并且基于输入生成任何种类的分数、预测、分类或回归输出。输出数据可以与输入数据具有相同或不同的类型或形态。下面描述了模型的一些应用;其他应用包括在机器控制***中使用。
例如,当模型102被配置为处理作为图像或已经从图像中提取到的特征的训练示例,则由模型102针对给定图像生成的输出可以是对象类别集合中的每个对象类别的得分,其中,每个得分表示图像描绘属于类别的对象的估计可能性。
关于另一示例,如果模型102被配置为处理作为互联网资源(例如,网页)、文档或文档的部分或从互联网资源、文档或文档的部分中提取到的特征的训练示例,则由模型102针对给定互联网资源、文档或文档的部分生成的输出可以是话题集合中的每个话题的得分,其中,每个得分表示互联网资源、文档或文档部分是关于该话题的估计可能性。
关于另一示例,如果模型102被配置为处理作为特定数字组件(例如,音频、视频、文本或其他信息,包括广告形式的信息)的印象上下文的特征的训练示例,则由模型102生成的输出可以是表示特定数字组件将被点击的估计可能性的得分。
关于另一示例,如果模型102被配置为处理作为用户的个性化推荐的特征——例如,表征推荐的上下文的特征,例如,表征用户所采取的先前的动作的特征——的训练示例,则由模型102生成的输出可以是推荐集合中的每个推荐的得分,其中,每个得分表示用户将积极响应被提供的推荐的估计可能性。
关于另一示例,如果模型102被配置为处理作为一种语言的文本序列的训练示例,则由模型102生成的输出可以是另一种语言的文本序列集合中的每个文本序列的得分,其中,每个得分表示另一种语言的文本序列是输入文本到另一种语言的正确翻译的估计可能性。
关于另一示例,如果模型102被配置为处理作为表示口语话语的序列的训练示例,则由模型102生成的输出可以是文本片段集合中的每个文本片段的得分,其中,每个得分表示文本片段是话语的正确文字记录的估计可能性。
训练数据集104包括多个训练示例。每个训练示例包括一个或多个特征和对应的目标输出。响应于处理训练示例的一个或多个特征,与训练示例对应的目标输出指的是模型102的首选或目标输出。
在一些实施方式中,不指定训练输入和对应的目标输出,而是训练示例指定“经验元组”序列,该序列表征代理与环境在多个时间步骤中的交互。每个经验元组包括:(i)在相应的时间步骤表征环境状态的观察、(ii)代理在相应的时间步骤所执行的行动、(iii)在下一个时间步骤表征环境的后续状态的后续观察以及(iv)作为代理在时间步骤执行行动的结果而接收到的奖励。
***100可以以任何一种方式接收训练数据集104。例如,***100可以通过数据通信网络,例如,使用***100提供的应用编程接口(API),接收训练数据集104作为来自***的远程用户的上传。
***100可以包括数据分析引擎110。在一些实施方式中,数据分析引擎110可以实施用于创建或处理训练数据集104的训练示例的一个或多个特征的技术和方法,以创建和/或选择特征来提高学习算法的预测能力。一般而言,机器学习模型的训练数据必须以允许建立模型的格式呈现。无论它是结构化(数值/分类/名义)数据还是非结构化(文本、音频、图像、视频)数据,模型通常接受表格格式,其中,训练示例形成行,并且特征形成列。然而,其他格式是可能的。为了解释的目的,训练数据集104可以被定义为具有表单{xi,yi},...{xN,yN}的N个训练示例,其中,xi是第i个训练示例的特征向量,并且yi是目标输出。由于特征向量xi的维数是固定的,训练数据集可以使用表格或矩阵表示。
嵌入的使用对于分类特征是自然的,但是对于数值特征,嵌入的使用通常需要将数值特征的连续值转换为特征空间中的离散点。在一些实施方式中,这些离散点被称为控制点或节点。在一些实施方式中,数据分析引擎110使用三次样条插值将训练数据集104的一个或多个特征中的每个数值特征的值处理为离散点。三次样条插值可以在已知点集合的边界内构造新的点。这些新的点是插值函数(称为样条)的函数值,它本身由多个三次分段多项式组成。
为了解释的目的,考虑训练数据集104,其中包括一个数值特征x和目标输出y的n个训练示例。在一些实施方式中,数据分析引擎110可以使用任何数量的节点(对于例如n+1个节点)对合法的特征值x进行分位数,使得{(xi,Yi):i=1,...n},其中Yi是xi的K维嵌入表示,并且x0<x1<…<xn
在一些实施方式中,对于特征值xk+1+t的值,其中,0≤t<x(k+2)-xk+1,数值特征的值可以由嵌入Y(即嵌入空间中的向量)表示,该嵌入Y可以由{Yk,Yk+1,Yk+2,Yk+3}和{wk,wk+1,wk+2,wk+3}的加权和确定。在一些实施方式中,嵌入Y可以采取以下形式:
Y=wk*Yk+wk+1*Yk+1+wk+2*Yk+2+wk+3*Yk+3 1
在一些实施方式中,权重{wk,wk+1,wk+2,wk+3}可以使用以下等式计算:
Figure GDA0003765376790000081
Figure GDA0003765376790000082
Figure GDA0003765376790000083
Figure GDA0003765376790000084
其中,h00(t)、h10(t)、h01(t)、h11(t)是表示在区间[xk+1,xk+2]之间插值的三次hermite样条的hermite基函数,该区间可以使用以下等式来确定:
Y=h00(t)*Yk+1+h10(t)*mk+1+h01(t)*Yk+2+h11(t)*mk+2 6
h00(t)=2*t3-3*t2+1 7
h10(t)=t3-2*t2+t 8
h01(t)=-2*t3+3*t2 9
h11(t)=t3-t2 10
Figure GDA0003765376790000085
Figure GDA0003765376790000086
在一些实施方式中,当数值特征xi的值在区间[xk+1,xk+2]内时,数据分析引擎110可以使用权重wk、wk+1、wk+2、wk+3将数值特征的嵌入表示为单独从xi选择的4个值的4个嵌入的加权和。这4个值可以是xk、xk+1、xk+2和xk+3。这4个点是控制点和节点的示例。
在一些实施方式中,当数值特征xi的值在区间[x0,x1]内时,数据分析引擎110可以使用上述等式6至12之外的等式13和14来计算权重w0、w1和w2,以标识数值特征xi
Figure GDA0003765376790000087
m0=(Y1-Y0)/(x1-x0) 14
当使用等式13和14时,等式2、3和4可以分别采取以下形式:
Figure GDA0003765376790000091
Figure GDA0003765376790000092
Figure GDA0003765376790000093
在一些实施方式中,如果数值特征xi的值在区间[xn-1,xn]内,则数据分析引擎110可以使用上述等式6至12之外的等式18和19来计算权重wn-2、wn-1和wn,以标识数值特征xi
Figure GDA0003765376790000094
Figure GDA0003765376790000095
当使用等式18和19时,等式2、3和4可以分别采取以下形式:
Figure GDA0003765376790000096
Figure GDA0003765376790000097
Figure GDA0003765376790000098
在一些实施方式中,数据分析引擎110可以进一步优化(例如,改进或以其他方式调整)节点的数量和位置。例如,假设xi,j是第i个训练示例的第j个数值特征。进一步假设第j个特征的观察到的值的范围是[min(xi,j),max(xi,j)]。如果xi,j均匀分布在范围[min(xi,j),max(xi,j)]内,则输入分析引擎110可以选择距离与范围相等的节点。如果xi,j没有均匀分布在范围内,则数据分析引擎110可以基于值xi,j的密度选择节点。例如,数据分析引擎110可以基于xi,j分布的分位数选择节点,该分位数允许任何xi,j落在相邻的节点对之间的概率相等,从而提供足够的支持来学习嵌入。
在一些实施方式中,数据分析引擎110可以使用哈达玛变换(HT)优化节点的选择,该哈达玛变换是傅里叶变换(FT)的泛化。在其他实施方式中,除了HT之外,数据分析引擎110还可以使用哈尔小波变换(HWT)。然而,通过理解机器学习模型102的工作,解释如何可以使用HT和HWT的适当方法和技术。为了解释的目的,本文的以下节将呈现训练机器学习模型102的方法和技术。
图2是用于生成第一矩阵的示例过程200的流程图。为了支持训练过程的制定,第一矩阵被称为A。例如,过程200的操作可以由数据分析引擎110实施。过程200的操作也可以被实施为一个或多个计算机可读介质上所存储的指令,该计算机可读介质可以是非暂时性的,并且一个或多个数据处理装置对这些指令的执行,可以使一个或多个数据处理装置执行过程200的操作。训练数据集104使用包括行和列的表格格式表示,其中,每一行都是训练示例,并且每一列都是训练示例的特征。当然,可以使用其他适当的格式。
在一些实施方式中,第一矩阵是稀疏矩阵,该稀疏矩阵是通过使用诸如独热编码的编码技术对训练数据集104的分类特征进行编码而生成的。然而,由于训练数据集104可以包括其他类型的特征(例如,数值特征和序数特征),数据分析引擎可以处理数值特征和序数特征,并且根据上述方法将它们转换为分类特征。
数据分析引擎110从训练数据集中选择特征(202)。例如,数据分析引擎110可以迭代地从训练数据集104的一个或多个特征中选择特征来进行处理。在其他实施方式中,数据分析引擎110可以同时从来自训练数据集104的一个或多个特征中选择多个特征来进行处理,因为每个特征的处理都独立于其他特征的处理,从而消耗更少的计算时间。
数据分析引擎110可以确定所选的特征是否是分类特征(204)。例如,数据分析引擎110可以实施本领域中已知的方法,以确定从训练数据集104中选择的特征是否是分类特征。如果特征被确定为是分类特征,则数据分析引擎110可以转到过程200的步骤208。如果特征被确定为不是分类特征,则数据分析引擎110可以使用过程200的步骤206将特征转换为分类特征。
数据分析引擎110可以将非分类特征的值转换为特征空间中的离散点(206)。例如,数据分析引擎110在确定特定特征不是分类特征(即,特定特征是数值特征)后,可以使用三次样条插值方法(上面所描述的),基于节点将特定特征的值转换为加权平均值。例如,数值特征xi可以使用k维嵌入Yi表示。
数据分析引擎110可以生成特征的编码表示(208)。例如,数据分析引擎110可以使用诸如独热编码的方法来生成分类特征的编码表示。一般而言,独热编码取决于特定特征的类别将分类特征转换为1和0的向量。例如,如果识别性别的特定特征取值男性和女性,则独热编码的表示可以具有两个特征,以便如果特定特征是男性,则表示的第一特征具有值1(并且第二特征将具有值0)。对应地,如果特定特征是女性,则表示的第一特征将具有值0(并且第二特征将具有值1)。
注意,在过程200的步骤208之前,训练数据集中的所有特征都是分类特征,因为不是分类特征的特征是在步骤206中处理以生成分类表示。还应注意,即使步骤208已经被描述为使用独热编码技术来生成分类特征的编码表示,任何适当的编码技术也可以用于此目的。
在一些实施方式中,在生成第一矩阵后,数据分析引擎110可以使用奇异值分解(SVD)将第一矩阵分解为一个或多个矩阵。SVD方法可以使用以下等式表示:
A=U*∑*VT 23
其中,A是n×m矩阵,以便n>m,U是n×m正交矩阵,∑是m×m对角矩阵(也称为第二矩阵),并且V是m×m正交矩阵。
在一些实施方式中,数据分析引擎110可以计算第三矩阵∑-1,即使用正则化项λ的矩阵∑的逆矩阵。∑-1可以使用以下等式计算:
Figure GDA0003765376790000121
其中,Σ=diag(σ1,…σr)并且σ1,…σr是奇异值。
在一些实施方式中,等式24可以用于使用等式25计算第一矩阵(也称为第四矩阵)的逆矩阵:
Figure GDA0003765376790000122
在一些实施方式中,***100可以进一步包括训练引擎108,该训练引擎108可以包括一个或多个处理器,并且被配置为在每次迭代时,基于损失函数106训练模型102。在一些实施方式中,训练引擎108可以通过根据模型参数103的当前值调整模型参数103的值来训练模型102,以减少损失函数106所生成的损失值。
在一些实施方式中,数据分析引擎110可以将训练数据集104的每个特征映射到维数K的嵌入表示,该维数K是基于特征的唯一值和/或级别(也称为特征的基数)来确定的。例如,如果训练数据集104具有N个训练示例并且每个训练示例都具有M个特征,则第i个训练示例的第j个特征的值可以使用维数K的嵌入Ei,j表示,其中,Ei,j∈RK。应当注意,对于分类特征xj的每个独特值,存在导致特征j的|xj|独特嵌入的独特嵌入Ej,其中,|xj|是分类特征j的基数。
在一些实施方式中,在训练机器学习模型102期间,机器学习模型可以根据以下等式进行预测:
Figure GDA0003765376790000123
其中,C可以是常数,可以被定义为:
Figure GDA0003765376790000124
训练引擎108可以通过调整可训练参数ck的值和嵌入表示,使用K次迭代训练机器学习模型。例如,在训练过程的第k次迭代中,训练引擎可以计算所有特征的每个|xj|嵌入表示的可训练参数ck和第k个值。
一般而言,机器学习模型的残差是模型预测和目标输出之间的差。根据机器学习模型102,训练过程的第k次迭代的残差可以使用等式26和27计算。残差可以通过以下形式表示,其中,yi是样本i的目标输出。
Figure GDA0003765376790000131
在一些实施方式中,每次后续训练迭代的目标输出都可以是先前迭代所导致的残差。例如,第k次迭代期间的目标输出yi是在第k-1次训练迭代中使用等式28计算的残差Rk-1,i,这在逻辑上意味着每次训练迭代都试图基于先前训练迭代的残差(也称为预测误差)来学习模型参数。这种训练过程可以生成N等式的超定***,该等式可以被表示为:
Figure GDA0003765376790000132
其中,i=1,2,...N。
在一些实施方式中,N等式的超定***可以转化为对数空间,例如,通过将ck移动到等式29的右侧,并且对结果等式的两边取对数,如等式30所表示的:
Figure GDA0003765376790000133
其中,对于任何1≤i≤N,Rk-1,i-ck>0。
应当注意,
Figure GDA0003765376790000134
其中,X是与第一矩阵的列对应的连接在一起的所有特征的每个|xj|嵌入表示的第k个值。使用等式30,N方程的超定***可以进一步表示为:
A*X=B 31
其中,Bi=log(Rk-1,i-ck)。
应当注意,等式31可以类似于公式中没有截距的经典线性回归问题的公式。在一些实施方式中,通过在第一矩阵A中添加额外的列,可以将等式31修改为[A 1]*[X b]T=B。在一些实施方式中,通过将具有单一值的分类特征添加到训练数据集104的每个训练示例,可以实现在第一矩阵A中添加额外的列。
在一些实施方式中,训练引擎108可以在超定***的等式31中计算X。由于A*X=B和A=U*∑*VT,可以得出以下等式:
U*∑*VT*X=B 32
这导致
V*∑-1*UT*U*∑*VT*X=V*∑-1*UT*B 33
由于矩阵U*UT=I、V*VT=I和∑*∑T=I,等式33可以用于如下得出X:
X=V*∑-1*UT*B=A-1*B 34
其中,A-1使用等式25计算,并且Bi=log log(Rk-1,i-ck)。
在一些实施方式中,训练引擎108可以基于下述启发式选择ck的值。
如果min(Rk-1,i)-ck>1并且log(max(Rk-1,i)-ck)>log(min(Rk-1,i)-ck)>0,则ck的值可以增加,以减小log(max(Rk-1,i)-ck)和max((log(Rk-1,i-ck))2)。
如果max(Rk-1,i)-ck<1并且0>log(max(Rk-1,i)-ck)>log(min(Rk-1,i)-ck),则ck的值可以减小,以减小max((log(Rk-1,i-ck))2)。
Figure GDA0003765376790000141
时,max((log(Rk-1,i-ck))2)的值可以减小到最小值,以便
Figure GDA0003765376790000142
在一些实施方式中,训练引擎108可以进一步通过选择ck的最优值,基于直觉优化ck的选择,|A*X-B|2的值可以被最小化。这可以使用函数L(ck)表示,其中:
L(ck)=BT*(I-A*(AT*A)-1*AT)*B 35
通过计算C=I-A*(AT*A)-1*AT,等式35可以采取以下形式:
L(ck)=BT*C*B=∑ijCi,j*log(Rk-1,i-ck)*log(Rk-1,j-ck) 36
在一些实施方式中,训练引擎108可以使用作为一阶迭代优化算法的梯度下降算法来找到最小化L(ck)的ck的值。梯度下降算法使用函数L(ck)的一阶导数。函数的一阶导数采取以下形式:
Figure GDA0003765376790000151
在一些实施方式中,训练引擎108可以使用作为二阶迭代优化算法的牛顿法或随机牛顿法来找到最小化L(ck)的ck的值。牛顿法和随机牛顿法使用函数L(ck)的二阶导数。函数的二阶导数采取以下形式:
Figure GDA0003765376790000152
这种优化ck的值的技术与神经网络的使用可能不同,例如,因为在这里,每次迭代都只有单个未知的ck,导致这个单变量优化问题,而神经网络优化问题可能需要处理数百万或数十亿个变量,并且必须找到数百个或数百万个变量的局部最小值。因此,很容易看出,与神经网络优化相比,这种优化ck的技术提供了显著的资源和训练时间减少。
在一些实施方式中,训练引擎108可以直接使用随机梯度下降(SGD)算法优化代价函数。机器学习模型的代价函数可以具有以下形式:
Figure GDA0003765376790000153
在一些实施方式中,训练引擎108可以使用坐标下降算法来优化可训练参数。在这种实施方式中,坐标下降算法可以计算C的新值,其中,新值C’可以使用以下等式计算:
Figure GDA0003765376790000161
在一些实施方式中,训练引擎108可以使用超定***计算特定特征的值的嵌入表示。例如,超定***A*X=B可以是使用QR分解为X求解的。在这种情况下,解X是K维向量,并且log(max(Xk′∈))是嵌入中的第k个元素的新值,并且∈是小的正数。这种超定***可以如下表示:
Figure GDA0003765376790000162
Figure GDA0003765376790000163
其中,xi,q=v并且pi,...={0,1,2,...}
在一些实施方式中,机器学习模型102的训练过程的终止标准可以基于训练过程的第k次迭代后的残差来确定。例如,如果上述迭代优化方法不能够进一步最小化残差的大小,则可以终止训练过程,并且可以将包括所有特征的维数K、常数C和所有嵌入表示的模型参数的当前值视为最终值。
在一些实施方式中,训练过程的终止标准可以是机器学习预测准确度,该机器学习预测准确度可以使用诸如精度、检索率、F1得分或PR AUC的指标来衡量。例如,当具有当前模型参数的机器学习模型102的准确度达到了预定阈值时,训练引擎108可以终止训练过程。
回到使用HT和HWT选择节点。对于K维中的每一维,数据分析引擎110和训练引擎108学***滑函数。对于等间距的节点x0<x1<…<xn,其中,x0=min(xi,j)并且xn=max(xi,j),上述方法学习足够接近f的三次样条f′。为了评估接近度,我们评估任何xi处的f和f′,其中,x0<xi<xn,其中,训练较好的模型的|f(xi)-f′(xi)|<∈。为了用m+1个节点表示三次样条,模型需要学习m+1个参数,即{f′(xo),f′(x1),...f′(xm)}。如果所选的m的值明显大于必要值,则模型参数{f′(x0),f′(x1),...f′(xm)}中可能有许多冗余。我们可能能够压缩模型参数{f′(x0),f′(x1),...f′(xm)},即减小模型大小,而不减小三次样条适应度的质量。如果我们将{f′(x0),f′(x1),...f′(xm)}视为在m+1个点处进行采样的一维连续信号,则我们可以使用作为傅里叶变换(FT)的泛化的哈达玛变换(HT)或作为一种可能的小波变换的哈尔小波变换(HWT)将一维信号转换为频域。连续一维信号在频域中通常可以被更好的压缩。
在一些实施方式中,数据分析引擎110可以使用哈达玛变换将函数f转换为频域(表示为F)。哈达玛变换的变换矩阵可以采取以下形式:
Figure GDA0003765376790000171
其中,i·j是数字i和j的二进制表示的位点积。由于f到F的变换等同于投影向量{f′(x0),f′(x1),...f′(xm)},以下关系成立:
Hn*{f′(x0),f′(x1),...f′(xm)}T={F′(x0),F′(x1),...F′(xm)} 43
其中,m=2n
在一些实施方式中,训练引擎108可以在频域中训练机器学习模型102。例如,等式6至12和44可以用于得出结论,即每个Y都是所有F′(x0),F′(x1),...F′(xm)的线性组合。然后,训练引擎108可以构建第一矩阵,并且直接使用等式31至38计算F′(x0),F′(x1),...F′(xm)的值。
Figure GDA0003765376790000172
当在频域中训练机器学习模型102时,所学习的嵌入中的每个元素都是频域中频率的系数(即,线性组合的权重)。对于值非常小的元素,训练引擎108可以将这些元素值设置为0,以减小模型参数的数量、模型容量并且避免过度拟合。频域中的压缩可能更有效。
在一些实施方式中,正则化的应用,例如等式24,可以将学习到的嵌入中的元素值缩小到0。对于值非常小的元素,训练引擎108可以将这些元素值设置为0,以减少模型参数的数量、模型容量并且避免过度拟合。
在一些实施方式中,如果训练数据集104中的特征包括序数特征,则数据分析引擎110可以使用哈德玛变换方法(如上所述)。在这种实施方式中,可以填充序数特征的独特值的数量,以将独特值的数量增加到
Figure GDA0003765376790000181
其中,ceiling(x)返回不小于x的最小整数。
一般而言,机器学习模型可以用于各种任务,诸如回归、分类和排序。以下节描述了上述机器学习模型102如何可以用于这种任务。
多类分类
假设存在形式{xi,li},...{xN,lN}的N个训练示例的训练数据集102,其中,xi是第i个训练示例的特征向量,并且li是相应的目标标签,其中,li是所有可能的标签L的实例,即li∈L。进一步假设每个训练示例的特征的数量都是M-1,即xi,1,...xi,M-1
多类分类问题是找到分类器F来预测训练示例的类标签,即F(xi,1,...xi,M-1)=li。多类分类问题可以重新表述为每一类的回归问题,即用于找到分类器F’,以便如果xi,M=li则F′(xi,1,...xi,M)=1、否则对于所有xi,M∈L其为0。
在训练过程中,数据分析引擎110可以将训练数据集102的N个训练示例转换为N*L个训练示例,其中,N个训练示例都具有目标标签1,并且N*(L-1)个训练示例具有标签0。如果分类问题是由不平衡的数据集造成的,则可以将权重分配给训练示例。例如,可以定义超参数δ>0,并且可以如下修改所生成的训练示例和标签。对于所有xi,M∈L,
如果xi,M=li,则δ*(L-1)*F(xi,1,...xi,M-1,xi,M)=δ*(L-1)
否则F′(xi,1,...xi,M-1,xi,M)=0 45
其中,标签为1的训练示例的权重是δ*(L-1)。应当注意,选择δ=1将导致完美平衡的二进制分类问题。还应当注意,增加δ的值减小了F’的预测结果的类内方差。
然后,可以使用等式26和本文中所述的对应解决方案计算最优分类器F′。应当注意,在训练期间,每个标签li∈L将具有K维嵌入。为了预测最可能的标签,可以将等式26重新格式化为维数为K+1的两个向量的点积,其中,具有最大点积的标签最有可能是训练示例xi,1,...xi,M-1的标签。
(下面所呈现的)两个向量中的第一个可以独立于可能的标签,并且只与第i个训练示例xi,1,...xi,M-1的特征的值相关:
{C,p1,...,pK}其中
Figure GDA0003765376790000191
(下面所呈现的)两个向量中的第二个可以是标签的嵌入,并且独立于第i个训练示例xi,1,...xi,M-1的特征的值:
{1,q1,...,qK}其中
Figure GDA0003765376790000192
多任务分类/回归
假设有N个训练示例的训练数据集102,其中每个训练示例具有特征xi,1,...xi,M-1和标签
Figure GDA0003765376790000193
其中{t1,...tT}是任务。
在训练过程中,数据分析引擎110可以通过定义具有值{t1,...tT}的虚拟分类特征向量Xm,将多任务问题转变为等效的单任务问题。第i个训练示例可以进一步如下扩展为T个训练示例:
Figure GDA0003765376790000203
然后,训练引擎108可以根据上述技术和方法训练函数F,以学习每个任务t的K维embeddingt,其类似于(上述)多类分类问题,其中,每个标签具有嵌入。
类似于多类分类问题,训练引擎108可以计算向量{p1,...pK},其中,
Figure GDA0003765376790000204
独立于可能的任务,并且只与第i个训练示例xi,1,...xi,M-1的特征的值相关。然后,可以使用下式计算任务t的预测结果:
C+{p1,...pk}⊙embeddingt 49
排序
一般而言,学习排序问题可以表述为项无关的上下文特征集合{X1,...XM}和项特定的特征集合{Y1,...YN}。通常,N=1,并且Y1是分类特征。在训练期间,使用成对式方法,每个训练示例都包括(1)上下文特征{X1,...XM}的值、(2)第一项{y1,1,...y1,n}的项特定的特征的值、(3)第二项{y2,1,…y2,n}的项特定的特征的值和(4)指示两个项之间的顺序,即如果第一项的排序应低于第二项,L=-1,否则L=1。当查询时,每个查询都包括(1)上下文特征{x1,...xM}的值和(2)Z项,其项特定的特征具有值{yz,1,...yz,n},其中z∈[1,Z]。
在训练期间,训练引擎108可以在两项之间定义二进制运算符,其结果基于运算符的左手侧(LHS)的项的排序是否应高于运算符的右手侧(RHS)的项,是真或是假。
对于{Y1,...YN}中的每个项特定的特征,数据分析引擎110可以定义两个项特定的特征,以对LHS Vs RHS进行编码,即{LHS_Y1,...LHS_YN}和{RHS_Y1,...RHS_YN},其中,Yi、LHS_Yi和RHS_Yi具有相同的数据类型,并且其值具有相同的语义。机器学习模型102中的特征集合可以是大小为M+2*N的特征的形式{X1,...XM,LHS_Y1,...LHS_YN,RHS_Y1,...RHS-YN}。
对于每个训练示例{{x1,...xM},{y1,1,...y1,n},{y2,1,...y2,n},L},训练引擎108可以处理四个训练示例。训练示例如下:
带有标签L的{x1,...xm,y1,1,...y1,n,y2,1,...y2,n}
带有标签-L的{x1,...xm,y2,1,...y2,n,y1,1,...y1,n}
带有标签0的{x1,...xm,y1,1,...y1,n,y1,1,...y1,n}
带有标签0的{x1,...xm,y2,1,...y2,n,y2,1,...y2,n} 50
应该注意,第一训练示例可以是原始训练示例,第二训练示例可以是第一训练示例的负示例,其具有如果两个项目交换,则模型102的预测应该被反转的观察。训练示例3和4是表明两个相似的项目应该排序相同的约束。
假设查询中的上下文特征的值是{x1,...xm},并且查询需要对x个项进行排序,即{z1,...zx},其项特定的特征具有值
Figure GDA0003765376790000211
其中,zi∈{zi,...zx}。给定两个任一项zi、zj∈{z1,...zx},训练引擎108如下计算函数F+和F-
Figure GDA0003765376790000212
Figure GDA0003765376790000213
然后,训练引擎108可以定义
cap(x,minValue,maxValue)=min(max(x,minValue),maxValue)
这可以得到
Figure GDA0003765376790000214
其中,-1≤F(zi,zj)≤1。F(zi,zj)是zi的排序优于zj的奖励。
然后,训练引擎108可以找到{zi,....zx}的排列,即最大化总体奖励的{z′i,...z′x},即∑1<i≤j≤xF(z′i,z′j)。
图3是用于训练机器学习模型的示例过程300的流程图。过程300的操作可以例如由图1的***100的数据分析引擎110和训练引擎108或一个或多个数据处理装置实施。过程300的操作还可以被实施为计算机可读介质上所存储的指令,其中,指令的执行可以使一个或多个数据处理装置执行过程300的操作。
***100获得包括多个训练样本的训练数据集(302)。例如,数据分析引擎110可以接收训练数据集104。训练数据集104包括多个训练示例。每个训练示例包括一个或多个特征和相应的目标输出。响应于处理训练示例的一个或多个特征,与训练示例对应的目标输出指的是模型102的首选输出。例如,训练数据集104可以被定义为具有形式{xi,yi},...{xN,yN}的N个训练示例,其中,xi是第i个训练示例的特征向量,并且yi是目标输出。由于特征向量xi的维数是固定的,训练数据集可以使用表格或矩阵表示。
数据分析引擎110生成作为训练数据集的稀疏表示的第一矩阵(304)。例如,数据分析引擎110可以迭代地从训练数据集104的一个或多个特征中选择特征来进行处理。数据分析引擎确定所选的特征是否是分类特征。如果特征被确定为不是分类的,则数据分析引擎110将非分类特征的值转换为特征空间中的离散点。例如,数据分析引擎110在确定特定特征不是分类特征(即,特定特征是数值特征)后,可以使用三次样条插值方法将特定特征转换为离散点。在一些情况下,傅里叶变换(FFT)和/或小波变换可以用于在频域中训练特征嵌入,以实现更好的模型压缩,即减少模型参数的数量和防止与正则化的过度拟合。例如,FFT(和/或小波)可以应用于在频域中进行训练,其中,嵌入是频率的线性组合的系数(即权重)。
数据分析引擎110可以使用诸如独热编码的方法生成特征的编码表示,以生成分类特征的编码表示。一般而言,独热编码根据特定特征的类别将分类特征转换为1和0的向量。例如,如果识别性别的特定特征取值男性和女性,则独热编码的表示将具有两个特征,以便如果特定特征是男性,则表示的第一特征将具有值1(并且第二特征将具有值0)。对应地,如果特定特征是女性,则表示的第一特征将具有值0(并且第二特征将具有值1)。在对训练数据集102的每个特征进行编码之后,结果可以使用被称为第一矩阵的表格或矩阵表示。
数据分析引擎110可以对称为第一矩阵的数据集的矩阵表示进行因数分解(306)。例如,在生成第一矩阵后,数据分析引擎110使用奇异值分解(SVD)将第一矩阵分解为一个或多个矩阵。SVD方法可以使用以下等式表示:A=U*∑*VT,其中,A是n×m矩阵,以便n>m,U是n×m正交矩阵,∑是m×m对角矩阵(也称为第二矩阵),并且V是m×m正交矩阵。
数据分析引擎110可以使用第二矩阵和正则化项生成第三矩阵(308)。例如,数据分析引擎110可以计算第三矩阵∑-1,即使用正则化项λ的矩阵∑的逆矩阵。∑-1可以使用以下等式计算:
Figure GDA0003765376790000231
其中,∑=diag(σ1,...σr),并且σ1,...σr是奇异值。
数据分析引擎110可以基于一个或多个矩阵和第三矩阵生成第四矩阵(310)。例如,等式24可以用于使用等式25计算第一矩阵(也称为第四矩阵)的逆矩阵:
Figure GDA0003765376790000232
数据分析引擎110可以使用包括预定数量的可调参数的向量表示训练数据集的每个特征(312)。例如,数据分析引擎110将训练数据集104的每个特征映射到维数K的嵌入表示,该维数K是基于特征的唯一值和/或级别(也称为特征的基数)来确定的。例如,如果训练数据集104具有N个训练示例并且每个训练示例都具有M个特征,则第i个训练示例的第j个特征的值可以使用维数K的嵌入Ei,j表示,其中,Ei,j∈RK。应当注意,对于特征xj的相对较小的基数,对于分类特征xj的每个独特值,存在导致特征j的|xj|独特嵌入的独特嵌入Ej,其中,|xj|是分类特征j的基数。对于基数相对较高的特征,数据分析引擎110可以将基数相对较高的特征分成基数相对较低的特征。例如,特征xj可以被分成xj1,xj2,...xjq。在这种情况下,特征x可以使用q个独特嵌入Ej表示。
训练引擎108可以调整机器学习模型102的可调模型参数的值(314)。在一些实施方式中,调整可以包括迭代地训练序列模型,以预测损失函数的残差,直到损失不能再减少、模型质量的度量满足质量阈值、或模型的大小已经达到了最大模型大小阈值(例如,基于训练或调用模型的设备的内存约束)。例如,训练引擎108通过调整可训练参数ck的值和嵌入表示,使用K次迭代训练机器学习模型。根据机器学习模型102,训练过程的第k次迭代的残差可以使用等式26和27计算。残差可以通过以下形式表示:
Figure GDA0003765376790000241
其中,yi是样本i的目标输出。
在一些实施方式中,每个后续训练模型都可以被训练来预测模型序列中先前生成的模型的组合残差值。换言之,每次后续训练迭代的目标输出都是来自先前迭代的残差。训练过程可以生成N等式的超定***,该超定***可以使用以下等式转换为对数空间:
Figure GDA0003765376790000242
其中,任何1≤i≤N的Rk-1,i-ck>0。
N等式的超定***可以进一步表示为:
A*X=B
其中,Bi=log(Rk-1,i-ck)。
训练引擎108可以使用以下等式,在超定***的A*X=B中计算X:
X=V*∑-1*UT*B=A-1*B 34
其中,A-1使用等式25计算,并且Bi=log log(Rk-1,i-ck)。
在一些实施方式中,不适用等式34,训练引擎108可以使用迭代方法计算X,其具有选择的正则化技术,例如L1正则化(又名Lasso回归)或L2正则化(又名岭回归)。训练引擎108可以基于下述启发式或其他适当的启发式选择ck的值。训练引擎108可以进一步基于直觉优化ck的选择,即通过选择ck的最优值,可以最小化|A*X-B|2的值。这可以使用函数L(ck)表示,其中
L(ck)=BT*(I-A*(AT*A)-1*AT)*B 35
通过计算C=I-A*(AT*A)-1*AT,等式35可以采取形式:
L(ck)=BT*C*B=∑ijCi,j*log(Rk-1,i-ck)*log(Rk-1,j-ck) 36
在一些实施方式中,训练引擎108可以使用作为一阶迭代优化算法的梯度下降算法来找到最小化L(ck)的ck的值。训练引擎108还可以使用牛顿法、作为二阶迭代优化算法的随机牛顿法来找到最小化L(ck)的ck的值。训练引擎108还可以直接使用随机梯度下降(SGD)算法优化代价函数。训练引擎108还可以使用坐标下降算法来优化可训练参数。
训练引擎108可以使用超定***计算特定特征的值的嵌入表示。例如,超定***A*X=B可以是使用QR分解为X求解的。
在一些实施方式中,误差函数可以与均方误差(MSE)不同。在这些实施方式中,除了在K个步骤中的每个步骤中都使用残差作为训练标签,训练引擎108可以计算伪残差,即表示Ai*X的内积的真正中间变量的损失函数的导数,其中,Ai是与第i个训练示例对应的第一矩阵的行。让Bi表示为第i个训练计算的伪残差。训练引擎108可以先前的节中所描述的任何线性回归方法求解超定***A*X=B
在一些实施方式中,在迭代训练过程中的K个步骤中的每个步骤中,训练引擎108可以将线性回归结果的截距显式地表示为
Figure GDA0003765376790000261
在一些实施方式中,训练引擎108可以显式地定义学***均值。在支持截距和学习率的一些实施方式中,目标函数可以是
Figure GDA0003765376790000264
通过引入具有一个合法值的虚构的单值分类特征,上述等式可以等同于
Figure GDA0003765376790000265
其中,
Figure GDA0003765376790000266
并且虚构的单值分类特征的嵌入中的第k维是log(γ)+interceptk
图4是可以用于执行上述操作的示例计算机***400的框图。***300包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个都可以相互连接,例如,使用***总线450。处理器410能够处理在***400内所执行的指令。在一个实施方式中,处理器410是单线程处理器。在另一实施方式中,处理器410是多线程处理器。处理器410能够处理存储器420中或存储设备430上所存储的指令。
存储器420将信息存储在***400内。在一个实施方式中,存储器420是计算机可读介质。在一个实施方式中,存储器420是易失性存储器单元。在另一实施方式中,存储器420是非易失性存储器单元。
存储设备430能够为***400提供海量存储。在一种实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,例如,存储设备430可以包括硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备或一些其他大容量存储设备。
输入/输出设备440为***400提供输入/输出操作。在一种实施方式中,输入/输出设备440可以包括以下一项或多项:例如以太网卡的网络接口设备、例如RS-232端口的串行通信设备和/或例如802.11卡的无线接口设备。在另一实施方式中,输入/输出设备可以包括驱动器设备,该驱动器设备被配置为接收输入数据并且将输出数据发送给其他输入/输出设备,例如,键盘、打印机和显示设备370。然而,也可以使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
虽然示例处理***已经在图4中进行了描述,但是本说明书中所描述的主题和功能操作的实施方式可以在其他类型的数字电子电路***中或在计算机软件、固件或硬件——包括本说明书中所公开的结构以及其结构等同物——中或在它们中的一个或多个的组合中实施。
电子文档(为了简洁起见,将简称为文档)不一定与文件对应。文档可以存储在保存其他文档的文件的部分、专门用于所讨论的文档的单个文件或多个协调文件中。
本说明书中所描述的主题和操作的实施例可以在数字电子电路***中或在计算机软件、固件或硬件——包括本说明书中所公开的结构以及其结构等同物——中或在它们中的一个或多个的组合中实施。本说明书中所描述的主题的实施例可以实施为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,这些计算机程序指令在计算机存储介质上编码以供数据处理装置执行或控制数据处理装置的操作。可替代地或另外,程序指令可以在人工生成的传播信号——例如,机器生成的电气、光学或电磁信号,生成该信号是为了对信息进行编码以传输给合适的接收器设备,以供数据处理装置执行——上编码。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合或被包括在其中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)。
本说明书中所描述的操作可以实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
术语“数据处理装置”包括用于处理数据的各种装置、设备和机器,例如,包括可编程处理器、计算机、片上***或多个片上***或上述组件的组合。装置可以包括专用逻辑电路***,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,诸如,web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括汇编或解释语言、说明性或过程化语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不一定与文件***中的文件对应。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)或专门用于所讨论的程序的单个文件或多个协调的文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机或位于一个站点或分布在多个站点上并且通过通信网络相互连接的多个计算机上执行。
本说明书中所描述的过程和逻辑流程可以由一个或多个可编程处理器执行,这些可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作和生成输出来执行动作。过程和逻辑流程还可以由专用逻辑电路***(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以实施为该专用逻辑电路***。
例如,适合执行计算机程序的处理器包括通用微处理器和专用微处理器两者。一般而言,处理器将接收来自只读存储器或随机访问存储器或两者的指令。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般而言,计算机还将包括用于存储数据的一个或多个海量存储设备,例如,磁盘、磁光盘或光盘,或可操作地耦合以接收来自该海量存储设备的数据或将数据传输给该海量存储设备或这两种情况。然而,计算机不需要有这样的设备。此外,计算机可以嵌入另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位***(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动),这里仅举几个示例。适合存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括,半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移除盘;磁光盘以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路***补充或可以并入该专用逻辑电路***中。
为了提供与用户的交互,本说明书中所描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器以及键盘和指向设备,例如,鼠标或轨迹球,用户可以通过该键盘和该指向设备将输入提供给计算机。其他种类的设备还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以包括声音输入、语音输入或触觉输入的任何形式接收。另外,通过将文档发送给用户所使用的设备并且从该设备接收文档,例如,通过响应于从web浏览器接收到的请求将网页发送给用户的客户端设备上的web浏览器,计算机可以与用户进行交互。
本说明书中所描述的主题的实施例可以在计算***中实施,该计算***包括例如作为数据服务器的后端组件,或包括例如应用服务器的中间件组件,或包括前端组件,例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或该Web浏览器与本说明书中所描述的主题的实施方式进行交互或一个或多个这种后端组件、中间件组件或前端组件的任何组合。***的组件可以通过任何形式或介质的数字数据通信——例如,通信网络——相互连接。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网(例如,互联网)以及点对点网络(例如,ad hoc点对点网络)。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送给客户端设备(例如,为了将数据显示给与客户端设备进行交互的用户和接收来自该用户的用户输入)。客户端设备处所生成的数据(例如,用户交互的结果)可以是在服务器处从客户端设备接收到的。
虽然本说明书包含了许多具体实施细节,但是这些细节不应被视为对任何发明或可能被要求的内容的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。本说明书中在单独的实施例的背景下所描述的某些特征还可以在单个实施例中组合实施。相反,在单个实施例的背景下所描述的各种特征也可以在多个实施例中单独地或按照任何合适的子组合实施。此外,虽然特征在上面可以被描述为以某些组合起作用并且最初甚至进行了同样的要求,但是在一些情况下可以从组合中删除来自所要求的组合的一个或多个特征,并且所要求的组合可以涉及子组合或子组合的变化。
类似地,虽然操作在图中是按照特定顺序描绘的,但是这不应被理解为需要按照所示的特定顺序或按照相继顺序来进行这类操作,或进行了所有所示操作以实现期望结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种***组件的分离都不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以一起集成在单个软件产品中或封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其他实施例在以下权利要求书的范围内。在某些情况下,权利要求书中所叙述的动作可以按照不同的顺序进行,并且仍然实现期望的结果。另外,附图中所描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

Claims (20)

1.一种计算机实现的方法,包括:
获得包括多个训练样本的训练数据集,其中,每个训练样本包括特征变量和一个或多个输出变量;
使用所述训练数据集生成第一矩阵,所述第一矩阵是所述训练数据集的稀疏表示,其中,生成所述第一矩阵包括:
基于所述特征变量中的每个数值特征变量来生成所述特征变量的分类表示;
通过对每个分类特征变量进行编码来生成所述特征变量中的每个分类特征变量的编码表示;
对所述训练数据集的所述矩阵表示进行因数分解,以生成包括第二矩阵的一个或多个矩阵;
使用(i)所述第二矩阵和(ii)正则化项来生成第三矩阵;
基于(i)一个或多个矩阵和(ii)所述第三矩阵来生成第四矩阵;
使用包括多个可调参数的向量来表示所述第一矩阵的每个特征;以及
使用(i)损失函数、(ii)所述第四矩阵和(iii)所述第一矩阵的组合来调整所述可调参数的值。
2.根据权利要求1所述的计算机实现的方法,其中,所述损失函数是提供与以下形式的特定损失函数所提供的给定结果对应的结果的损失函数:
Figure FDA0003765376780000011
其中,R是残差,yi是所述输出变量、c是常数并且E是所述编码表示。
3.根据权利要求1所述的计算机实现的方法,其中,基于每个数值特征变量来生成所述特征变量的分类表示包括:
选择节点集合;
将所述数值特征表示为:(i)嵌入的加权和、或(ii)所述嵌入的加权平均值;
使用插值技术来生成所述嵌入的对应权重;以及
使用所述对应权重来表示所述第一矩阵中的每个数值变量。
4.根据权利要求3所述的计算机实现的方法,其中,生成所述嵌入的所述对应权重的所述插值技术包括样条插值。
5.根据权利要求1所述的计算机实现的方法,进一步包括:
生成所述训练样本中所包括的序数特征集合的分类表示,包括:
对所述序数特征集合执行离散傅里叶变换(DFT)或离散小波变换(DWT);以及
至少部分地基于所述DFT或DWT变换矩阵将分类表示分配给所述序数特征集合。
6.根据权利要求1所述的计算机实现的方法,其中,调整所述可调参数的值包括迭代地生成序列模型,以预测所述损失函数的残差,直到所述损失函数的残差不能再减少、模型质量的度量满足质量阈值、或所述模型的大小已经达到了最大模型大小阈值。
7.根据权利要求6所述的计算机实现的方法,其中,调整所述可调参数的值进一步包括基于所述损失函数的导数生成伪残差。
8.根据权利要求5所述的计算机实现的方法,其中,每个后续生成的模型被训练来预测模型序列中的先前生成的模型的组合残差值。
9.根据权利要求1所述的计算机实现的方法,其中,调整所述可调参数的值包括至少部分地基于训练或调用模型的设备的内存约束,迭代地调整所述可调参数的所述值,直到所述模型的大小达到了模型大小阈值。
10.一种***,包括:
获得包括多个训练样本的训练数据集,其中,每个训练样本包括特征变量和一个或多个输出变量;
使用所述训练数据集生成第一矩阵,所述第一矩阵是所述训练数据集的稀疏表示,其中,生成所述第一矩阵包括:
基于所述特征变量中的每个数值特征变量来生成所述特征变量的分类表示;
通过对每个分类特征变量进行编码来生成所述特征变量中的每个分类特征变量的编码表示;
对所述训练数据集的所述矩阵表示进行因数分解,以生成包括第二矩阵的一个或多个矩阵;
使用(i)所述第二矩阵和(ii)正则化项来生成第三矩阵;
基于(i)一个或多个矩阵和(ii)所述第三矩阵来生成第四矩阵;
使用包括多个可调参数的向量来表示所述第一矩阵的每个特征;以及
使用(i)损失函数、(ii)所述第四矩阵和(iii)所述第一矩阵的组合来调整所述可调参数的值。
11.根据权利要求10所述的***,其中,所述损失函数是提供与以下形式的特定损失函数所提供的给定结果对应的结果的损失函数:
Figure FDA0003765376780000031
其中,R是残差,yi是所述输出变量、c是常数并且E是所述编码表示。
12.根据权利要求10所述的***,其中,基于每个数值特征变量来生成所述特征变量的分类表示包括:
选择节点集合;
将所述数值特征表示为:(i)嵌入的加权和、或(ii)所述嵌入的加权平均值;
使用插值技术来生成所述嵌入的对应权重;以及
使用所述对应权重来表示所述第一矩阵中的每个数值变量。
13.根据权利要求12所述的***,其中,生成所述嵌入的所述对应权重的所述插值技术包括样条插值。
14.根据权利要求10所述的***,进一步包括:
生成所述训练样本中所包括的序数特征集合的分类表示,包括:
对所述序数特征集合执行离散傅里叶变换(DFT)或离散小波变换(DWT);以及
至少部分地基于所述DFT或DWT变换矩阵将分类表示分配给所述序数特征集合。
15.根据权利要求10所述的***,其中,调整所述可调参数的值包括迭代地生成序列模型,以预测所述损失函数的残差,直到所述损失函数的残差不能再减少、模型质量的度量满足质量阈值、或所述模型的大小已经达到了最大模型大小阈值。
16.根据权利要求15所述的***,其中,调整所述可调参数的值进一步包括基于所述损失函数的导数生成伪残差。
17.根据权利要求14所述的***,其中,每个后续生成的模型被训练来预测模型序列中的先前生成的模型的组合残差值。
18.根据权利要求10所述的***,其中,调整所述可调参数的值包括至少部分地基于训练或调用模型的设备的内存约束,迭代地调整所述可调参数的所述值,直到所述模型的大小达到了模型大小阈值。
19.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储指令,所述指令在由一个或多个处理装置执行时使所述一个或多个数据处理装置执行操作,所述操作包括:
获得包括多个训练样本的训练数据集,其中,每个训练样本包括特征变量和一个或多个输出变量;
使用所述训练数据集生成第一矩阵,所述第一矩阵是所述训练数据集的稀疏表示,其中,生成所述第一矩阵包括:
基于所述特征变量中的每个数值特征变量来生成所述特征变量的分类表示;
通过对每个分类特征变量进行编码来生成所述特征变量中的每个分类特征变量的编码表示;
对所述训练数据集的所述矩阵表示进行因数分解,以生成包括第二矩阵的一个或多个矩阵;
使用(i)所述第二矩阵和(ii)正则化项来生成第三矩阵;
基于(i)一个或多个矩阵和(ii)所述第三矩阵来生成第四矩阵;
使用包括多个可调参数的向量来表示所述第一矩阵的每个特征;以及
使用(i)损失函数、(ii)所述第四矩阵和(iii)所述第一矩阵的组合来调整所述可调参数的值。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,所述损失函数是提供与以下形式的特定损失函数所提供的给定结果对应的结果的损失函数:
Figure FDA0003765376780000051
CN202180006754.6A 2021-03-26 2021-03-26 提升和矩阵分解 Pending CN115413345A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/024274 WO2022203678A1 (en) 2021-03-26 2021-03-26 Boosting and matrix factorization

Publications (1)

Publication Number Publication Date
CN115413345A true CN115413345A (zh) 2022-11-29

Family

ID=75540046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180006754.6A Pending CN115413345A (zh) 2021-03-26 2021-03-26 提升和矩阵分解

Country Status (6)

Country Link
US (1) US20230050538A1 (zh)
EP (1) EP4085393A1 (zh)
JP (1) JP7376717B2 (zh)
KR (1) KR20220134515A (zh)
CN (1) CN115413345A (zh)
WO (1) WO2022203678A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240072654A (ko) 2022-11-17 2024-05-24 서울대학교산학협력단 다양하게 정규화된 행렬 분해 기반의 아이템 추천 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111406267B (zh) * 2017-11-30 2024-06-04 谷歌有限责任公司 使用性能预测神经网络的神经架构搜索
US10248664B1 (en) * 2018-07-02 2019-04-02 Inception Institute Of Artificial Intelligence Zero-shot sketch-based image retrieval techniques using neural networks for sketch-image recognition and retrieval

Also Published As

Publication number Publication date
JP7376717B2 (ja) 2023-11-08
JP2023522287A (ja) 2023-05-30
KR20220134515A (ko) 2022-10-05
WO2022203678A1 (en) 2022-09-29
US20230050538A1 (en) 2023-02-16
EP4085393A1 (en) 2022-11-09

Similar Documents

Publication Publication Date Title
WO2021143396A1 (zh) 利用文本分类模型进行分类预测的方法及装置
US11334795B2 (en) Automated and adaptive design and training of neural networks
EP3711000B1 (en) Regularized neural network architecture search
US20200265301A1 (en) Incremental training of machine learning tools
US20210004677A1 (en) Data compression using jointly trained encoder, decoder, and prior neural networks
US11093833B1 (en) Multi-objective distributed hyperparameter tuning system
US20220121906A1 (en) Task-aware neural network architecture search
US20230021555A1 (en) Model training based on parameterized quantum circuit
CN116415654A (zh) 一种数据处理方法及相关设备
US20200104630A1 (en) Distributable classification system
US20220121934A1 (en) Identifying neural networks that generate disentangled representations
US10963802B1 (en) Distributed decision variable tuning system for machine learning
US11475236B2 (en) Minimum-example/maximum-batch entropy-based clustering with neural networks
US20230195809A1 (en) Joint personalized search and recommendation with hypergraph convolutional networks
Dai et al. Hybrid deep model for human behavior understanding on industrial internet of video things
CN114611460A (zh) 数据处理方法、装置、设备和存储介质
JP7376717B2 (ja) ブースティングおよび行列因数分解
US11847389B2 (en) Device and method for optimizing an input parameter in a processing of a semiconductor
US20230196128A1 (en) Information processing method, apparatus, electronic device, storage medium and program product
WO2023078009A1 (zh) 一种模型权重获取方法以及相关***
US11416712B1 (en) Tabular data generation with attention for machine learning model training system
CN113469450B (zh) 一种数据分类方法、装置、计算机设备及存储介质
US20240104915A1 (en) Long duration structured video action segmentation
US20240256865A1 (en) Training neural networks using learned optimizers
KR102389555B1 (ko) 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination