CN110795631B - 一种基于因子分解机的推送模型优化、预测方法和装置 - Google Patents

一种基于因子分解机的推送模型优化、预测方法和装置 Download PDF

Info

Publication number
CN110795631B
CN110795631B CN201911039125.4A CN201911039125A CN110795631B CN 110795631 B CN110795631 B CN 110795631B CN 201911039125 A CN201911039125 A CN 201911039125A CN 110795631 B CN110795631 B CN 110795631B
Authority
CN
China
Prior art keywords
user
model
data
terminal
server
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.)
Active
Application number
CN201911039125.4A
Other languages
English (en)
Other versions
CN110795631A (zh
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911039125.4A priority Critical patent/CN110795631B/zh
Publication of CN110795631A publication Critical patent/CN110795631A/zh
Application granted granted Critical
Publication of CN110795631B publication Critical patent/CN110795631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Strategic Management (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供了一种由用户终端执行的推送模型的优化方法和装置以及基于其的预测方法和装置,所述优化方法包括:获取第一用户针对第一对象的第一行为数据;从服务器接收所述第一对象的当前特征数据和当前的特征交叉模型;基于第一行为数据、第一用户的当前特征数据、第一对象的当前特征数据、当前的线性模型、以及当前的特征交叉模型,计算用于优化线性模型的第一梯度数据;确定所述第一用户的当前的预定数目的邻居用户;将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型,该方法通过多方安全计算保护各个终端的用户隐私不泄露给服务器端。

Description

一种基于因子分解机的推送模型优化、预测方法和装置
技术领域
本说明书实施例涉及机器学习技术领域,更具体地,涉及一种基于因子分解机的推送模型优化、预测方法和装置。
背景技术
在当前的多种推送系统中,例如包括基于因子分解机的推送模型,传统的推送模型都属于集中式(centralized)训练。也就是说,在传统的因子分解机中,首先,构建该推送系统的平台需要获取用户对物品的行为(如购买,点击,评分等行为)数据,然后利用这些数据来构建因子分解机模型。也就是说,所有用户对物品的历史行为数据,都要集中式的存储在某个服务器端,另外,在训练因子分解机模型时,需要在服务器端机器上训练。而所述用户对物品的历史行为数据可能包括用户的隐私数据。
因此,需要一种更有效的保护隐私的推送模型优化和预测方案。
发明内容
本说明书实施例旨在提供一种更有效的保护隐私的推送模型优化和预测方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种由用户终端执行的推送模型优化方法,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述方法包括:
获取第一用户针对第一对象的第一行为数据,其中,所述第一对象属于预定候选对象集合;
从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型;
基于所述第一行为数据、所述第一用户的当前特征数据、所述第一对象的当前特征数据、当前的所述线性模型、以及当前的所述特征交叉模型,计算用于优化所述线性模型的第一梯度数据;
确定所述第一用户的当前的预定数目的邻居用户,其中,所述邻居用户与所述第一用户具有预定关联关系;
将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型。
在一个实施例中,所述预定数目的邻居用户中包括第二用户,所述方法还包括,从所述第二用户的终端接收用于优化所述线性模型的第二梯度数据,与所述预定数目的邻居用户共同执行安全加合算法,以获取所述预定数目的邻居用户的终端各自包括的线性模型的加权和,所述安全加合算法使得对于所述第一用户的终端隐藏其各个邻居用户终端的线性模型,以及,基于所述第二梯度数据、所述线性模型的加权和,优化本地的线性模型。
在一个实施例中,所述预定候选对象集合包括第一地理区域中的用户兴趣点,其中,所述第一地理区域为以第一用户为中心的预定地理范围内的区域。
在一个实施例中,所述预定关联关系为地理位置关联关系。
在一个实施例中,确定所述第一用户的当前的预定数目的邻居用户包括,从服务器接收以所述第一用户的终端为中心的各个用户终端的地理位置关系图;基于所述地理位置关系图,确定所述第一用户的当前的预定数目的邻居用户。
在一个实施例中,所述方法还包括:
在从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型之后,基于当前的所述线性模型、当前的所述特征交叉模型、所述第一行为数据、所述第一用户的当前特征数据、以及所述第一对象的当前特征数据,计算用于优化所述特征交叉模型的第三梯度数据;
与预定数目的其它终端、及服务器共同执行安全加合算法,以使得所述服务器获知来自各个终端的梯度数据之和以用于优化所述特征交叉模型,同时使得对所述服务器隐藏来自各个终端的梯度数据,其中,所述来自各个终端的梯度数据包括所述第三梯度数据。
本说明书另一方面提供一种由用户终端执行的基于推送模型的推送方法,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护有所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述方法包括:
从服务器接收当前的特征交叉模型、及第二对象的当前特征数据,其中,所述第二对象属于预定候选对象集合;
通过所述推送模型基于所述第一用户的当前特征数据、所述第二对象的当前特征数据预测所述第二对象的分数;
基于所述第二对象的分数确定是否向所述第一用户推送的所述第二对象。
本说明书另一方面提供一种由用户终端执行的推送模型优化装置,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述装置包括:
获取单元,配置为,获取第一用户针对第一对象的第一行为数据,其中,所述第一对象属于预定候选对象集合;
第一接收单元,配置为,从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型;
第一计算单元,配置为,基于所述第一行为数据、所述第一用户的当前特征数据、所述第一对象的当前特征数据、当前的所述线性模型、以及当前的所述特征交叉模型,计算用于优化所述线性模型的第一梯度数据;
确定单元,配置为,确定所述第一用户的当前的预定数目的邻居用户,其中,所述邻居用户与所述第一用户具有预定关联关系;
发送单元,配置为,将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型。
在一个实施例中,所述预定数目的邻居用户中包括第二用户,所述装置还包括,第二接收单元,配置为,从所述第二用户的终端接收用于优化所述线性模型的第二梯度数据,第一执行单元,配置为,与所述预定数目的邻居用户共同执行安全加合算法,以获取所述预定数目的邻居用户的终端各自包括的线性模型的加权和,所述安全加合算法使得对于所述第一用户的终端隐藏其各个邻居用户终端的线性模型,以及,优化单元,配置为,基于所述第二梯度数据、所述线性模型的加权和,优化本地的线性模型。
在一个实施例中,所述确定单元包括:接收子单元,配置为,从服务器接收以所述第一用户的终端为中心的各个用户终端的地理位置关系图;确定子单元,配置为,基于所述地理位置关系图,确定所述第一用户的当前的预定数目的邻居用户。
在一个实施例中,所述装置还包括:
第二计算单元,配置为,在从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型之后,基于当前的所述线性模型、当前的所述特征交叉模型、所述第一行为数据、所述第一用户的当前特征数据、以及所述第一对象的当前特征数据,计算用于优化所述特征交叉模型的第三梯度数据;
第二执行单元,配置为,与预定数目的其它终端、及服务器共同执行安全加合算法,以使得所述服务器获知来自各个终端的梯度数据之和以用于优化所述特征交叉模型,同时使得对所述服务器隐藏来自各个终端的梯度数据,其中,所述来自各个终端的梯度数据包括所述第三梯度数据。
本说明书另一方面提供一种由用户终端执行的基于推送模型的推送装置,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护有所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述装置包括:
接收单元,配置为,从服务器接收当前的特征交叉模型、及第二对象的当前特征数据,其中,所述第二对象属于预定候选对象集合;
预测单元,配置为,通过所述推送模型基于所述第一用户的当前特征数据、所述第二对象的当前特征数据预测所述第二对象的分数;
确定单元,配置为,基于所述第二对象的分数确定是否向所述第一用户推送的所述第二对象。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的推送模型中,通过分布式的训练方式在各个用户终端和服务器共同构建去中心化式的因子分解模型,其中,在各个用户终端进行对因子分解模型中的线性模型的分布式的训练,各个用户终端具有其各自的线性模型参数,而通过在具有预定关联关系的邻居用户之间传递线性模型的参数梯度,使得在不泄露用户隐私的同时,对关联关系较近的用户之间的模型参数进行协同训练,提高了模型预测准确性,另外,在服务器端通过与多个用户终端共同执行安全加合算法,从而从各个终端获取其特征交叉模型的梯度之和,从而使得可以在服务器端基于所述梯度之和进行对特征交叉模型的优化,同时保护各个终端的用户隐私不泄露给服务器端。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出根据本说明书实施例的对象推送系统100;
图2示出根据本说明书实施例的一种由用户终端执行的推送模型优化方法流程图;
图3示出了根据本说明书实施例的一种由用户终端执行的基于推送模型的推送方法流程图;
图4示出了对根据本说明书实施例的推送模型进行训练和使用的时序图;
图5示出根据本说明书一个实施例的一种由用户终端执行的推送模型优化装置500;
图6示出根据本说明书一个实施例的一种由用户终端执行的基于推送模型的推送装置600。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的对象推送系统100。如图1中所示,系统100中包括服务器11和多个用户终端12,其中,各个用户终端12通过网络与服务器11连接。所述服务器11和用户终端12共同拥有基于因子分解机算法的推送模型,其中,在每个用户终端12中,都包括本地训练的推送模型中的线性模型,在所述服务器11中包括推送模型中的特征交叉模型。另外,在每个用户终端12中维护有相应终端用户的用户特征数据,在服务器端维护有各个对象的特征数据。例如,所述各个对象可以为用户所处位置周围的兴趣点(POI),或者,所述各个对象也可以为购物平台中的各个商品、外卖平台中的各个商家、影评书评平台中的各个电影、书籍等等。下文中将以兴趣点为例进行对所述推送模型的描述。
所述推送模型为由例如终端中特定客户端(例如用于进行兴趣点推送的APP)和服务器共同训练的模型,其用于预测终端用户对特定兴趣点的兴趣,以确定是否向该用户推送该特定兴趣点。在模型训练阶段,首先由终端获取相应的用户针对特定兴趣点的行为(例如用户对酒店的入住、在饭店的消费等),从服务器接收该兴趣点的特征数据和特征交叉模型,从而可基于该行为、该兴趣点的特征数据、该用户的特征数据、所述线性模型和所述特征交叉模型获取用于训练本地线性模型的梯度数据1,并将该梯度数据1发送给该用户的邻居用户(例如地理位置接近的邻居用户),以使得各个邻居用户的终端也基于所述梯度数据1训练本地的线性模型。
在训练所述线性模型的同时,所述终端还可以基于该行为、该兴趣点的特征数据、该用户的特征数据、所述线性模型和所述特征交叉模型,计算用于优化特征交叉模型的梯度数据2。在预定数目的终端12都计算了用于优化特征交叉模型的梯度数据2之后,其可以与服务器共同执行安全加合算法,以使得服务器获得来自各个终端的梯度数据2之和,同时对服务器隐藏各个单个梯度数据2,从而在服务器端可基于所述梯度数据2之和进行对特征交叉模型的训练,同时保护了各个用户的个人隐私。
在进行了上述对推送模型的训练之后,可在用户终端通过该推送模型进行针对该终端用户的对象推送。对于预定候选推送对象集合,终端12可从服务器端11接收特征交叉模型和各个候选推送对象的特征数据,从而可基于该终端对应的用户的特征数据、各个候选推送对象的特征数据,通过所述推送模型计算各个对象的分数,并基于各个对象的分数,向该用户进行对象推送。
可以理解,上述参考图1的描述仅仅是示意性的,而不是用于限定本说明书实施例的范围,例如,所述对象推送系统的推送对象不一定是兴趣点,因此,终端本地获取的终端用户的邻居用户不限于为在地理位置上相近的用户,等等。下面将详细描述根据上述模型训练过程。
图2示出根据本说明书实施例的一种由用户终端执行的推送模型优化方法流程图,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述方法包括:
步骤S202,获取第一用户针对第一对象的第一行为数据,其中,所述第一对象属于预定候选对象集合;
步骤S204,从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型;
步骤S206,基于所述第一行为数据、所述第一用户的当前特征数据、所述第一对象的当前特征数据、当前的所述线性模型以及当前的所述特征交叉模型,计算用于优化所述线性模型的第一梯度数据;
步骤S208,确定所述第一用户的当前的预定数目的邻居用户,其中,所述邻居用户与所述第一用户具有预定关联关系;
步骤S210,将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型。
该方法在例如第一用户的终端本地执行,例如,可由终端中的APP中的预定程序执行,或者可由终端中的系统中的预定程序执行等等。所述推送模型基于因子分解机算法进行预测。如上文所述,基于因子分解机算法,所述推送模型可通过如下公式(1)计算特定对象相对于特定用户的分数:
Figure BDA0002252370180000081
其中,i表示用户i,j表示对象j,
Figure BDA0002252370180000082
例如可以表示用户i对对象j的兴趣分。在D个xd中,x1~xm构成用户i的特征Xi,xm+1~xD构成对象j的特征Xj,也就是说,设Xij为包含特征x1~xD的向量,则,
Figure BDA0002252370180000083
即,特征x1~xD中包括用户i的特征和对象j的特征,其中,符号
Figure BDA0002252370180000091
表示特征Xi和特征Xj的拼接。
如公式(1)中所示,所述推送模型包括两部分,即线性模型部分和高阶的特征交叉模型部分。其中,参数w0、w1、…、wD为线性模型,每个参数wd表示每个特征xd的权重。显然,该线性模型指示了用户i对各个特征的偏好并一定程度显示了用户的兴趣。从而,在本说明书实施例中,为了保护用户的隐私,在各个用户的终端本地分别保存与该用户对应的线性模型,从而不会将各个用户的隐私暴露给其它用户终端和服务器。另外,公式(1)中的参数vd,k构成矩阵V∈RD×K,该矩阵V为二阶特征交叉模型,其中K为特征交叉因子分解的维度。从公式(1)可见,
Figure BDA0002252370180000092
用于表示每个特征交叉对<xdxd′>的权重,该权重并未公开用户的数据或兴趣,从而,该权重可以由服务器保存。
对于上述推送模型,可通过如公式(2)所示的损失函数L基于训练样本集O进行对该模型的优化:
Figure BDA0002252370180000093
其中,yij与训练样本中用户对相应对象的动作相对应,例如所述动作为是否点击或者是否消费等,则相应地,yij可以为1和0。W为各个用户的线性模型,其中W的第i行与用户i相对应,且
Figure BDA0002252370180000094
λw和λv分别为线性模型和特征交叉模型的正则参数。σ(x)为逻辑函数,其如下面的公式(3)所示:
Figure BDA0002252370180000095
可以理解,用于优化所述推送模型的损失函数不限于公式(2)所示的形式,可以根据需要采用其它形式,如平方损失函数等等。
图2所示方法为在各个终端执行的用于基于公式(2)优化所述推送模型的方法。
首先,在步骤S202,获取第一用户针对第一对象的第一行为数据,其中,所述第一对象属于预定候选对象集合。
在一个实施例中,所述方法由终端中的特定客户端执行,所述客户端例如为用于进行兴趣点(POI)推送的APP,所述兴趣点例如为饭店、加油站等。当用户通过APP对兴趣点进行相关操作时,例如,通过APP进行饭店点菜,通过APP进行加油等,用户的地理位置为该兴趣点的位置,也就是说,用户使用该APP的地理位置与兴趣点的地理位置是相关联的。因此,在该场景中,当将要通过该APP对终端用户(例如第一用户)进行兴趣点推送时,通常将以该第一用户为中心的预定地理范围内的区域中的多个兴趣点作为候选推送对象集合。该预定地理范围例如可基于商圈的平均大小进行设定,例如,该预定范围可设定为以第一用户为中心的半径两公里内的范围等等。
假设所述第一用户为用户i,在用户i到达特定地点(例如某商圈中的任意一个位置)之后,所述APP可基于GPS模块确定用户i的地理位置,并基于用户i的地理位置确定上述候选推送对象集合作为用于训练所述推送模型的候选对象集合。例如,该集合中包括作为第一对象的对象j,从而可基于用户i对对象j的操作获取用于优化所述推送模型的训练样本<Xijyij>。例如,对象j为APP中的特定饭店的页面,当用户i通过该APP进行对所述饭店的消费时,APP可以获取用户i的该操作信息,并基于该操作信息获取用于训练模型的正样本,即标签值yij为1;当用户i在当前位置未进行对所述饭店的消费时,APP可获取用户i的该操作信息,并基于该操作信息获取用于训练模型的负样本,即标签值yij为0。
在一个实施例中,在确定候选推送对象集合之后,还可以通过所述APP对第一用户进行兴趣点推送。例如,在APP中可将与各个候选推送对象对应的输入特征分别输入所述推送模型,以确定向用户i推送哪个对象,例如通过推送模型确定向用户i推送对象j。从而,可向用户i推送对象j,并获取用户i针对该推送的对象j的行为,从而获取用户i针对对象j的第一行为数据。
在一个实施例中,所述APP在感知到用户到达特定地理位置之后,可从例如支付宝APP获取第一用户针对该位置周围的特定兴趣点是否存在消费行为,从而可以以所述特定兴趣点作为所述第一对象,以该第一用户历史行为作为所述第一行为数据,以用于对本地推送模型的训练。
可以理解,上述描述仅是示意性的,而不是限定性的。
例如,所述第一对象不限于为所述兴趣点,而可以为例如购物平台中的商品、影评平台中的电影等。从而,所述第一对象所属的预定候选对象集合不限于为预定地理范围内的对象,例如,在影评平台中,所述预定候选对象集合例如可以为预定类型的商品集合、预定类型、题材的电影集合等等。例如,在影评平台中,可基于用户正在阅读的影评确定预定候选对象集合,可基于用户的历史行为确定预定候选对象集合,也可基于当前热点确定预定候选对象集合等等。
另外,所述与正负样本对应的操作信息也不限于为上述消费操作信息,可根据第一对象的实际形式相应地设置,例如点击、购买等。所述正负样本的标签值不限于为1和0,而可以根据具体的模型结构进行设定,例如其可以为1和-1。
在步骤S204,从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型。
所述第一对象的当前特征数据即为上述Xj,当前的所述特征交叉模型即为上述矩阵V,如上文所述,Xj和V都保存在服务器中,因此,可从服务器接收Xj和V。
在步骤S206,基于所述第一行为数据、所述第一用户的当前特征数据、所述第一对象的当前特征数据、当前的所述线性模型以及当前的所述特征交叉模型,计算用于优化所述线性模型的第一梯度数据。
通过基于上述公式(2)对用户i的线性模型Wi中包括的每个参数
Figure BDA0002252370180000111
(d取值为0~D)求梯度,可得如公式(4)所示的梯度
Figure BDA0002252370180000121
Figure BDA0002252370180000122
基于公式(4),例如对于参数
Figure BDA0002252370180000123
可基于上述获取的Xj与本地维护的用户i的特征Xi,可获取特征Xij,基于Xij、本地维护的参数Wi和上述获取的参数V,可通过公式(1)计算模型的预测值
Figure BDA0002252370180000124
从而将上述获取的yij、计算的
Figure BDA0002252370180000125
知本地的
Figure BDA0002252370180000126
代入公式(4)中,可计算
Figure BDA0002252370180000127
从而可基于该梯度更新本地的参数
Figure BDA0002252370180000128
类似地,可基于yij、Xij、Wi和V计算Wi中其它参数
Figure BDA0002252370180000129
的梯度,并相应地更新该参数
Figure BDA00022523701800001210
全部所述梯度
Figure BDA00022523701800001211
(d=0~D)构成了所述第一梯度数据。
在步骤S208,确定所述第一用户的当前的预定数目的邻居用户,其中,所述邻居用户与所述第一用户具有预定关联关系。
在本说明书实施例中,可基于特定场景确定所述预定关联关系。在一个实施例中,在上述兴趣点推送的场景中,由于如前文所述,推送的兴趣点与用户的地理位置有较强的相关性,因此,可将预定关联关系设定为地理位置关联关系,也就是说,所述邻居用户是地理位置离第一用户较近的用户。例如,通常,例如手机、平板等用户终端都具有GPS模块,从而,服务器端可基于各个终端的GPS信息构建各个用户的地理位置邻接图,从而,第一用户的终端中的APP可从服务器端获取以第一用户为中心的地理位置邻接图,并从该邻接图确定第一用户的当前的预定数目的邻居用户。例如,可基于所述邻接图,将距离第一用户的距离小于预定阈值的用户确定为所述邻居用户。
在一个实施例中,所述APP例如为影评平台,平台中的用户之间具有基于好友关系的关系网络,从而,第一用户的终端中的APP可从服务器端获取以第一用户为中心的好友关系网络,并从该好友关系网络确定所述第一用户的预定数目的邻居用户。在一个实施例中,所述APP可从本地存储的好友关系中确定所述第一用户当前的预定数目的邻居用户。
在一个实施例中,所述APP例如为购物平台,平台的用户之间具有基于用户与商品的二部图网络的关系网络,从而,第一用户的终端中的APP可从服务器获取以第一用户为中心的二部图网络,并从该网络中确定所述第一用户的预定数目的邻居用户。
在步骤S210,将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型。
在确定所述预定数目的邻居用户之后,所述第一用户的终端可通过所述APP将所述第一梯度数据发送给各个邻居用户的终端。具体是,例如,在APP中确定各个邻居用户的标识或账户,从而可通过APP将第一梯度数据发送给该账户,从而使得该账户所在的终端接收到该第一梯度数据。
如上述公式(4)中所示,所述第一梯度数据例如为推送模型的损失函数相对于参数Wi的梯度,从而,所述邻居用户的终端可基于例如随机梯度下降法使用该梯度数据如公式(5)所示更新本地的参数
Figure BDA0002252370180000131
从而优化本地的推送模型:
Figure BDA0002252370180000132
其中,α为学习率,t表示时间或者训练次数。
也就是说,在本说明书实施例中,在各个用户终端进行对推送模型的分布式的训练,各个用户终端具有其各自的模型参数,而通过在具有预定关联关系的邻居用户之间传递参数梯度,使得在不泄露用户隐私的同时,对关联关系较近的用户之间的模型参数进行协同训练,提高了模型预测准确性。
在一个实施例中,为了使得上述分布式的训练更加准确,当例如用户i的终端从其邻居用户(用户f)接收到用于训练线性模型的梯度数据时,通过如下的公式(6)更新本地的线性模型:
Figure BDA0002252370180000133
其中,N(i)表示用户i的邻居用户集合,Sif表示用户i与用户f之间的边值,为了简化计算,可使得每个Sif都等于1,
Figure BDA0002252370180000141
表示邻居用户f处在t时刻的参数值。基于公式(6),当用户i更新本地的参数
Figure BDA0002252370180000142
时,需要知道其邻居用户各自的参数
Figure BDA0002252370180000143
之和,为此,为了保护各个邻居用户的隐私,可在用户i与其邻居用户之间共同执行安全加合算法,从而使得用户i可获知参数
Figure BDA0002252370180000144
之和,同时用户i并不能获知各个参数
Figure BDA0002252370180000145
的值。在下文对特征交叉模型的训练中将对所述安全加合算法进行详细描述。
在如上文所述进行对用户i的终端中的线性模型的训练之后,可通过预定数目的在线的用户终端与服务器联合进行对服务器中的特征交叉模型的训练。
具体是,假设该预定数目的用户终端中包括上述用户i的终端。通过基于上述公式(2)对特征交叉模型V中包括的每个参数Vd.k求梯度,可得如公式(7)所示的梯度
Figure BDA0002252370180000146
Figure BDA0002252370180000147
基于公式(7),用户i的终端在从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型之后,可基于所述线性模型Wi、所述特征交叉模型V、所述第一行为数据yij、所述第一用户的当前特征数据Xi、以及所述第一对象的当前特征数据Xj,计算用于优化所述特征交叉模型的梯度
Figure BDA0002252370180000148
在所述预定数目(例如N个)的用户终端中的每个终端i(i=1~N)都如上所述计算了相应的梯度
Figure BDA0002252370180000149
之后,该预定数目的用户终端可与服务器共同执行安全加合算法,从而使得服务器可获得所述N个梯度之和,即
Figure BDA00022523701800001410
同时该安全加合算法对于服务器隐藏每个梯度
Figure BDA00022523701800001411
的值,从而保护各个用户的隐私。
现有技术中已经开发了多种用于实现上述目的的安全加合算法,例如,所述预定数目的用户包括两个用户u和v,其各方的梯度为xu和xv。用户u和v可以共同协商一个随机数s,从而,用户u将其梯度与所述随机数s相加获得xu+s并发送给服务器,用户v将其梯度与s的差xv-s发送给服务器,服务器将从用户u和用户v接收的两个梯度数据相加,从而获取xu+xv的值,同时,服务器并未获取xu和xv各自的值。对于多于两个的预定数目的用户,可以类似地进行上述安全加合算法,从而使得服务器获得各个终端的梯度之和,同时保护了各个终端的用户隐私。
服务器在获取所述预定数目的终端的梯度之和之后,可通过如下公式(8)更新特征交叉模型的参数:
Figure BDA0002252370180000151
在进行了上述对所述预测模型的训练之后,可以理解,每个终端都训练有与该终端用户i对应的线性模型Wi,即,各个终端中的线性模型都是不同的模型,服务器中训练有对于各个用户一致的特征交叉模型V。在通过该模型进行对用户i的预测时,使用该用户i对应的终端与服务器联合进行对该用户i的预测。
图3示出了根据本说明书实施例的一种由用户终端执行的基于推送模型的推送方法流程图,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护所述线性模型,所述特征交叉模型由服务器维护,所述方法包括:
步骤S302,从服务器接收当前的特征交叉模型、及第二对象的当前特征数据,其中,所述第二对象属于预定候选对象集合;
步骤S304,通过所述推送模型基于所述第一用户的当前特征数据、所述第二对象的当前特征数据预测所述第二对象的分数;
步骤S306,基于所述第二对象的分数确定是否向所述第一用户推送的所述第二对象。
首先,在步骤S302,从服务器接收当前的特征交叉模型、及第二对象的当前特征数据,其中,所述第二对象属于预定候选对象集合。
所述服务器维护有所述特征交叉模型和各个对象的特征数据,也就是说,服务器可随时更新特征交叉模型和对象的特征数据。在一个实施例中,可在基于充足的训练数据训练好推送模型之后,再将该推送模型上线,从而,在模型上线用于预测之后,服务器中的特征交叉模型将是不变化的。在一个实施例中,可在模型上线之后,继续基于用户行为数据进行对该推送模型的训练,从而,服务器中维护的特征交叉模型将随着时间不断更新。所述第二对象的特征数据也可能是随着时间变化的,例如第二对象为兴趣点,其特征数据中包括热度信息,从而,服务器将收集该第二对象的热度数据,并更新该特征数据。所述预定候选对象集合可参考上文中步骤S202中的描述,在此不再赘述。
在步骤S304,通过所述推送模型基于所述第一用户的当前特征数据、所述第二对象的当前特征数据预测所述第二对象的分数。
在从服务器获取第二对象(对象k)的当前特征数据Xk、当前特征交叉模型V之后,再加上该终端本地的第一用户(用户i)的当前特征数据Xi和线性模型Wi,从而可基于上文中的公式(1)计算用户i对对象k的预测兴趣分数
Figure BDA0002252370180000161
在步骤S306,基于所述第二对象的分数确定是否向所述第一用户推送的所述第二对象。
在一个实施例中,可类似地计算所述预定候选对象集合中每个对象的预测分数,并基于各个对象的分数对其进行排序,例如,可预设,如果所述对象k基于其分数
Figure BDA0002252370180000162
排在前三位,则向用户i推送所述对象k。
在一个实施例中,可设定分数阈值,并可以预设,当对象k的分数
Figure BDA0002252370180000163
大于所述分数阈值的情况中,向所述用户i推送所述对象k。
图4示出了对根据本说明书实施例的推送模型进行训练和使用的时序图。如图4中所示,该时序图中包括两个阶段I和II,在阶段I进行对该模型的训练。具体是,在步骤401,由终端1获取用户i行为数据,在步骤402,终端从服务器接收对象j的特征和特征交叉模型V,在步骤403,在终端1计算用于优化线性模型的梯度1,并优化本地的线性模型W,在步骤404,从服务器接收邻居用户信息,在步骤405,将线性模型的梯度1发送给邻居用户的终端(例如终端2);在步骤406,终端2使用梯度1优化本地的线性模型W。在步骤407,在终端1和终端2分别计算用于优化特征交叉模型的梯度2和梯度3,在步骤408,终端1、终端2与服务器一起执行安全加合算法,以使得服务器获取梯度2与梯度3之和;在步骤409,在服务器中,基于梯度2和梯度3之和优化本地的特征交叉模型V。
在阶段II,使用训练好的推送模型进行预测。具体是,在步骤410,终端1从服务器接收当前的模型V和对象k的特征;在步骤411,在终端1中计算对象k的分数;在步骤412,基于对象k的分数,确定是否向用户i推送该对象k。
图5示出根据本说明书一个实施例的一种由用户终端执行的推送模型优化装置500,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述装置包括:
获取单元501,配置为,获取第一用户针对第一对象的第一行为数据,其中,所述第一对象属于预定候选对象集合;
第一接收单元502,配置为,从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型;
第一计算单元503,配置为,基于所述第一行为数据、所述第一用户的当前特征数据、所述第一对象的当前特征数据、当前的所述线性模型、以及当前的所述特征交叉模型,计算用于优化所述线性模型的第一梯度数据;
确定单元504,配置为,确定所述第一用户的当前的预定数目的邻居用户,其中,所述邻居用户与所述第一用户具有预定关联关系;
发送单元505,配置为,将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型。
在一个实施例中,所述预定数目的邻居用户中包括第二用户,所述装置还包括,第二接收单元506,配置为,从所述第二用户的终端接收用于优化所述线性模型的第二梯度数据,第一执行单元507,配置为,与所述预定数目的邻居用户共同执行安全加合算法,以获取所述预定数目的邻居用户的终端各自包括的线性模型的加权和,所述安全加合算法使得对于所述第一用户的终端隐藏其各个邻居用户终端的线性模型,以及,优化单元508,配置为,基于所述第二梯度数据、所述线性模型的加权和,优化本地的线性模型。
在一个实施例中,所述确定单元504包括:接收子单元5041,配置为,从服务器接收以所述第一用户的终端为中心的各个用户终端的地理位置关系图;确定子单元5042,配置为,基于所述地理位置关系图,确定所述第一用户的当前的预定数目的邻居用户。
在一个实施例中,所述装置还包括:
第二计算单元509,配置为,在从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型之后,基于当前的所述线性模型、当前的所述特征交叉模型、所述第一行为数据、所述第一用户的当前特征数据、以及所述第一对象的当前特征数据,计算用于优化所述特征交叉模型的第三梯度数据;
第二执行单元510,配置为,与预定数目的其它终端、及服务器共同执行安全加合算法,以使得所述服务器获知来自各个终端的梯度数据之和以用于优化所述特征交叉模型,同时使得对所述服务器隐藏来自各个终端的梯度数据,其中,所述来自各个终端的梯度数据包括所述第三梯度数据。
图6示出根据本说明书一个实施例的一种由用户终端执行的基于推送模型的推送装置600,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护有所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述装置包括:
接收单元61,配置为,从服务器接收当前的特征交叉模型、及第二对象的当前特征数据,其中,所述第二对象属于预定候选对象集合;
预测单元62,配置为,通过所述推送模型基于所述第一用户的当前特征数据、所述第二对象的当前特征数据预测所述第二对象的分数;
确定单元63,配置为,基于所述第二对象的分数确定是否向所述第一用户推送的所述第二对象。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的推送模型中,通过分布式的训练方式在各个用户终端和服务器共同构建去中心化式的因子分解模型,其中,在各个用户终端进行对因子分解模型中的线性模型的分布式的训练,各个用户终端具有其各自的线性模型参数,而通过在具有预定关联关系的邻居用户之间传递线性模型的参数梯度,使得在不泄露用户隐私的同时,对关联关系较近的用户之间的模型参数进行协同训练,提高了模型预测准确性,另外,在服务器端通过与多个用户终端共同执行安全加合算法,从而从各个终端获取其特征交叉模型的梯度之和,从而使得可以在服务器端基于所述梯度之和进行对特征交叉模型的优化,同时保护各个终端的用户隐私不泄露给服务器端。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种由用户终端执行的推送模型优化方法,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述方法包括:
获取第一用户针对第一对象的第一行为数据,其中,所述第一对象属于预定候选对象集合;
从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型;
基于所述第一行为数据、所述第一用户的当前特征数据、所述第一对象的当前特征数据、当前的所述线性模型、以及当前的所述特征交叉模型,计算用于优化所述线性模型的第一梯度数据;
确定所述第一用户的当前的预定数目的邻居用户,其中,所述邻居用户与所述第一用户具有预定关联关系,其中,所述预定数目的邻居用户中包括第二用户;
将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型;
从所述第二用户的终端接收用于优化所述线性模型的第二梯度数据,与所述预定数目的邻居用户共同执行安全加合算法,以获取所述预定数目的邻居用户的终端各自包括的线性模型的加权和,所述安全加合算法使得对于所述第一用户的终端隐藏其各个邻居用户终端的线性模型,以及,基于所述第二梯度数据、所述线性模型的加权和,优化本地的线性模型。
2.根据权利要求1所述的方法,其中,所述预定候选对象集合包括第一地理区域中的用户兴趣点,其中,所述第一地理区域为以第一用户为中心的预定地理范围内的区域。
3.根据权利要求2所述的方法,其中,所述预定关联关系为地理位置关联关系。
4.根据权利要求3所述的方法,其中,确定所述第一用户的当前的预定数目的邻居用户包括,从服务器接收以所述第一用户的终端为中心的各个用户终端的地理位置关系图;基于所述地理位置关系图,确定所述第一用户的当前的预定数目的邻居用户。
5.根据权利要求1所述的方法,还包括:
在从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型之后,基于当前的所述线性模型、当前的所述特征交叉模型、所述第一行为数据、所述第一用户的当前特征数据、以及所述第一对象的当前特征数据,计算用于优化所述特征交叉模型的第三梯度数据;
与预定数目的其它终端、及服务器共同执行安全加合算法,以使得所述服务器获知来自各个终端的梯度数据之和以用于优化所述特征交叉模型,同时使得对所述服务器隐藏来自各个终端的梯度数据,其中,所述来自各个终端的梯度数据包括所述第三梯度数据。
6.一种由用户终端执行的基于推送模型的推送方法,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护有所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述方法包括:
从服务器接收当前的特征交叉模型、及第二对象的当前特征数据,其中,所述第二对象属于预定候选对象集合;
通过所述推送模型基于所述第一用户的当前特征数据、所述第二对象的当前特征数据预测所述第二对象的分数,具体包括:根据从所述服务器接收的当前的特征交叉模型和所述第二对象的当前特征数据、以及本地维护的所述线性模型和所述第一用户的当前特征数据,计算所述第一用户对所述第二对象的预测兴趣分数;
基于所述第二对象的分数确定是否向所述第一用户推送的所述第二对象。
7.一种由用户终端执行的推送模型优化装置,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述装置包括:
获取单元,配置为,获取第一用户针对第一对象的第一行为数据,其中,所述第一对象属于预定候选对象集合;
第一接收单元,配置为,从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型;
第一计算单元,配置为,基于所述第一行为数据、所述第一用户的当前特征数据、所述第一对象的当前特征数据、当前的所述线性模型、以及当前的所述特征交叉模型,计算用于优化所述线性模型的第一梯度数据;
确定单元,配置为,确定所述第一用户的当前的预定数目的邻居用户,其中,所述邻居用户与所述第一用户具有预定关联关系,其中,所述预定数目的邻居用户中包括第二用户;
发送单元,配置为,将所述第一梯度数据分别发送给所述预定数目的邻居用户各自的终端,以使得每个邻居用户的终端基于所述第一梯度数据分别优化其本地的线性模型;
第二接收单元,配置为,从所述第二用户的终端接收用于优化所述线性模型的第二梯度数据,第一执行单元,配置为,与所述预定数目的邻居用户共同执行安全加合算法,以获取所述预定数目的邻居用户的终端各自包括的线性模型的加权和,所述安全加合算法使得对于所述第一用户的终端隐藏其各个邻居用户终端的线性模型,以及,优化单元,配置为,基于所述第二梯度数据、所述线性模型的加权和,优化本地的线性模型。
8.根据权利要求7所述的装置,其中,所述预定候选对象集合包括第一地理区域中的用户兴趣点,其中,所述第一地理区域为以第一用户为中心的预定地理范围内的区域。
9.根据权利要求8所述的装置,其中,所述预定关联关系为地理位置关联关系。
10.根据权利要求9所述的装置,其中,所述确定单元包括:接收子单元,配置为,从服务器接收以所述第一用户的终端为中心的各个用户终端的地理位置关系图;确定子单元,配置为,基于所述地理位置关系图,确定所述第一用户的当前的预定数目的邻居用户。
11.根据权利要求7所述的装置,还包括:
第二计算单元,配置为,在从服务器接收所述第一对象的当前特征数据和当前的所述特征交叉模型之后,基于当前的所述线性模型、当前的所述特征交叉模型、所述第一行为数据、所述第一用户的当前特征数据、以及所述第一对象的当前特征数据,计算用于优化所述特征交叉模型的第三梯度数据;
第二执行单元,配置为,与预定数目的其它终端、及服务器共同执行安全加合算法,以使得所述服务器获知来自各个终端的梯度数据之和以用于优化所述特征交叉模型,同时使得对所述服务器隐藏来自各个终端的梯度数据,其中,所述来自各个终端的梯度数据包括所述第三梯度数据。
12.一种由用户终端执行的基于推送模型的推送装置,所述终端与第一用户相对应,所述推送模型基于因子分解机算法进行预测,并且所述推送模型中包括线性模型和特征交叉模型,所述终端本地维护有所述线性模型,并且所述终端本地维护有所述第一用户的特征数据,所述特征交叉模型由服务器维护,所述装置包括:
接收单元,配置为,从服务器接收当前的特征交叉模型、及第二对象的当前特征数据,其中,所述第二对象属于预定候选对象集合;
预测单元,配置为,通过所述推送模型基于所述第一用户的当前特征数据、所述第二对象的当前特征数据预测所述第二对象的分数,所述预测单元进一步配置为:根据从所述服务器接收的当前的特征交叉模型和所述第二对象的当前特征数据、以及本地维护的所述线性模型和所述第一用户的当前特征数据,计算所述第一用户对所述第二对象的预测兴趣分数;
确定单元,配置为,基于所述第二对象的分数确定是否向所述第一用户推送的所述第二对象。
13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-6中任一项的所述的方法。
14.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项所述的方法。
CN201911039125.4A 2019-10-29 2019-10-29 一种基于因子分解机的推送模型优化、预测方法和装置 Active CN110795631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911039125.4A CN110795631B (zh) 2019-10-29 2019-10-29 一种基于因子分解机的推送模型优化、预测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911039125.4A CN110795631B (zh) 2019-10-29 2019-10-29 一种基于因子分解机的推送模型优化、预测方法和装置

Publications (2)

Publication Number Publication Date
CN110795631A CN110795631A (zh) 2020-02-14
CN110795631B true CN110795631B (zh) 2022-09-06

Family

ID=69442049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911039125.4A Active CN110795631B (zh) 2019-10-29 2019-10-29 一种基于因子分解机的推送模型优化、预测方法和装置

Country Status (1)

Country Link
CN (1) CN110795631B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401913A (zh) * 2020-03-19 2020-07-10 支付宝(杭州)信息技术有限公司 一种私有数据保护的模型学习方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189192A (zh) * 2019-05-10 2019-08-30 深圳前海微众银行股份有限公司 一种信息推荐模型的生成方法及装置
CN110297848A (zh) * 2019-07-09 2019-10-01 深圳前海微众银行股份有限公司 基于联邦学习的推荐模型训练方法、终端及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3932269B2 (ja) * 1996-12-06 2007-06-20 財団法人流通システム開発センタ− 統合情報通信システム
US7693865B2 (en) * 2006-08-30 2010-04-06 Yahoo! Inc. Techniques for navigational query identification
EP3031165A2 (en) * 2013-08-09 2016-06-15 Thomson Licensing A method and system for privacy preserving matrix factorization
CN109408729B (zh) * 2018-12-05 2022-02-08 广州市百果园信息技术有限公司 推荐物料确定方法、装置、存储介质和计算机设备
CN110263243B (zh) * 2019-01-23 2024-05-10 深圳市雅阅科技有限公司 媒体信息推荐方法、装置、存储介质和计算机设备
CN110033342A (zh) * 2019-01-30 2019-07-19 阿里巴巴集团控股有限公司 一种推荐模型的训练方法及装置、一种推荐方法及装置
CN109829129A (zh) * 2019-02-18 2019-05-31 华南理工大学 一种基于ffm深度神经网络的点击率预估方法
CN110162703B (zh) * 2019-05-13 2024-08-20 深圳市雅阅科技有限公司 内容推荐方法、训练方法、装置、设备及存储介质
CN110321494B (zh) * 2019-06-26 2021-08-31 北京交通大学 基于矩阵分解与网络嵌入联合模型的社会化推荐方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189192A (zh) * 2019-05-10 2019-08-30 深圳前海微众银行股份有限公司 一种信息推荐模型的生成方法及装置
CN110297848A (zh) * 2019-07-09 2019-10-01 深圳前海微众银行股份有限公司 基于联邦学习的推荐模型训练方法、终端及存储介质

Also Published As

Publication number Publication date
CN110795631A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN108875007B (zh) 兴趣点的确定方法和装置、存储介质、电子装置
US9047316B2 (en) Venue prediction based on ranking
KR20170129529A (ko) 유동인구 패턴정보 기반의 미래입점객수 예측방법 및 장치
CN112214677B (zh) 一种兴趣点推荐方法、装置、电子设备及存储介质
CN113902473B (zh) 业务预测系统的训练方法及装置
WO2021077814A1 (zh) 一种由用户终端执行的推送模型优化方法和装置
CN110704754B (zh) 一种由用户终端执行的推送模型优化方法和装置
Kulkarni et al. Mobidict: A mobility prediction system leveraging realtime location data streams
CN110019989B (zh) 一种数据处理方法及装置
CN111695046B (zh) 基于时空移动数据表征学习的用户画像推断方法及装置
JP2021508395A (ja) パーソナライズされた推奨を生成するために適合されたクライアント、サーバ、およびクライアント−サーバシステム
Xin et al. A location-context awareness mobile services collaborative recommendation algorithm based on user behavior prediction
CN111340522A (zh) 资源推荐方法、装置、服务器及存储介质
CN113450167A (zh) 一种商品推荐方法和装置
CN110795631B (zh) 一种基于因子分解机的推送模型优化、预测方法和装置
CN117597905A (zh) 与云计算环境分离的基于用户的位置和活动数据的边缘计算存储节点
US9785993B2 (en) Method for analyzing and ranking venues
Akselrod et al. Information flow control for collaborative distributed data fusion and multisensor multitarget tracking
De Vita et al. A deep learning approach for indoor user localization in smart environments
CN109951855A (zh) 利用非视距状态空间相关性的定位方法及装置
CN114219581A (zh) 一种基于异构图的个性化兴趣点推荐方法及系统
CN114648666A (zh) 分类模型训练和数据分类方法、装置和电子设备
CN114443972A (zh) 信息推荐方法、装置、设备及存储介质
KR20220116719A (ko) 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 장치 및 이를 위한 방법
CN110781389A (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
GR01 Patent grant
GR01 Patent grant