CN111492392B - 用于更新客户端-项目矩阵的客户端、服务器和客户端-服务器*** - Google Patents
用于更新客户端-项目矩阵的客户端、服务器和客户端-服务器*** Download PDFInfo
- Publication number
- CN111492392B CN111492392B CN201780097886.8A CN201780097886A CN111492392B CN 111492392 B CN111492392 B CN 111492392B CN 201780097886 A CN201780097886 A CN 201780097886A CN 111492392 B CN111492392 B CN 111492392B
- Authority
- CN
- China
- Prior art keywords
- client
- model component
- matrix
- individual
- updating
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 128
- 239000013598 vector Substances 0.000 claims abstract description 60
- 238000001914 filtration Methods 0.000 claims abstract description 41
- 230000006870 function Effects 0.000 description 28
- 238000000034 method Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 15
- 238000010801 machine learning Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于通过协同过滤更新客户端‑项目矩阵(R)的单独元素(rij)的客户端(i),R=XTY。所述矩阵(R)包括多个单独元素(rij),每个单独元素与特定客户端(i)和特定项目(j)相关。所述客户端(i)使用第一模型分量(A)的单独部分(Ai)和本地客户端数据(ui)的至少一个元素。所述第一模型分量(A)是因子矩阵A=X(i,k),所述因子矩阵包含多个客户端因子向量(xi)。所述第一模型分量(A)的所述单独部分(Ai)是所述客户端(i)的所述客户端因子向量(xi)。所述客户端(i)连接到使用第二模型分量(B)和一组全局项目(j1,...,jM)的服务器。所述第二模型分量(B)是因子矩阵B=Y(j,k),所述因子矩阵包含多个项目因子向量(yj)。所述客户端(i)用于将所述第一模型分量(A)的所述单独部分(Ai)分配给所述客户端(i),并从所述服务器下载第二模型分量(B)。此后,计算所述第一模型分量(A)的更新的单独部分(Ai2),以及计算每个项目(j1,...,jM)的单独值。将所述值的估计值上传到所述服务器,以使所述服务器计算更新的第二模型分量(B2)。从所述服务器下载所述更新的第二模型分量(B2),并计算所述第一模型分量(A)的新更新的单独部分(Ai3)。
Description
技术领域
本发明涉及一种改进的客户端、服务器和客户端-服务器***,允许更新客户端-项目矩阵的单独元素。
背景技术
客户端-服务器***是这样一种结构:所述***的任务在服务提供方(即服务器)和服务请求方(即客户端)之间划分。所述服务器可以运行一个或多个与所述客户端共享资源的程序。另一方面,所述客户端不共享其任何资源,而是请求服务器的内容或服务功能。所述客户端即手机或平板电脑等用户设备,是此类客户端-服务器***中使用的机器学习过程的重要组成部分,因为每个客户端都是数据源,所述数据用于构建所述机器学习过程中使用的模型以及生成所述模型的结果。
所述结果可以用于生成一个或几个特定项目的推荐,这些项目取自较大的一组项目,这些项目可能是所述客户的用户所感兴趣的。例如,项目是可用于观看的视频、可用于下载的应用或可用于购买的一件衣服等物品。所述客户端和所述项目可以收集到一个所谓的客户端-项目矩阵中。
所述机器学习过程包括创建复杂的模型和算法,这些模型和算法可用于计算所述客户端-项目矩阵的任何未指定元素(即缺失值)的估计值,例如,利用在历史数据和交易数据中发现的模式。所述缺失值的估计值表示用户观看上述视频、下载所述应用或购买所述衣物的概率。
实现高效的机器学***板电脑等用户设备,它不仅是构建机器学习过程中使用的模型所使用的数据源,也是提供所述模型结果的媒介,即替换上述未指定元素的估计值。
手机和平板电脑等客户端包含不同类型的个人用户数据,例如,客户端位置(可被视为非常敏感的个人数据)和下载的应用(可被视为不特别敏感的个人数据)。无论敏感度级别如何,所述数据仍被视为个人用户数据。
诸如2018年在欧盟国家实施的通用数据保护条例(General Data ProtectionRegulation,简称GDPR)以及对公司如何收集、存储和使用用户数据的全面审查等法规,导致生成个性化推荐更加困难,当需要用户明确同意选择加入才能收集用户的数据并存储和处理该数据时甚至不可能生成个性化推荐。调查显示加入率低至20%,尝试生成这样的个性化推荐将不再有用。
此外,每天为大量客户端收集千兆字节的用户数据以及安全存储和使用这些数据,都需要昂贵的基础设施和管理方案。
发明内容
本发明的目的是提供一种改进的客户端、服务器和客户端-服务器***。
上述及其它目的通过独立权利要求的特征来实现。根据从属权利要求、说明书以及附图,进一步的实现方式是显而易见的。
第一方面,提供了一种用于通过协同过滤更新客户端-项目矩阵的单独元素的客户端,R=XTY,rij=xi Tyj,T是矩阵/向量转置,所述矩阵包括多个单独元素,每个单独元素与特定客户端和特定项目相关,所述客户端使用第一模型分量的单独部分和本地客户端数据的至少一个元素,所述第一模型分量是因子矩阵A=X(i,k),所述因子矩阵包含多个客户端因子向量,k是因子数,所述第一模型分量的所述单独部分为所述客户端的所述客户端因子向量,所述客户端连接到使用第二模型分量和一组全局项目的服务器,M是最大项目数,所述第二模型分量是因子矩阵B=Y(j,k),所述因子矩阵包含多个项目因子向量,/>k是因子数,所述客户端用于:将所述第一模型分量的所述单独部分分配给所述客户端,从所述服务器下载第二模型分量,通过所述下载的第二模型分量和所述本地客户端数据的元素,计算所述第一模型分量的更新的单独部分,通过函数f(i,j)计算每个项目的单独值,所述函数使用所述下载的第二模型分量、所述第一模型分量的所述更新的单独部分以及所述本地客户端数据的元素,将所述值的估计值上传到所述服务器,使得所述服务器通过所述第二模型分量和从多个客户端上传的所述值的估计值集合来计算更新的第二模型分量,所述多个客户端包括所述客户端和其它确定的客户端,N是最大客户端数,从所述服务器下载所述更新的第二模型分量,通过所述更新的第二模型分量和所述本地客户端数据的元素,计算所述第一模型分量的新更新的单独部分,通过所述第一模型分量的所述新更新的单独部分和所述更新的第二模型分量来更新所述矩阵的至少一个单独元素。
包含这些特征的客户端可以实现机器学习过程高效而又安全,所述机器学习过程高效是因为其可以访问连接到服务器的所有客户端的客户端数据,所述机器学习过程安全是因为与单独客户端相关的客户端数据仍保持在所述单独客户端。由于连接到所述客户端的所述服务器无需收集或存储大量客户端数据,因此所述过程也具有时间和成本效益。
在所述第一方面的一种可能的实现方式中,未指定所述客户端-项目矩阵的至少一个单独元素,所述更新单独元素包括将未指定的单独元素替换为估计值,允许初始稀疏的客户端-项目矩阵具有密集的元素。
在所述第一方面的另一种可能的实现方式中,所述客户端-项目矩阵用于为所述客户端的用户生成个性化应用推荐,所述推荐与所述项目中的至少一个项目相关,通过所述单独元素在所述客户端上生成,使得可以向所述客户端的用户提供与所述用户相关的项目推荐。
在所述第一方面的另一种可能的实现方式中,通过等式计算所述估计值集合,其中λ是正则化参数,J是成本函数,允许生成集合,所述集合正确反映所述客户端的客户端数据的内容,而无需从所述客户端传输任何客户端数据。
在所述第一方面的另一种可能的实现方式中,通过等式更新所述第二模型分量,其中γ是增益函数,允许在所述服务器上更新所述第二模型分量,以响应客户端数据,而无需直接访问所述客户端数据。
在所述第一方面的另一种可能的实现方式中,所述函数f(i,j)通过等式计算,其中p是二进制偏好变量,所述二进制偏好变量通过指示客户端的用户对项目的偏好,值pij=1指示对项目感兴趣,值pij=0指示对项目不感兴趣或不知道所述项目中的一种,允许考虑所述个人用户的显式偏好,例如评论。
在所述第一方面的另一种可能的实现方式中,通过等式xi=(Yp(i)YT+λI)-1YRip(i)更新所述第一模型分量,其中p(i)是所述客户端的二进制偏好变量向量,Ri是客户端的已知输入向量,I是单位矩阵,λ是正则化参数,允许仅在所述客户端上更新所述第一模型分量。
在所述第一方面的另一种可能的实现方式中,所述本地客户端数据的元素包括与所述项目中的一个项目相关的隐式用户反馈,允许基于用户操作进行估计。
在所述第一方面的另一种可能的实现方式中,通过等式计算所述函数f(i,j),其中c为置信度参数,p是二进制偏好变量,所述二进制偏好变量通过指示客户端的用户对项目的偏好,值pij=1指示对项目感兴趣,值pij=0指示对项目不感兴趣或不知道所述项目中的一种,允许考虑所述个人用户的隐式偏好,例如下载。
在所述第一方面的另一种可能的实现方式中,通过等式xi=(YCiYT+λI)-1YCip(i)更新所述第一模型分量,其中p(i)是所述客户端的二进制偏好变量向量,Ci是对角矩阵,λ是正则化参数,允许仅在所述客户端上更新所述第一模型分量。
第二方面,提供了一种用于通过协同过滤更新客户端-项目矩阵R的单独元素的服务器,R=XTY,rij=xi Tyj,T是矩阵/向量转置,所述矩阵包括多个单独元素,每个单独元素与特定客户端和特定项目相关,所述服务器使用第二模型分量和一组全局项目,M是最大项目数,所述第二模型分量是因子矩阵B=Y(j,k),所述因子矩阵包含多个项目因子向量,k是因子数,所述服务器连接到多个使用第一模型分量的客户端,N是最大客户端数,每个单独客户端包含所述第一模型分量的单独部分,每个单独客户端进一步使用本地客户端数据的至少一个元素,所述第一模型分量是因子矩阵A=X(i,k),所述因子矩阵包含多个客户端因子向量,/>k是因子数,所述第一模型分量的所述单独部分为所述客户端的所述客户端因子向量,所述服务器用于:确定所述客户端中的几个客户端,将第二模型分量分配给所述服务器,从所述几个确定的客户端接收单独值的估计值集合,其中在每个确定的客户端中,通过每个确定的客户端下载的所述分配的第二模型分量以及所述本地客户端数据的元素,计算所述第一模型分量的更新的单独部分,通过函数f(i,j)计算每个项目的所述单独值,所述函数使用所述分配的第二模型分量、所述第一模型分量的所述更新的单独部分和所述本地客户端数据的元素,每个确定的客户端将所述值的所述估计值上传到所述服务器,通过所述分配的第二模型分量和从所述几个确定的客户端上传的所述估计值集合,计算更新的第二模型分量,将所述更新的第二模型分量传输到每个确定的客户端,以便在每个确定的客户端中,通过所述更新的第二模型分量和所述本地客户端数据的元素计算所述第一模型分量的新更新的单独部分,通过所述第一模型分量的所述新更新的单独部分和所述第二模型分量在所述确定的客户端上更新所述矩阵的至少一个单独元素。
包含这些特征的服务器可以实现机器学习过程高效而又安全,所述机器学习过程高效是因为其可以访问连接到所述服务器的所有客户端的客户端数据,所述机器学习过程安全是因为与单独客户端相关的任何客户端数据仍保持在所述单独客户端。由于所述服务器无需收集或存储大量客户端数据,因此所述过程也具有时间和成本效益。
在所述第二方面的一种可能的实现方式中,未指定所述客户端-项目矩阵的至少一个单独元素,所述在所述确定的客户端上更新单独元素包括将未指定的单独元素替换为估计值,允许初始稀疏的客户端-项目矩阵具有密集的元素。
在所述第二方面的另一种可能的实现方式中,所述客户端-项目矩阵用于为所述客户端的用户生成个性化应用推荐,所述推荐与所述项目中的至少一个项目相关,通过所述单独元素在所述客户端上生成,使得可以向所述客户端的用户提供与所述用户相关的项目推荐。
在所述第二方面的另一种可能的实现方式中,通过等式计算所述估计值集合,其中λ是正则化参数,J是成本函数,允许生成集合,所述集合正确反映所述客户端的客户端数据的内容,而无需从所述客户端传输任何客户端数据。
在所述第二方面的另一种可能的实现方式中,通过等式更新所述第二模型分量,其中γ是增益函数,允许在所述服务器上更新所述第二模型分量,以响应客户端数据,而无需直接访问所述客户端数据。
在所述第二方面的另一种可能的实现方式中,所述函数f(i,j)通过等式计算,其中p是二进制偏好变量,所述二进制偏好变量通过指示客户端的用户对项目的偏好,值pij=1指示对项目感兴趣,值pij=0指示对项目不感兴趣或不知道所述项目中的一种,允许考虑所述个人用户的显式偏好,例如评论。
在所述第二方面的另一种可能的实现方式中,通过等式xi=(Yp(i)YT+λI)-1YRip(i)更新所述第一模型分量,其中p(i)是所述客户端的二进制偏好变量向量,Ri是客户端的已知输入向量,I是单位矩阵,λ是正则化参数,允许仅在所述客户端上更新所述第一模型分量。
在所述第二方面的另一种可能的实现方式中,所述本地客户端数据的元素包括与所述项目中的一个项目相关的隐式用户反馈,允许基于用户操作进行估计。
在所述第二方面的另一种可能的实现方式中,通过等式计算所述函数f(i,j),其中c为置信度参数,p是二进制偏好变量,所述二进制偏好变量通过指示客户端的用户对项目的偏好,值pij=1指示对项目感兴趣,值pij=0指示对项目不感兴趣或不知道所述项目中的一种,允许考虑所述个人用户的隐式偏好,例如下载。
在所述第二方面的另一种可能的实现方式中,通过等式xi=(YCiYT+λI)-1YCip(i)更新所述第一模型分量,其中p(i)是所述客户端的二进制偏好变量向量,Ci是对角矩阵,I是单位矩阵,λ是正则化参数,允许仅在所述客户端上更新所述第一模型分量。
第三方面,提供了一种用于通过协同过滤更新客户端-项目矩阵R的单独元素的客户端-服务器***,所述***包括上述多个客户端和上述服务器。包含这些特征的客户端-服务器***可以实现机器学习过程高效而又安全,所述机器学习过程高效是因为其可以访问所有所述客户端的客户端数据,所述机器学习过程安全是因为与单独客户端相关的任何客户端数据仍保持在所述单独客户端。由于所述服务器无需收集或存储大量客户端数据,因此所述过程也具有时间和成本效益。
以下实施例中将清楚地描述这些和其它方面。
附图说明
在本发明的以下详述部分中,将结合附图中所示的示例性实施例来更详细地解释方面、实施例和实现方式,其中:
图1是根据本发明的一个实施例的客户端-服务器***的示意图;
图2是示出在图1所示的***内执行的步骤的示意图。
具体实施方式
如背景技术部分所述,客户端-服务器***是这样一种结构:所述***的任务在服务提供方(即服务器)和服务请求方(即客户端)之间划分,即诸如手机或平板之类的客户端。待提供的服务可以是视频服务,与所述视频服务相关联的所有用户数据都存储在所述服务器上。
现有技术的建模包括将个人用户数据从客户端发送到处理数据的中央服务器,建立模型,生成结果并将其发送回客户端。例如,所述结果可以是稍后用于生成一个或几个所述客户端的用户感兴趣的特定项目推荐的估计值,所述一个或多个特定项目是通过一个或几个模型预测的。例如,项目是可用于观看的视频、可用于下载的应用或可用于购买的一件衣服等物品。
客户端和可用项目的数量通常非常大,并且优选以客户端-项目矩阵R=(rij)∈RNxM收集,N为连接到所述服务器的最大客户端数量i,M为所述服务器上可用的项目的最大数量j。
由于客户端的数量N可以是几百万个,而项目的数量M可以是几千个,因此所述客户端-项目矩阵R可以是稀疏的,其中许多元素rij未指定。本发明的目的是将此类未指定的元素替换为其估计值
与现有技术相反,由于诸如客户端计算能力普遍提高这类的技术进步,本发明在仍然将所有个人用户数据保留在所述客户端上同时生成这样的估计值,即个人用户数据既不在中央服务器上使用,也不存储在中央服务器上。因此,待传输到和存储到服务器的数据量会减少,并且避免了与数据收集和用户隐私相关的问题。
以上是通过协同过滤的方式实现的。总之,在协同过滤中,模型是根据用户的过去行为构建的,例如,所述用户以前购买或选择的项目和/或对这些项目给予的数字评级,以及其他用户做出的类似决策。然后,此模型用于预测所述用户可能感兴趣的其它项目。协同过滤是最常用的模型之一,可独立地或与其它类型的模型(例如预测建模)结合使用,为用户生成推荐。在现有技术中,这些模型需要收集待用于构建所述模型的在集中式服务器中收集的所有数据。
如前所述,客户端数量以及项目数量通常非常大,因此可以使用模型组合向特定客户端i的用户提供相关推荐。例如,协同过滤可用于生成第一组项目推荐,所谓的候选集包括上述元素rij和估计值中的某些元素(如果不是全部元素),在此之后,预测建模可用于通过对初始推荐的项目进行评分并按权重排序来创建最终的可用推荐。
在所有可能的客户端的一个实施例中,所述估计值可不仅基于所述特定客户端的隐式和/或显式反馈,还可基于多个客户端的隐式和/或显式反馈。隐式反馈包括所述用户采取的操作,例如下载应用。显式反馈包括用户对项目的评论。协同过滤仅使用这两种数据,而上述预测建模可以使用其它类型的显式反馈,例如人口统计、行为数据、其他用户活动相关数据(例如,项目何处和何时交互以及使用何种设备),以及个人用户数据(例如名称和登录数据)。
所有协同过滤推荐***的基础是上述客户端-项目矩阵R=(rij)∈RNxM。为简化起见,以下描述有时会将客户端i与用户以及项目j与可下载的应用等同。
在协同过滤中,所述值rij导出自用户评论等显式反馈,例如rij∈(1,…,5)。
在例如所述用户下载应用等隐式反馈的情况下,当用户/客户端i下载应用/项目j时,rij=1,其中1≤i≤N且1≤j≤M,而rij未指定。
协同过滤用于将未指定的rij替换为其估计值例如,通过矩阵分解。
矩阵分解涉及为每个客户端i创建客户端因子向量xi∈Rkx1,以及为每个项目j创建项目因子向量yj∈Rkx1,/>k是因子数,其通常比M和N都低得多。然后,未指定的rij的估计值由/>给出。
所述第一模型分量A是因子矩阵A=X(i,k),其包含多个客户端因子向量(xi);所述第二模型分量B是因子矩阵B=Y(j,k),其包含多个项目因子向量(yj)。
将所述客户端因子向量收集到矩阵X∈RkxM中,其中X=(x1,x2,…,xi,…,xM),将所述项目因子向量收集到矩阵Y∈RkxN中,其中Y=(y1,y2,…,yj,…,yN)。换句话说,所述客户端-项目矩阵R也被定义为R=XTY。
对于显式反馈的情况,引入一组二进制变量pij,指示用户/客户端i是否对应用/项目j进行了评级,其中值pij>0表示已对所述应用/项目j进行评级,而值pij=0表示所述用户未对所述应用/项目j进行评级,或者根本不知道应用/项目j存在。
对于隐式反馈的情况,引入一组二进制变量pij,指示应用/项目j的用户/客户端i的偏好,其中值pij=0可以有许多解释,包括所述用户/客户端i对应用/项目j不感兴趣或不知道应用/项目j存在。为此,引入置信度参数cij,定义为cij=1+∝rij,其中α>0。换句话说,所述隐式反馈问题与所述标准显式反馈问题的不同之处在于需要考虑所述置信水平cij。
在所有客户端i和所有项目j上都需要进行任何更新,而不只是在有下载j的客户端i上进行更新。
在现有技术的协同过滤模型中,通过等式xi=(YCiYT+λI)-1YCip(i)更新xi,其中Y,Y∈RkxN,是上述项目因子向量的矩阵,Ci是的对角矩阵,I是单位矩阵,p(i)∈RNx1是所述客户端i的二进制偏好变量向量。
同样,yj通过等式yj=(XCjYXT+λI)-1XCjp(j)更新,其中X,X∈RkxM,是上述客户端因子向量矩阵,Cj是的对角矩阵,p(i)∈RNx1是所述客户端i的二进制偏好变量向量。
总之,上述现有技术方法使用Y来计算X,使用X来计算Y,至少在两个等式之间重复并交替到满足适当的收敛条件为止。所述收敛条件是预定义的限值,例如1%。C和p基于用户/客户端数据,用于计算X和Y,因此所有用户数据必须与X和Y位于同一位置,即在服务器上。这称为协同过滤的交替最小二乘(Alternating Least Squares,ALS)方法,这在现有技术中经常使用。
图1示意性地示出了本发明的实施例,包括修改所述ALS方法,以便采用不同的方法计算Y,这种修改允许将所述计算分发到所述客户端,从而避免将客户端数据回传到所述服务器。所有项目因子向量yj∈Rkx1位于所述服务器上,在所述服务器上更新,然后分发到每个客户端i。所有客户端因子向量xi∈Rkx1仍留在所述客户端i上,在所述客户端上使用本地客户端数据ui和来自所述服务器的项目因子向量进行更新。所述更新,梯度δyij,从每个客户端i上的项目j开始计算,并传输到所述服务器,在所述服务器上聚合这些更新,并更新yj。
只要一组当前项目因子向量yj∈Rkx1已下载到所述客户端i上,计算xi=(YCiYT+λI)-1YCip(i)所需的所有值在所述客户端i上均可获得,其中Y是项目因子向量的矩阵,Ci是的对角矩阵,λ是所述正则化因子,I是单位矩阵,并且p(i)∈RNx1是所述客户端i的二进制偏好变量向量。此外,所有这些值都独立于任何其它客户端i的相应值。因此,可以在每个单独的客户端i上计算与所述ALS算法的第一步对应的内容,而无需参考任何其它客户端。
但是,当使用所述ALS方法时,yj的计算等式,yj=(XCjYXT+λI)-1XCjp(j),需要客户端因子向量X的矩阵,因此,此更新必须在所有客户端数据均可用的服务器上进行。本发明不像所述ALS方法那样直接计算yj的更新,而是应用梯度下降方法来计算所述服务器上的更新yj。更具体地,本发明通过等式计算更新的yj,即更新的矩阵Y,γ为增益函数,并且通过等式/>计算/>
上述等式源自成本函数J,/>其中λ是所述正则化因子。通过交替计算所述客户端因子向量矩阵X和所述项目因子向量矩阵Y,可将所述成本函数J最小化。将所述成本函数J最小化的第一步是,通过/>和/>针对所有客户端i的xi和所有项目j的yj求J的微分。
如同在所述ALS方法中一样,直接通过xi=(YCiYT+λI)-1YCip(i),计算xi的初始开始值是可行的,因为如上所述,必需的值在所述客户端i上均可用。另一方面,/>包括作为对所有客户端i的求和的分量,所述求和被定义为f(i,j)。通过/> 仅基于客户端数据在所述客户端上计算f(i,j),即f(i,j)在每个客户端i上独立于所有其它客户端进行计算。
每个客户端i向所述服务器报告计算出的每个项目j的值f(i,j)的估计,然后通过在所述服务器上汇总所有客户端估计,随后应用于/>
换句话说,本发明涉及训练协同过滤模型,而无需将用户数据传输回所述服务器,同时使用所述协同过滤模型计算所述客户端-项目矩阵R的未指定元素的估计值。如图1所示,所述机器学习模型分量B/位于集中式服务器S上,模型分量Ai位于确定的多个客户端i上。将所述模型分量B分发到每个用户设备/客户端i,所述初始模型分量Ai使用所述模型分量B和位于所述客户端i上的客户端数据ui进行更新。待在模型分量B中使用的更新,或在所述用户设备/客户端i上生成的全部更新的模型分量B,传输回所述服务器S,其中它们在所有确定的客户端i1-iN中进行聚合,以生成新的更新的模型分量B。所述客户端i上本地存储的模型分量Ai使用所述客户端数据ui生成所述估计值。因此,所述客户端数据ui不会离开所述客户端i。
本发明的一方面涉及一种用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,参见图1。所述客户端-项目矩阵R,R=(rij)∈RNxM,包括多个单独元素rij,每个单独元素与特定客户端i和特定项目j相关。特定的是指单个客户端i或项目j。
如图1所示,所述客户端i使用第一模型分量A的单独部分Ai和本地客户端数据ui的至少一个元素,所述第一模型分量A是因子矩阵A=X(i,k),所述因子矩阵包含多个客户端因子向量xi,k是因子数。所述第一模型分量A的所述单独部分Ai是所述客户端i的所述客户端因子向量xi。
此外,如图1所示,所述客户端i连接到使用第二模型分量B和一组全局项目j1,…,jM的服务器S,M是最大项目数。
所述第二模型分量B是因子矩阵B=Y(j,k),所述因子矩阵包含多个项目因子向量yj,
所述客户端i用于执行以下步骤,如图1示意性所示:
A.将所述第一模型分量A的所述单独部分Ai分配给所述客户端(i);
B.从所述服务器下载所述第二模型分量B;
C.通过所述下载的第二模型分量B和所述本地客户端数据ui的元素,计算所述第一模型分量A的更新的单独部分Ai2;
D.通过函数f(i,j)计算每个项目j1,…,jM的单独值,所述函数使用所述下载的第二模型分量B、所述第一模型分量A的所述更新的单独部分Ai2以及所述本地客户端数据ui的元素;
E.将所述值的估计值上传到所述服务器,使得所述服务器通过所述第二模型分量B和从多个客户端i1,…,iN上传的所述值的估计值集合来计算更新的第二模型分量B2,所述多个客户端i1,…,iN包括所述客户端和其它确定的客户端,N是最大客户端数;
F.从所述服务器下载所述更新的第二模型分量B2;
G.通过所述更新的第二模型分量B2和所述本地客户端数据ui的元素,计算所述第一模型分量A的新更新的单独部分Ai3;
H.通过所述第一模型分量A的所述新更新的单独部分Ai3和所述更新的第二模型分量B2来更新所述矩阵R的至少一个单独元素rij。
未指定所述客户端-项目矩阵R的至少一个单独元素rij,并且上述步骤H中提到的对单独元素rij的上述更新包括将这些未指定的单独元素rij替换为其估计值
所述客户端-项目矩阵R用于为所述客户端i的用户生成个性化应用推荐,所述推荐与所述项目j1,…,jM中的至少一个相关,通过所述单独元素rij在所述客户端i上生成。
分配所述第一模型分量A的单独部分Ai的步骤可以包括选择随机模型分量A的单独部分Ai或先前已知模型分量A的单独部分Ai。
至少可以重复上述步骤C-H,直到达到所述第一模型分量A和/或所述第二模型分量B的预定义收敛阈值。
上述步骤E中提到的估计值集合可以通过等式计算,其中λ是正则化参数,J是成本函数。
如上文步骤E所述,可以更新所述第二模型分量B。更新通过等式执行,其中γ是增益函数。
本地客户端数据ui的元素可以包括与所述项目j1,…,jM中的一个项目相关的显式用户反馈。在这种情况下,如上文步骤D所述,所述函数f(i,j)可以通过等式 来计算,其中p是二进制偏好变量,所述二进制偏好变量通过/>指示客户端i的用户对项目j1,…,jM的偏好,值pij=1指示对项目j1,…,jM感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。在这种情况下,可以按照上文步骤C和G中所述更新所述第一模型分量A。通过等式xi=(Yp(i)YT+λI)-1YRip(i)执行所述更新,其中p(i)是所述客户端i的二进制偏好变量向量,Ri是客户端i的已知输入向量,I是单位矩阵,λ是正则化参数。
本地客户端数据ui的元素可以包括与所述项目j1,…,jM中的一个项目相关的隐式用户反馈。在这种情况下,如上文步骤D所述,所述函数f(i,j)可以通过等式 来计算,其中c为置信度参数,p是二进制偏好变量,所述二进制偏好变量通过指示客户端(i)的用户对项目(j1,…,jM)的偏好,值pij=1指示对项目(j1,…,jM)感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。在这种情况下,通过等式xi=(YCiYT+λI)-1YCip(i)更新所述第一模型分量(A),其中p(i)是所述客户端i的二进制偏好变量向量,Ci是对角矩阵,I是单位矩阵,λ是正则化参数。
本发明的另一方面涉及一种用于通过协同过滤更新上述客户端-项目矩阵R的单独元素rij的服务器S。所述客户端-项目矩阵R,R=(rij)∈RNxM,包括多个单独元素rij,每个单独元素与特定客户端i和特定项目j相关。特定的是指单个客户端i或项目j。
如图1所示,所述服务器S使用第二模型分量B和一组全局项目j1,…,jM,所述第二模型分量B是因子矩阵B=Y(j,k),所述因子矩阵包含多个项目因子向量yj,k是因子数。
此外,所述服务器S还连接到使用第一模型分量A的多个客户端i1,…,iN。每个单独客户端i包括所述完整第一模型分量A的单独部分Ai,每个单独客户端i使用本地客户端数据的至少一个元素,如图1所示。所述第一模型分量A是因子矩阵A=X(i,k),所述因子矩阵包含多个客户端因子向量xi,k是因子数。所述第一模型分量A的所述单独部分Ai是所述客户端i的所述客户端因子向量xi。
所述服务器用于执行以下步骤,如图1示意性所示:
A.确定客户端i1,…,iN中的几个客户端,在一个实施例中,包括确定所有可用客户端i;
B.将第二模型分量B分配给所述服务器;
C.从所述几个确定的客户端i1,…,iN接收单独值的估计值集合,在每个确定的客户端i中,通过每个确定的客户端i下载的所述分配的第二模型分量B以及所述本地客户端数据ui的元素,计算所述第一模型分量A的更新的单独部分Ai2,通过函数f(i,j)计算每个项目j1,…,jM的所述单独值,所述函数使用所述分配的第二模型分量B、所述第一模型分量A的所述更新的单独部分Ai2和所述本地客户端数据ui的元素,每个确定的客户端i将所述值的所述估计值上传到所述服务器;
D.通过所述分配的第二模型分量B和从所述几个确定的客户端i1,…,iN上传的所述估计值集合,计算更新的第二模型分量B2;
E.将所述更新的第二模型分量B2传输到每个确定的客户端i,以便在每个确定的客户端i中,通过所述更新的第二模型分量(B2)和所述本地客户端数据ui的元素,计算所述第一模型分量(A)的新更新的单独部分(Ai3),通过所述第一模型分量A的所述新更新的单独部分Ai3和所述更新的第二模型分量B2在所述确定的客户端i上更新所述矩阵(R)的至少一个单独元素rij。
未指定所述客户端-项目矩阵R的至少一个单独元素rij,上述在所述确定的客户端上对单独元素rij的上述更新包括将这些未指定的单独元素rij替换为其估计值
所述客户端-项目矩阵R用于为所述客户端i的用户生成个性化应用推荐,所述推荐与所述项目j1,…,jM中的至少一个相关,通过所述单独元素rij在所述客户端i上生成。
所述估计值集合可以通过等式计算,其中λ是正则化参数,J是成本函数。
如上文步骤D所述,可以更新所述第二模型分量B。更新通过等式执行,其中γ是增益函数。
本地客户端数据ui的元素可以包括与所述项目j1,…,jM中的一个项目相关的显式用户反馈。在这种情况下,所述函数f(i,j)可以通过等式来计算,其中p是二进制偏好变量,所述二进制偏好变量通过/>指示客户端i的用户对项目j1,…,jM的偏好,值pij=1指示对项目j1,…,jM感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。在这种情况下,通过等式xi=(Yp(i)YT+λI)-1YRip(i)更新所述第一模型分量A,其中p(i)是所述客户端i的二进制偏好变量向量,Ri是客户端i的已知输入向量,I是单位矩阵,λ是正则化参数。
本地客户端数据ui的元素可以包括与所述项目j1,…,jM中的一个项目相关的隐式用户反馈。在这种情况下,所述函数f(i,j)可以通过等式来计算,其中c为置信度参数,p是二进制偏好变量,所述二进制偏好变量通过/>指示客户端i的用户对项目(j1,…,jM)的偏好,值pij=1指示对项目(j1,…,jM)感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。在这种情况下,通过等式xi=(YCiYT+λI)-1YCip(i)更新所述第一模型分量(A),其中p(i)是所述客户端i的二进制偏好变量向量,Ci是对角矩阵,I是单位矩阵,λ是正则化参数。
本发明的又一方面涉及一种用于通过协同过滤更新上述客户端-项目矩阵R的单独元素rij的客户端-服务器***。所述***包括上述服务器和多个上述客户端。
图1示意性示出了用于更新客户端-项目矩阵R的客户端-服务器***中的信息流。项目j的值f(i,j)在所述客户端i上使用本地用户数据ui计算。多个项目j的值f(i,j)从多个客户端传输回所述服务器S,并进行聚合,然后更新模型分量B。因此,无需从所述客户端i传出本地客户端数据ui,即可更新模型分量A。每个模型分量Ai也在所述用户设备/客户端上更新。
所述***包括一台服务器S和N个客户端i。为简化起见,图1仅示出两个客户端i1和iN,即iN等于i2。客户端i1使用本地客户端数据ui,即ui1,以及第一模型分量A的单独部分Ai,即Ai1。类似地,客户端i2使用本地客户端数据ui,即ui2,以及第一模型分量A的单独部分Ai,即Ai2。所述服务器S使用第二模型分量B以及一组全局项目j。通过更新所述客户端-项目矩阵R提供所述客户端-项目矩阵R的未指定元素的一个或几个估计值。
图2示出了当识别新用户NU并尝试从应用服务AS下载项目j(即应用)到客户端i时,所采取的步骤的一个示例。例如,当所述客户端的用户从视频服务下载视频,或者从在线商店购买实物时,可以采取相应的步骤。
图2所示的步骤包括:
步骤1:所述用户NU浏览所述应用商店AS,所述客户端i1向所述用户NU显示排名靠前的推荐,包括一个或几个应用j。
步骤2:模型分量B从所述服务器S传输到所述客户端i1。这对应于上述客户端执行的步骤B。
步骤3:为所述客户端i1分配模型分量A的随机单独部分Ai。这对应于上面由所述客户端执行的步骤A。
步骤4:所述用户NU提交对待在所述客户端i1上下载的应用j1的请求。
步骤5:请求从所述客户端i1传输到应用服务AS。
步骤6:所述应用j从所述应用服务AS下载到所述客户端i1。
步骤7:模型分量A的单独部分Ai在所述客户端i1上进行更新,形成更新的单独部分Ai2。这对应于上述客户端执行的步骤C。
步骤8:在所述客户端i1上生成模型分量B的更新。这对应于上述客户端执行的步骤D。
步骤9:模型分量B的更新从所述客户端i1传输到所述服务器S。这对应于上述客户端执行的步骤E。
步骤10:所述服务器S聚合来自几个客户端i1,…,iN的模型分量B的更新。这对应于上述服务器执行的步骤D的一部分。
步骤11:在所述服务器S上更新所述模型分量B。这对应于上述服务器执行的步骤D的一部分。
步骤12:更新的模型分量B2从所述服务器S下载到所有客户端i1,…,iN。这对应于上述由客户端执行的步骤F。
步骤13:模型分量A的单独部分Ai2在所述客户端i1上进行更新,形成新更新的单独部分Ai3。这对应于上述客户端执行的步骤G。
已经结合本文中的各种实施例描述了各种方面和实现方式。但本领域技术人员通过实践本主题,研究附图、本发明以及所附的权利要求,能够理解并获得公开实施例的其他变体。在权利要求书中,词语“包括”不排除其它元素或步骤,不定冠词“a”或者“an”不排除多个。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能被有效地使用。
权利要求书中所用的附图标记不应解释为限制了范围。
Claims (21)
1.一种用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,R=XTY,rij=xi Tyj,T是矩阵/向量转置;
所述矩阵R包括多个单独元素rij,每个单独元素与特定客户端i和特定项目j相关;
所述客户端i使用第一模型分量A的单独部分Ai和本地客户端数据ui的至少一个元素;
所述第一模型分量A是因子矩阵A=X(i,k),所述因子矩阵A包含多个客户端因子向量xi,k是因子数;
所述第一模型分量A的所述单独部分Ai为所述客户端i的所述客户端因子向量xi;
所述客户端i连接到使用第二模型分量B和一组全局项目j1,…,jM的服务器,M是最大项目数;
所述第二模型分量B是因子矩阵B=Y(j,k),所述因子矩阵B包含多个项目因子向量yj;
k是因子数;
其中,X=(x1,x2,…,xi,…,xM),Y=(y1,y2,…,yj,…,yN);
所述客户端i用于:
A.将所述第一模型分量A的所述单独部分Ai分配给所述客户端i;
B.从所述服务器下载第二模型分量B;
C.通过所述下载的第二模型分量B和所述本地客户端数据ui的元素,计算所述第一模型分量A的更新的单独部分Ai2;
D.通过函数f(i,j)计算每个项目j1,…,jM的单独值,
所述函数使用所述下载的第二模型分量B、所述第一模型分量A的所述更新的单独部分Ai2以及所述本地客户端数据ui的元素;
E.将所述值的估计值上传到所述服务器,使得所述服务器通过所述第二模型分量B和从多个客户端i1,…,iN上传的所述值的估计值集合来计算更新的第二模型分量B2,所述多个客户端i1,…,iN包括所述客户端和其它确定的客户端,N是最大客户端数;
F.从所述服务器下载所述更新的第二模型分量B2;
G.通过所述更新的第二模型分量B2和所述本地客户端数据ui的元素,计算所述第一模型分量A的新更新的单独部分Ai3;
H.通过所述第一模型分量A的所述新更新的单独部分Ai3和所述更新的第二模型分量B2来更新所述矩阵R的至少一个单独元素rij;
其中,所述客户端-项目矩阵R用于为所述客户端i的用户生成个性化应用推荐,所述推荐与所述项目j1,…,jM中的至少一个相关。
2.根据权利要求1所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,未指定所述客户端-项目矩阵R的至少一个单独元素rij,所述更新单独元素rij包括将未指定的单独元素rij替换为估计值
3.根据权利要求2所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,所述推荐通过所述单独元素rij在所述客户端i上生成。
4.根据前述权利要求中任一项所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,通过等式计算所述估计值集合,其中λ为正则化参数,J为成本函数。
5.根据权利要求4所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,通过等式更新所述第二模型分量B,其中γ为增益函数。
6.根据权利要求1所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,所述函数f(i,j)通过等式来计算,其中pij是二进制偏好变量,所述二进制偏好变量通过/>指示客户端i的用户对项目j1,…,jM的偏好,值pij=1指示对项目j1,…,jM感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。
7.根据权利要求1所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,通过等式xi=(Yp(i)YT+λI)-1YRip(i)更新所述第一模型分量A,其中p(i)是所述客户端i的二进制偏好变量向量,Ri是客户端i的已知输入向量,I是单位矩阵,λ是正则化参数。
8.根据权利要求1所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,所述本地客户端数据ui的元素包括与所述项目j1,…,jM中的一个项目相关的隐式用户反馈。
9.根据权利要求8所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,通过等式计算所述函数f(i,j),其中c为置信度参数,pij是二进制偏好变量,所述二进制偏好变量通过/>指示客户端i的用户对项目j1,…,jM的偏好,值pij=1指示对项目j1,…,jM感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。
10.根据权利要求8或9所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i,其特征在于,通过等式xi=(YCiYT+λI)-1YCip(i)更新所述第一模型分量A,其中p(i)是所述客户端i的二进制偏好变量向量,Ci是对角矩阵,λ是正则化参数,I是单位矩阵。
11.一种用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,R=XTY,rij=xi Tyj,T是矩阵/向量转置;
所述矩阵R包括多个单独元素rij,每个单独元素与特定客户端i和特定项目j相关;
所述服务器使用第二模型分量B和一组全局项目j1,…,jM,M是最大项目数;
所述第二模型分量B是因子矩阵B=Y(j,k),所述因子矩阵B包含多个项目因子向量yj,k是因子数;
其中,X=(x1,x2,…,xi,…,xM),Y=(y1,y2,…,yj,…,yN);
所述服务器连接到多个使用第一模型分量A的客户端i1,…,iN,N是最大客户端数,每个单独客户端i包含所述第一模型分量A的单独部分Ai,每个单独客户端i进一步使用本地客户端数据ui的至少一个元素,所述第一模型分量A是因子矩阵A=X(i,k),所述因子矩阵A包含多个客户端因子向量xi,k是因子数;
所述第一模型分量A的所述单独部分Ai为所述客户端i的所述客户端因子向量xi;
所述服务器用于:
A.确定所述客户端i1,…,iN中的几个客户端;
B.将第二模型分量B分配给所述服务器;
C.从所述几个确定的客户端i1,…,iN接收单独值的估计值集合,其中在每个确定的客户端i中,通过每个确定的客户端i下载的所述分配的第二模型分量B以及所述本地客户端数据ui的元素,计算所述第一模型分量A的更新的单独部分Ai2,通过函数f(i,j)计算每个项目j1,…,jM的所述单独值,所述函数使用所述分配的第二模型分量B、所述第一模型分量A的所述更新的单独部分Ai2和所述本地客户端数据ui的元素,每个确定的客户端i将所述值的所述估计值上传到所述服务器;
D.通过所述分配的第二模型分量B和从所述几个确定的客户端i1,…,iN上传的所述估计值集合,计算更新的第二模型分量B2;
E.将所述更新的第二模型分量B2传输到每个确定的客户端i,以便在每个确定的客户端i中,通过所述更新的第二模型分量B2和所述本地客户端数据ui的元素,计算所述第一模型分量A的新更新的单独部分Ai3,通过所述第一模型分量A的所述新更新的单独部分Ai3和所述更新的第二模型分量B2在所述确定的客户端i上更新所述矩阵R的至少一个单独元素rij;
其中,所述客户端-项目矩阵R用于为所述客户端i的用户生成个性化应用推荐,所述推荐与所述项目j1,…,jM中的至少一个项目相关。
12.根据权利要求11所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,未指定所述客户端-项目矩阵R的至少一个单独元素rij,所述在所述确定的客户端i上更新单独元素rij包括将未指定的单独元素rij替换为估计值
13.根据权利要求11或12所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,所述推荐通过所述单独元素rij在所述客户端i上生成。
14.根据权利要求11所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,通过等式计算所述估计值集合,其中λ为正则化参数,J为成本函数。
15.根据权利要求14所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,通过等式更新所述第二模型分量B,其中γ为增益函数。
16.根据权利要求11所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,所述函数f(i,j)通过等式来计算,其中pij是二进制偏好变量,所述二进制偏好变量通过/>指示客户端i的用户对项目j1,…,jM的偏好,值pij=1指示对项目j1,…,jM感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。
17.根据权利要求11所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,通过等式xi=(Yp(i)YT+λI)-1YRip(i)更新所述第一模型分量A,其中p(i)是所述客户端i的二进制偏好变量向量,Ri是客户端i的已知输入向量,I是单位矩阵,λ是正则化参数。
18.根据权利要求11所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,所述本地客户端数据ui的元素包括与所述项目j1,…,jM中的一个项目相关的隐式用户反馈。
19.根据权利要求18所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,通过等式计算所述函数f(i,j),其中c为置信度参数,pij是二进制偏好变量,所述二进制偏好变量通过/>指示客户端i的用户对项目j1,…,jM的偏好,值pij=1指示对项目j1,…,jM感兴趣,值pij=0指示对项目j1,…,jM不感兴趣或不知道所述项目中的一种。
20.根据权利要求18或19所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器,其特征在于,通过等式xi=(YCiYT+λI)-1YCip(i)更新所述第一模型分量A,其中p(i)是所述客户端i的二进制偏好变量向量,Ci是对角矩阵,I是单位矩阵,λ是正则化参数,I是单位矩阵。
21.一种用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端-服务器***,其特征在于,所述***包括根据权利要求1至10中任一项所述的多个用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的客户端i和根据权利要求11至20中任一项所述的用于通过协同过滤更新客户端-项目矩阵R的单独元素rij的服务器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/084494 WO2019120579A1 (en) | 2017-12-22 | 2017-12-22 | Client, server, and client-server system adapted for updating a client-item matrix |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111492392A CN111492392A (zh) | 2020-08-04 |
CN111492392B true CN111492392B (zh) | 2023-11-17 |
Family
ID=60915532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780097886.8A Active CN111492392B (zh) | 2017-12-22 | 2017-12-22 | 用于更新客户端-项目矩阵的客户端、服务器和客户端-服务器*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210092203A1 (zh) |
EP (1) | EP3701475A1 (zh) |
CN (1) | CN111492392B (zh) |
WO (1) | WO2019120579A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11907401B2 (en) * | 2019-07-01 | 2024-02-20 | Warner Bros. Entertainment Inc. | Systems and methods to maintain user privacy whtle providing recommendations |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012013996A1 (en) * | 2010-07-30 | 2012-02-02 | Gravity Research & Development Kft. | Recommender systems and methods |
CN105488216A (zh) * | 2015-12-17 | 2016-04-13 | 上海中彦信息科技有限公司 | 基于隐式反馈协同过滤算法的推荐***及方法 |
CN105580043A (zh) * | 2013-09-11 | 2016-05-11 | 微软技术许可有限责任公司 | 用于推荐***的基于强度的建模 |
CN106777051A (zh) * | 2016-12-09 | 2017-05-31 | 重庆邮电大学 | 一种基于用户组的多反馈协同过滤推荐方法 |
CN106971053A (zh) * | 2016-01-08 | 2017-07-21 | 车海莺 | 一种基于混合协同过滤的推荐方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685232B2 (en) * | 2008-06-04 | 2010-03-23 | Samsung Electronics Co., Ltd. | Method for anonymous collaborative filtering using matrix factorization |
US8037080B2 (en) * | 2008-07-30 | 2011-10-11 | At&T Intellectual Property Ii, Lp | Recommender system utilizing collaborative filtering combining explicit and implicit feedback with both neighborhood and latent factor models |
US8661042B2 (en) * | 2010-10-18 | 2014-02-25 | Hewlett-Packard Development Company, L.P. | Collaborative filtering with hashing |
US20140344343A1 (en) * | 2011-11-15 | 2014-11-20 | Icelero Llc | Method and system for private distributed collaborative filtering |
-
2017
- 2017-12-22 US US16/954,300 patent/US20210092203A1/en not_active Abandoned
- 2017-12-22 EP EP17823156.9A patent/EP3701475A1/en active Pending
- 2017-12-22 CN CN201780097886.8A patent/CN111492392B/zh active Active
- 2017-12-22 WO PCT/EP2017/084494 patent/WO2019120579A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012013996A1 (en) * | 2010-07-30 | 2012-02-02 | Gravity Research & Development Kft. | Recommender systems and methods |
CN105580043A (zh) * | 2013-09-11 | 2016-05-11 | 微软技术许可有限责任公司 | 用于推荐***的基于强度的建模 |
CN105488216A (zh) * | 2015-12-17 | 2016-04-13 | 上海中彦信息科技有限公司 | 基于隐式反馈协同过滤算法的推荐***及方法 |
CN106971053A (zh) * | 2016-01-08 | 2017-07-21 | 车海莺 | 一种基于混合协同过滤的推荐方法 |
CN106777051A (zh) * | 2016-12-09 | 2017-05-31 | 重庆邮电大学 | 一种基于用户组的多反馈协同过滤推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210092203A1 (en) | 2021-03-25 |
CN111492392A (zh) | 2020-08-04 |
EP3701475A1 (en) | 2020-09-02 |
WO2019120579A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111492391A (zh) | 用于生成个性化推荐的客户端、服务器和客户端-服务器*** | |
US9691035B1 (en) | Real-time updates to item recommendation models based on matrix factorization | |
US10356191B2 (en) | System and method for separating content site visitor profiles | |
US11232497B2 (en) | Fulfillment of cloud service using marketplace system | |
Tang et al. | Cloud service QoS prediction via exploiting collaborative filtering and location‐based data smoothing | |
CN109804352A (zh) | 受管理的容器实例 | |
US9838743B2 (en) | Techniques for context aware video recommendation | |
US10616139B1 (en) | Reducing quota access | |
US11100116B2 (en) | Recommendation systems implementing separated attention on like and dislike items for personalized ranking | |
US10769167B1 (en) | Federated computational analysis over distributed data | |
CN112182360A (zh) | 具有有限数据可用性的个性化推荐器 | |
KR20130010199A (ko) | 메타데이터 및 사용 패턴 분석을 통한 컴퓨터 어플리케이션 프로그램의 개인화 추천 시스템 및 그 방법 | |
CN115039093A (zh) | 个性化推荐的生成 | |
Yan et al. | On-device learning for model personalization with large-scale cloud-coordinated domain adaption | |
Smithamol et al. | TMM: trust management middleware for cloud service selection by prioritization | |
Keshavarzi et al. | Online QoS prediction in the cloud environments using hybrid time-series data mining approach | |
CN111492392B (zh) | 用于更新客户端-项目矩阵的客户端、服务器和客户端-服务器*** | |
US10474688B2 (en) | System and method to recommend a bundle of items based on item/user tagging and co-install graph | |
CN114746883A (zh) | 快速电子消息传递测试和位置影响评估 | |
WO2017095371A1 (en) | Product recommendations based on selected user and product attributes | |
Chen et al. | Dynamically predicting the quality of service: batch, online, and hybrid algorithms | |
KR101791784B1 (ko) | 해시 태그를 이용한 명함 관리 방법 및 시스템 | |
US20230245206A1 (en) | Time sensitive item-to-item recommendation system and method | |
Subha et al. | Achieve better ranking accuracy using cloudrank framework for cloud services | |
US11100558B1 (en) | Recommendations utilizing noise detection and filtering |
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 |