CN109978175A - 用于机器学习模型的并行化坐标下降法 - Google Patents

用于机器学习模型的并行化坐标下降法 Download PDF

Info

Publication number
CN109978175A
CN109978175A CN201811570862.2A CN201811570862A CN109978175A CN 109978175 A CN109978175 A CN 109978175A CN 201811570862 A CN201811570862 A CN 201811570862A CN 109978175 A CN109978175 A CN 109978175A
Authority
CN
China
Prior art keywords
machine learning
learning model
training
algorithm
trained
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.)
Withdrawn
Application number
CN201811570862.2A
Other languages
English (en)
Inventor
B-C·陈
D·阿加瓦尔
A·舍尔科夫尼科夫
J·弗莱明
马一鸣
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109978175A publication Critical patent/CN109978175A/zh
Withdrawn legal-status Critical Current

Links

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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • G06F18/2451Classification techniques relating to the decision surface linear, e.g. hyperplane
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • G06F18/2453Classification techniques relating to the decision surface non-linear, e.g. polynomial classifier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063112Skill-based matching of a person or a group to a task
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • G06Q10/1053Employment or hiring
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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/903Querying

Abstract

执行机器学习模型训练过程的迭代直到发生收敛为止。使用第一机器学习算法来训练固定效应机器学习模型。通过将所训练的固定效应机器学习模型的结果与第一组目标结果进行比较来确定固定效应机器学习模型的训练残差。使用第二机器学习算法和固定效应机器学习模型的训练残差来训练第一随机效应机器学习模型。通过将所训练的第一随机效应机器学习模型的结果与第二组目标结果进行比较来确定第一随机效应机器学习模型的训练残差。在每次后续迭代中,对固定效应机器学习模型的训练使用在先前迭代中训练的最后机器学习模型的训练残差。

Description

用于机器学习模型的并行化坐标下降法
相关申请的交叉引用
本申请要求享有于2017年12月22日递交的、名称为“GENERALIZED ADDITIVEMIXED EFFECT MACHINE-LEARNED MODELS FOR COMPUTERIZED PREDICTIONS”的美国临时专利申请No.62/610,076的权益,在此通过引用将其全部内容并入本文。
技术领域
概括地说,本公开内容涉及在计算机网络上提供个性化预测时遇到的技术问题。更具体地说,本公开内容涉及使用用于机器学习模型的并行块坐标下降法。
背景技术
互联网的出现引起了两个不同但相关的现象:社交网络服务的增加,其中其对应的成员简档对大量的人可见,以及使用这些社交网络服务来执行搜索或获得信息的增加。在社交网络服务上提供的常见搜索或推荐的示例是搜索在社交网络上发布的或由社交网络链接的职位。
社交网络服务在管理在线职位搜索中遇到的技术问题在于:随着经由社交网络服务的职位机会的源数量和量以前所未有的速度增长,确定如何以最小延迟来提供最恰当且相关的职位结果变得极具挑战性。
对职位搜索和其它结果的个性化也是优选的。例如,当用户搜索如“软件工程师”之类的查询时,取决于关于用户的技能、背景、经验、位置、以及其它因素,用户将与结果进行交互(例如通过申请潜在职位)的可能性会显著不同。例如,与专门研究硬件的人相比,熟练掌握用户界面的人将看到非常不同的一组职位结果。实际上,即使具有相同技能组和当前职位的人也会具有与相同结果进行交互的不同可能性。
也可以在用户没有执行明确搜索的情况下呈现结果,特别是以推荐的形式。推荐系统是在不同上下文中将项目与用户进行匹配的自动化计算机程序。为了实现大规模的精确推荐,使用机器学习模型从用户反馈数据中估计用户偏好。使用从用户过去与对象或结果的交互获得的大量高频度数据来构造这种模型。
历史上,响应于查询来对职位搜索结果进行排序或执行其它推荐的模型重度利用从查询和职位发布中提取的基于文本和实体的特征来推导出全局排序或推荐。这种模型的示例是广义线性模型(GLM)。GLM是对线性回归的广义化,其允许具有除了正态分布之外的误差分布模型的响应变量。GLM通过允许线性模型经由连结函数与响应变量相关并通过允许每次测量的方差大小是其预测值的函数来对线性回归进行广义化。
GLM可以利用以下预测方程:
其中该方程预测用户i对项目j的响应,并且xij是特征向量,w是系数向量,是响应的期望值,并且g()是连结函数。
然而,在数据充裕的场景中,在用户或项目级具有更细粒度的模型将潜在地得到更精确的预测,因为可以更好地捕获用户对项目的个人偏好以及项目对用户的特定吸引力。
附图说明
在附图中通过示例而非限制示出了本文技术的一些实施例。
图1是根据示例性实施例示出了客户端服务器系统的框图。
图2是与本公开内容的一些实施例一致地示出了社交网络服务的功能组件的框图,包括在本文中被称为搜索引擎的数据处理模型,以用于生成并提供针对搜索查询的搜索结果。
图3是根据示例性实施例更详细地示出了图2的应用服务器模块的框图。
图4是根据示例性实施例更详细地示出了图3的职位发布结果排序引擎的框图。
图5是根据示例性实施例示出了在批量同步并行(BSP)范式下的并行化块坐标下降法的第k次迭代的框图。
图6是根据示例性实施例示出了用于训练广义加性混合效应模型的方法的流程图。
图7是根据示例性实施例示出了用于使用广义加性混合效应模型的方法的流程图。
图8是根据示例性实施例示出了用于并行化块坐标下降法的方法的流程图。
图9是根据示例性实施例示出了软件架构的框图。
图10是根据示例性实施例示出了具有计算机系统形式的机器的图形表示,在该机器内可以执行指令集以使得该机器执行本文所讨论的方法中的任何一种或多种方法。
具体实施方式
概述
本公开内容描述了单独提供各种功能性的方法、系统和计算机程序产品等等。在以下描述中,出于解释的目的,阐述了众多具体细节以便提供对本公开内容的不同实施例的各个方面的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有全部具体细节的情况下实践本公开内容。
用于在预测/推荐系统中更好地捕获用户对项目的个人偏好以及项目对用户的特别吸引力的一种方法将是引入ID级回归系数以及GLM设置中的全局回归系数。这种解决方案被称为广义线性混合模型(GLMix)。然而,对于具有大量ID级系数的大数据集合,拟合GLMix模型会在计算上具有挑战性,特别是当解决方案缩放时。
在示例性实施例中,可缩放性瓶颈通过在批量同步并行(BSP)范式下应用并行化块坐标下降法来克服。这将在下面更详细地描述。
另外,在示例性实施例中,通过使用三个模型而不是单个GLMix模型来使预测/推荐甚至更加精确。具体而言,使用三个单独的模型并且随后组合这些模型,而不是具有针对用户和项目有不同系数的单个GLMix模型。这些模型中的每个模型具有不同的粒度和维度。全局模型可对用户属性(例如,来自成员简档或活动历史)与项目属性之间的相似性进行建模。每用户模型(per-user model)可以对用户属性和活动历史进行建模。每项目模型(per-item model)可以对项目属性和活动历史进行建模。这种模型可以被称为广义加性混合效应(GAME)模型。
在职位搜索结果排序或推荐的上下文中,这得到以下组件:
·全局模型,该模型捕获成员如何申请职位的一般行为
·特定于成员的模型,该模型具有特定于给定成员的参数(将从数据中学习),以捕获成员的偏离一般行为的个人行为;以及
·特定于职位的模型,该模型具有特定于给定职位的参数(将从数据中学习),以捕获职位的偏离一般行为的独特行为。
以下是对GAME模型如何实现这种个性化级别的描述。令ymjt表示用户m在上下文t中是否会申请职位j的二进制响应,其中该上下文通常包括显示职位的时间和位置。使用qm来表示用户m的特征向量,该特征向量包括从用户的公开简档提取的特征,例如,成员的职位名称、职位功能、教育历史、行业等等。使用sj来表示职位j的特征向量,该特征向量包括从职位发布提取的特征,例如,职位名称、期望的技能和经验等等。令xmjt表示(m,j,t)三元组的总特征向量,该总特征向量可以包括针对特征级主效应的qm和sj,针对成员和职位特征之间的交互的qm与sj之间的外积,以及上下文的特征。可以假定xmjt不包含成员ID或项目ID作为特征,因为ID将与常规特征不同地对待。用于使用逻辑回归来预测用户m申请职位j的概率的GAME模型是:
g(E[ymjt])=x'mjtb+s'jαm+q'mβj
其中是连结函数,b是全局系数向量(也被称为固定效应系数);并且αm和βj分别是特定于用户m和职位j的系数向量。αm和βj被称为随机效应系数,这些系数捕获用户m对不同项目特征的个人偏好以及职位j对不同成员特征的吸引力。对于过去具有对不同项目的许多响应的用户m,这能够精确地估计她的个人系数向量αm并提供个性化预测。另一方面,如果用户m没有太多过去的响应数据,则αm的后验均值将接近零,并且针对用户m的模型将回落到全局固定效应分量x'mjtb。同样的行为适用于每职位系数向量βj
图1是根据示例性实施例示出了客户端服务器系统100的框图。联网系统102经由网络104(例如,互联网或广域网(WAN))向一个或多个客户端提供服务器侧功能。例如,图1示出了在对应的客户端机器110和112上执行的web客户端106(例如,浏览器)和程序客户端108。
应用程序接口(API)服务器114和web服务器116耦合到一个或多个应用服务器118并分别向这些应用服务器118提供程序接口和web接口。应用服务器118托管一个或多个应用120。应用服务器118进而被示为耦合到一个或多个数据库服务器124,这些数据库服务器124促进对一个或多个数据库126的访问。虽然应用120在图1中被示为联网系统102的一部分,但将意识到,在替代的实施例中,应用120可以形成与联网系统102分离且不同的服务的一部分。
此外,虽然图1中所示出的客户端服务器系统100采用客户端服务器架构,但本公开内容当然不限于这种架构,并且同样可以例如在分布式或对等架构系统中找到应用。各个应用120还可以被实现为不必具有联网能力的独立软件程序。
Web客户端106经由web服务器116所支持的web接口来访问各个应用120。类似地,程序客户端108经由API服务器114所提供的程序接口来访问由应用120提供的各种服务和功能。
图1还将在第三方服务器130上执行的第三方应用128示出为经由API服务器114提供的程序接口而具有对联网系统102的程序访问。例如,第三方应用128可以利用从联网系统102取回的信息来支持第三方所托管的网站上的一个或多个特征或功能。例如,第三方网站可以提供由联网系统102的相关应用120所支持的一个或多个功能。
在一些实施例中,本文所提及的任何网站可以包括可以在各种设备(包括但不限于台式个人计算机(PC)、膝上型设备、以及移动设备(例如,平板计算机、智能电话等等))上呈现的在线内容。在该方面,这些设备中的任何设备可以由用户用于使用本公开内容的特征。在一些实施例中,用户可以使用移动设备(机器110、112和第三方服务器130中的任何一者可以是移动设备)上的移动应用来访问和浏览在线内容,例如本文所公开的任何在线内容。移动服务器(例如,API服务器114)可以与移动应用和应用服务器118通信以便使本公开内容的特征可用于移动设备。
在一些实施例中,联网系统102可以包括社交网络服务的功能组件。图2是与本公开内容的一些实施例一致地示出了社交网络服务的功能组件的框图,包括在本文中被称为搜索引擎216的数据处理模块,以用于生成并提供针对搜索查询的搜索结果。在一些实施例中,搜索引擎216可以驻留在图1中的应用服务器118上。然而,构想了其它配置也在本公开内容的范围内。
如图2中所示出的,前端可以包括用户界面模块(例如,web浏览器116)212,该用户界面模块212从各种客户端计算设备接收请求,并向请求的客户端设备传送适当的响应。例如,用户界面模块212可以接收具有超文本传输协议(HTTP)请求或其它基于web的API请求形式的请求。另外,可以提供用户交互检测模块213以检测成员与所呈现的不同应用120、服务和内容具有的各种交互。如图2中所示出的,在检测到特定的交互时,成员交互检测模块213在成员活动和行为数据库222中记录该交互,包括交互的类型以及与交互相关的任何元数据。
应用逻辑层可以包括一个或多个各种应用服务器模块214,这些应用服务器模块214与用户界面模块212结合,利用从数据层中的各个数据源取回的数据来生成各个用户界面(例如,web页面)。在一些实施例中,使用单独的应用服务器模块214来实现与各个应用120相关联的功能和/或由社交网络服务提供的服务。
如图2中所示出的,数据层可以包括若干个数据库126,例如用于存储简档数据(包括用户简档数据和用于各个组织(例如,公司、学校等等)的简档数据两者)的简档数据库218。与一些实施例一致,当某人初始地注册成为社交网络服务的用户时,将提示该人提供某种个人信息,例如他或她的姓名、年龄(例如,生日)、性别、兴趣、联系信息、家乡、地址、配偶和/或家庭成员的姓名、教育背景(例如,学校、专业、入学和/或毕业日期等等)、工作历史、技能、职业组织等等。例如,该信息存储在简档数据库218中。类似地,当组织的代表初始地向社交网络服务注册该组织时,可以提示该代表提供关于该组织的某种信息。例如,该信息可以存储在简档数据库218或另一数据库(未示出)中。在一些实施例中,可以(例如,在后台或离线)对简档数据进行处理,以生成各种推导出的简档数据。例如,如果成员已提供该成员在相同组织或不同组织持有的各个职位以及持有多久的信息,则可以使用该信息来推断或推导出对该成员的整体资历水平或在特定组织内的资历水平进行指示的成员简档属性。在一些实施例中,导入或以其它方式从一个或多个在外部托管的数据源访问数据可以丰富针对成员和组织两者的简档数据。例如,具体而言在组织的情况下,可以从一个或多个外部数据源导入财务数据并使其成为组织简档的一部分。对组织数据的这种导入以及对数据的丰富将在本文档中稍后更详细地描述。
一旦注册,用户就可以邀请其他成员、或者被其他成员邀请经由社交网络服务来连接。“连接”可以构成用户的双边协议,以使得两个用户都确认该连接的建立。类似地,在一些实施例中,用户可以选择“关注”另一用户。与建立连接形成对比,“关注”另一用户的概念通常是单边操作,并且至少在一些实施例中,不需要由被关注的用户确认或批准。当一个用户关注另一用户时,进行关注的用户可以接收由被关注用户发布的状态更新(例如,在活动或内容流中)或其它消息,这些状态更新或消息与被关注用户进行的各种活动相关。类似地,当用户关注组织时,该用户变得有资格接收代表该组织发布的消息或状态更新。例如,代表用户所关注的组织发布的消息或状态更新将出现在用户的个性化数据馈送中,通常被称为活动流或内容流。在任何情况下,用户与其他用户或其它实体和对象建立的各种关联和关系在社交图数据库220中的社交图内存储和维护。
当经由社交网络服务使用户与各个应用120、服务和内容的交互可用时,可以跟踪用户的交互和行为(例如,所查看的内容、所选的链接或按钮、对其作出响应的消息等等),并且关于用户的活动和行为的信息可以被记录并存储,例如,如图2中由用户活动和行为数据库222所指示的。该记录的活动信息随后可由搜索引擎216用于确定针对搜索查询的搜索结果。
在一些实施例中,可以将数据库218、220和222并入图1中的数据库126中。然而,其它配置也在本公开内容的范围内。
尽管未示出,但在一些实施例中,社交网络系统210提供API模块,应用120和服务经由该API模块能够访问由社交网络服务提供或维护的各种数据和服务。例如,使用API,应用可以请求和/或接收一个或多个推荐。这种应用120可以是基于浏览器的应用120,或者可以是特定于操作系统的。具体而言,一些应用120可以驻留在具有移动操作系统的一个或多个移动设备(例如,电话或平板计算设备)上并(至少部分地)在这些移动设备上执行。此外,虽然在许多情况下利用API的应用120或服务可以是由对社交网络服务进行操作的实体所开发和维护的应用120和服务,但只有数据私密顾虑才会阻止在特殊安排下向公众或某些第三方提供该API,从而使导航推荐可用于第三方应用128和服务。
尽管搜索引擎216在本文中被称为在社交网络服务的上下文中使用,但构想了它也可以用于任何网站或在线服务的上下文中。另外,尽管本公开内容的特征在本文中被称为在网页的上下文中使用或呈现,但也构想了任何用户界面视图(例如,移动设备上或桌面软件上的用户界面)在本公开内容的范围内。
在示例性实施例中,当对用户简档编索引时,创建并存储前向搜索索引。搜索引擎216促进对社交网络服务内的内容的索引和搜索,例如对数据层中所包含的数据或信息的索引和搜索,例如简档数据(例如,存储在简档数据库218中)、社交图数据(例如,存储在社交图数据库220中)、以及成员活动和行为数据(例如,存储在成员活动和行为数据库222中)、以及职位发布。搜索引擎216可以以索引或其它类似结构来收集、解析和/或存储数据,以促进响应于接收到的针对信息的查询而对信息的标识和取回。这可以包括但不限于前向搜索索引、倒排索引、N-gram索引等等。
图3是根据示例性实施例,更详细地示出了图2的应用服务器模块214的框图。虽然在许多实施例中,应用服务器模块214将包含用于执行社交网络系统内的各种不同动作的子组件,但在图3中仅描绘了与本公开内容相关的那些组件。职位发布查询处理器300包括查询摄取组件302,该组件302经由用户界面(未描绘)来接收与职位发布搜索相关的用户输入“查询”。值得注意地是,该用户输入可以采用许多形式。在一些示例性实施例中,用户可以明确地描述职位发布搜索查询,例如通过将一个或多个关键字或术语输入到用户界面屏幕的一个或多个域中。在其它示例性实施例中,可以基于一个或多个用户动作(例如对一个或多个过滤器的选择、由用户进行的其它职位发布搜索、针对其他用户或实体的搜索等等)来推断职位发布查询。
可以将该“查询”发送给职位发布数据库查询公式化(formulation)组件304,该组件304用公式表示实际的职位发布数据库查询,该查询将经由职位发布数据库接口306被发送给职位发布数据库308。响应于该职位发布数据库查询的职位发布结果随后可以再次经由职位发布数据库接口306发送给职位发布结果排序引擎310。职位发布结果排序引擎310随后对职位发布结果进行排序并将经排序的职位发布结果发送回用户界面以便向用户显示。
图4是根据示例性实施例,更详细地示出了图3的职位发布结果排序引擎310的框图。职位发布结果排序引擎310可以使用机器学习技术来学习职位发布结果排序模型400,随后使用该模型对来自职位发布数据库308的实际职位发布结果进行排序。
职位发布结果排序引擎310可以包括训练组件402和职位发布结果处理组件404。训练组件402将样本职位发布结果406和样本成员数据407馈送到特征提取器408中,该特征提取器408提取针对样本职位发布结果406和样本成员数据407的一个或多个特征410。样本职位发布结果406可以均包括响应于特定查询以及一个或多个标签(例如,职位发布申请可能性分数,这是对具有相应样本用户数据407的用户将申请与相应样本职位发布结果406相关联的职位的概率进行指示的分数)而产生的职位发布结果。
例如,样本用户数据407可以在针对特定用户的特定职位发布结果中包括职位搜索的历史和所得到的感兴趣表达(例如点击职位发布结果或对相应职位的申请)。在一些示例性实施例中,样本用户数据407还可以包括对于使查询结果对特定用户个性化而言相关的其它数据,例如成员的用户简档或其它用户活动的历史。
机器学习算法412使用经提取的特征410连同一个或多个标签来产生职位发布结果排序模型400。在职位发布结果处理组件404中,从特定查询得到的候选职位发布结果414连同候选用户数据415被馈送到特征提取器416。特征提取器416从候选职位发布结果414和候选用户数据415中提取一个或多个特征418。随后将这些特征418馈送到职位发布结果排序模型400,该模型400针对特定查询的每个候选职位发布结果输出职位发布申请可能性分数。
随后可以将针对每个候选职位发布结果的该职位发布申请可能性分数传递给职位发布结果排序器420,该排序器420可以基于候选职位发布结果414的对应职位发布申请可能性分数来对这些候选职位发布结果414进行排序。
应该注意,可以经由另外的训练和/或用户反馈来定期对职位发布结果排序模型400进行更新。用户反馈可以是来自执行搜索的成员、或者来自与职位发布相对应的公司的反馈。反馈可以包括关于职位发布结果排序模型400在预测成员对所呈现的职位发布结果的兴趣方面的成功程度的指示。
可以从许多不同的潜在受监督或不受监督机器学习算法412中选择机器学习算法412。受监督学习算法的示例包括人工神经网络、贝叶斯网络、基于实例的学习、支持向量机、随机森林、线性分类器、二次分类器、k最近邻法、判决树、以及隐马尔可夫模型。不受监督学习算法的示例包括期望最大化算法、向量量化、以及信息瓶颈法。在示例性实施例中,使用多类逻辑回归模型。
在示例性实施例中,机器学习算法412可以实际包括对三个单独模型进行训练的一种或多种机器学习算法,可以组合这些模型以形成职位发布结果排序模型400。
当然,上述技术可以扩展到除了排序模型(例如职位发布结果排序模型400)之外的其它类型的模型。例如,系统可以在用户没有明确请求职位搜索的情况下使用预测来向用户推荐一个或多个职位发布,而不是响应于查询来使用预测对职位结果进行排序。此外,各技术可以扩展到针对除了职位发布或职位结果之外的项目(例如馈送对象)的其它类型的预测。
如上面简述的,在一些示例性实施例中,通过在批量同步并行(BSP)范式下应用并行化块坐标下降法来克服可缩放性瓶颈。通常,用于随机效应模型的拟合算法要求以解析或数值方式对随机效应系数Γ进行积分,这在面临工业级大规模数据集时变得不可行。类似地,对Γ进行运算的确定性和MCMC采样两者整体上变得麻烦。
在示例性实施例中,可以使用基于并行分块坐标下降法的迭代条件模式过程,其中对于每个随机效应r,随机效应系数Γr的后验模式被视为分块坐标以在未知参数空间中优化。给定分数,用于对固定效应b和随机效应Γr进行更新的优化问题如下:
为了计算效率可以执行对的增量更新。更具体而言,当固定效应b获得更新时,可以应用以便对s进行更新,并且当随机效应Γ获得更新时,可以使用
在模型算法的迭代k处:(E[ymjt])=x'mjtb+s'jαm+q'mβj,令sk表示s={sn}n∈Ω的当前值。令P表示固定效应特征空间的维度,即,并且Pr表示随机效应r的特征空间的维度,即,C表示特征空间的总维度,例如,其中Nr表示类型r的随机效应数量(例如,用户数量)。对于样本响应集y(Ω)={yn}n∈Ω,使用|Ω|来表示Ω的大小,即,训练样本的总数。另外,是随机效应的类型数量,并且M是集群中的计算节点数量。这些数量可以用于计算所公开的技术的网络输入/输出成本,其中该网络输入/输出成本通常是在分布式计算环境中按比例放大时的主要技术挑战之一。
该过程涉及准备训练数据以用于利用分数来训练固定效应模型,对固定效应系数(b)进行更新,以及对分数s进行更新。最后用于随机效应模型训练的训练数据配备有分数,并且对随机效应系数和分数进行更新。随后可以针对每个另外的随机效应模型继续随机效应模型训练和更新。
图5是根据示例性实施例,示出了批量同步并行(BSP)范式下并行化块坐标下降法的第k次迭代的框图。如可以看到,存在固定效应训练500、随机效应训练502、以及任何另外的效应训练504。该过程开始于讨论在迭代k处对固定效应b进行更新的细节。这里,在506处,训练数据配备有特征集合xn和最近分数两者,并且他们被划分到M个节点中。给定训练数据,可以应用多种类型的分布式算法来学习b。例如,可以计算每个样本n处的b的梯度并且从每个节点聚合到主节点。梯度可以在由一个或多个执行方节点执行的并行缩减操作中聚合,其中最终乘积对于主节点已知。主节点对b进行更新。这在图5中的508处描绘。随后将新系数bnew与bold一起广播回每个节点,以将分数s更新为以便准备下一效应的更新。这在图5中的510处描绘。由于这里主要网络通信是b从主节点到工作方节点的传输,因此对固定效应进行更新的一次迭代的总体网络通信成本是在一些情况下,对于每次迭代,可以在对随机效应进行更新之前将b更新多次来改善收敛。
在对具有大量随机效应的数据集设计GLMix的可缩放架构中的主要技术挑战在于,随机效应系数空间的维度可以潜在地大至NrPr。因此,如果使用与用于对固定效应进行更新中所使用的相同方法,则针对r的随机效应进行更新的网络通信成本变成MNrPr。给定某个中等大小的数据,例如,如果Nr=106,Pr=105,以及具有M=100的集群,则网络输入/输出成本达到1013。因此,使该过程可缩放的一个关键是要避免跨集群中的计算节点传送或广播随机效应系数。
在随机效应更新阶段之前并且作为预处理步骤,对于每个随机效应r和ID l,对特征向量zrn进行组合以形成特征矩阵Zrl,该特征矩阵Zrl包括满足i(r,n)=l的所有zrn。在迭代k处并且对于随机效应r,的当前值可以使用相同的策略来变动(shuffle),即,或ID l,可以将编组以形成向量该向量包括满足i(r,n)=l的所有利用正确的划分策略,可以使与相应的特征矩阵Zrl搭配,以准备训练数据以便使用下式来对随机效应r进行更新:
这在图5中的512处描绘。
利用准备好用于每个ID l的训练数据,可以再次应用优化器以局部地求解优化问题,以使得可以并行学习随机效应γrl而没有任何另外的网络通信成本。
应该注意,由于系数和数据两者并置在相同节点中,因此可以在相同步骤内局部地对分数进行更新,如在图5中的514处所描绘的。还应该注意,在整个过程期间,随机效应系数γrl与数据共存,并且将绝不会通过网络得到传送;只有si将围绕节点变动。因此,用于对一个随机效应进行更新的一次迭代的总体网络通信成本是并且对于随机效应是
由于可以局部地求解优化问题,因此有可能进一步降低存储器复杂度C。尽管对于随机效应r的总体特征空间大小是Pr,但有时由于缺乏对某些特征的支持,特征矩阵Zrl的底层维度可以小于Pr。例如,不太可能向作为软件工程师的成员提供具有要求的技能“医学”的职位。因此,对于该用户的随机效应将不会存在针对特征/职位技能=医学的任何数据,并且在这种场景中,Zrl将最终成为空栏。因此,对于每个随机效应r和ID l,可以通过移除所有空栏并将特征重新编索引以形成更紧凑的特征矩阵来缩减Zrl,这也会减小随机效应系数γrl的大小,并且潜在地改善求解局部优化问题的总体效率。
结果是固定效应训练500对固定效应模型进行训练并产生一些残差。这些残差随后用于随机效应训练502中以对随机效应模型进行训练,这也产生一些残差。这些残差随后用于另外的效应训练504中,该过程迭代,从而将来自另外效应训练504的残差传递回到固定效应训练500。这些迭代持续到发生收敛为止。
每个阶段处的残差是由每个阶段所使用的任何模型产生的误差。这允许在任何阶段使用任何类型的模型。因此,固定效应模型可以是与随机效应模型完全不同类型的模型。残差是由模型产生的值与目标之间的差异。
应该注意,上面针对图5所描述的训练过程可以应用于线性或非线性模型,或者其任意组合。
图6是根据示例性实施例,示出了用于对广义加性混合效应模型进行训练的方法600的流程图。在操作602处,从社交网络服务中的样本用户的属性中提取第一训练特征集合。在一些示例性实施例中,可以通过从社交网络服务所维护的用户简档或其它特定于用户的信息的域取回相关信息来提取这些训练特征。在操作604处,提取社交网络服务中的项目的属性的第二训练特征集合。例如,项目可以包括职位发布、文章、视频、通告、或社交网络服务中可以由用户交互(例如,申请、分享、链接、评论)的任何其它对象。在一些示例性实施例中,可以通过解析项目自身和/或关于项目的元数据来获得这些训练特征。例如,职位发布可以包括可以从中获得各种训练特征(例如术语频率-逆文档频率)的文本部分,以及可以从中提取各种训练特征的元数据(例如类别和地理区域)。
在操作606处,从社交网络服务中用户针对项目的活动中提取第三训练特征集合。可以从关于用户与哪些项目交互和/或用户与这些项目交互的频繁程度的信息中提取这些训练特征。
在操作608处,从社交网络服务中用户针对项目的活动中提取第四训练特征集合。第四训练特征集合从与第三训练特征集合类似(如果不相同的话)的底层社交网络数据中提取,但是从逆向角度。第三训练特征集合与确定哪些用户与哪些项目交互相关,而第四训练特征集合与确定哪些项目由哪些用户交互相关。
在操作610处,使用第一机器学习算法,基于第一和第二训练特征集合来训练机器学习全局模型,以产生对用户属性与项目属性之间的相似性的第一基于计算机的数值估计。
在操作612处,使用第二机器学习算法,基于第一和第三训练特征集合来训练机器学习每用户模型,以产生对社交网络服务中各个用户将参加与项目的活动的可能性的第二基于计算机的数值估计。
在操作614处,使用第三机器学习算法,基于第二和第四训练特征集合来训练机器学习每项目模型,以产生对社交网络服务中用户将参加与各个项目的活动的可能性的第三基于计算机的数值估计。
在一些示例性实施例中,可以持续地迭代操作610-614,直到满足某种收敛标准为止。另外,在一些示例性实施例中,来自操作610的残差可以用于操作612中,并且来自操作612的残差可以用于操作614中。对于使用迭代的实施例,在一次迭代中来自操作614的残差可以在下一次迭代中用于操作610中。
图7是根据示例性实施例,示出了用于使用广义加性混合效应模型的方法700的流程图。
在操作702处,获得从社交网络服务中的第一用户的属性推导出的第一特征集合。在操作704处,获得从社交网络服务中的第一项目的属性推导出的第二特征集合。在操作706处,获得从社交网络服务中第一用户针对多个项目(包括第一项目)的活动推导出的第三特征集合。在操作708处,获得从社交网络服务中多个用户(包括第一用户)针对项目的活动推导出的第四特征集合。
在操作710处,将第一和第二特征集合馈送到机器学习全局模型中,从而产生对用户属性与项目属性之间的相似性的第一基于计算机的数值估计。在操作712处,将第一和第三特征集合馈送到机器学习每用户模型中,从而产生对社交网络服务中第一用户将参加与项目的活动的可能性的第二基于计算机的数值估计。在操作714处,将第二和第四特征集合馈送到机器学习每项目模型中,从而产生对社交网络中用户将参加与第一项目的活动的可能性的第三基于计算机的数值估计。在操作716处,对第一、第二和第三基于计算机的数值估计进行组合,以产生对社交网络服务中第一用户将参加与第一项目的活动的可能性的估计。
图8是根据示例性实施例,示出了用于并行化块坐标下降法的方法800的流程图。执行对机器学习模型训练过程的一次或多次迭代。在操作802处,使用第一机器学习算法来训练固定效应机器学习模型。在操作804处,通过将经训练的固定效应机器学习模型的结果与第一组目标结果进行比较来确定固定效应机器学习模型的训练残差。在操作806处,使用第二机器学习算法和固定效应机器学习模型的训练残差来训练第一随机效应机器学习模型。在操作808处,通过将经训练的第一随机效应机器学习模型的结果与第二组目标结果进行比较来确定第一随机效应机器学习模型的训练残差。
在操作810处,使用第三机器学习算法和第一随机效应机器学习模型的训练残差来训练第二随机效应机器学习模型。在操作812处,通过将经训练的第二随机效应机器学习模型的结果与第三组目标结果进行比较来确定第二随机效应机器学习模型的训练残差。在操作814处,执行收敛测试。如果满足该测试,则训练完成。如果不满足,则方法800返回到操作802以进行下一次迭代,其中每次后续迭代使用来自先前模型的第二随机效应机器学习模型的训练残差来训练固定效应机器学习模型。
图9是示出了可以安装在上述设备中的任何一个或多个设备上的软件架构902的框图900。图9仅仅是软件架构的非限制性示例,并且将意识到,可以实现许多其它架构来促进本文所描述的功能。在各个实施例中,软件架构902由硬件实现,例如图10的机器1000,该机器1000包括处理器1010、存储器1030以及输入/输出(I/O)组件1050。在该示例性架构中,软件架构902可以被概念化为层的堆叠,其中每层可以提供特定的功能。例如,软件架构902包括诸如操作系统904、库906、框架908、以及应用910之类的层。可操作地,与一些实施例一致,应用910通过软件堆栈来调用API调用912,并响应于API调用912而接收消息914。
在各个实施例中,操作系统904管理硬件资源并提供公共服务。例如,操作系统904包括内核920、服务922以及驱动器924。与一些实施例一致,内核920充当硬件与其它软件层之间的抽象层。例如,内核920提供存储器管理、处理器管理(例如,调度)、组件管理、联网、和安全性设置、以及其它功能。服务922可以针对其它软件层提供公共服务。根据一些实施例,驱动器924负责控制底层硬件或与底层硬件对接。例如,驱动器924可以包括显示驱动器、相机驱动器、低能量驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、驱动器、音频驱动器、功率管理驱动器等等。
在一些实施例中,库906提供由应用910使用的低级公共基础设施。库906可以包括系统库930(例如,C标准库),系统库930可以提供诸如存储器分配函数、字符串操纵函数、数学函数之类的函数。另外,库906可以包括API库932,例如媒体库(例如,用于支持呈现和操纵各种媒体格式(例如,运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)、或便携式网络图形(PNG))的库)、图形库(例如,用于在显示器上在图形上下文中在二维(2D)和三维(3D)中渲染的OpenGL框架)、数据库库(例如,用于提供各种关系数据库函数的SQLite)、web库(例如,用于提供web浏览功能的WebKit)等等。库906还可以包括多种多样的其它库934以向应用910提供许多其它API。
根据一些实施例,框架908提供可以由应用910使用的高级公共基础设施。例如,框架908提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等等。框架908可以提供可以由应用910使用的广泛多样的其它API,其中一些API可以特定于具体的操作系统904或平台。
在示例性实施例中,应用910包括家庭应用950、联系人应用952、浏览器应用954、书籍阅读器应用956、位置应用958、媒体应用960、消息传送应用962、游戏应用964、以及广泛多样的其它应用,例如第三方应用966。根据一些实施例,应用910是执行程序中所定义的函数的程序。可以采用各种编程语言来创建应用910中的一个或多个应用,这些应用以各种方式结构化,例如面向对象编程语言(例如,Objective-C、Java或C++)或程序化编程语言(例如,C或汇编语言)。在特定的示例中,第三方应用966(例如,由除了特定平台的供应商之外的实体使用ANDRIODTM或IOSTM软件开发包(SDK)开发的应用)可以是在移动操作系统(例如IOSTM、ANDROIDTM电话、或另一移动操作系统)上运行的移动软件。在该示例中,第三方应用966可以调用由操作系统904提供的API调用912以促进本文所描述的功能。
图10根据示例性实施例,示出了具有计算机系统形式的机器1000的图示表示,在该计算机系统内可以执行指令集以使得该机器执行本文所讨论的方法中的任何一个或多个方法。具体而言,图10示出了具有计算机系统的示例性形式的机器1000的图示表示,在该计算机系统内可以执行指令1016(例如,软件、程序、应用910、小应用程序(applet)、应用程序(app)、或其它可执行代码)以使得机器1000执行本文所讨论的方法中的任何一个或多个方法。例如,指令1016可以使得机器1000执行图6的方法600。另外地或替代地,指令1016可以实现图1-图7,等等。指令1016将一般的未经编程机器1000变换成被编程为以所描述的方式实现所描述和示出的功能的特定机器1000。在替代实施例中,机器1000操作为独立设备或者可以耦合(例如,联网)到其它机器。在联网部署中,机器1000可以在服务器客户端网络环境中作为服务器机器或客户端机器来操作,或者在对等(或分布式)网络环境中操作为对等机器。机器1000可以包括但不限于服务器计算机、客户端计算机、PC、平板计算机、台式计算机、上网本、机顶盒(STB)、便携式数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家庭设备(例如,智能家电)、其它智能设备、web装置、网络路由器、网络交换机、网桥、或者能够顺序地或以其它方式执行指定要由机器1000采取的动作的指令1016的任何机器。此外,虽然仅示出了单个机器1000,但术语“机器”也应该被视为包括机器1000的集合,这些机器单独地或联合地执行指令1016以执行本文所讨论的方法中的任何一个或多个方法。
机器1000可以包括处理器1010、存储器1030以及I/O组件1050,这些可以被配置为例如经由总线1002彼此通信。在示例性实施例中,处理器1010(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器、或者其任意适当组合)可以包括例如可以执行指令1016的处理器1012和处理器1014。术语“处理器”旨在包括多核处理器,这些多核处理器可以包括可以同时执行指令1016的两个或更多个独立处理器(有时被称为“核”)。尽管图10示出了多个处理器1010,但机器1000可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器、或者其任意组合。
存储器1030可以包括主存储器1032、静态存储器1034、以及存储单元1036,所有这些可由处理器1010经由总线1002访问。主存储器1032、静态存储器1034以及存储单元1036存储体现本文所描述的方法或功能中的任何一个或多个方法或功能的指令1016。指令1016在由机器1000执行期间还可以完全或部分地驻留在主存储器1032内、静态存储器1034内、存储单元1036内、处理器1010中的至少一个处理器内(例如,处理器的高速缓存存储器内)、或者其任何适当组合。
I/O组件1050可以包括多种多样的组件以接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等等。特定机器1000中所包括的特定I/O组件1050将取决于机器1000的类型。例如,便携式机器(例如移动电话)将很可能包括触摸输入设备或其它此类输入机制,而无头服务器机器将很可能不包括这种触摸输入设备。将意识到,I/O组件1050可以包括图10中未示出的许多其它组件。仅仅为了简化以下讨论而根据功能对I/O组件1050编组,并且该编组不以任何方式进行限制。在各个示例性实施例中,I/O组件1050可以包括输出组件1052和输入组件1054。输出组件1052可以包括视觉组件(例如,显示器,例如等离子体显示板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、或阴极射线管(CRT))、声学组件(例如,扬声器)、触觉组件(例如,振动电动机、抗性机构)、其它信号发生器等等。输入组件1054可以包括字母数字输入组件(例如,键盘、被配置为接收字母数字数据的触摸屏、光电键盘、或其它字母数字输入组件)、基于指针的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、或另一指向仪表)、触觉输入组件(例如,物理按钮、提供触摸或触摸姿势的位置和/或力的触摸屏、或其它触觉输入组件)、音频输入组件(例如,麦克风)等等。
在另外的示例性实施例中,I/O组件1050可以包括生物计量组件1056、运动组件1058、环境组件1060、或定位组件1062、以及多种其它组件。例如,生物计量组件1056可以包括用于检测表达(例如,手部表达、面部表达、语音表达、身体姿势、或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、排汗、或脑波)、标识人员(例如,语音标识、视网膜标识、面部标识、指纹标识、或基于脑电图的标识)等等的组件。运动组件1058可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等等。例如,环境组件1060可以包括照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、邻近度传感器组件(例如,检测附近对象的红外传感器)、气体传感器(例如,出于安全性而检测有害气体浓度或测量大气中的污染物的气体检测传感器)、或可以提供与周围物理环境相对应的指示、测量或信号的其它组件。定位组件1062可以包括位置传感器组件(例如,全球定位系统(GPS)接收机组件)、海拔传感器组件(例如,检测可以从中推导出海拔的气压的高度计或气压计)、方位传感器组件(例如,磁力计)等等。
可以使用多种多样的技术来实现通信。I/O组件1050可以包括可操作用于将机器1000分别经由耦合1082和耦合1072来耦合到网络1080或设备1070的通信组件1064。例如,通信组件1064可以包括网络接口组件或另一适当设备以便与网络1080对接。在另外的示例中,通信组件1064可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如,低能量)、组件、以及用于经由其它模态来提供通信的其它通信组件。设备1070可以是另一机器或多种多样的外围设备中的任何一种(例如,经由USB耦合的外围设备)。
此外,通信组件1064可以检测标识符或包括可操作用于检测标识符的组件。例如,通信组件1064可以包括射频标识(RFID)标签阅读器组件、NFC智能标签检测组件、光学阅读器组件(例如,用于检测一维条形码(例如,通用产品码(UPC)条形码)、多维条形码(例如快速响应(QR)码、Aztec码、Data Matrix、Dataglyph、MaxiCode、PDF417、Ultra Code、UCCRSS-2D条形码的光学码、以及其它光学码的光学传感器)、或声学检测组件(例如,用于标识经标记的音频信号的麦克风)。另外,可以经由通信组件1064来推导出各种信息,例如经由互联网协议(IP)地理定位的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等等。
可执行指令和机器存储介质
各种存储器(即,1030、1032、1034和/或处理器1010的存储器)和/或存储单元1036可以存储一个或多个指令集1016以及体现本文所描述的方法或功能中的任何一个或多个方法或功能或由这些方法或功能利用的数据结构(例如,软件)。这些指令(例如,指令1016)在被处理器1010执行时使得各种操作实现所公开的实施例。
如本文所使用的,术语“机器存储介质”、“设备存储介质”和“计算机存储介质”表示相同内容并且可以互换地使用。这些术语是指存储可执行指令1016和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。这些术语应该相应地被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器1010内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的特定示例包括非易失性存储器,举例而言包括半导体存储器设备,例如,可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)、以及闪存设备;磁盘,例如内部硬盘和可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”特别排除载波波形、经调制的数据信号以及其它此类介质,其中至少一些被涵盖在下面讨论的术语“信号介质”中。
传输介质
在各种示例性实施例中,网络1080的一个或多个部分可以是自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网、互联网的一部分、PSTN的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或者两个或更多个此类网络的组合。例如,网络1080或网络1080的一部分可以包括无线或蜂窝网络,并且耦合1082可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接、或另一类型的蜂窝或无线耦合。在该示例中,耦合1082可以实现各种类型的数据传输技术中的任何一种,例如单载波无线传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、微波接入全球互通(WiMAX)、长期演进(LTE)标准、由各个标准制定组织定义的其它技术、其它长程协议、或其它数据传输技术。
可以经由网络接口设备(例如,通信组件1064中所包括的网络接口组件)使用传输介质并利用多种公知的传输协议中的任何一种(例如,HTTP)在网络1080上发送或接收指令1016。类似地,可以经由至设备1070的耦合1072(例如,对等耦合)使用传输介质来发送或接收指令1016。术语“传输介质”和“信号介质”表示相同内容并且可以在本公开内容中互换地使用。术语“传输介质”和“信号介质”应该被视为包括能够存储、编码或携带供机器1000执行的指令1016的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以促进此类软件的通信。因此,术语“传输介质”和“信号介质”应该被视为包括任何类型的经调制数据信号、载波波形等等。术语“经调制数据信号”表示如下信号,该信号的一个或多个特征以将信息编码到该信号中的方式来设置或改变。
计算机可读介质
术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同内容并且可以在本公开内容中互换地使用。这些术语被定义为包括机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波波形/经调制的数据信号两者。

Claims (20)

1.一种系统,包括:
其上存储有指令的计算机可读介质,所述指令在由处理器执行时使得所述系统进行以下操作:
执行对机器学习模型训练过程的一次或多次迭代,所述一次或多次迭代持续到满足收敛测试为止,每次迭代包括:
使用第一机器学习算法来训练固定效应机器学习模型;
通过将所训练的固定效应机器学习模型的结果与第一组目标结果进行比较来确定所述固定效应机器学习模型的训练残差;
使用第二机器学习算法和所述固定效应机器学习模型的训练残差来训练第一随机效应机器学习模型;以及
通过将所训练的第一随机效应机器学习模型的结果与第二组目标结果进行比较来确定所述第一随机效应机器学习模型的训练残差;并且
其中,在每次后续迭代中,对所述固定效应机器学习模型的训练使用在先前迭代中训练的最后机器学习模型的训练残差。
2.根据权利要求1所述的系统,其中,每次迭代还包括:
使用第三机器学习算法和所述第一随机效应机器学习模型的训练残差来训练第二随机效应机器学习模型;以及
通过将所训练的第二随机效应机器学习模型的结果与第三组目标结果进行比较来确定所述第二随机效应机器学习模型的训练残差。
3.根据权利要求1所述的系统,其中,所述第一机器学习算法和所述第二机器学习算法是线性的。
4.根据权利要求1所述的系统,其中,所述第一机器学习算法和所述第二机器学习算法是非线性的。
5.根据权利要求1所述的系统,其中,所述第一机器学习算法和所述第二机器学习算法中的一种算法是线性的,并且所述第一机器学习算法和所述第二机器学习算法中的另一种算法是非线性的。
6.根据权利要求1所述的系统,其中,经由对所述随机效应机器学习模型的训练而学习的随机效应系数不是跨集群中的多个计算节点来发送的。
7.根据权利要求1所述的系统,其中,每次迭代使用批量同步并行(BSP)范式。
8.一种方法,包括:
执行对机器学习模型训练过程的一次或多次迭代,所述一次或多次迭代持续到满足收敛测试为止,每次迭代包括:
使用第一机器学习算法来训练固定效应机器学习模型;
通过将所训练的固定效应机器学习模型的结果与第一组目标结果进行比较来确定所述固定效应机器学习模型的训练残差;
使用第二机器学习算法和所述固定效应机器学习模型的训练残差来训练第一随机效应机器学习模型;以及
通过将所训练的第一随机效应机器学习模型的结果与第二组目标结果进行比较来确定所述第一随机效应机器学习模型的训练残差;并且
其中,在每次后续迭代中,对所述固定效应机器学习模型的训练使用在先前迭代中训练的最后机器学习模型的训练残差。
9.根据权利要求8所述的方法,其中,每次迭代还包括:
使用第三机器学习算法和所述第一随机效应机器学习模型的训练残差来训练第二随机效应机器学习模型;以及
通过将所训练的第二随机效应机器学习模型的结果与第三组目标结果进行比较来确定所述第二随机效应机器学习模型的训练残差。
10.根据权利要求8所述的方法,其中,所述第一机器学习算法和所述第二机器学习算法是线性的。
11.根据权利要求8所述的方法,其中,所述第一机器学习算法和所述第二机器学习算法是非线性的。
12.根据权利要求8所述的方法,其中,所述第一机器学习算法和所述第二机器学习算法中的一种算法是线性的,并且所述第一机器学习算法和所述第二机器学习算法中的另一种算法是非线性的。
13.根据权利要求8所述的方法,其中,经由对所述随机效应机器学习模型的训练而学习的随机效应系数不是跨集群中的多个计算节点来发送的。
14.根据权利要求8所述的方法,其中,每次迭代使用批量同步并行(BSP)范式。
15.一种非暂时性机器可读存储介质,其包括指令,所述指令在由一个或多个机器实现时使得所述一个或多个机器执行包括以下各项的操作:
执行对机器学习模型训练过程的一次或多次迭代,所述一次或多次迭代持续到满足收敛测试为止,每次迭代包括:
使用第一机器学习算法来训练固定效应机器学习模型;
通过将所训练的固定效应机器学习模型的结果与第一组目标结果进行比较来确定所述固定效应机器学习模型的训练残差;
使用第二机器学习算法和所述固定效应机器学习模型的训练残差来训练第一随机效应机器学习模型;以及
通过将所训练的第一随机效应机器学习模型的结果与第二组目标结果进行比较来确定所述第一随机效应机器学习模型的训练残差;并且
其中,在每次后续迭代中,对所述固定效应机器学习模型的训练使用在先前迭代中训练的最后机器学习模型的训练残差。
16.根据权利要求15所述的非暂时性机器可读存储介质,其中,每次迭代还包括:
使用第三机器学习算法和所述第一随机效应机器学习模型的训练残差来训练第二随机效应机器学习模型;以及
通过将所训练的第二随机效应机器学习模型的结果与第三组目标结果进行比较来确定所述第二随机效应机器学习模型的训练残差。
17.根据权利要求15所述的非暂时性机器可读存储介质,其中,所述第一机器学习算法和所述第二机器学习算法是线性的。
18.根据权利要求15所述的非暂时性机器可读存储介质,其中,所述第一机器学习算法和所述第二机器学习算法是非线性的。
19.根据权利要求15所述的非暂时性机器可读存储介质,其中,所述第一机器学习算法和所述第二机器学习算法中的一种算法是线性的,并且所述第一机器学习算法和所述第二机器学习算法中的另一种算法是非线性的。
20.根据权利要求15所述的非暂时性机器可读存储介质,其中,经由对所述随机效应机器学习模型的训练而学习的随机效应系数不是跨集群中的多个计算节点来发送的。
CN201811570862.2A 2017-12-22 2018-12-21 用于机器学习模型的并行化坐标下降法 Withdrawn CN109978175A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762610076P 2017-12-22 2017-12-22
US62/610,076 2017-12-22
US15/879,316 US20190197013A1 (en) 2017-12-22 2018-01-24 Parallelized block coordinate descent for machine learned models
US15/879,316 2018-01-24

Publications (1)

Publication Number Publication Date
CN109978175A true CN109978175A (zh) 2019-07-05

Family

ID=66950354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811570862.2A Withdrawn CN109978175A (zh) 2017-12-22 2018-12-21 用于机器学习模型的并行化坐标下降法

Country Status (2)

Country Link
US (2) US20190197013A1 (zh)
CN (1) CN109978175A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565562B2 (en) 2017-07-25 2020-02-18 Microsoft Technology Licensing, Llc Hashing query and job posting features for improved machine learning model performance
US11086322B2 (en) * 2019-03-19 2021-08-10 Gm Cruise Holdings Llc Identifying a route for an autonomous vehicle between an origin and destination location
US11671506B2 (en) * 2020-01-27 2023-06-06 Dell Products L.P. Microservice management system for recommending modifications to optimize operation of microservice-based systems
US10803509B1 (en) * 2020-04-29 2020-10-13 Caastle, Inc. Systems and methods for garment size recommendation
CN113033090B (zh) * 2021-03-24 2023-03-03 平安科技(深圳)有限公司 推送模型训练方法、数据推送方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981040B1 (en) * 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US6922680B2 (en) * 2002-03-19 2005-07-26 Koninklijke Philips Electronics N.V. Method and apparatus for recommending an item of interest using a radial basis function to fuse a plurality of recommendation scores
US9195743B2 (en) * 2007-10-04 2015-11-24 Yahoo! Inc. System and method for creating and applying predictive user click models to predict a target page associated with a search query
US20120117006A1 (en) * 2010-11-04 2012-05-10 Nokia Corporation Method and apparatus for building a user behavior model
US10896380B2 (en) * 2017-08-30 2021-01-19 Facebook, Inc. Determining intent based on user interaction data

Also Published As

Publication number Publication date
US20190197422A1 (en) 2019-06-27
US20190197013A1 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
US11372940B2 (en) Embedding user categories using graphs for enhancing searches based on similarities
US11163845B2 (en) Position debiasing using inverse propensity weight in machine-learned model
CN109978175A (zh) 用于机器学习模型的并行化坐标下降法
US11204973B2 (en) Two-stage training with non-randomized and randomized data
US20180285824A1 (en) Search based on interactions of social connections with companies offering jobs
US11080598B2 (en) Automated question generation using semantics and deep learning
US10607189B2 (en) Ranking job offerings based on growth potential within a company
CN109740045A (zh) 针对搜索结果的因素化模型和基于搜索结果的通信
CN110175297A (zh) 馈送中的个性化的每成员模型
CN109154945A (zh) 基于数据属性的新连接推荐
US11397742B2 (en) Rescaling layer in neural network
CN110427564A (zh) 将深度学习集成到广义加性混合效应(game)框架中
US20220284028A1 (en) Transformer for encoding text for use in ranking online job postings
CN110168591A (zh) 确定行业相似性以增强职位搜索
US11151661B2 (en) Feed actor optimization
US10572835B2 (en) Machine-learning algorithm for talent peer determinations
US20180285822A1 (en) Ranking job offerings based on connection mesh strength
CN110032685A (zh) 馈送优化
CN108604230A (zh) 具有职业和非职业内容的用户馈送
US11194877B2 (en) Personalized model threshold
CN110955840B (zh) 通知和推送的联合优化
US11461421B2 (en) Techniques for suggesting skills
US11797619B2 (en) Click intention machine learned models
US20230196070A1 (en) Deep embedding learning models with mimicry effect
US20240119278A1 (en) Transfer learning for seniority modeling label shortage

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20190705

WW01 Invention patent application withdrawn after publication