CN110413946A - 使用交替最小二乘优化来在线训练和更新因子分解机 - Google Patents
使用交替最小二乘优化来在线训练和更新因子分解机 Download PDFInfo
- Publication number
- CN110413946A CN110413946A CN201910037099.5A CN201910037099A CN110413946A CN 110413946 A CN110413946 A CN 110413946A CN 201910037099 A CN201910037099 A CN 201910037099A CN 110413946 A CN110413946 A CN 110413946A
- Authority
- CN
- China
- Prior art keywords
- target value
- user
- parameter
- data point
- als
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Abstract
本公开的实施例涉及使用交替最小二乘优化来在线训练和更新因子分解机。公开了用于使用流模式交替最小二乘(ALS)优化来训练因子分解机(FM)的技术。实现根据实施例的技术的方法包括:接收包括特征向量和相关联的目标值的数据点。特征向量包括用户标识、主题标识和上下文。目标值标识用户对于主题的意见。该方法还包括将FM应用于特征向量以生成目标值的估计,并且更新FM的参数以用于FM的训练。参数更新基于流模式ALS优化到以下各项的应用:数据点;目标值的估计;以及通过将流模式ALS优化应用于先前接收的、与FM的先前参数更新相关联的数据点而生成的中间计算项的已更新总和。
Description
技术领域
本公开涉及被配置为生成上下文感知推荐的因子分解机,并且更具体地涉及用于使用流模式交替最小二乘优化来训练和更新因子分解机的技术。
背景技术
上下文感知推荐系统越来越多地被用来向用户提供个性化推荐或者预测用户对给定主题或情况的反应。很多这样的推荐系统采用因子分解机,因子分解机通常以批量模式被训练,也就是说,预测模型每隔几小时或几天在大数据集上被训练。在这些系统中,经训练的模型可能会变得陈旧,并且无法捕获实时演变的趋势。这在诸如体育或新闻等用例中可能尤其是个问题,在这些用例中,重要的是:对变化趋势做出快速反应,以基于在大量用户上观察到的当前观看模式来进行实时推荐。批量模式训练的另一缺点是:处理大数据集所要求的大量处理时间和存储器存储。
附图说明
图1是根据本公开的实施例而被配置的用于训练和更新因子分解机的系统的框图;
图2示出了根据本公开的实施例的用于包括特征向量和目标值的训练数据的矩阵格式;
图3示出了根据本公开的实施例的示例训练数据矩阵;
图4是根据本公开的实施例而被配置的流模式交替最小二乘优化模块的更详细框图;
图5示出了根据本公开的实施例而被配置的经训练的因子分解机的操作;
图6是示出根据本公开的实施例的用于训练因子分解机的方法的流程图;以及
图7是示意性地示出根据本公开的实施例配置的被配置为执行本公开中多方面地描述的任何技术的计算平台的框图。
具体实施方式
如前所述,使用现有的批量模式训练技术来使用因子分解机(FM)生成上下文感知预测和推荐呈现了很多问题,因为训练模型可能变得陈旧并且可能无法捕获实时演变的趋势。另外,批量模式训练可能要求大量处理时间和存储器存储要求来处理每个批量训练会话中的大数据集。为此,期望具有一种系统,该系统能够基于来自数据流的每个新接收的数据点,以更高效的、递增的和连续的方式来训练和更新FM,而不需要基于大量先前接收的历史数据来执行广泛的重新计算。这种系统(其在本文中可以称为“在线”训练系统)可以通过在数据点接收的同时对每个数据点执行单个处理传递,来使得FM能够以实时方式从流数据源捕获动态信息。
因此,公开了用于使用流模式交替最小二乘(ALS)优化来在线训练和更新FM的技术,流模式ALS优化在接收到每个新数据点时更新FM的参数。更详细地,并且根据本公开的实施例,FM训练系统被配置为从数据流接收数据点。数据点包括特征向量和相关联的目标值。特征向量包括用户标识、主题标识(例如,电影、书籍、网页)和上下文(例如,多个相关联的信息)。上下文可以包括附加信息,诸如例如用户通过其来体验主题的平台、用户的位置、用户的情绪、和/或在体验期间所存在的用户的同伴的标识,这里仅给出了几个示例上下文参数。附加上下文参数可以包括:任何形式的用户元数据(例如,人口统计等)、与主题相关联的元数据(例如,类别、体裁、作者等)、以及与会话相关联的数据(例如,设备、浏览器、日期、一天中的时间等)。目标值标识用户对于主题的意见,诸如例如认可或不认可的级别。该系统还被配置为:将FM模型应用于特征向量,以生成目标值的估计,并且将误差项计算为实际目标值和估计之间的差。系统被配置为:然后更新FM的参数以基于新的(当前)数据点进一步训练FM。参数更新是通过将流模式ALS优化应用于以下来完成的(如下面将更详细描述的):当前数据点、误差项、以及先前计算的中间项的已更新的累积总和,先前计算的中间项由流模式ALS优化结合与先前接收的数据点相关联的先前参数更新来生成。
在示例用例中,将经训练的FM应用于假设性特征向量,以预测与该假设性特征向量相关联的目标值。因此,经训练的FM可以用于预测或估计用户对新主题或情况的反应,并且用于基于该预测来向用户生成推荐。这样的预测可以用于上下文广告目的,包括在给定上下文中预测用户网页查看和鼠标点击,并且以将生成最多查看和点击的上下文为目标。推荐可以包括例如产品和个性化播放列表(包括电影、视频、音乐、书籍)的自动生成,以及产品、广告、事件、对潜在朋友的标识等。
因此,与以相对不频繁的间隔对大量数据进行操作的现有的批量模式训练方法相比,前述框架提供了一种用于以相对高效的方式、使用流模式交替最小二乘优化来实现因子分解机的在线训练的系统。所公开的技术通过使得因子分解机能够快速适应流数据中变化的趋势来改善预测性能。根据本公开,很多配置和变化将是很清楚的。
系统架构
图1是根据本公开的实施例而被配置的用于训练和更新因子分解机的系统100的框图。可以看出,系统100包括流模式ALS优化训练和更新模块120、因子分解机140和批量模式ALS优化训练模块160,其操作将在下文中被更详细地描述。在一个实施例中,并且在高级别描述中,在给定时刻,由系统100从在线流数据源110接收包括特征向量x和相关联的目标值y的新数据点115。该新数据点115成为当前数据点。实现一种类型的低秩多线性建模的因子分解机140被配置为:基于当前特征向量x(即,当前数据点的特征向量)生成估计的目标值170。然后可以将误差项计算为接收的目标值y与估计的目标值之间的差。流模式ALS优化训练和更新模块120被配置为向FM提供已更新的参数130,以基于当前数据点、所计算的误差和先前中间ALS计算的累积总和来递增地改进FM的训练。该实施例提供了连续学习框架。要更新的FM参数包括:捕获数据的总体偏差的全局偏差参数、与每个特征向量元素相关联的、用于捕获该元素的相对重要性的标量权重、以及捕获元素之间关系的交互参数,如下面将更详细描述的。批量模式ALS优化训练模块160被配置为预训练或引导(bootstrap)具有初始参数集150的FM,例如使用ALS优化的批量模式版本,如下面还将描述的。
在一些实施例中,数据点115可以包括特征向量x而没有相关联的目标值y。在这种情况下,可以由FM通过使用当前FM参数来预测目标值。真实目标值可以作为未来时间处来自用户的反馈而被提供,或者以其他方式从未来时间处来自用户的反馈而被得出或推断出,此时可以计算预测的目标值与真实目标值之间的误差,该误差用于更新FM参数。例如,在一些实施例中,真实目标值可以从在网页上花费的时间、鼠标点击、购买、查看和用户的其他这样的活动的测量来推断。在更一般的意义上,真实目标值基于来自用户的反馈,不论该反馈是由用户直接提供,从由用户提供的输入得出,或是根据由用户的动作或不作为来推断。在某些这样的情况下,注意,从用户推断的输入可以基于省略或不及时地提供肯定的输入。
在参与对FM和ALS优化技术的更详细解释之前,在图2和图3中提供对训练数据的描述以供考虑。图2示出了根据本公开的实施例的用于包括特征向量和目标值的训练数据的矩阵格式200。图3提供了根据本公开的实施例的填充有样本值300的训练数据矩阵的示例。
首先转到图2,矩阵S200的每一行表示包括特征向量x202和相关联的目标值y212的数据点。矩阵S中示出了M个数据点,每个数据点在给定时间t处被接收,其中最上面的行(1)表示当前数据点,第二行(2)表示前一数据点,以此类推。在实践中,可能存在数百万或更多的从数据流接收的数据点(行),并且数据点可以以每秒一个数据点的速率被接收,或者更频繁地被接收,这取决于应用。
每个特征向量x包括多个元素xi。元素的数目被称为特征向量的维度(n)。在该示例中,前四个元素对用户(U1-U4)的身份204进行编码。接下来的三个元素将主题编码为用户观看的电影(F1-F3)的标识206。随后的三个元素对观看电影的平台208(P1-P3)(例如,电视、iPad、iPhone)进行编码,并且最后的两个元素对观看电影的位置210(L1、L2)进行编码。因此,在该示例中,维度n为12。在该示例中,目标y212对由所标识的用户提供的电影的数字评级或排名进行编码。应当理解,这是简化的示例,并且在实践中,用户、主题、平台和位置的数目可以相对较大,并且可以提供附加的或不同的上下文数据,诸如例如日期和时间、用户情绪的指示、参与事件/体验的用户的同伴的身份等。此外,主题不限于电影,而是可以包括几乎任何事物,包括音乐、电视、新闻、体育、书籍、网页等。
现在转向图3,示出了具有说明性样本值的已填充S矩阵300。第一特征向量X(1)(例如,当前数据点)的用户字段204被编码为{1,0,0,0}以将用户标识为U1。类似地,对于第一特征向量,电影字段206被编码为{1,0,0}以标识电影F1,平台字段208被编码为{0,1,0}以标识平台P2,并且位置字段210被编码为{0,1}以标识位置L2。每一行通常将一个用户与在一个位置处在一个平台上的一个电影的某个组合相关联。目标字段212指示用户1在从0到1的标准化等级上将电影1评级为0.9,这可以说是非常有利的。示出了附加数据点。例如,第M数据点的特征向量指示用户4在位置2处在平台1上观看电影1,并且相关联的目标值指示评级为0.75。
如前所述,S矩阵可以变得非常大,这是使用批量模式ALS优化计算FM参数的缺点之一,批量模式ALS优化对整个S矩阵(或其很大的部分)进行操作,整个S矩阵表示以周期性的不频繁间隔(例如,几小时或几天)、在延长时间段上收集的数据。相反,结合对从先前数据点生成的中间计算的累积求和所进行的相对较小的高速缓存的存储,流模式ALS优化仅对当前数据点进行操作,如下面将更详细描述的。
现在返回图1,并且如前所述,因子分解机140被配置为基于当前数据点115的当前特征向量x来生成估计的目标值170。在一个实施例中,该估计可以通过以下等式来描述:
其中xi(t)和xj(t)是在当前时间t处,特征向量x的第i个和第j个元素,是当前时间t的估计的目标值,并且{w0(t-1),wi(t-1),vi(t-1),vj(t-1)}是在时间t-1处、从先前数据点计算(更新)的FM的参数,如下面将更详细地解释的。全局偏差参数w0捕获数据的总体偏差,与每个特征向量元素相关联的标量权重wi捕获该元素的相对重要性,并且交互参数向量vi,vj捕获元素i和j之间的关系。每个交互参数向量vi,vj具有长度k(也称为秩),并且因此交互参数向量的总大小是n X k。秩是启发式地(heuristically)确定的,并且通常是被选择为在4到8的范围内的小值。以上等式中的<,>运算符表示向量Vi和vj之间的点积。
图4是根据本公开的实施例而被配置的流模式ALS优化训练和更新模块120的更详细框图。可以看出,模块120包括全局偏置参数更新模块410、线性权重参数更新模块420和交互参数更新模块430,被配置为生成FM的已更新参数130。模块120还包括误差计算模块460和存储器高速缓存440。
存储器高速缓存440被配置为存储当前已更新的参数130(以及中间计算450的运行总和,如下所述),以用于基于所接收的下一数据点来计算和更新参数。
误差计算模块460被配置为:将误差项e(t)计算为估计的目标值170与数据点115的接收的目标值y之间的差:
该误差项被提供给模块410、420和430以用于FM参数的计算。
全局偏置参数更新模块410被配置为:计算对FM的全局偏置参数的更新。在一些实施例中,该计算可以根据以下等式来执行:
其中w0(t)是已更新的全局偏置参数,w0(t-1)是先前的全局偏置参数,e(t)是误差项,并且|S(t)|是当前已被处理的数据点的数目,其等同于:在所有数据点都保存在S矩阵中的情况(例如,批量模式处理正是这种情况)下S矩阵中的行数。另外,λ(w0)是全局偏差正则化参数,其被启发式地选择,以减少数据的过度拟合。
线性权重参数更新模块420被配置为:计算对FM的n个线性权重参数wl的更新。在一些实施例中,该计算可以根据以下等式来执行:
其中wl(t)是x(当前特征向量)的第1个元素的已更新的线性权重参数,wl(t-1)是对应的先前线性权重参数,e(t)是误差项,并且xl(t)是x的第1个元素。项∑i∈S(t)xl(i)2是x特征向量的第1个元素的平方随时间的累积和,其中S(t)是直到并且包括时间t的所有接收的数据点的集合。该项是先前提到的“所计算的中间ALS项的累积总和”中的一个。另外,λ(wl)是正则化参数,其被启发式地选择以减少针对第1个线性权重的数据的过拟合。
交互参数更新模块430被配置为:计算对FM的n个交互参数向量vl(每个长度为k)的更新。在一些实施例中,该计算可以根据以下等式来执行:
其中vl,f(t)是已更新的交互参数向量vl的第f个元素,其中vl与x(当前特征向量)的第1个元素相关联,并且vl,f(t-1)是对应的先前的交互参数向量。与先前的符号相一致,xl(t)是当前特征向量x的第1个元素,xi(t)是当前特征向量x的第i个元素,并且e(t)是误差项。项∑i∈S(t)hl,f(i)2是所定义的函数hl,f(t)的平方随时间的累积和,这是前面提到的“所计算的中间ALS项的累积总和”中的另一个。另外,λ(vl,f)是正则化参数,其被启发式地选择以减少针对第(l,f)个交互参数的数据的过拟合。
应当理解,在上述计算中采用的中间计算项∑i∈S(t)xl(i)2和∑i∈S(t)hl,f(i)2的累积和提供了一种用于捕获历史数据(例如,先前的数据点)的相关特征的近似的高效机制,消除了在接收到每个新的流数据点时存储和重新处理所有历史数据的要求。因此,在一些实施例中,存储器高速缓存440仅需要足够大以存储∑i∈S(t)xl(i)2的n个值以及∑i∈s(t)hl,f(i)2的(n x k)个值。在一些实施例中,存储器高速缓存440还可以用于存储先前计算的参数w0(t-1),wl(t-1),以及vl,f(t-1)。因此,存储成本(例如,存储器高速缓存的大小)与数据点的数目无关。
再次返回到图1,在以在线流数据模式进行操作之前初始化FM140。批量模式ALS优化训练模块160被配置为:执行该初始化或预训练,采用应用于所选择的训练数据子集的批量模式ALS优化,或者使用根据本公开的其他已知技术,包括使用随机初始化值。在一些实施例中,例如来自在前一天进行的操作的预训练模型可以用于引导今天的模型。
图5示出了根据本公开的实施例而被配置的经训练的因子分解机540的操作500。如前所述在每个新接收的数据点上连续训练的FM540可以用于:基于假设性特征向量z510生成或提供推荐y520。例如,假设性特征向量可以包括先前未在流数据中看到的用户、主题和/或上下文组合。然而,经训练的FM 540可以根据先前捕获的数据、基于该用户与其他用户之间的学习到的关系以及其他用户已经给予该主题或类似上下文中的类似主题的评级,来生成用户对新主题的反应或评级的上下文感知估计。
在一些实施例中,该计算可以根据以下等式来执行:
其中zi和zj是假设性特征向量z的元素,是估计或预测,并且{w0,w,v}是经训练的FM的当前参数。
方法
图6是示出根据本公开的实施例的用于使用流模式交替最小二乘优化来对因子分解机进行在线训练的方法600的流程图。本文中描述的流模式ALS技术通过基于数据点流中的每个新接收的数据点的训练更新,来例如实时地递增地调节和改进FM。可以看出,该方法参考图1和图4的流模式ALS优化训练和更新模块120、因子分解机140和批量模式ALS优化训练模块160的配置来描述。然而,如根据本公开内容将理解的,可以使用任何数目的模块配置来实现该方法。还应当注意,不需要将方法中描述的各种功能分配给所示的特定示例模块。为此,所描绘的示例性方法被提供以给出一个示例性实施例,并且不旨在将该方法限于任何特定的物理或结构配置。
在操作610处,该方法通过从数据点流接收当前数据点而开始。出于训练的目的,数据点包括特征向量和相关联的目标值。特征向量包括用户标识、主题标识(例如,电影、书籍、网页)和上下文。上下文可以包括附加信息,诸如例如用户体验主题的平台、用户的位置、用户的情绪、和/或用户的同伴的标识等。目标值标识用户对于主题的观点或倾向,并且可以以任何合适的方式来表达或表示,诸如数值。
在操作620处,该方法通过将FM应用于特征向量以生成目标值的估计来继续。计算所估计的目标值与实际目标值之间的差异并且将其用作误差项。
在操作630处,更新FM的参数以进一步训练FM。该更新基于流模式交替最小二乘(ALS)优化到以下各项的应用:当前数据点、误差项、以及中间计算项的已更新的运行总和,中间计算项关联于以下而被生成:将流模式ALS优化应用于先前接收的数据点,以执行FM的先前参数更新。在一些实施例中,要更新的参数包括全局偏置参数、线性权重参数和交互参数,如前所述。
在一些实施例中,执行附加操作。例如,在一个实施例中,将经训练的FM应用于假设性特征向量,以生成与假设性特征向量相关联的预测的目标值。因此,经训练的FM可以用于预测或估计用户对新主题或情况的反应,并且用于基于预测来向用户生成推荐。这样的推荐可以包括例如产品、播放列表或针对性广告。
另外,在一些实施例中,可以使用ALS优化到特征向量和相关联目标值的历史集合的批量模式应用来初始化FM。
示例平台
图7是示意性地示出用于执行本公开中各种描述的任何技术的计算平台或设备700的框图。例如,在一些实施例中,用于在线训练和更新图1、图4和图5的因子分解机(FM)的系统或其任何部分,以及图7的方法或其任何部分在计算平台700中实现。在一些实施例中,计算平台700是计算机系统,诸如工作站、台式计算机、服务器、膝上型计算机、手持式计算机、平板计算机(例如,iPad平板计算机)、移动计算或通信设备(例如,iPhone移动通信设备、Android移动通信设备等)、或能够通信并且具有足够的处理器能力和存储器容量以执行本公开中描述的操作的其他形式的计算或电信设备。在一些实施例中,提供了包括多个这样的计算设备的分布式计算系统。
计算平台700包括其上编码有用于实现本公开中各种描述的技术的一个或多个计算机可执行指令或软件的一个或多个存储设备790和/或非暂态计算机可读介质730。在一些实施例中,存储设备790包括计算机系统存储器或随机存取存储器,诸如耐用磁盘存储装置(例如,任何合适的光学或磁性耐用存储设备,包括RAM、ROM、闪存、USB驱动器或其他基于半导体的存储介质)、硬盘驱动器、CD-ROM或其他计算机可读介质,用于存储实现如本公开中教导的各种实施例的数据和计算机可读指令和/或软件。在一些实施例中,存储设备790也包括其他类型的存储器或其组合。在一个实施例中,存储设备790设置在计算平台700上。在另一实施例中,存储设备790单独地或远离计算平台700设置。非暂态计算机可读介质730包括但不限于一个或多个类型的硬件存储器、非暂态有形介质(例如,一个或多个磁存储盘、一个或多个光盘、一个或多个USB闪存驱动器)等。在一些实施例中,被包括在计算平台700中的非暂态计算机可读介质730存储用于实现各种实施例的计算机可读和计算机可执行指令或软件。在一个实施例中,计算机可读介质730在计算平台700上提供。在另一实施例中,计算机可读介质730与计算平台700分开或远程地提供。
计算平台700还包括至少一个处理器710,其用于执行存储在存储设备790和/或非暂态计算机可读介质730中的计算机可读和计算机可执行指令或软件以及用于控制系统硬件的其他程序。在一些实施例中,在计算平台700中采用虚拟化,使得计算平台700中的基础设施和资源被动态地共享。例如,设置虚拟机以处理在多个处理器上运行的进程,使得进程似乎只使用一个计算资源而不是多个计算资源。在一些实施例中,多个虚拟机与一个处理器一起使用。
如可以进一步看到的,还设置互连705以允许上面列出的各种组件和/或未示出的其他组件之间的通信。计算平台700可以通过网络接口电路740耦合到网络750(例如,诸如互联网等局域网或广域网)以允许与其他计算设备、平台、资源、客户端和物联网(IoT)设备通信。
在一些实施例中,用户通过输入/输出系统760与计算平台700交互,输入/输出系统760与诸如键盘和鼠标770和/或显示元件(屏幕/显示器)780等设备接口,显示元件(屏幕/显示器)780提供用户界面以接受用户输入,并且向用户提供反馈和指导。在一些实施例中,计算平台700包括用于接收来自用户的输入的其他I/O设备(未示出),例如指示设备或触摸板等或任何合适的用户接口。在一些实施例中,计算平台700包括其他合适的传统I/O外围设备。计算平台700可以包括和/或可操作地耦合到用于执行本公开中各种描述的一个或多个方面的各种合适的设备。
在一些实施例中,计算平台700运行操作系统(OS)720,诸如任何版本的MicrosoftWindows操作系统、不同版本的Unix和Linux操作系统、用于Macintosh计算机的任何版本的MacOS、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、用于移动计算设备的任何操作系统、或能够在计算平台700上运行并且执行本公开中描述的操作的任何其他操作系统。在一个实施例中,操作系统在一个或多个云计算机实例上运行。
根据本公开将理解,系统的各种模块和组件,包括流模式ALS优化训练和更新模块120、因子分解机140和批量模式ALS优化训练模块160、及其子模块,可以用软件实现,诸如编码在任何计算机可读介质或计算机程序产品(例如,硬盘驱动器、服务器、光盘或其他合适的非暂态存储器或存储器组)上的一组指令(例如,HTML、XML、C、C++、面向对象的C、JavaScript、Java、BASIC等),软件在由一个或多个处理器执行时引起本公开中提供的各种方法得以实施。将意识到,在一些实施例中,如本公开中所描述的,由用户计算系统执行的各种功能和数据转换可以由具有不同配置和布置的类似处理器和/或数据库执行,并且所描绘的实施例并非旨在限制。包括计算平台700的这个示例实施例的各种组件可以被集成到例如一个或多个台式或膝上型计算机、工作站、平板计算机、智能电话、游戏控制台、机顶盒或其他这样的计算设备中。未示出计算系统的典型的其他组件和模块,诸如例如协处理器、处理核、图形处理单元、触摸板、触摸屏等,但是这些将是很清楚的。
在其他实施例中,功能组件/模块用诸如门级逻辑(例如,FPGA)或专用半导体(例如,ASIC)等硬件来实现。其他实施例利用具有用于接收和输出数据的多个输入/输出端口的微控制器以及用于执行本公开中描述的功能的多个嵌入式例程来实现。从更一般的意义上讲,可以使用硬件、软件和固件的任何合适的组合,这一点将是很清楚的。
示例实施例
很多示例实施例将是很清楚的,并且本文中描述的特征可以以任何数目的配置进行组合。
示例1包括一种用于训练因子分解机(FM)的方法,该方法包括:通过基于处理器的系统接收当前数据点,当前数据点包括特征向量,其中特征向量包括用户标识、主题标识和上下文;通过基于处理器的系统将FM应用于特征向量,以生成估计的目标值,估计的目标值标识用户对于主题的意见;以及通过基于处理器的系统更新FM的参数以用于FM的训练,更新基于流模式交替最小二乘(ALS)优化到以下各项的应用:当前数据点,目标值的估计,基于来自用户的反馈的真实目标值,以及通过将流模式ALS优化应用于先前接收的、与FM的先前参数更新相关联的数据点而生成的中间计算项的已更新总和。
示例2包括根据示例1所述的主题,其中当前数据点包括真实目标值。
示例3包括根据示例1或2所述的主题,还包括:将经训练的FM应用于假设性特征向量,以生成与假设性特征向量相关联的预测的目标值;以及基于预测的目标值生成上下文感知推荐。
示例4包括根据示例1至3中任一项所述的主题,其中上下文感知推荐包括播放列表、产品、广告、事件和朋友的标识中的一个或多个。
示例5包括根据示例1至4中任一项所述的主题,其中上下文包括以下中的一项或多项:用户的位置、用户的情绪、与主题相关联的平台和用户的同伴的标识。
示例6包括根据示例1至5中任一项所述的主题,其中FM的参数包括全局偏置参数、多个线性权重参数和多个交互参数。
示例7包括根据示例1至6中任一项所述的主题,还包括:基于ALS优化到特征向量和相关联的目标值的历史集合的批量模式应用来初始化FM。
示例8是一种用于执行因子分解机(FM)的训练的系统,该系统包括:一个或多个处理器;FM,其由一个或多个处理器可控制,或可执行,或可控制且可执行,并且FM被配置为:基于特征向量生成估计的目标值,其中特征向量包括用户标识、主题标识和上下文,并且其中目标值标识用户对于主题的意见,特征向量和目标值与当前接收的数据点相关联;以及流模式交替最小二乘(ALS)优化模块,其由一个或多个处理器可控制,或可执行,或可控制且可执行,并且流模式ALS优化模块被配置为基于以下来更新FM的参数,以用于FM的训练:当前接收的数据点,目标值的估计,以及由流模式ALS优化模块对先前接收的、与FM的先前参数更新相关联的数据点进行操作而生成的中间计算项的已更新总和。
示例9包括根据示例8所述的主题,其中经训练的FM还被配置为:生成与假设性特征向量相关联的预测的目标值。
示例10包括根据示例8或9所述的主题,其中经训练的FM还被配置为:基于预测的目标值生成上下文感知推荐,上下文感知推荐包括播放列表、产品、广告、事件和朋友的标识中的一个或多个。
示例11包括根据示例8至10中任一项所述的主题,其中上下文包括以下中的一项或多项:用户的位置、用户的情绪、与主题相关联的平台和用户的同伴的标识。
示例12包括根据示例8至11中任一项所述的主题,其中FM的参数包括全局偏置参数、多个线性权重参数和多个交互参数。
示例13包括根据示例8至12中任一项所述的主题,还包括批量模式ALS优化模块,批量模式ALS优化模块被配置为:基于ALS优化到特征向量和相关联的目标值的历史集合的批量模式应用来初始化FM。
示例14是一种非暂态计算机程序产品,其上编码有指令,指令在由一个或多个计算机处理器执行时使得一个或多个计算机处理器执行包括以下的过程:接收当前数据点,当前数据点包括特征向量和相关联的目标值,其中特征向量包括用户标识、主题标识和上下文,并且其中目标值标识用户对于主题的意见;将FM应用于特征向量,以生成目标值的估计;以及更新FM的参数以用于FM的训练,更新基于流模式交替最小二乘(ALS)优化到以下各项的应用:当前数据点,目标值的估计,以及通过将流模式ALS优化应用于先前接收的、与FM的先前参数更新相关联的数据点而生成的中间计算项的已更新总和。
示例15包括根据示例14所述的主题,还包括:将经训练的FM应用于假设性特征向量,以生成与假设性特征向量相关联的预测的目标值。
示例16包括根据示例14或15所述的主题,还包括:基于预测的目标值生成上下文感知推荐。
示例17包括根据示例14至16中任一项所述的主题,其中上下文感知推荐包括播放列表、产品、广告、事件和朋友的标识中的一个或多个。
示例18包括根据示例14至17中任一项所述的主题,其中上下文包括以下中的一项或多项:用户的位置、用户的情绪、与主题相关联的平台和用户的同伴的标识。
示例19包括根据示例14至18中任一项所述的主题,其中FM的参数包括全局偏置参数、多个线性权重参数和多个交互参数。
示例20包括根据示例14至19中任一项所述的主题,还包括:基于ALS优化到特征向量和相关联的目标值的历史集合的批量模式应用来初始化FM。
已经出于说明和描述的目的呈现了本公开的示例实施例的前述描述。并非旨在穷举或将本公开限制于所公开的确切形式。根据本公开,很多修改和变化是可能的。意图是本公开的范围不受本具体实施方式的限制,而是受所附权利要求的限制。
Claims (20)
1.一种用于训练因子分解机(FM)的方法,所述方法包括:
通过基于处理器的系统接收当前数据点,所述当前数据点包括特征向量,其中所述特征向量包括用户标识、主题标识和上下文;
通过所述基于处理器的系统将FM应用于所述特征向量,以生成估计的目标值,所述估计的目标值标识所述用户对于所述主题的意见;以及
通过所述基于处理器的系统更新所述FM的参数以用于所述FM的训练,所述更新基于流模式交替最小二乘(ALS)优化到以下各项的应用:
所述当前数据点,
所述目标值的估计,
基于来自所述用户的反馈的真实目标值,以及
通过将所述流模式ALS优化应用于先前接收的、与所述FM的先前参数更新相关联的数据点而生成的中间计算项的已更新总和。
2.根据权利要求1所述的方法,其中所述当前数据点包括所述真实目标值。
3.根据权利要求1所述的方法,还包括:将经训练的FM应用于假设性特征向量,以生成与所述假设性特征向量相关联的预测的目标值;以及基于所述预测的目标值生成上下文感知推荐。
4.根据权利要求3所述的方法,其中所述上下文感知推荐包括播放列表、产品、广告、事件和朋友的标识中的一个或多个。
5.根据权利要求1所述的方法,其中所述上下文包括以下中的一项或多项:所述用户的位置、所述用户的情绪、与所述主题相关联的平台和所述用户的同伴的标识。
6.根据权利要求1所述的方法,其中所述FM的所述参数包括全局偏置参数、多个线性权重参数和多个交互参数。
7.根据权利要求1所述的方法,还包括:基于所述ALS优化到特征向量和相关联的目标值的历史集合的批量模式应用来初始化所述FM。
8.一种用于执行因子分解机(FM)的训练的系统,所述系统包括:
一个或多个处理器;
FM,其由所述一个或多个处理器可控制,或可执行,或可控制且可执行,并且所述FM被配置为:基于特征向量生成估计的目标值,其中所述特征向量包括用户标识、主题标识和上下文,并且其中所述目标值标识所述用户对于所述主题的意见,所述特征向量和所述目标值与当前接收的数据点相关联;以及
流模式交替最小二乘(ALS)优化模块,其由所述一个或多个处理器可控制,或可执行,或可控制且可执行,并且所述流模式ALS优化模块被配置为基于以下来更新所述FM的参数,以用于所述FM的训练:
所述当前接收的数据点,
所述目标值的估计,以及
由所述流模式ALS优化模块对先前接收的、与所述FM的先前参数更新相关联的数据点进行操作而生成的中间计算项的已更新总和。
9.根据权利要求8所述的系统,其中经训练的所述FM还被配置为:生成与假设性特征向量相关联的预测的目标值。
10.根据权利要求9所述的系统,其中经训练的所述FM还被配置为:基于所述预测的目标值生成上下文感知推荐,所述上下文感知推荐包括播放列表、产品、广告、事件和朋友的标识中的一个或多个。
11.根据权利要求8所述的系统,其中所述上下文包括以下中的一项或多项:所述用户的位置、所述用户的情绪、与所述主题相关联的平台和所述用户的同伴的标识。
12.根据权利要求8所述的系统,其中所述FM的所述参数包括全局偏置参数、多个线性权重参数和多个交互参数。
13.根据权利要求8所述的系统,还包括批量模式ALS优化模块,批量模式ALS优化模块被配置为:基于所述ALS优化到特征向量和相关联的目标值的历史集合的批量模式应用来初始化所述FM。
14.一种非暂态计算机程序产品,其上编码有指令,所述指令在由一个或多个计算机处理器执行时使得所述一个或多个计算机处理器执行包括以下的过程:
接收当前数据点,所述当前数据点包括特征向量和相关联的目标值,其中所述特征向量包括用户标识、主题标识和上下文,并且其中所述目标值标识所述用户对于所述主题的意见;
将FM应用于所述特征向量,以生成所述目标值的估计;以及
更新所述FM的参数以用于所述FM的训练,所述更新基于流模式交替最小二乘(ALS)优化到以下各项的应用:
所述当前数据点,
所述目标值的估计,以及
通过将所述流模式ALS优化应用于先前接收的、与所述FM的先前参数更新相关联的数据点而生成的中间计算项的已更新总和。
15.根据权利要求14所述的非暂态计算机程序产品,还包括:将经训练的FM应用于假设性特征向量,以生成与所述假设性特征向量相关联的预测的目标值。
16.根据权利要求15所述的非暂态计算机程序产品,还包括:基于所述预测的目标值生成上下文感知推荐。
17.根据权利要求16所述的非暂态计算机程序产品,其中所述上下文感知推荐包括播放列表、产品、广告、事件和朋友的标识中的一个或多个。
18.根据权利要求14所述的非暂态计算机程序产品,其中所述上下文包括以下中的一项或多项:所述用户的位置、所述用户的情绪、与所述主题相关联的平台和所述用户的同伴的标识。
19.根据权利要求14所述的非暂态计算机程序产品,其中所述FM的所述参数包括全局偏置参数、多个线性权重参数和多个交互参数。
20.根据权利要求14所述的非暂态计算机程序产品,还包括:基于所述ALS优化到特征向量和相关联的目标值的历史集合的批量模式应用来初始化所述FM。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/963,737 | 2018-04-26 | ||
US15/963,737 US11049041B2 (en) | 2018-04-26 | 2018-04-26 | Online training and update of factorization machines using alternating least squares optimization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110413946A true CN110413946A (zh) | 2019-11-05 |
Family
ID=65997963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910037099.5A Pending CN110413946A (zh) | 2018-04-26 | 2019-01-15 | 使用交替最小二乘优化来在线训练和更新因子分解机 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11049041B2 (zh) |
CN (1) | CN110413946A (zh) |
AU (1) | AU2019200721B2 (zh) |
DE (1) | DE102019000432A1 (zh) |
GB (1) | GB2573188A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139271A1 (zh) * | 2020-06-30 | 2021-07-15 | 平安科技(深圳)有限公司 | 基于fm模型的医学热点的预测方法、装置和计算机设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11245600B2 (en) * | 2019-07-18 | 2022-02-08 | Citrix Systems, Inc. | System and method for processing network data |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348047B2 (en) * | 2012-12-20 | 2016-05-24 | General Electric Company | Modeling of parallel seismic textures |
US20170206551A1 (en) * | 2016-01-15 | 2017-07-20 | Adobe Systems Incorporated | Personalized Recommendation Computation in Real Time using Incremental Matrix Factorization and User Factor Clustering |
US10262299B2 (en) * | 2017-02-15 | 2019-04-16 | Microsoft Technology Licensing, Llc | Efficient recommendation services |
-
2018
- 2018-04-26 US US15/963,737 patent/US11049041B2/en active Active
-
2019
- 2019-01-15 CN CN201910037099.5A patent/CN110413946A/zh active Pending
- 2019-01-22 DE DE102019000432.9A patent/DE102019000432A1/de active Pending
- 2019-01-30 GB GB1901261.6A patent/GB2573188A/en not_active Withdrawn
- 2019-02-02 AU AU2019200721A patent/AU2019200721B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139271A1 (zh) * | 2020-06-30 | 2021-07-15 | 平安科技(深圳)有限公司 | 基于fm模型的医学热点的预测方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
AU2019200721B2 (en) | 2021-12-09 |
DE102019000432A1 (de) | 2019-10-31 |
AU2019200721A1 (en) | 2019-11-14 |
US11049041B2 (en) | 2021-06-29 |
GB2573188A (en) | 2019-10-30 |
US20190332971A1 (en) | 2019-10-31 |
GB201901261D0 (en) | 2019-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170320B2 (en) | Updating machine learning models on edge servers | |
KR102358604B1 (ko) | 융합 데이터 처리 방법 및 정보 추천 시스템 | |
CN108496189A (zh) | 机器学习模型的正则化 | |
CN108140143A (zh) | 正则化机器学习模型 | |
US20190026609A1 (en) | Personalized Digital Image Aesthetics in a Digital Medium Environment | |
CN110268422A (zh) | 利用强化学习的设备布局优化 | |
CN108431833A (zh) | 端到端深度协作过滤 | |
CN109196527A (zh) | 广度和深度机器学习模型 | |
CN108230058A (zh) | 产品推荐方法及系统 | |
WO2018201151A1 (en) | Neural network optimizer search | |
CN111950593A (zh) | 一种推荐模型训练的方法及装置 | |
CN111798280B (zh) | 多媒体信息推荐方法、装置和设备及存储介质 | |
Yun et al. | Ranking via robust binary classification | |
CN112036954A (zh) | 物品推荐方法和装置、计算机可读存储介质、电子设备 | |
CN110766513A (zh) | 信息排序方法、装置、电子设备及可读存储介质 | |
CA3111094C (en) | Noise contrastive estimation for collaborative filtering | |
CN113221019A (zh) | 基于即时学习的个性化推荐方法和系统 | |
CN112288483A (zh) | 用于训练模型的方法和装置、用于生成信息的方法和装置 | |
CN110413946A (zh) | 使用交替最小二乘优化来在线训练和更新因子分解机 | |
CN110866625A (zh) | 促销指标信息生成方法和装置 | |
CN113592593B (zh) | 序列推荐模型的训练及应用方法、装置、设备及存储介质 | |
CN112785390B (zh) | 推荐处理方法、装置、终端设备以及存储介质 | |
CN116910373B (zh) | 房源推荐方法、装置、电子设备及存储介质 | |
JP2022545335A (ja) | 新語分類技術 | |
CN111768218A (zh) | 用于处理用户交互信息的方法和装置 |
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 |