一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

相同组内跨异类子组的鲁棒模型性能的制作方法

2022-06-09 00:10:30 来源:中国专利 TAG:


1.本说明书涉及数据处理和机器学习模型。


背景技术:

2.客户端设备能够使用应用(例如,web浏览器、本原应用)来访问内容平台(例如,搜索平台、社交媒体平台或托管内容的另一平台)。内容平台能够在客户端设备上启动的应用内显示可以由一个或更多个内容源/平台提供的数字组件(数字内容或数字信息的离散单元,诸如例如视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。


技术实现要素:

3.通常,本说明书中描述的主题的一个创新方面能够体现在包括以下操作的方法中:针对待训练的模型识别损失函数,损失函数生成表示模型在训练期间寻求优化的性能测量的损失;修改损失函数,包括向损失函数添加附加项,所述附加项减少性能测量跨全部由相同用户组标识符表示的不同用户子组的差异,其中,不同用户子组中的每个用户子组具有与不同用户子组当中的其他子组的特性不同的特性;使用修改的损失函数来训练所述模型;从客户端设备接收对数字组件的请求,所述请求包括关于不同用户组中的特定用户组的给定用户组标识符;通过将训练后的模型应用于包括在所述请求中的信息,生成未包括在所述请求中的一个或更多个用户特性;基于由训练后的模型生成的所述一个或更多个用户特性来选择一个或更多个数字组件;以及向客户端设备发送所选择的一个或更多个数字组件。
4.该方面的其他实现方式包括被配置为执行在计算机存储设备上编码的方法的各方面的对应装置、系统和计算机程序。这些和其他实现方式能够均可选地包括以下特征中的一个或更多个。
5.在一些方面,修改损失函数包括将误差正则化项添加到损失函数。在一些方面,修改损失函数包括将散度最小化项添加到损失函数。
6.在一些方面,将误差正则化项添加到损失函数包括将损失方差项添加到损失函数,其中,损失方差函数表征基于某个属性的用户组内的模型的平均损失与模型跨所有用户的平均损失之间的平方差,其中,可以基于不同属性跨用户单独地计算差。
7.在一些方面,将误差正则化项添加到损失函数包括将最大加权损失差异项添加到损失函数,其中,最大加权损失差异项是用户组与所有不同用户组中的所有用户中的损失之间的最大加权差,所述方法还包括使用量化每个用户组的重要性的函数。
8.在一些方面,将误差正则化项添加到损失函数包括将粗略损失方差项添加到损失函数,其中,粗略损失方差项是以单独的用户属性为条件的第一用户组和第二用户组的损失之间的平方差的平均值。
9.在一些方面,将误差正则化项添加到损失函数包括将hsic正则化项添加到损失函数,其中,hsic项表征以非参数方式且独立于不同用户组中的用户分布的跨不同用户组的
损失的差异。
10.在一些方面,将散度最小化项添加到损失函数包括将互信息项或kullback-leibler散度项中的一个添加到损失函数,其中,互信息项表征跨多个用户组的模型预测的分布的相似性,并且其中,kullback-leibler散度项表征跨多个用户组的模型预测的分布的差异。
11.能够实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或更多个。机器学习模型能够被训练以预测用户特征,而不是例如经由第三方cookies从用户收集特定信息,从而尊重用户的隐私问题。然而,实现这样的方法需要在从现实世界用户获取的不平衡数据集上训练机器学习模型,导致相对于不太频繁观察的子组,更频繁观察的子组对模型的参数具有更高程度的影响。这可能导致跨子组的模型性能的相当大的变化。修改机器学习模型的损失函数使得机器学习模型能够学习和区分训练数据集的复杂模式,从而减少关于用户特性的预测中的误差并增加机器学习模型跨子组的预测准确度的一致性。这样的实现允许向用户递送基于预测的用户特性而精细选择的数字组件,从而提高用户体验并维护用户隐私。
12.本文描述的主题的实施例能够减少在客户端设备和网络的其余部分之间传输的潜在敏感数据量。例如,在客户端设备发送对数字组件的请求的情况下,其中,用户的组标识符指示较少观察的子组,本文描述的方法能够避免需要发送关于用户的更多信息以便适当地定制提供给用户的内容。由客户端设备提供的关于用户的附加数据的减少降低了向较少观察的子组的用户发送请求的客户端设备的带宽需求。对于由于与敏感带宽需求一致的因素而较少观察的子组,这种降低可能更显著(例如,在本地网络连接性差的情况下,可能更经常地发现较少观察的子组)。此外,通过避免附加信息的传输,可以保护较少观察的子组免受第三方的识别。
13.在附图和以下描述中阐述了本说明书中描述的主题的一个或更多个实施例的细节。根据说明书、附图和权利要求书,主题的其他特征、方面和优点将变得清楚。
附图说明
14.图1是其中分发数字组件的示例环境的框图。
15.图2是由用户评估装置实现的示例机器学习模型的框图。
16.图3是使用修改的损失函数分发数字组件的示例过程的流程图。
17.图4是能够用于执行所描述的操作的示例计算机系统的框图。
具体实施方式
18.本文档公开了用于修改机器学习模型以确保模型性能在相同用户组内跨不同用户子组变化尽可能小的方法、系统、装置和计算机可读介质。
19.通常,能够向经由客户端设备连接到互联网的用户提供数字组件。在这样的场景中,数字组件提供者可能希望基于用户的在线活动和用户浏览历史来提供数字组件。然而,越来越多的用户选择不允许收集和使用特定信息,并且,第三方cookie正被一些浏览器阻止和/或弃用,使得必须在不使用第三方cookie(即,来自与被允许访问cookie文件的内容的网页的域不同的域的cookie)的情况下执行数字组件选择。
20.已经出现了通过在用户访问特定资源或在资源处执行特定动作(例如,与呈现在网页上的特定项交互或将项添加到虚拟购物车)时将用户分配到用户组来向用户分发数字组件的新技术。这些用户组通常以每个用户组包括足够数量的用户的方式创建,使得不能识别个体用户。关于用户的人口统计信息对于向用户提供个性化在线体验仍然是重要的,例如通过提供与用户相关的特定数字组件。然而,由于此类信息的不可用,可以实现能够预测此类用户信息和/或特性的机器学习模型。
21.即使这样的技术和方法是最先进的,机器学习模型仍然会由于不平衡的数据集而受到很大影响。由于用于训练机器学习模型的标准技术(诸如经验风险最小化,其寻求最小化训练数据上的平均损失)关于训练数据集的类别分布是不可知的,因此从这样的数据集学习导致模型性能的劣化。例如,旨在预测用户属性并在不平衡数据集上训练的机器学习模型可能表现不佳,并导致用户的真实属性与模型的预测之间的大量不匹配。
22.相比之下,在本文档中解释的技术和方法通过以在预测用户特性时实现高准确度的方式修改损失函数而优于传统技术,从而使得能够使用机器学习模型的输出为用户选择相关数字组件。更具体地,待训练的机器学习模型的损失函数被修改为包括附加项,所述附加项减少全部由相同用户组标识符表示(即,全部包括在相同的较大用户组中)的不同用户子组和/或用户子集内或跨所述不同用户子组和/或用户子集的性能测量的差异,尽管事实上这些不同的用户子组中的每一个具有与用户组内的不同用户子组中的其他用户子组的特性不同的特性。这个添加的项确保了模型的性能跨不同用户子组的鲁棒性。参考图1-图4进一步解释所述技术和方法。
23.图1是其中分发数字组件以与电子文档一起呈现的示例环境100的框图。示例环境100包括网络102,诸如局域网(lan)、广域网(wan)、互联网或其组合。网络102连接内容服务器104、客户端设备106、数字组件服务器108和数字组件分发系统110(也称为组件分发系统(cds))。
24.客户端设备106是能够通过网络102请求和接收资源的电子设备。示例客户端设备106包括个人计算机、移动通信设备、可穿戴设备、个人数字助理以及能够通过网络102发送和接收数据的其他设备。客户端设备106通常包括用户应用112,诸如web浏览器,以促进通过网络102发送和接收数据,但是由客户端设备106执行的本原应用也能够促进通过网络102发送和接收数据。客户端设备106,特别是个人数字助理,能够包括实现与客户端设备106语音交互的硬件和/或软件。例如,客户端设备106能够包括麦克风,用户能够通过麦克风提交音频(例如,语音)输入,诸如命令、搜索查询、浏览指令、智能家居指令和/或其他信息。另外,客户端设备106能够包括扬声器,通过扬声器可以向用户提供音频(例如,语音)输出。个人数字助理能够在任何客户端设备106中被实现,其示例包括可穿戴设备、智能扬声器、家用电器、汽车、平板设备或其他客户端设备106。
25.电子文档是在客户端设备106处呈现一组内容的数据。电子文档的示例包括网页、文字处理文档、便携式文档格式(pdf)文档、图像、视频、搜索结果页面和馈送源。诸如安装在移动式、平板式或台式计算设备上的应用的本原应用(例如,“app”)也是电子文档的示例。电子文档能够由内容服务器104提供给客户端设备106。例如,内容服务器104能够包括托管发布者网站的服务器。在所述示例中,客户端设备106能够发起对给定发布者网页的请求,并且,托管给定发布者网页的内容服务器104能够通过发送发起在客户端设备106处呈
现给定网页的机器可执行指令来响应所述请求。
26.在另一示例中,内容服务器104能够包括应用服务器,客户端设备106能够从应用服务器下载应用。在该示例中,客户端设备106能够下载在客户端设备106处安装app所需的文件,然后在本地执行下载的app。下载的app能够被配置为呈现作为应用本身的一部分的本原内容以及一个或更多个数字组件(例如,由第三方创建/分发的内容)的组合,其中,所述一个或更多个数字组件是从数字组件服务器108获得的,并在app正在客户端设备106处被执行的同时被插入到app中。
27.电子文档能够包括各种内容。例如,电子文档能够包括在电子文档本身内和/或不随时间改变的静态内容(例如,文本或其他指定内容)。电子文档也能够包括可以随时间或基于每个请求来改变的动态内容。例如,给定电子文档的发布者能够维护用于填充电子文档的各部分的数据源。在该示例中,给定电子文档能够包括标签或脚本,其使得客户端设备106在给定电子文档由客户端设备106处理(例如,渲染或执行)时向数据源请求内容。客户端设备106将从数据源获得的内容集成到给定电子文档中,以创建包括从数据源获得的内容的复合电子文档。
28.在一些情况下,给定电子文档能够包括引用数字组件分发系统110的数字组件标签或数字组件脚本。在这些情况下,当给定电子文档由客户端设备106处理时,数字组件标签或数字组件脚本由客户端设备106执行。数字组件标签或数字组件脚本的执行将客户端设备106配置为生成对数字组件112的请求(称为“组件请求”),所述请求通过网络102被发送到数字组件分发系统110。例如,数字组件标签或数字组件脚本可以使客户端设备106能够生成包括报头和有效载荷数据的分组化数据请求。数字组件请求112能够包括指定特征的事件数据,所述特征诸如正向其请求媒体的服务器的名称(或网络位置)、请求设备(例如,客户端设备106)的名称(或网络位置)、和/或数字组件分发系统110能够用来选择响应于请求而提供的一个或更多个数字组件的信息。客户端设备106通过网络102(例如,电信网络)将组件请求112发送到数字组件分发系统110的服务器。
29.数字组件请求112能够包括指定其他事件特征的事件数据,诸如正被请求的电子文档以及能够在其中呈现数字组件的电子文档的位置的特性。例如,能够向数字组件分发系统110提供指定以下的事件数据:对将在其中呈现数字组件的电子文档(例如,网页或应用)的引用(例如,统一资源定位符(url))、可用于呈现数字组件的电子文档的可用位置、可用位置的大小和/或有资格在所述位置中呈现的媒体类型。类似地,指定与电子文档相关联的关键字(“文档关键字”)或由电子文档引用的实体(例如,人、地点或事物)的事件数据也能够被包括在组件请求112中(例如,作为有效载荷数据),并被提供给数字组件分发系统110,以促进识别有资格与电子文档一起呈现的数字组件。事件数据也可以包括从客户端设备106提交以获得搜索结果页面的搜索查询和/或指定搜索结果和/或包括在搜索结果中的文本、可听或其他视觉内容的数据。
30.组件请求112也能够包括与其他信息相关的事件数据,诸如客户端设备的用户已经提供的信息、指示提交组件请求的州或地区的地理信息、或者提供将显示数字组件的环境的上下文的其他信息(例如,组件请求的一天中的时间、组件请求的一周中的一天、将显示数字组件的设备的类型,诸如移动设备或平板设备)。能够例如通过分组化网络发送组件请求112,并且,组件请求112本身能够被格式化为具有报头和有效载荷数据的分组化数据。
报头能够指定分组的目的地,并且,有效载荷数据能够包括上面讨论的任何信息。
31.包括一个或更多个数字组件分发服务器的数字组件分发系统110响应于接收组件请求112和/或使用包括在组件请求112中的信息来选择将与给定电子文档一起呈现的数字组件。在一些实现中,在小于一秒内选择数字组件,以避免可能由数字组件的延迟选择引起的错误。例如,响应于组件请求112提供数字组件的延迟会导致在客户端设备106处的页面加载错误,或者导致即使在客户端设备106处呈现电子文档的其他部分之后,电子文档的部分也保持未被填充。此外,当向客户端设备106提供数字组件的延迟增加时,更可能的是,当数字组件被递送到客户端设备106时,电子文档将不再被呈现在客户端设备106处,从而负面地影响用户对电子文档的体验。此外,例如,如果在提供数字组件时不再在客户端设备106处呈现电子文档,则提供数字组件的延迟会导致数字组件的递送失败。
32.为了促进搜索电子文档,环境100能够包括搜索系统150,其通过爬取(crawl)电子文档并对其编索引(例如,基于爬取的电子文档的内容编索引)来识别电子文档。能够基于与数据相关联的电子文档来对关于电子文档的数据编索引。电子文档的被编索引和(可选地)被高速缓存的副本被存储在搜索索引152(例如,硬件存储器设备)中。与电子文档相关联的数据是表示包括在电子文档中的内容和/或关于电子文档的元数据的数据。
33.客户端设备106能够通过网络102向搜索系统150提交搜索查询。作为响应,搜索系统150访问搜索索引152以识别与搜索查询相关的电子文档。搜索系统150以搜索结果的形式识别电子文档,并在搜索结果页面中将搜索结果返回给客户端设备106。搜索结果是由搜索系统150生成的数据,其标识响应于(例如,相关于)特定搜索查询的电子文档,并包括使得客户端设备响应于用户与搜索结果的交互而向指定位置请求数据的活动链接(例如,超文本链接)。示例搜索结果能够包括网页标题、从网页提取的文本片段或图像的一部分、以及网页的url。另一示例搜索结果能够包括可下载应用的标题、描述可下载应用的文本片段、描绘可下载应用的用户界面的图像和/或到能够从其将应用下载到客户端设备106的位置的url。另一示例搜索结果能够包括流媒体的标题、描述流媒体的文本片段、描绘流媒体的内容的图像和/或到能够从其将流媒体下载到客户端设备106的位置的url。像其他电子文档一样,搜索结果页面可以包括其中能够呈现数字组件(例如,广告、视频剪辑、音频剪辑、图像或其他数字组件)的一个或更多个槽。
34.在一些实现方式中,在分布式计算系统中实现数字组件分发系统110,分布式计算系统包括例如服务器和互连并响应于组件请求112来识别和分发数字组件的多个计算设备114的集合。多个计算设备114的集合一起操作以从潜在数百万个可用数字组件的语料库中识别有资格在电子文档中呈现的数字组件的集合。
35.在一些实现方式中,数字组件分发系统110实现用于选择和分发数字组件的不同技术。例如,数字组件能够包括有助于(例如,对其设置条件或进行限制)对应数字组件的选择/分发/传输的对应分发参数。例如,分发参数能够通过要求组件请求包括与数字组件的分发参数中的一个匹配(例如,精确地或以某个预先指定的相似度水平)的至少一个标准来有助于数字组件的传输。
36.在另一示例中,用于特定数字组件的分发参数能够包括必须被匹配(例如,按照在组件请求112中指定的电子文档、文档关键字或术语)的分发关键字,以便数字组件有资格呈现。分发参数也能够要求组件请求112包括指定特定地理区域(例如,国家或州)的信息
和/或指定组件请求112源自特定类型的客户端设备106(例如,移动设备或平板设备)的信息,以便组件项有资格呈现。如下面更详细地讨论的,分发参数也能够指定用于评估组件项对于选择/分布/传输(例如,在其他可用的数字组件中)的资格的资格值(例如,排名、得分或一些其他指定值)。在一些情况下,资格值能够基于当特定事件归因于数字组件项(例如,数字组件的呈现)时将提交的量。
37.有资格数字组件的标识能够被分割成多个任务117a-117c,然后在多个计算设备114的集合内的计算设备中分配多个任务117a-117c。例如,集合114中的不同计算设备每个能够分析不同的数字组件,以识别具有与在组件请求112中包括的信息匹配的分发参数的各种数字组件。在一些实现方式中,集合114中的每个给定计算设备能够分析不同的数据维度(或维度集合)并将分析的结果(res 1-res 3)118a-118c传递(例如,发送)回数字组件分发系统110。例如,由集合114中的每个计算设备提供的结果118a-118c可以标识有资格响应于组件请求而分发的数字组件项的子集和/或具有特定分发参数的数字组件的子集。数字组件的子集的识别能够包括例如将事件数据与分发参数进行比较,以及识别具有与事件数据的至少一些特征匹配的分发参数的数字组件的子集。
38.数字组件分发系统110聚合从多个计算设备114的集合接收的结果118a-118c,并使用与聚合的结果相关联的信息来选择响应于组件请求112而将被提供的一个或更多个数字组件。例如,数字组件分发系统110能够基于一个或更多个数字组件评估过程的结果来选择获胜数字组件(一个或更多个数字组件)的集合。进而,数字组件分发系统110能够生成并通过网络102发送应答数据120(例如,表示应答的数字数据),应答数据120使得客户端设备106能够将获胜数字组件的集合集成到给定电子文档中,使得获胜数字组件的集合和电子文档的内容一起呈现在客户端设备106的显示器处。
39.在一些实现方式中,客户端设备106执行包括在应答数据120中的指令,所述指令配置并使得客户端设备106能够从一个或更多个数字组件服务器108获得获胜数字组件的集合。例如,应答数据120中的指令能够包括网络位置(例如,url)和脚本,脚本促使客户端设备106向数字组件服务器108发送服务器请求(sr)121以从数字组件服务器108获得给定获胜数字组件。响应于服务器请求121,数字组件服务器108将识别在服务器请求121中指定的给定获胜数字组件,并向客户端设备106发送在客户端设备106处在电子文档中呈现给定获胜数字组件的数字组件数据122(di数据)。
40.在一些实现方式中,用于数字组件分发的分发参数可以包括用户特性,诸如人口统计信息、用户兴趣和/或能够用于个性化用户的在线体验的其他信息。在一些情况下,关于客户端设备106的用户的这些特性和/或信息是容易获得的。例如,诸如内容服务器104或搜索系统150的内容平台可以允许用户通过提供这样的用户信息来向内容平台注册。在另一示例中,内容平台能够使用cookies来识别客户端设备,其能够存储关于用户的在线活动和/或用户特性的信息。
41.在保护用户隐私的努力中,识别用户特征的这些和其他方法正变得不太普及。为了保护用户隐私,能够基于用户在单个浏览会话期间访问的数字内容将用户分配给一个或更多个用户组。例如,当用户访问特定网站并与网站上呈现的特定项交互或将商品添加到虚拟购物车时,用户能够被分配给已经访问相同网站或上下文相似的其他网站、或者对相同商品感兴趣的一组用户。例如,如果客户端设备106的用户搜索鞋子并访问不同鞋子制造
商的多个网页,则能够将用户分配给用户组“鞋子”,其能够包括已经访问了与鞋子相关的网站的所有用户的标识符。因此,用户组能够表示聚集的用户的兴趣,而不标识个体用户且不使得任何个体用户能够被识别。例如,能够通过用于组中的每个用户的用户组标识符来识别用户组。作为示例,如果用户将鞋添加到在线零售商的购物车,则能够将用户添加到具有特定标识符的鞋用户组,所述特定标识符被分配给组中的每个用户。
42.在一些实现方式中,例如,通过基于浏览器的应用,用户的组成员资格能够在用户的客户端设备106处被维护,而不是由数字组件提供商或由内容平台、或由另一方来维护。用户组能够由相应用户组标识符指定。用户组的用户组标识符能够描述组(例如,园艺组)或者是表示组的代码(例如,非描述性的字母数字序列)。
43.在用户特性(例如,超出组标识符)不可用的情况下,数字组件分发系统110能够包括基于可用信息预测用户特性的用户评估装置170。在一些实现方式中,用户评估装置170实现基于在组件请求112中包括的信息(例如,组标识符)来预测一个或更多个用户特性的一个或更多个机器学习模型。
44.例如,如果客户端设备106的用户使用基于浏览器的应用107来加载包括一个或更多个数字组件槽的网站,则基于浏览器的应用107能够针对一个或更多个数字组件槽中的每一个生成并发送组件请求112。组件请求112包括与用户组(或多个)相对应的用户组标识符(或多个),用户组标识符包括客户端设备106的标识符、诸如指示提交组件请求112的州或地区的地理信息的其他信息、或者为将显示数字组件112的环境提供上下文的其他信息(例如,组件请求的一天中的时间、组件请求的一周中的一天、将显示数字组件的客户端设备106的类型等,诸如移动设备或平板设备)。
45.数字组件分发系统110在接收到组件请求112之后,将包括在组件请求112中的信息作为输入提供给机器学习模型。在处理输入之后,机器学习模型生成包括没有包括在组件请求112中的一个或更多个用户特征的预测的输出。这些一个或更多个用户特性连同包括在组件请求中的其他信息能够用于从数字组件服务器108取回数字组件。参考图2进一步解释生成用户特性的预测输出。
46.图2是在用户评估装置170内实现的示例机器学习模型的框图。通常,机器学习模型可以是被认为适合于特定实现方式的任何技术,诸如人工神经网络(ann)、支持向量机(svm)、随机森林(rf)等,其包括多个可训练参数。在训练过程期间,基于由损失函数生成的误差测量,在训练数据集的多个样本上迭代(称为优化的过程)的同时调整多个训练参数。损失函数将机器学习模型的预测属性值与训练集中的样本的真实值进行比较,以生成误差测量,其中,模型被训练以使所述误差测量最小化。
47.在一些实现方式中,机器学习模型可以包括多个子机器学习模型(也称为“子模型”),使得每个子模型预测特定的用户特征(例如,用户人口统计特征、用户兴趣或一些其他特征)。例如,用户评估装置170包括三个子模型:(i)特性1模型220、(ii)特性2模型230和(iii)特性3模型240。这些子模型中的每一个预测用户具有不同特性(例如,人口统计特性或用户兴趣)的可能性。其他实现方式可以包括更多或更少的单独子模型以预测系统(或管理员)定义数量的用户特性。
48.在一些实现方式中,机器学习模型能够接受包括在组件请求112中的信息作为输入。如前所述,组件请求112能够包括与包括客户端设备106的用户组相对应的用户组标识
符和/或其他信息,诸如指示提交组件请求112的州或地区的地理信息,或提供将显示数字组件112的环境的上下文的其他信息(例如,组件请求的一天中的时间、组件请求的一周中的一天、将显示数字组件的客户端设备106的类型,诸如移动设备或平板设备)。例如,输入205包括在组件请求112中包括的信息,即,用户组标识符(用户组id)202和其他信息204。
49.在一些实现方式中,在用户评估装置170内实现的机器学习模型(或子模型)能够被进一步扩展,以接受与用户当前在线活动相关的附加输入210。例如,附加输入能够包括在当前会话中用户先前访问的网站的列表、与先前访问的网站中呈现的数字组件的在先交互、或其他子模型的预测。附加输入也可以包括与客户端设备106的用户是其成员的用户组相关的信息。例如,由相同用户组中的用户访问的web内容的相似性测量、属于相同组的用户的用户特性的平均预测、相同组中属性跨用户的分布等。
50.取决于特定实现方式,机器学习模型(或每个子模型)能够使用一个或更多个输入特征来生成包括一个或更多个用户特性的预测的输出。例如,特征1模型220可以预测客户端设备106的用户的预测特征1 252(例如,预测的性别)作为输出。类似地,特征2模型230可以是回归模型,其处理输入205和210并生成客户端设备106的用户的预测特征2 254(例如,预测的年龄范围)作为输出。以相同的方式,特征模型3 240生成用户的预测特征3256作为输出。
51.这些预测的用户特性连同输入特征205和210一起被用于选择由数字组件提供者和/或服务器108提供的数字组件。然而,由用户评估装置170实现机器学习模型(或每个子模型)以预测用户特性可能遭受数据类不平衡。数据类别不平衡是当在训练数据集中存在类别的不均匀分布时出现的预测分类的问题。由于训练数据集的样本是从现实世界获取的,因此训练数据集中的样本的分布将反映根据用于收集数据的采样过程的类别的分布,并可能无法均匀地表示所有类别。换句话说,在单个用户组(例如,包括对“鞋子”感兴趣的用户的用户组)内,会存在具有不同特性的用户子组,也称为不同的用户组(例如,对鞋子感兴趣的男性用户的一个子组和对鞋子感兴趣的女性用户的第二子组),并且,当训练样本中的每个子组中存在不同数量的用户时(例如,女性比男性更多,反之亦然),可能导致不平衡。
52.在这种不成比例的数据上训练机器学习模型导致模型对过度表示的组实现更好预测的趋势,这是由于机器学习模型在类别上是无差别的。例如,假设与用户组“化妆品”相关联的男性用户的数量小于与相同用户组相关联的女性用户的数量。在另一示例中,假设与用户组“视频游戏”相关联的19-29岁年龄组中的用户数量显著大于59-69岁年龄组中的用户数量。在这样的场景中,在用户评估装置170内实现的机器学习模型被训练以不考虑训练样本的分布和/或比例来预测用户特性,可能导致模型性能对于在训练数据集中表示不足的用户组的劣化。换句话说,由模型输出的预测可能朝向在训练数据集中具有最多成员的用户子组的特性偏斜。例如,假设用户组“化妆品”中的男性用户的真实数量与相同用户组中的女性用户的真实数量之比是1/10,即,用户组“化妆品”中10%的用户是男性。在示出与真实比率相同的男性与女性分布的训练数据集上训练的机器学习模型可以将用户组中的所有用户分类为女性,并仍然实现90%的准确度。
53.在不成比例的数据上训练机器学习模型也可能导致跨不同用户组的较低性能。例如,假设在用户评估装置170内实现的机器学习模型被训练为预测属于用户组1和2的用户
的用户特性。还假设95%的训练样本表示与用户组1相关联的用户。在这样的场景中,机器学习模型能够在预测与用户组2相关联的用户的用户特性的同时表现出对用户组1通常常见的用户特性的偏向。
54.为了解决类别不平衡的问题,机器学习模型(或子模型)被训练以优化损失函数,通过向损失函数添加附加项而修改损失函数,这减少性能测量跨全部由相同组标识符表示的不同用户组的差异。换句话说,损失函数中的附加项帮助减少由于特定用户组内的任何用户子组的表示不足而由模型输出的错误正例和/或错误负例的数量。例如,添加到修改后的损失函数的附加项在训练过程期间惩罚机器学习模型以更新其可学习参数,使得即使训练数据集具有不成比例的男性和女性用户和/或样本的数量,模型也能够区分用户组“化妆品”中的男性和女性用户,从而提供更准确的输出。在通过添加附加项来修改损失函数以提供跨不同用户组的一致性能的场景中,附加项测量模型性能在每个用户组内的可变性,从而促使模型在每个用户组内实现更一致的性能。
55.在一些实现方式中,被添加到损失函数的附加项是误差正则化项,误差正则化项根据机器学习模型在训练过程期间跨特定用户组内的多个子组和/或跨多个用户组的误差来惩罚机器学习模型,使得机器学习模型在训练数据集的分布上泛化。在其他实现方式中,被添加到损失函数的附加项是散度最小化项,如果在机器学习模型的预测输出跨不同组的分布之间存在差异,则散度最小化项惩罚机器学习模型。下面进一步解释误差正则化项和散度最小化项。
56.在一些实现方式中,被添加到损失函数的附加项是损失方差项。在一些实现方式中,损失方差项是第一子组中的第一用户的损失与用户组内的所有子组中的所有用户的平均损失的平方差。例如,这样的实现方式将计算跨不同兴趣组(诸如“化妆品”和“鞋子”)的平均损失的方差。在这样的示例中,损失方差项考虑不同兴趣组(例如,“化妆品”和“鞋子”)上的损失的可变性。当不同兴趣组上的方差较高时,所述项将取较高的值,从而鼓励跨子组的更均匀的表现(通过更低的方差来测量)。损失方差项如下所示:
57.l(x) var(l)
58.其中,
59.var(l)=e
x~x
((l(x)-e[l(x)])2)
[0060]
并且,其中,l(x)是跨数据分布x的损失函数。该损失方差公式的其他变型也是可以的,其中,方差以每个观察或用户属性的真实标签(true lable)为条件。
[0061]
在一些实现方式中,被添加到损失函数的附加项是最大加权损失差异项。在一些实现方式中,最大加权损失差异项是特定用户组内的一个子组中的所有用户与特定用户组内的所有子组中的所有用户之间的用户损失的最大加权差。在一些实现方式中,能够基于用户组内的重要性来对子组进行加权。最大加权损失差异项如下所示:
[0062]
l(x) w(g)|e[(g(x)=1)-e(l(x))]|
[0063]
其中,
[0064]
g(x)是指示特定元素在子组g中的函数,并且w(g)指示组g的加权函数。
[0065]
在一些实现方式中,被添加到损失函数的附加项是粗略损失方差项。在一些实现方式中,粗略损失方差项是用户组内的子组的损失之间的平方差的平均值。粗略损失方差项如下所示:
[0066]
l(x) var(e
x~x
[l(x)|a])
[0067]
其中,
[0068]
var(e
x~x
[a])=e
x~x
[(a)-e(l(x))2]
[0069]
其中,a是用户组的子组。
[0070]
在一些实现方式中,被添加到损失函数的附加项是希尔伯特-施密特(hilbert

schmidt)独立性准则(hsic)正则化项。在一些实现方式中,hsic测量用户属性的预测的分布与某个组(例如,兴趣组、人口统计组)中的示例的成员之间的统计独立性的程度。hsic正则化项如下所示:
[0071]
hsic(p
xy
,f,g)=||c
xy
||hs2[0072]
其中,f和g是具有联合测量p
xy
的再现核希尔伯特空间,c
xy
是互协方差算子,并且,||
·
||
hs
是希尔伯特-施密特矩阵范数(在该示例中,x和y将分别是一组示例的模型预测和组成员)。
[0073]
在一些实现方式中,被添加到损失函数的附加项是互信息(mi)项。在一些实现方式中,互信息项是模型的预测在不同组(诸如兴趣组)上的分布的相似性的度量(例如,mi项可以测量模型针对鞋子兴趣组和化妆品兴趣组中的用户的预测的总体分布之间的相似性程度)。互信息如下所示:
[0074]
l(x) mi(logits
t
,membership
t
)
[0075]
在一些实现方式中,被添加到损失函数的附加项是kullback-leibler散度项。在一些实现方式中,kullback-leibler散度项是机器学习模型预测跨属于相同用户组的多个用户子组的分布的差异的度量。在一些实现方式中,kullback-leibler散度项能够被表示为:
[0076]
l(x) xl(logitsa||logitsb)
[0077]
其中,函数kl是用户组内的两个子组a和b的连续kullback-leibler散度,并且,两个分布p和q的函数kl可以写为kl(p||q)=∑
x
p(x)log(p(x)/q(x))。
[0078]
在针对子模型220、230和240中的每一个修改损失函数之后,在训练数据集上训练子模型。取决于具体实现方式,子机器学习模型的训练过程可以是监督的、无监督的或半监督的,并且也可以包括调整与模型相关联的多个超参数(被称为超参数调谐的过程)。
[0079]
一旦机器学习模型(或子模型)被训练,数字组件分发系统110就能够基于由用户评估装置170(或在用户评估装置170内实现的机器学习模型)预测的一个或更多个用户特性来选择数字组件。例如,假设属于子组“化妆品”的男性用户通过客户端设备106提供搜索查询“面霜”以获得搜索结果页面和/或指定搜索结果的数据和/或与搜索查询相关的文本、可听内容或其他视觉内容。假设搜索结果页面包括由除了生成并提供搜索结果页面的实体之外的实体提供的数字组件的槽。在客户端设备106上运行的基于浏览器的应用107生成对数字组件槽的组件请求112。数字组件分发系统110在接收到组件请求112之后,将包括在组件请求112中的信息作为输入提供给由用户评估装置170实现的机器学习模型。机器学习模型在处理输入之后生成一个或更多个用户特性的预测作为输出。例如,子机器学习模型220基于通过优化修改的损失函数而学习的参数,将客户端设备106的用户正确地预测为男性。因此,数字组件提供者110能够选择与被指定用于分发给男性的面霜相关的数字组件。在选择之后,所选择的数字组件被发送到客户端设备106以在搜索结果页面中与搜索结果一起
呈现。
[0080]
图3是基于修改的损失函数来分发数字组件的示例过程300的流程图。过程300的操作在下面被描述为由图1和图2中描述和描绘的系统的组件执行。下文仅出于说明目的而描述过程300的操作。过程300的操作能够由任何适当的设备或系统(例如,任何适当的数据处理装置)执行。过程300的操作还能够被实现为存储在可以是非暂时性的计算机可读介质上的指令。指令的执行促使一个或更多个数据处理装置执行过程300的操作。
[0081]
识别损失函数,损失函数生成表示模型在训练期间寻求优化的性能测量的损失(310)。在一些实现方式中,如参考图1和图2所描述的,数字组件分发系统110能够包括用户评估装置170,其能够实现机器学习模型(或称为子机器学习模型的多个机器学习模型)以基于包括在组件请求112中的信息来预测用户特性。例如,除了诸如指示提交组件请求112的国家或地区的地理信息的其他信息、或者提供将显示数字组件112的环境的上下文的其他信息(例如,组件请求的一天中的时间、组件请求的一周中的一天、将显示数字组件的客户端设备106的类型,诸如移动设备或平板设备)之外,组件请求112包括与客户端设备106相关联的用户组相对应的用户组标识符,。
[0082]
修改损失函数(320)。在一些实现方式中,通过向损失函数添加附加项来修改损失函数,附加项减少性能测量跨全部由相同组标识符表示的不同用户组中的差异。为了解决类别不平衡的问题,机器学习模型(或子机器学习模型)被训练以优化通过向损失函数添加附加项来修改的损失函数,这减少了性能测量跨全部由相同组标识符表示的不同用户组中的差异。两个损失项(标准损失和附加项)之间的相对加权能够通过将乘数分别应用于一个或两个项来调整。
[0083]
在一些实现方式中,被添加到损失函数的附加项是误差正则化项,其在跨特定用户组内的多个子组的训练过程期间针对每个错误预测惩罚机器学习模型,使得机器学习模型在训练数据集的分布上泛化。在其他实现方式中,被添加到损失函数的附加项是散度最小化项,如果在机器学习模型的预测输出的分布与正确标注(ground truth)之间存在差异,则散度最小化项惩罚机器学习模型。下面进一步解释误差正则化项和散度最小化项。
[0084]
例如,附加项能够是损失方差项,其是第一子组中的第一用户的损失与用户组内的所有子组中的所有用户的平均损失的平方差。在另一示例中,附加项能够是最大加权损失差异项,其是特定用户组内的一个子组中的所有用户与特定用户组内的所有子组中的所有用户之间的用户损失的最大加权差。在另一示例中,附加项能够是粗略损失方差项,其是用户组内的子组的损失之间的平方差的平均值。在另一示例中,附加项能够是hsic正则化项,其是以非参数方式且独立于不同用户子组中的用户分布的跨不同用户子组的损失差。类似地,其他附加项能够是互信息项和kullback-leibler散度项,kullback-leibler散度项是机器学习模型预测跨属于相同用户组的多个用户子组的分布的差异的测量。
[0085]
使用修改的损失函数来训练模型(330)。例如,在修改子机器学习模型220、230和240中的每一个的损失函数之后,在训练数据集上训练子机器学习模型。取决于具体实现方式,子机器学习模型的训练过程可以是监督的、无监督的或半监督的,并且也可以包括调整与模型相关联的多个超参数(被称为超参数调谐的过程)。
[0086]
接收对数字组件的请求(340)。在一些实现方式中,请求包括不同用户组中的特定组的给定组标识符。例如,如果客户端设备106的用户使用基于浏览器的应用107来加载包
括一个或更多个数字组件槽的网站,则基于浏览器的应用107能够针对一个或更多个数字组件槽中的每一个生成组件请求112并发送,其可以由数字组件分发系统110接收。
[0087]
将训练后的模型应用于包括在请求中的信息,以生成没有包括在请求中的一个或更多个用户特性(350)。例如,数字组件分发系统110在接收到组件请求112之后,将包括在组件请求112中的信息作为输入提供给由用户评估装置170实现的机器学习模型。机器学习模型在处理输入之后,生成一个或更多个用户特性的预测作为输出。
[0088]
基于由训练后的模型生成的一个或更多个用户特性来选择一个或更多个数字组件(360)。例如,假设属于子组“化妆品”的男性用户通过客户端设备106提供搜索查询“面霜”以获得搜索结果页面和/或指定搜索结果的数据和/或与搜索查询相关的文本、可听内容或其他视觉内容。假设搜索结果页面包括用于数字组件的槽。在客户端设备106上运行的基于浏览器的应用107生成对数字组件槽的组件请求112。数字组件分发系统110在接收到组件请求112之后,将包括在组件请求112中的信息作为输入提供给由用户评估装置170实现的机器学习模型。机器学习模型在处理输入之后,生成一个或更多个用户特性的预测作为输出。例如,子机器学习模型220基于通过优化修改的损失函数而学习的参数,将客户端设备106的用户正确地预测为男性。因此,数字组件提供者110能够选择与具有指示数字组件应当分发给男性的分发标准的面霜相关的数字组件。
[0089]
所选择的一个或更多个数字组件被发送到客户端设备(370)。例如,在由数字组件分发系统110基于预测的用户特性选择数字组件之后,所选择的数字组件被发送到客户端设备106以用于呈现。
[0090]
除了上面的描述之外,可以向用户提供控件,所述控件允许用户关于本文描述的系统、程序或特征是否以及何时可以使得能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)以及是否从服务器向用户发送内容或通信进行选择。另外,特定数据可以在其被存储或使用之前以一种或更多种方式被处理,使得个人可识别信息被移除。例如,可以处理用户的身份,使得不能针对用户确定个人可识别信息,或者,可以在获得位置信息的情况下将用户的地理位置泛化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可以控制收集关于用户的什么信息、如何使用所述信息以及向用户提供什么信息。
[0091]
图4是能够用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个可以例如使用系统总线450互连。处理器410能够处理用于在系统400内执行的指令。在一个实现方式中,处理器410是单线程处理器。在另一实现方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420中或存储设备430上的指令。
[0092]
存储器420存储系统400内的信息。在一个实现方式中,存储器420是计算机可读介质。在一个实现方式中,存储器420是易失性存储器单元。在另一实现方式中,存储器420是非易失性存储器单元。
[0093]
存储设备430能够为系统400提供大容量存储。在一个实现方式中,存储设备430是计算机可读介质。在各种不同的实现方式中,存储设备430能够包括例如硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)或一些其他大容量存储设备。
[0094]
输入/输出设备440为系统400提供输入/输出操作。在一个实现方式中,输入/输出设备440能够包括网络接口设备(例如,以太网卡)、串行通信设备(例如,rs-232端口)和/或无线接口设备(例如,802.11卡)中的一个或更多个。在另一实现方式中,输入/输出设备能够包括驱动器设备,其被配置为接收输入数据并将输出数据发送到其他输入/输出设备,例如键盘、打印机和显示设备370。然而,也能够使用其他实现方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
[0095]
尽管已经在图4中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实现方式能够在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实现,或者在它们中的一个或更多个的组合中实现。
[0096]
电子文档(为简洁起见,将其简称为文档)不一定对应于文件。文档可以存储在保存其他文档的文件的一部分中,存储在专用于所讨论的文档的单个文件中,或者存储在多个协作文件中。
[0097]
本说明书中描述的主题和操作的实施例能够在数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实现,或者在它们中的一个或更多个的组合中实现。本说明书中描述的主题的实施例能够实现为一个或更多个计算机程序,即,计算机程序指令的一个或更多个模块,其编码在计算机存储介质上,用于由数据处理装置执行或控制数据处理装置的操作。可替代地或另外地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置以由数据处理装置来执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或更多个的组合,或者被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或更多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是一个或更多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备),或者被包括在一个或更多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备)中。
[0098]
本说明书中描述的操作能够被实现为由数据处理装置对存储在一个或更多个计算机可读存储设备上或从其他源接收的数据执行的操作。
[0099]
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、片上系统或前述项中的多个或组合。所述装置能够包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,所述装置还能够包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或更多个的组合的代码。装置和执行环境能够实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
[0100]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且其能够以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境的其他单元。计算机程序可以但
不必对应于文件系统中的文件。程序能够存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或更多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协作文件(例如,存储一个或更多个模块、子程序或代码部分的文件)中。计算机程序能够被部署为在一个计算机上或在位于一个站点处或分布在多个站点上并通过通信网络互连的多个计算机上执行。
[0101]
本说明书中描述的过程和逻辑流程能够由执行一个或更多个计算机程序的一个或更多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也能够由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也能够被实现为专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))。
[0102]
作为示例,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或更多个存储器设备。通常,计算机还将包括用于存储数据的一个或更多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦节以从其接收数据或将数据传输到其或两者。然而,计算机不需要具有这样的设备。此外,计算机能够嵌入在另一设备中,例如,仅举几例,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器能够由专用逻辑电路补充或并入专用逻辑电路中。
[0103]
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)以及用户能够通过其向计算机提供输入的键盘和指向设备(例如,鼠标或轨迹球)的计算机上实现。也能够使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而向用户的客户端设备上的网络浏览器发送网页。
[0104]
本说明书中描述的主题的实施例能够在计算系统中实现,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过所述图形用户界面或web浏览器与本说明书中描述的主题的实现进行交互),或者包括一个或更多个这样的后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。
[0105]
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并通常通过通信网络进行交互。客户端与服务器的关系借助于在各个计算机上运行且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,html页面)发
送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从所述用户接收用户输入的目的)。能够在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
[0106]
虽然本说明书包含许多具体实现方式细节,但是这些不应被解释为对任何发明或可能要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本说明书中在单独实施例的上下文中描述的特定特征也能够在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也能够单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上文可以将特征描述为以特定组合起作用并且甚至最初如此要求保护,但是在一些情况下能够从组合中删除来自所要求保护的组合的一个或更多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
[0107]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在特定情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,应当理解,所描述的程序组件和系统通常能够一起集成在单个软件产品中或封装到多个软件产品中。
[0108]
因此,已经描述了主题的特定实施例。其它实施例在以下权利要求书的范围内。在一些情况下,权利要求中记载的动作能够以不同的顺序执行,并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。在特定实现方式中,多任务和并行处理可以是有利的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献