CN109800885A - 针对黑盒机器学习模型的规则确定 - Google Patents

针对黑盒机器学习模型的规则确定 Download PDF

Info

Publication number
CN109800885A
CN109800885A CN201811070584.4A CN201811070584A CN109800885A CN 109800885 A CN109800885 A CN 109800885A CN 201811070584 A CN201811070584 A CN 201811070584A CN 109800885 A CN109800885 A CN 109800885A
Authority
CN
China
Prior art keywords
rule
machine learning
black box
learning model
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811070584.4A
Other languages
English (en)
Inventor
P·古普塔
S·沃玛
P·阿加瓦尔
N·普里
B·克里希纳默西
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN109800885A publication Critical patent/CN109800885A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开内容的各实施例涉及针对黑盒机器学习模型的规则确定。描述了针对黑盒机器学习模型(BBMLM)的规则确定。这些规则由解释系统确定以描述BBMLM的操作以将对BBMLM的输入与BBMLM的观察到的输出相关联,并且不需要知道由BBMLM在操作中使用以进行这些关联的逻辑。为了确定这些规则,解释系统最初生成代理黑盒模型以仅基于指示输入和观察到的输出的数据来模仿BBMLM的行为,因为被实际使用的逻辑对系统不可用。解释系统通过使用遗传算法组合基于代理黑盒模型的输出而被标识的条件来生成描述BBMLM的操作的规则。这些规则被输出作为if‑then语句,if‑then语句被配置有被形成作为条件的列表的if部分和具有关联的观察到的输出的指示的then部分。

Description

针对黑盒机器学习模型的规则确定
技术领域
本公开内容的各实施例涉及针对黑盒机器学习模型的规则确定。
背景技术
计算系统中的机器学习和人工智能(AI)使用正变得普遍。实际上,“智能”算法(涉及某种程度的机器学习或AI的算法)的实现方式存在于很多纵向行业中。这些算法例如存在于医学、金融、成像、电子商务、音频处理等中。从广义上讲,存在两种类型的机器学习算法。这些算法的第一种类型基于相对简单的公式,并且因此通常是可解释的。该第一类型的示例包括线性回归、逻辑回归、决策树等。这些算法的一个优点是它们的操作可以被可视化并且因此被人类解释。举例来说,针对线性回归模型而被学习的权重使得分析人员能够确定模型在做出决策时使用的不同数据属性的相对重要性。因此可以容易地证明由根据该第一类型的算法配置的模型做出的决定,例如,分析人员可以通过指示确定的权重偏离某些属性值的程度来解释该决定,以使得这些模型能够实现该决定。
与第一类型的算法相反的是基于能够表示非线性函数的公式的第二类型。该第二类型的算法的示例包括神经网络、随机森林、梯度增强树等。这些算法的一个优点是它们能够在数据中对比第一类型的算法更复杂的模式建模,并且因此通常关于大多数数据集来实现比第一类型更高的准确度。然而,实现这种更高准确度水平的权衡是模型可解释性。例如,神经网络通常包括具有不同激活和辍学(dropout)的隐藏层,并且随机森林可能具有数千棵树,其中最终决策是组合由这些树中的每个树做出的各个预测的函数。这样的模型可以被认为是“黑盒”,因为这些模型在操作期间用于产生输出的逻辑在很大程度上是未知的。关于黑盒模型如何产生输出的可解释性的缺乏可能导致用户不信任这样的模型,并且使得与这样的模型的输出相关的未来规划变得困难。这是因为,由于这些模型的逻辑未知,因此分析人员无法可靠地预测这样的模型的输出。由于缺乏可解释性,某些类型的机器学习模型根本没有被用于其他方面可能有用的应用。
发明内容
为了克服这些问题,在数字媒体环境中利用针对黑盒机器学习模型的规则确定。这些规则由解释系统确定以描述黑盒机器学习模型的操作,以将模型的输入与模型的观察到的输出相关联,并且不需要知道模型在操作中使用以进行这些关联的逻辑。为了确定这些规则,解释系统最初获取指示黑盒机器学习模型的输入和观察到的输出的数据。解释系统生成代理黑盒模型,以基于获取的数据模仿来黑盒机器学习模型的行为。
此外,解释系统利用由代理黑盒模型提供的概率来针对黑盒机器学习模型的观察到的输出生成条件。关于这些概率,代理黑盒模型针对给定输入实例输出黑盒机器学习模型将每个观察到的输出与输入实例相关联的概率。生成的条件各自是输入实例的数据属性的组合和值或值的范围,例如,来自根据概率与观察到的输出相关联的输入实例。然后,解释系统通过使用遗传算法组合这些条件来生成描述黑盒机器学习模型的操作的规则。然后,规则被输出作为if-then语句,if-then语句被配置有被形成为条件列表的if部分和具有相关联的观察到的输出的指示的then部分。
本“发明内容”以简化的形式介绍了一些概念,这些概念将在下面的“具体实施方式”中被进一步描述。因此,本“发明内容”并非旨在标识所要求保护的主题的必要特征,也并非旨在用于帮助确定所要求保护的主题的范围。
附图说明
参考附图描述详细描述。
图1是可操作以采用本文中描述的技术的示例实现方式中的环境的图示;
图2描绘了其中图1的基于学习的递送系统确定描述机器学习的模型的操作的规则的示例实现方式;
图3描绘了被配置为呈现针对黑盒机器学习模型的确定的规则的示例用户界面;
图4A和图4B描绘了其中确定描述黑盒机器学习模型的操作的规则的示例实现方式中的过程;
图5描绘了其中基于指示用来优化选择的至少一个优化因子的输入来确定用于选择规则子集的选择技术的示例实现方式中的过程;以及
图6示出了包括可以被实现为参考图1至图5而被描述和/或利用的任何类型的计算设备以实现本文中描述的技术的实施例的示例设备的各种组件的示例系统。
具体实施方式
概述
计算系统中的机器学习和人工智能(AI)使用正变得普遍。然而,某些类型的机器学习的模型操作以按照人类无法解释的方式产生输出。这样的模型可以被认为是“黑盒”,因为这些模型在操作期间用于产生输出的逻辑在很大程度上是未知的。用于实现这些模型的算法的示例包括神经网络、随机森林、梯度增强树等。这些算法的一个优点是它们能够在数据中对比通常人类可解释的算法(线性回归、逻辑回归、决策树)更复杂的模式建模,并且因此通常关于大多数数据集可以获取比人类可解释的算法更高的准确度。关于黑盒模型如何产生输出的可解释性的缺乏可能导致用户不信任这样的模型,并且使得与模型的输出相关的未来规划变得困难。由于缺乏可解释性,某些类型的机器学习的模型根本没有用于其他方面可能有用的应用。
为了克服这些问题,在数字媒体环境中利用针对黑盒机器学习模型的规则确定。考虑一个示例,其中使用黑盒机器学习模型将客户端设备用户分类为不同的类,并且其中根据模型指示的类向不同的客户端设备用户供应不同的数字营销内容。在这种情况下,根据所描述的技术而被配置的解释系统确定人类可解释的规则并且解释该黑盒机器学习模型如何将不同的客户端设备用户分类到不同的类中。这些规则是人类可解释的,部分原因在于它们的配置格式。
具体地,由解释系统确定的规则被形成为if-then语句,if-then语句包括被形成为导致观察到的输出的输入属性值列表的if部分。这些if-then语句还包括then部分,then部分包括由输入属性值产生的观察到的输出的指示。参考上面讨论的用户分类示例,可以生成if-then语句,if-then语句包括被形成为产生一个观察到的分类的用户特征(例如,特定年龄和特定位置)的列表的if部分。在这个示例中,一个观察到的分类由语句的then部分指示。由解释模块形成为if-then语句的这种人类可解释规则的一个示例是“如果10≤年龄<25并且州=加利福尼亚,则预测class(类)_1”。这里,“10≤年龄<25”和“州=加利福尼亚”是被组合的输入的属性值,并且“class_1”是观察到的输出。
根据所描述的技术,解释系统确定这些规则,而不需要知道黑盒机器学习模型在操作中使用以将模型的观察到的输出与模型的输入相关联的逻辑。实际上,解释系统不知道模型的类型(例如,神经网络、随机森林、梯度提升树等)或黑盒是否包括单个模型或不同机器学习的模型的集合。相反,解释系统仅从模型的输入和输出确定规则。为此,解释系统最初获取指示黑盒机器学习模型的输入和观察到的输出的数据。基于该数据,解释系统生成代理黑盒模型以模仿黑盒机器学习模型的行为。代理黑盒模型针对输入数据的实例输出黑盒机器学习模型将实例与每个不同输出相关联的概率。例如,假定观察到黑盒机器学习模型具有四种不同的输出。在这个示例中,代理黑盒模型关于输入数据的给定实例输出四个概率,四个概率指示黑盒机器学习模型将四个不同的观察到的输出中的每个观察到的输出与输入数据的给定实例相关联的概率。具有最高概率的观察到的输出被认为是黑盒机器学习模型将其与输入实例相关联的输出。
一般而言,被部署用于提供服务(例如,将用户分类为用于目标内容传递、图像识别等的类)的实际黑盒机器学习模型没有用于确定用于系统的有限的一组可确定规则。这是因为,这些模型可以每天改变,部署这些模型的系统可以训练新的黑盒机器学习模型并且每天部署新训练的模型。因此,当利用解释系统来确定某个日期范围内的黑盒机器学习模型的规则时,通常要分析多于一个模型的行为。然而,解释系统被配置为提供单组规则,用于解释整个日期范围内的黑盒机器学习模型(多个模型)的行为。为此,代理黑盒模型被配置为在日期范围的过程中模仿黑盒机器学习模型的行为,从而使得解释系统可以确定整个日期范围内的规则。在至少一些场景中,部署不同机器学习模型的集合以提供服务。在这些场景中,代理黑盒模型有效地模仿不同模型的这种组合的行为,从而使得可以确定解释集合行为的规则。
解释系统利用由代理黑盒模型提供的概率来针对黑盒机器学习模型的观察到的输出生成条件。这些条件各自包括属性的指示以及导致观察到的输出的属性的值或值的范围。使用遗传算法,解释系统将这些条件组合以形成候选规则。然后基于下面详细描述的技术过滤这些候选规则以产生规则子集,然后输出这些规则子集以描述黑盒机器学习模型的操作。在一个或多个实现方式中,输出前k个规则(例如,前5个或用户选择的数目的规则)以呈现(例如,显示或可听地输出)给客户端设备用户。备选地或附加地,可以将整个规则子集插入到客户端设备可以呈现给用户的文档(例如,电子表格)中。
因此,解释系统支持若干优点。一个优点是,解释系统经由规则来解释人类可解释形式的黑盒机器学习模型的操作。这有效地使得人员(例如,数据分析员、营销人员、系统开发人员)能够理解黑盒机器学习模型如何在给定某些输入数据的情况下实现特定输出是。理解这些黑盒机器学习模型如何实现输出可以在各种场景中被使用。例如,这种理解允许关于黑盒机器学习模型的输出做出计划,并且因此实现与并入这些模型的系统(例如,保险协议、合同、法律等)结合而被使用的可预测的人类工具。如果没有透明地说明这些模型的运作方式以及它们将产生的输出的可预测性,则这些仪器的使用在很大程度上是不可能的。这种理解还可以调试这些模型。这些规则允许这种模型的开发人员通常根据规则来确定模型在给定特定输入时产生特定输出的原因。在模型产生的输出不是期望行为的情况下,开发人员可以调节用于训练模型的数据(或添加与期望行为对应的训练数据),并且重新训练模型以使得其以期望的方式运行。实际上,解释黑盒机器学习模型如何运作的能力具有多种优势。
术语描述
如本文中使用的,术语“规则”通常是指if-then语句,其中if部分包括由AND运算符连接的多个属性值,并且then部分对应于响应于在输入到模型的数据的实例中出现在if部分中指示的值而保持为真的观察到的输出。AND运算符是至少两个属性值之间的连接。举例来说,“10≤年龄<25”并且“州=加利福尼亚”是导致模型输出第一内容项“content_1”的指示的条件,则根据描述技术而被配置的规则可以具有格式“IF 10≤年龄<25并且州=加利福尼亚,THEN预测content_1”。
如本文中并且与遗传算法相关地被使用的,术语“个体”是指用于捕获遗传算法的结果的数据结构。在一个或多个实现方式中,这些个体被配置为比特串,其中激活的比特指示遗传算法对可选项的选择,例如条件(以形成规则)、规则(以形成一组规则)等。
如本文中并且还与遗传算法相关地被使用的,术语“适应度函数”是指用于关于一个或多个因素(诸如解决方案的精度和覆盖)来评估由遗传算法产生的解决方案的目标函数。如本文中使用的,“精度”是指规则或规则集的正确性,例如规则或集合是否正确地预测观察到的输出。术语“覆盖”是指规则或规则集适用的整个输入数据体的量。
在以下讨论中,首先描述可以采用本文中描述的技术的示例环境。然后描述可以在示例环境以及其他环境中被执行的示例实现方式的细节和过程。因此,示例过程的执行不限于示例环境,并且示例环境不限于示例过程的执行。
示例环境
图1是示例实现方式中的环境100的图示,环境100可操作以针对如本文所述的黑盒机器学习模型采用规则确定。所示环境100包括经由网络108被彼此通信地耦合的服务提供方系统102、客户端设备104和基于学习的递送系统106。
可用于实现服务提供方系统102、客户端设备104和基于学习的递送系统106的计算设备可以按照各种方式被配置。例如,计算设备可以被配置为台式计算机、膝上型计算机、移动设备(例如,假定诸如平板计算机或移动电话等手持配置)等。因此,计算设备的范围可以从具有大量存储器和处理器资源的完整资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,移动设备)。另外,计算设备可以表示多个不同设备,诸如企业用于“在云上”执行操作的多个服务器,如关于图6被进一步描述的。
服务提供方系统102被示出为包括服务管理器模块110,服务管理器模块110表示提供经由网络108可访问的服务的功能,这些服务可用于使得产品或服务可用于消费者。例如,服务管理器模块110可以公开由客户端设备104的通信模块112经由网络108可访问的网站或其他功能。例如,通信模块112可以被配置为经由网络108从服务提供方系统102获取数据的浏览器、网络使能应用等。通信模块112使用该数据来使得客户端设备104的用户能够与服务提供方系统102通信以获取与产品或服务对应的信息,例如,当服务提供方系统102是新闻服务时的具有新文章的网页。
为了使客户端设备用户的信息个性化,服务提供方系统102可以采用基于学习的递送系统106。尽管基于学习的递送系统106的功能被示出为与服务提供方系统102分开,但是该功能还可以作为服务提供方系统102的一部分被合并,进一步被拆分为其他实体,等等。基于学习的递送系统106包括学习管理器模块114,学习管理器模块114至少部分地以计算设备的硬件而被实现,以生成黑盒机器学习模型116和解释模块118,解释模块118表示确定用于机器学习的模型(例如,黑盒机器学习模型116)的规则的功能。在一个或多个实现方式中,这些规则被配置为if-then语句,if-then语句指定黑盒模型在给定特定输入数据的情况下输出的数据。
黑盒机器学习模型116是解释模块118确定这些规则的模型的一个示例。在一个或多个实现方式中,黑盒机器学习模型116表示将数字内容120递送到客户端设备的功能,数字内容120被示出为被存储在存储装置122中,以试图引起客户端设备用户使用服务提供方系统102的产品或服务转换。根据所描述的技术,黑盒机器学习模型116已经学会以能够基于一种或多种机器学习技术来优化转换的方式传送数字内容120。例如,黑盒机器学习模型116可以包括基于一个或多个损失函数和反向传播而被训练的神经网络,以便以最大化转换的方式优化数字内容120到客户端设备的递送。
数字内容120可以采用各种形式,诸如图像124、视频126等。基于学习的递送系统106可以基于指示要递送的图像124或视频126的黑盒机器学习模型116的输出来向不同的客户端设备递送不同的图像124或视频126,输出基于描述相关联的客户端设备用户和机器学习的“规则”的数据而被生成。例如,数字内容120可以作为个性化用户体验(例如,数字营销活动、个性化网页等)的一部分被提供给客户端设备,包括客户端设备104。然后,可以基于数字内容120的提供来生成数据,以描述哪些用户接收了数字内容120的哪些项目(例如,结合特定的个性化体验)以及用户的特征。例如,这一生成的数据可以被包括在用户简档数据128中。
在不脱离本文中描述的技术的精神或范围的情况下,用户简档数据128还可以采用各种形式。一般而言,用户简档数据128(其被示出为被存储在存储装置130中)描述了不同客户端设备用户的特征。该信息通常可以用于基于相关客户端设备用户的特定特征来定制被提供给客户端设备的信息。为此,用户简档数据128被描绘为具有用户简档132,用户简档132表示包括描述个体客户端设备用户的数据的简档,例如,向客户端设备104认证的用户。所示示例描绘了用户简档132,用户简档132具有位置信息134(例如,GPS坐标、IP地址)、设备信息136(例如,设备形状因子、设备操作系统)、人口统计信息138(例如,年龄、性别、种族)、供应的内容140(例如,已经递送给用户简档132所描述的用户的数字内容120的记录)、以及附加信息142(例如,收入)。用户简档可以被配置为在不脱离本文中描述的技术的精神或范围的情况下包括或可以访问不同的信息。用户简档数据128用椭圆被进一步示出以指示存储装置130被配置为存储多个用户的信息。
从用户简档数据128,解释模块118确定规则,这些规则指定黑盒机器学习模型116在给定特定输入数据的情况下输出的数据。通常,机器学习的模型用于确定要输出哪些数据的逻辑是未知的。这是因为,机器学习的模型被配置为通过训练过程来学习(包括将模型暴露于训练数据,将模型的输出与预期输出相比较,并且基于比较来提供反馈)如何确定(或生成)要被输出的数据。这与被编程为基于条件(或多个条件)的发生而执行动作的算法形成对比。利用这些条件算法,开发人员知道或者可以基于查看源代码来确定计算设备执行动作的原因,例如,由于算法中存在的语句指示计算设备响应于检测到触发条件而执行动作。
因此,解释模块118被配置为描述黑盒机器学习模型116的行为而不访问黑盒机器学习模型116的代码或可执行程序。相反,解释模块118通过利用黑盒机器学习模型116的输入和输出来确定指示行为的规则。特别地,解释模块118利用由黑盒机器学习模型116访问的用户信息作为输入以及关于发送给信息所描述的用户的确定的数字内容120的信息。在所示环境100的上下文中,解释模块118利用用户简档数据128,用户简档数据128基于每个用户来包括描述性属性,诸如位置信息134、设备信息136、人口统计信息138和附加信息142。解释模块118还结合被选择用于传送给特定用户的数字内容120的指示来分析该信息,因为用户简档132还包括描述被供应给用户的数字内容120的供应的内容140信息。
通过确定指示机器学习的模型如何确定或生成输出的if-then规则,解释模块118可以提供关于所做出的选择或作为机器学习的模型的输出而被生成的信息的至少一些透明度和可预测性。这样做的一个优点是,用户可以更熟悉利用机器学习的系统。由于这种增加的舒适度,用户可能更愿意采用基于机器学习的技术,例如,购买包含机器学习的模型的设备或服务。这种透明度的另一优点是,它允许人类制定与技术相关的计划。考虑一个示例,其中机器学习的模型基于描述贷款申请人的大量数据来确定是拒绝还是接受申请人的贷款申请。鉴于规则产生if-then语句,所描述的技术使得信贷员能够从申请人的申请的有限信息确定申请人是否可能接收贷款。这种透明性和可预测性的另一优点是,它允许以一种在没有透明度和可预测性的情况下不可能的方式来管理包含机器学习(例如,自动驾驶车辆)的系统,例如,与保险协议、法律等相结合。
在考虑了示例环境之后,现在考虑根据一个或多个实现方式的用于在数字媒体环境中的黑盒机器学习模型的规则确定的技术的一些示例细节的讨论。
针对黑盒机器学习模型的规则确定
图2描绘了示例实现方式200,其中图1的基于学习的递送系统确定描述机器学习的模型的操作的规则。图示的示例200包括来自图1的解释模块118,其被描绘为获取用户简档数据128。
如上所述,用户简档数据128包括描述客户端设备用户的信息(例如,位置信息134、设备信息136、人口统计信息138等)以及向这些用户供应的内容140的指示。因此,用户简档数据128包括输入到解释模块118正在确定规则的黑盒机器学习模型的数据和从其输出的数据。利用输入和输出数据允许解释模块118确定用于不同类型的黑盒机器学习模型的规则,诸如分类器、神经网络、基于回归的模型、遗传算法等。此外,输入和输出数据允许解释模块118确定用于多模型黑盒配置的这些规则,诸如基于输入数据和/或期望的输出的特性而选择性地利用的黑盒机器学习模型的集合。
解释模块118被示出为具有代理模型生成模块202。代理模型生成模块202表示从用户简档数据128生成代理黑盒模型204的功能。例如,代理模型生成模块202将代理黑盒模型204生成作为神经网络或作为不同机器学习的模型的集合。作为其一部分,代理模型生成模块202使用用户简档数据128训练代理黑盒模型204以模仿正在确定规则的黑盒机器学习模型,例如,黑盒机器学习模型116。在一个或多个实现方式中,一旦被训练,代理黑盒模型204被配置为接收用户数据的实例作为输入并且输出该实例与黑盒机学习模型116的不同的观察到的输出相关联的概率,例如,由实例数据指示的用户被示出特定营销活动的每个不同数字内容120项的概率。具有最高概率的观察到的输出对应于黑盒机器学习模型116的输出。
作为示例,黑盒机器学习模型116可以被配置用于分类以将输入实例与不同类(模型的输出)相关联,从而使得可以基于相关的类来采取与实体相关的某个动作。在这个示例中,类可以对应于数字营销活动的不同内容项,并且输入实例可以对应于描述个体客户端设备用户的数据。鉴于此,黑盒机器学习模型116被配置为基于输入实例数据将客户端设备用户分类为与不同内容项中的特定一个对应的类。根据该分类,标识特定内容项以递送给客户端设备用户。与黑盒机器学习模型116相反,代理黑盒模型204被训练以输出概率,例如,黑盒机器学习模型116将每个不同类与客户端设备用户相关联的概率。然后,代理黑盒模型204的输出可以被用于选择具有最高概率的类。参考继续分类示例,该选择的类对应于上述特定内容项,其是黑盒机器学习模型116的输出。因此,在给定相同的输入实例的情况下,代理黑盒模型204被训练以提供输出,输出被映射到黑盒机器学习模型116的输出。
在所示示例200中,解释模块118还包括模型操纵模块206,模型操纵模块206表示一旦被训练则操纵代理黑模型204的功能。例如,模型操纵模块206被配置为修改笨哦输入到代理黑盒模型204的数据,从而使得它可以用于确定指示黑盒机器学习模型116如何操作的规则。模型操纵模块206被描绘为获取训练用户数据208,训练用户数据208被暴露给代理黑盒模型204。最初,模型操纵模块206预处理训练用户数据208以对训练用户数据208分类,并且从而产生分类的输入数据210。
对于已经分类的属性,模型操纵模块206保持数据未修改。分类属性的示例是位置,诸如国家。具有国家粒度的位置属性已经分类,因为客户端设备在很大程度上被确定为在给定时间位于单个国家。例如,基于当前的全球定位系统(GPS)信息,客户端设备可以与国家“印度”相关联。与这种分类属性相反,一些属性是数字的并且可以跨越一系列数字,例如年龄、收入等。模型操纵模块206被配置为预处理训练用户数据208的这种数字属性以形成类别。在一个或多个实现方式中,模型操纵模块206使用基于熵的合并来将属性的可允许值的范围拆分为离散区间以形成类别,每个区间用作类别。考虑一个示例,其中年龄是属性,其值可以从10到85(包括性的)。在这个示例中,模型操纵模块206可以使用基于熵的合并来将年龄属性拆分为三个不同的类别,从而使得针对10≤年龄<25的范围定义第一年龄类别,针对25≤年龄<60的范围定义第二年龄类别,针对60≤年龄≤85的范围定义第三年龄类别。
模型操纵模块206将分类的输入数据210提供给代理黑盒模型204作为输入。特别地,模型操纵模块206根据分类的输入数据210形成训练实例,从而使得每个训练实例包括所考虑的属性的分类值。模型操纵模块206将这些实例作为输入提供给代理黑盒模型204。考虑其中年龄、收入和州是所考虑的属性的示例。在这个示例中,模型操纵模块206可以形成具有如下分类值的输入实例,诸如“10≤年龄<25”,“100≤收入<200”和“州=加利福尼亚”。基于从模型操纵模块206接收这些实例作为输入,代理黑盒模型204输出实例输出概率212。
参考训练用户数据208的单个输入实例,实例输出概率212包括针对黑盒机器学习模型116的每个观察到的输出(根据用户简档数据128确定的观察到的输出)而被确定的概率。换言之,对于单个输入实例,代理黑盒模型204输出一组概率——每个观察到的输出的值,其指示黑盒机器学习模型116将该输出与单个输入实例相关联的概率。此外,代理黑盒模型204被配置为针对输入到代理黑盒模型204的训练用户数据208的每个实例输出一组这些概率。这样的一个示例是黑盒机器学习模型116将由输入数据实例指示的用户与特定营销活动的每个不同数字内容120项相关联的概率。如上所述,具有最高概率的观察到的输出表示黑盒机器学习模型116的输出。
基于实例输出概率212,条件标识模块214生成条件216。为了生成条件216,条件标识模块214在被输入到代理黑盒模型204的训练用户数据208的实例上迭代,并且引用实例输出概率212。当在这些实例上迭代时,条件标识模块214确定分类属性的不同值在实现观察到的输出时的贡献。在一个或多个实现方式中,条件标识模块214确定不同值的边际贡献。
再次考虑其中输入实例具有年龄、收入和位置(在这个示例中为州)的分类属性并且其中至少一个输入实例具有分类值“10≤年龄<25”、“100≤收入<200”、以及“州=加州”的示例。还假定在这个示例中的观察到的输出是内容项的两种不同配置,例如,第一内容项(content_1)和第二内容项(content_2)。因此,代理黑盒模型204输出第一和第二内容项中的每个内容项的概率,诸如黑盒机器学习模型116将示例实例与第一内容项相关联的概率为69%,并且黑盒机器学习模型116将示例实例与第二内容项相关联的概率为31%。这可以被标记为“(.69,.31)”,通过可变级别表示法被配置为“(content_1,content_2)”。无论如何,条件标识模块214被配置为在训练用户数据208的每个实例上迭代,以确定年龄值“10≤年龄<25”对实现第一内容项的贡献。条件标识模块214还在训练用户数据208的输入实例上迭代,以确定位置值“州=加利福尼亚”对实现第一内容项的贡献。
条件标识模块214使用实例输出概率212来计算分类属性的不同值对观察到的输出的贡献。在一个或多个实现方式中,条件标识模块214被配置为扰动训练用户数据208的每个实例并且在给定实例的位置训练本地忠实的线性模型。由此,条件标识模块214确定不同类别值的权重,例如,“州=加利福尼亚”在实现第一内容项时的权重。然后,条件标识模块214使用这些权重作为分类属性的不同值的边际贡献值。
在一个或多个实现方式中,条件标识模块214在训练用户数据208的选择性输入实例上迭代,而不是在每个输入实例上遍历。这提高了条件标识模块214确定分类属性的不同值的贡献的效率。特别地,条件标识模块214确定具有相同属性值的实例的贡献一次,从而使得具有特定属性值的输入实例之一由条件标识模块214处理。具有那些特定属性值的任何其他输入实例没有被处理以计算值对观察到的输出的贡献。
在至少一些场景中,条件标识模块214计算具有特定属性值的第一遇到的实例的贡献(作为权重)。对于每个随后遇到的实例,条件标识模块214确定是否已经处理了具有相同属性值的任何输入实例。如果确定条件标识模块214已经计算了具有与该随后遇到的实例相同的属性值的输入实例的贡献,则条件标识模块214不针对随后遇到的实例的计算属性值贡献。然而,如果确定条件标识模块214尚未计算出具有与该随后遇到的实例相同的属性值的实例的贡献,则条件标识模块214确实计算随后遇到的实例的属性值贡献。
例如,条件标识模块214确定具有值“10≤年龄<25”、“100≤收入<200”和“州=加利福尼亚”的属性的单个输入实例的值贡献。然而,一旦针对该实例确定了这些值的贡献,条件标识模块214就不确定具有值“10≤年龄<25”、“100≤收入<200”和“州=加利福尼亚”的属性的其他输入实例的值贡献。这提高了生成与涉及计算每个实例的贡献的过程相关的条件216的效率。这部分地是因为某些值和这些值的组合(导致具有相同属性值的输入实例)在用户简档数据128中可能是共同的。无论如何,条件标识模块214基于这些贡献计算来输出条件216。概括地说,所示条件216表示条件列表,其中条件包括单个属性和值(对于分类属性)或值的范围(对于分类的数字属性)。
所示示例200还包括条件组合模块218,条件组合模块218部分地通过组合条件216来表示生成确定的黑盒规则220的功能。根据本文中描述的技术,“规则”是if-then语句,其中if部分包括由AND运算符连接的多个属性值,并且其中then部分对应于响应于出现在if部分中指示的值的实例中而保持为真的观察到的输出。AND运算符是至少两个属性值之间的连接。举例来说,如果条件组合模块218确定“10≤年龄<25”并且“州=加利福尼亚”是第一内容项的条件,则生成格式为“IF 10≤年龄<的25并且州=加利福尼亚,THEN预测content_1”的一个候选规则。
为了生成确定的黑盒规则220,条件组合模块218最初能够组合保持为真以生成候选规则的条件216的连接(被形成为上面讨论的if-then语句)。如下面更详细讨论的,最终选择可以生成的有限候选规则集作为确定的黑盒规则220。除了形成这些候选规则之外,条件组合模块218还被配置为计算每个生成的规则的精度度量和覆盖率度量。规则Ri的精度度量指示整个训练用户数据208的规则的正确性。在一个或多个实现方式中,条件组合模块218根据以下等式计算精度度量:
这里,术语correct-cover(Ri)表示规则Ri正确地指示观察到的输出的一组实例。形式上,correct-cover(Ri)表示一组实例xi,从而使得xi中cover(Ri)并且规则的预测标签yi与代理黑盒模型204针对实例xi的观察到的输出预测相匹配。参考上面讨论的示例,预测标签包括“content_1”和“content_2”。相反,术语cover(Ri)表示规则Ri在训练用户数据208中覆盖的一组实例。这些是Ri的条件为真的实例,例如具有与Ri的if部分相匹配的值的实例,而不管then部分的值如何(其可以匹配或不匹配规则Ri)。
此外,在以下讨论中也称为“len”的规则RiRi的长度对应于为规则设置的前提条件Ci的基数。如上所述,条件Ci是属性和属性可以采取的允许类别值或值的范围的组合,诸如“10≤年龄<25”或“州=加利福尼亚”。在一个或多个实现方式中,条件组合模块218根据以下等式计算长度:
Length(Ri)=Ri中的条件的数目
现在转到根据所描述的技术的覆盖度量的讨论。规则Ri的覆盖度量指示规则考虑代理黑盒模型204的给定输出的量。例如,覆盖度量被配置为指示规则Ri考虑与示例“内容_1”相关联的多少训练数据(由于对于相应输入实例具有最高计算概率的content_1而关联)。在一个或多个实现方式中,条件组合模块218根据以下等式计算覆盖度量:Output-Coverage(Ri)=len(correct-cover(Ri))/具有预测标签yi的训练数据中的实例的#
这里,条件组合模块218确定训练用户数据208中具有预测标签yi的实例的数目。“具有预测标签”表示与其他标签(其他可能观察到的输出)相比,与观察到的输出之一对应的预测标签与实例以最高计算概率相关联。再次考虑这样的示例,其中观察到的输出仅是分别具有标签“content_1”和“content_2”的第一内容项和第二内容项。当与content_1相关联的实例的计算概率大于与content_2相关联的实例的计算概率时,诸如当与content_1相关联的概率为69%并且与content_2相关联的概率为31%时,实例被称为“具有预测标签“content_1””。在这种情况下,该实例被称为具有标签“content_1”。
在一个或多个实现方式中,条件组合模块218生成确定的黑盒规则220(可能的候选规则子集)以适当精确并且具有合适的覆盖,如精度度量和覆盖度量所指示的。实际上,条件组合模块218可以优化规则生成,诸如以便产生最高的精度和覆盖度量。不是具有单个预定义的最优性概念,而是条件组合模块218可以被配置为将最优性的概念作为输入,诸如指示以下操作的输入:生成规则以获取最高覆盖度量(不考虑精度),生成规则以获取最高精度度量(不考虑覆盖),生成规则以获取覆盖和精度的某种组合,基于某个其他最优性概念(例如,最快计算时间)来生成规则,等等。
另外,条件组合模块218被配置为生成包括属性的多于一个分类值的规则。因此,条件组合模块218被配置为不仅组合条件216的“AND”,而且组合涉及分类属性的条件中的“OR”,从而使得它允许属性采取多个可能的值。考虑一个示例,其中存在用于国家的分类属性,并且其中“10≤年龄<25”、“国家=US”并且“国家=印度”是第一内容项的条件。然后,条件组合模块218能够形成候选规则,诸如以下内容以覆盖该场景:“IF 10≤年龄<25并且国家=美国、印度,THEN预测content_1”。
为了生成确定的黑盒规则220使得它们适当精确并且还具有合适的覆盖,条件组合模块218在一个或多个实现方式中采用遗传算法。特别地,条件组合模块218采用遗传算法来学习这些适当精确的并且在给定条件216下覆盖黑盒规则。这样做,条件组合模块218关于每个观察到的输出(在分类场景中)来部署遗传算法,每个观察到的输出对应于类。以这种方式,条件组合模块218针对观察到的输出中的每个输出学习观察到的输出级规则,例如,基于每个输出的规则。
结合部署遗传算法,条件组合模块218生成数据结构以捕获遗传算法的结果。这些数据结构通常可以称为“个体”。然而,在讨论中,这些数据结构被称为候选规则数据指示。在一个或多个实现方式中,条件组合模块218将这些候选规则指示配置为表示由遗传算法确定的候选规则的比特串。此外,条件组合模块218生成这些候选规则指示以具有与生成的条件216的数目对应的多个比特。例如,如果条件标识模块214生成条件216中的100个,则每个候选规则指示被配置为长度为100个比特的比特串。
鉴于此,考虑其中由条件组合模块218关于第一观察到的输出(例如,“content_1”)而部署的遗传算法产生候选规则指示“100100000...000”的示例。这个示例候选规则指示指示包括可以分别表示为“condition1”和“condition4”的条件216中的第一和第四条件的结合的规则。根据候选规则指示,条件组合模块218可以产生对应的if-then语句。给定示例候选规则指示,条件组合模块218产生语句“如果condition1和condition4,则预测content_1”。条件组合模块218还配置候选规则指示,从而使得与分类属性对应的条件(例如,国家)被允许具有多于一个值(例如,“美国”或“印度”)。
通常,遗传算法的部署涉及指定至少一个“适应度函数”以评估由遗传算法产生的每个解决方案(一组候选规则指示)。为此,条件组合模块218被配置为基于解决方案适应度的一个或多个度量(例如,适应度函数)来评估由所部署的遗传算法产生的解决方案。基于这些评估,条件组合模块218选择解决方案作为确定的黑盒规则220的基础。条件组合模块218根据选择的解决方案的候选规则指示生成确定的黑盒规则220。在一个或多个实现方式中,条件组合模块218至少部分地根据以下适应度函数来测量遗传算法解决方案的适应度:
如上所述,Output-Coverage(Ri)是规则Ri关于观察到的输出之一而提供的覆盖的度量,并且术语Precision(Ri)表示在整个训练用户数据208上的规则Ri的正确性的度量。这里,使用上述适应度函数计算的适应度度量F1-Score(Ri)对应于精度度量Precision(Ri)和覆盖度量Output-Coverage(Ri)的调和平均值。该适应度度量仅在解决方案的精度和覆盖方面指示解决方案的适用性;该指标并不在其他因素方面指示适用性。
在一个或多个实现方式中,条件组合模块218还可以在其他因素(诸如长度和重叠)方面测量解决方案的适应度。一般而言,条件组合模块218使用长度因子与适应度度量相结合以相对于具有较大长度的规则(例如,结合连接的更多条件)来奖励具有相对较短长度的规则(例如,结合连接的较少条件)。由此,条件组合模块218可以输出具有比不使用长度因子时长度更短的规则。规则相对较短的一个优点是,与较长规则相比,人类更容易解释较短规则。因此,具有相对较短长度的这些规则的呈现使得客户端设备用户能够更容易理解黑盒机器学习模型116如何操作。
条件组合模块218还被配置为解决规则重叠,其在相同条件的连接包括针对不同的观察到的输出的规则时发生,例如,在条件的连接包括针对content_1并且相同连接条件包括针对content_2的规则的情形中。根据所描述的技术,只有一个这样的规则是正确的。条件组合模块218通过解析该规则重叠来减少确定的黑盒规则220中的歧义。为了解决这种重叠,条件组合模块218被配置为逐渐优化用于精度的规则(例如,过度覆盖),因为对更高精度的优化导致选择正确复制黑盒机器学习模型116的行为的规则,如精度度量所指示的。
为了考虑精度和覆盖、规则长度和重叠中的每个,条件组合模块218使用考虑这些因素中的每个因素的适应度函数来评估由所部署的遗传算法产生的解决方案。在一个或多个实现方式中,条件组合模块218根据以下适应度函数测量由遗传算法产生的解决方案的适应度:
这里,术语“crind”表示由遗传算法产生的候选规则指示之一,被形成为上述比特串。此外,规则Ri是由候选规则指示crind表示的规则。术语N表示比特串的长度,并且因此也对应于由条件标识模块214生成的条件216的数目。术语“crind中的有效比特的#”表示指示作为规则Ri的一部分被包括的条件的比特数,换言之,规则中的条件数。
条件组合模块218被配置为将遗传算法部署用于多次迭代,例如,其通常被称为与遗传算法相关的“代”。条件组合模块218使用由上一代遗传算法产生的候选规则指示作为观察到的输出之一的规则集。条件组合模块218关于每个观察到的输出来部署遗传算法用于多次迭代以产生对应的规则集。条件组合模块218可以基于适应度度量来中断该迭代产生,诸如当适应度度量达到合适的阈值时。
在针对每个观察到的输出而生成对应的规则集之后,条件组合模块218过滤这些规则以移除它们中的至少一些。例如,条件组合模块218从利用遗传算法在观察到的输出上生成的整个规则集中移除冗余规则。在一个或多个实现方式中,条件组合模块218最初按照精度的降序对遗传算法生成的规则排序,如精度度量所指示的。条件组合模块218然后向下迭代排序的规则列表。对于每个规则,条件组合模块218检查规则是否是已经添加到唯一规则列表的更精确规则的子集。如果当前考虑的规则不是已经添加的更精确规则的子集,则条件组合模块218将当前考虑的规则添加到唯一规则列表。然而,如果当前考虑的规则是已经添加的更精确规则的子集,则条件组合模块218使当前考虑的规则离开唯一规则列表。然后,条件组合模块218考虑来自精确排序的规则列表的下一规则。“子集”表示如果规则组R2正确覆盖的输入数据的每个实例也被规则组R1正确覆盖,则规则组R2是规则组R1的子集。
在一个或多个实现方式中,条件组合模块218还从唯一规则列表中选择与每个观察到的输出相关的规则子集以针对这个观察到的输出来描述黑盒机器学习模型116的行为。条件组合模块218可以基于不同的选择技术选择与每个观察到的输出相关的规则子集。用于选择这些子集的选择技术可以部分地基于指示对不同优化基础之一的偏好的用户输入。备选地或附加地,条件组合模块218可以基于配置设置来使用特定的一种选择技术。举例来说,不同的选择技术可以选择规则以优化选择的规则的覆盖,优化选择的规则的上述F1得分,用选择的规则优化第二级遗传算法,等等。
优化选择的规则的覆盖的示例选择技术被配置为优化观察到的输出级覆盖。在一个或多个实现方式中,条件组合模块218提供覆盖阈值和与观察到的输出之一对应的预滤波规则作为覆盖优化选择算法的输入。举例来说,如果期望选择规则的高覆盖水平,则可以将覆盖阈值设置为90%。根据该算法,条件组合模块218按照精度的降序对与一个观察到的输出对应的预滤波规则排序。然后,条件组合模块218从最精确的规则开始迭代规则。所考虑的每个规则被添加到观察到的输出的一组最终规则,直到获取覆盖阈值。在获取覆盖阈值之后,条件组合模块218停止考虑针对一个观察到的输出的预滤波规则。条件组合模块218关于每个观察到的输出相关来采用该覆盖优化选择算法,并且组合由此产生的最终规则列表以形成确定的黑盒规则220。
优化适应度度量(例如,F1得分)的示例选择技术被配置为针对观察到的输出中的每个选择最优规则子集。在一个或多个实现方式中,条件组合模块218将与输出之一对应的预滤波规则作为输入提供给适应度优化选择算法。根据适应度优化选择算法,条件组合模块218使用自下而上的动态方法选择规则的最优子集。最初,条件组合模块218分析单个规则。对于每个后续迭代,条件组合模块218逐个递增分析的多个规则。鉴于此,每次迭代都需要分析一条新规则。
因此,对于每次迭代,存在待分析的新规则和在先前步骤中分析的最优规则子集。该最优子集不包括所分析的每个规则。相反,最优子集仅包括条件组合模块218基于分析而确定保留的规则。在一个或多个实现方式中,条件组合模块218执行分析以确定在当前迭代中考虑的新规则是否要被添加到最优子集。为了做出该确定,条件组合模块218针对两个不同的规则子集计算适应度度量(例如,上述F1得分),一个规则子集包括正在考虑的新规则并且一个子集不包括该新规则。条件组合模块218保留具有较高适应度度量(较高F1得分)的子集。与较低适应度度量相比,较高适应度度量指示规则子集在描述黑盒机器学习模型116的行为时的更好适应性。在一个或多个实现方式中,条件组合模块218还被配置为控制最优子集的大小。在这些实现方式中,条件组合模块218将子集中的规则的数目限制为预定义数目,诸如根据用于设置预定义数目的用户输入而定义的数目。
基于第二级遗传算法的优化来选择规则的示例选择技术基于每个观察到的输出水平来部署。以与先前讨论的遗传算法类似的方式,条件组合模块218生成数据结构以捕获第二级遗传算法的结果。在遗传算法的上下文中,通常,这些数据结构被称为“个体”。然而,在下面的讨论中,结合第二级遗传算法产生的数据结构被称为选择规则指示。根据所描述的技术,选择的规则指示是比特数等于在由先前遗传算法生成的规则被过滤(例如,以移除冗余规则)之后剩余的规则数量的比特串。在该上下文中,具有比特串“1100000...00”的选择规则指示对应于仅选择第一规则R1和第二规则R2的规则集。这个规则集涵盖了R1和R2所涵盖的每个实例。在任何情况下,条件组合模块218被配置为部署第二级遗传算法以选择规则并且使用集合适应度度量来评估其解决方案。在一个或多个实现方式中,条件组合模块218根据以下等式计算设定适应度度量:
这里,术语表示包括Ri形式的规则的规则集,并且能够由选择规则指示来表示。术语分别对应于观察到的输出上的规则集的精度度量和规则集的覆盖度量。在一个或多个实现方式中,条件组合模块218根据以下等式计算规则集的精度度量:
这里,术语表示规则集R中的每个规则的Ri的正确覆盖的并集。此外,术语表示规则集R中每个规则的Ri的覆盖(不是正确的覆盖)。以上在初始遗传算法的讨论中描述了Ri的覆盖和正确的覆盖。现在转到根据所描述的技术在观察到的输出上的规则集的覆盖度量。在一个或多个实现方式中,条件组合模块218根据以下等式计算规则集的覆盖度量:
/具有预测标记yi的训练数据中的实例的#
这里,术语yi表示规则集R中的规则预测的观察到的输出。无论采用何种特定选择技术,条件组合模块218从过滤后的规则中选择以获取规则的优化子集,这些规则被输出作为确定的黑盒规则220。
在一个或多个实现方式中,条件组合模块218对选择的规则排序,从而使得确定的黑盒规则220与在较不相关的规则之前列出的更相关的规则一起输出。条件组合模块218被配置为基于适应度度量(例如,F1得分)来确定相关性。为了对规则排序,条件组合模块218针对列表中的第一位置选择具有最佳适应度度量的选择的规则,例如最高F1得分。然后,条件组合模块218对剩余的选择的规则迭代,以确定哪个选择的规则最大程度地改善了适应度度量,例如,哪个选择的规则最大程度地增加了F1得分。这个确定的规则被添加到列表中的第二位置。条件组合模块218继续该操作,直到每个选择的规则被添加到列表中的位置。结果,确定的黑盒规则220包括规则的排序列表。然后可以经由客户端设备输出这些规则以呈现给用户。在这种情况下,考虑图3。
图3描绘了被配置为呈现针对黑盒机器学习模型的确定的规则的示例用户界面300。示出的示例300包括被描绘为可显示的对话框的规则呈现界面302,但是在本文中描述的技术的精神或范围内可以预期其他配置。
根据所描述的技术,规则呈现界面302被生成以呈现确定的黑盒规则220中的一个或多个。例如,客户端设备104显示规则呈现界面302以呈现界面中包括的一个或多个确定的黑盒规则220。在所示示例300中,例如,描绘了显示“前5个”确定的黑盒规则220的规则呈现界面302。根据上述排序,这些可以被标识为“前5个”确定的黑盒规则220。应当理解,在不脱离本文中描述的技术的精神或范围的情况下,规则呈现界面可以被配置为呈现与五个不同数目的规则。实际上,规则呈现界面可以被配置为呈现前k个规则,其中k是大于零的任何数目的规则并且直到确定的黑盒规则220的数目。
在不脱离本文中描述的技术的精神或范围的情况下,可以按照不同方式输出确定的黑盒规则220。例如,基于学习的递送系统106可以将确定的黑盒规则220中的每个格式化并且插入到电子表格或逗号分隔值(“CSV”)文档中。然后,客户端设备104可以使用确定的黑盒规则220中的每个来显示电子表格或CSV文档以呈现给客户端设备用户。备选地或附加地,客户端设备104可以被配置为以其他方式输出确定的黑盒规则220,诸如经由与客户端设备104相关联的一个或多个扬声器可听地输出。由于如上所述的配置if-then语句,输出规则是人类可解释的,而无论规则的具体输出方式如何。
所示示例300还描绘了与呈现的规则304一起呈现的各种信息。除了if-then语句之外,可以在不脱离所描述的技术的精神或范围的情况下将规则与其他信息一起呈现。在该上下文中,考虑到排名第二的规则306。除了规则语句308(根据上述if-then格式配置)之外,第二排序规则306被描绘为具有排名310和健康得分312。排名310指示规则在如上所述排序的确定的黑盒规则220的有序列表中的位置。适应度得分312指示针对每个规则计算的适应度度量。在一个或多个实现方式中,适应度得分312对应于如上针对排名第二的规则306而计算的F1得分,该得分也可以与对规则排序一起使用。
规则呈现界面302还被描绘为具有规则属性框314,其可以包括与规则属性框314相关地显示的规则的属性。这样的属性可以包括关于预测类对应于什么的指示(在黑盒机器学习模型116对输入实例分类的情况下)。举例来说,该指示可以指示作为类的一部分的预测导致特定内容的递送。参考所示示例300,属性框指示对客户端设备用户的“类别9”的预测导致针对客户端设备用户浮出“彩色横幅广告”。实际上,可以根据一个或多个实现方式结合对应的规则来呈现排名、适应度得分和属性。然而,应当理解,在不脱离本文中描述的技术的精神或范围的情况下,确定的黑盒规则220可以按照不同的方式和/或按照不同的信息而被呈现。
已经讨论了针对黑盒机器学习模型的规则确定的技术的示例细节,现在考虑一些示例过程来说明这些技术的其他方面。
示例程序
本部分描述在一个或多个实现方式中针对黑盒机器学习模型的规则确定的示例过程。过程的各方面可以用硬件、固件或软件或它们的组合而被实现。这些过程被示出为一组块,这些块指定由一个或多个设备执行的操作,并且不必限于所示的用于执行各个块的操作的顺序。在至少一些实现方式中,过程由合适地配置的设备执行,诸如图1的基于学习的递送系统106,其使用学习管理器模块114,包括使用其解释模块118。
图4A和图4B描绘了示例过程400,其中确定描述黑盒机器学习模型的操作的规则。获取指示黑盒机器学习模型的输入和输出的数据(框402)。根据本文中描述的原理,数据还指示黑盒机器学习模型将其与输入相关联的输出。作为示例,解释模块118获取用户简档数据128。用户简档数据128包括指示黑盒机器学习模型116的输入的数据,例如,位置信息134、设备信息136、人口统计信息138和附加信息142。用户简档数据128还包括指示从黑盒机器学习模型116观察到的输出的数据。此外,用户简档数据128包括供应的内容140,其包括指示黑盒机器学习模型116将其与输入实例(例如,特定用户简档132)相关联的输出的数据。
生成代理黑盒模型以基于获取的数据来模仿黑盒机器学习模型的行为(框404)。作为示例,代理模型生成模块202基于获取的用户简档数据128生成代理黑盒模型204以模仿黑盒机器学习模型116。
基于获取的数据生成训练数据(框406)。根据本文中讨论的原理,部分地通过对输入的未分类属性分类并且形成具有由获取的数据指示的属性值的输入实例来生成训练数据。作为示例,基于在框402处获取的数据生成训练用户数据208。模型操纵模块206对训练用户数据208的未分类属性分类以产生分类输入数据210。例如,模型操纵模块206将数字属性(例如,收入、年龄等)的允许值的范围转换为分类属性。在一个或多个实现方式中,模型操纵模块206使用基于熵的合并将这些属性转换为分类属性。模型操纵模块206还形成具有由在框402处获取的数据指示的属性值的输入实例。这样做,模型操纵模块206为实例选择有限的属性集并且根据这个获取的数据来设置属性值。
将输入实例暴露给代理黑盒模型(框408)。根据本文中讨论的原理,代理黑盒模型为每个实例输出黑盒机器学习模型将实例与黑盒机器学习模型的观察到的输出相关联的概率。作为示例,模型操纵模块206将在框406处形成的具有分类的输入数据210的输入实例暴露给代理黑盒模型204。代理黑盒模型204输出实例输出概率212。实例输出概率212针对每个输入实例包括黑盒机器学习模型116将实例与模型的每个观察到的输出相关联的概率。
为观察到的输出生成条件(框410)。根据本文中讨论的原理,每个条件包括属性标识符和对应的属性值或值的范围之一。举例来说,条件标识模块214基于实例输出概率212来针对黑盒机器学习模型116的每个观察到的输出生成条件216。每个条件216包括属性标识符的组合(例如,“国家”、“年龄”、“收入”等)以及标识的属性的值或值的范围,诸如“国家=印度”(值)和“100≤收入<200”(值的范围)。过程400在图4A的“A”处继续到图4B。
对针对观察到的输出而生成的条件组合以生成描述黑盒机器学习模型的行为的规则(框412)。根据本文中讨论的原理,使用遗传算法组合条件。举例来说,条件组合模块218组合针对观察到的输出而被生成的至少两个条件216以生成描述黑盒机器学习模型116的行为的规则。为了将条件216组合成规则,条件组合模块218采用如上面更详细描述的遗传算法。
移除冗余规则(框414)。举例来说,条件组合模块218从在框412处通过遗传算法产生的规则中移除任何冗余规则。例如,条件组合模块218在由遗传算法产生的规则上迭代,并且移除与已经考虑到的规则子集对应的规则。基于至少一种选择技术为每个观察到的输出选择剩余规则子集(框416)。举例来说,条件组合模块218选择在框414处讨论的移除之后剩余的规则子集。条件组合模块218基于一种或多种选择技术来选择该规则子集。
基于适应度度量来对选择的规则排序(框418)。根据本文中讨论的原理,适应度度量指示与观察到的输出相关的规则的精度和覆盖。举例来说,条件组合模块218针对在框416处选择的规则计算适应度度量(例如,F1得分),并且然后根据适应度度量对规则排序。
输出选择的规则(框420)。根据本文中讨论的原理,根据框418的排序对输出规则排序。此外,将选择的规则输出格式化为if-then语句。作为示例,客户端设备104输出确定的黑盒规则220。例如,客户端设备104经由规则呈现接口302显示确定的黑盒规则220中的一个或多个。在至少一些实现方式中。客户端设备104根据在框418处排序的顺序来输出规则。另外,确定的黑盒规则220被输出作为if-then语句,其示例是“IF 10≤年龄<25并且州=加利福尼亚,THEN预测content_1”。尽管在上述示例中显示了确定的黑盒规则220,但是这些规则可以按照其他方式被输出,诸如被可听地输出。
图5描绘了示例过程500,其中基于指示至少一个优化因子的输入来确定用于选择规则子集的选择技术以优化选择。接收指示至少一个优化因子的输入以优化为了描述黑盒机器学习模型的行为而被生成的规则的选择(框502)。作为示例,客户端设备104接收指示至少一个优化因子的输入以优化关于图4的框416所讨论的规则选择。优化因子的示例包括最高覆盖度量、最高适应度度量、最高精度度量、进一步遗传算法优化(平衡优化)等。
确定使用多种不同选择技术中的一种以基于接收的输入来选择规则(框504)。举例来说,条件组合模块218确定使用多种不同选择技术中的一种以基于在框502处接收的输入来选择规则。例如,条件组合模块218确定使用上述覆盖优化选择技术、适应度度量优化选择技术或二级遗传算法选择技术之一来执行在框416处描述的选择。
确定的选择技术被采用以选择针对黑盒机器学习模型的每个观察到的输出而被生成的规则的子集(框506)。举例来说,在框504处被确定的选择技术被使用以选择针对黑盒机器学习模型116的每个观察到的输出而被生成的规则的子集,如关于图4的框416所讨论的。
已经根据一个或多个实现方式描述了示例过程,现在考虑可以用于实现本文中描述的各种技术的示例系统和设备。
示例系统和设备
图6总体上在600处示出了包括示例计算设备602的示例系统,示例计算设备602表示可以实现本文中描述的各种技术的一个或多个计算系统和/或设备。这通过包括学习管理器模块114和通信模块112而被说明。计算设备602可以是例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其他合适的计算设备或计算系统。
如图所示的示例计算设备602包括彼此通信地被耦合的处理系统604、一个或多个计算机可读介质606和一个或多个I/O接口608。虽然未被示出,但是计算设备602还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传输系统。系统总线可以包括不同总线结构的中的任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何一个的处理器或本地总线。还构想了各种其他示例,诸如控制和数据线。
处理系统604表示使用硬件执行一个或多个操作的功能。因此,处理系统604被示出为包括可以被配置为处理器、功能块等的硬件元件610。这可以包括在硬件中被实现为专用集成电路或使用一个或多个半导体形成的其他逻辑器件。硬件元件610不受形成它们的材料或其中采用的处理机构的限制。例如,处理器可以包括半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行的指令可以是电子可执行的指令。
计算机可读存储介质606被示出为包括存储器/存储装置612。存储器/存储装置612表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储组件612可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储组件612可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。计算机可读介质606可以按照各种其他方式被配置,如下面进一步描述的。
输入/输出接口608表示允许用户向计算设备602输入命令和信息并且还允许使用各种输入/输出设备将信息呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容或其他传感器)、相机(例如,其可以采用可见或不可见的波长(诸如红外频率)将运动识别为不涉及触摸的手势)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备602可以按照下面进一步描述的各种方式被配置以支持用户交互。
本文中可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文中使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或它们的组合。本文中描述的技术的特征是与平台无关的,这表示这些技术可以在具有各种处理器的各种商业计算平台上被实现。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或通过其传输。计算机可读介质可以包括可以由计算设备602访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以指代与仅信号传输、载波或信号本身相比能够持久和/或非暂时存储信息的介质和/或设备。因此,计算机可读存储介质指的是非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质等硬件和/或以适于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据等信息的方法或技术而被实现的存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储器、硬盘、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者适于存储所需信息并且可以由计算机访问的其他存储设备、有形介质或制品。
“计算机可读信号介质”可以是被配置为诸如经由网络向计算设备602的硬件传输指令的指信号承载介质。信号介质通常可以在调制数据信号中实施计算机可读指令、数据结构、程序模块或其他数据,诸如载波、数据信号或其他传输机制。信号介质还包括任何信息传递介质。术语“调制数据信号”表示以使得能够在信号中对信息编码的方式而被设置或改变它的一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质以及诸如声学、RF、红外和其他无线介质等无线介质。
如前所述,硬件元件610和计算机可读介质606表示可以在一些实施例中被用于实现本文中描述的技术的至少一些方面(诸如执行一个或多个指令)的以硬件形式而被实现的模块、可编程设备逻辑和/或固定设备逻辑。硬件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅或其他硬件的其他实现的组件。在这个上下文中,硬件可以执行由指令定义的任务和/或由硬件实施的逻辑的作为处理设备操作,以及作为用于存储用于执行的指令的硬件操作,例如,先前描述的计算机可读存储介质。
也可以采用前述的组合来实现本文中描述的各种技术。因此,软件、硬件或可执行模块可以被实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件610实施的一个或多个指令和/或逻辑。计算设备602可以被配置为实现与软件和/或硬件模块对应的特定指令和/或功能。因此,由计算设备602作为软件可执行的模块的实现可以至少部分地以硬件实现,例如,通过使用处理系统604的计算机可读存储介质和/或硬件元件610。指令/或功能可以由一个或多个制品(例如,一个或多个计算设备602和/或处理系统604)可执行/操作以实现本文中描述的技术、模块和示例。
本文中描述的技术可以由计算设备602的各种配置支持,并且不限于本文中描述的技术的特定示例。该功能还可以全部或部分地通过使用分布式系统而被实现,诸如经由平台616在“云”614上被实现,如下所述。
云614包括和/或表示用于资源618的平台616。平台616将云614的硬件(例如,服务器)和软件资源的底层功能抽象化。资源618可以包括在远离计算设备602的服务器上执行计算机处理时可以被使用的应用和/或数据。资源618还可以包括通过因特网和/或通过订户网络(诸如蜂窝或Wi-Fi网络)而被提供的服务。
平台616可以将资源和功能抽象化以将计算设备602与其他计算设备连接。平台616还可以用于将资源的缩放抽象化以提供对应的规模级别,以满足对经由平台616实现的资源618的需求。因此,在互连的设备实施例中,本文中描述的功能的实现方式可以分布在整个系统600上。例如,功能可以部分地在计算设备602上以及经由抽象云614的功能的平台616而被实现。
结论
尽管已经用结构特征和/或方法动作专用的语言描述了本发明,但是应理解,在所附权利要求中限定的本发明不必限于所描述的具体特征或动作。相反,具体特征和动作被公开作为实现所要求保护的发明的示例形式。

Claims (20)

1.一种在用来描述黑盒机器学习模型的操作的数字媒体环境中由计算设备实现的方法,所述方法包括:
由所述计算设备生成代理黑盒模型以基于指示对黑盒机器学习模型的输入和所述黑盒机器学习模型的观察到的输出的数据来模仿所述黑盒机器学习模型的行为,所述数据还指示所述黑盒机器学习模型将其与所述输入相关联的所述观察到的输出;
由所述计算设备将所述输入的未分类属性拆分为分类属性;
由所述计算设备通过根据由所述数据指示的所述输入将值与所述分类属性相关联来形成输入实例;
由所述计算设备将所述输入实例暴露给所述代理黑盒模型;
由所述计算设备从所述代理黑盒模型接收所述黑盒机器学习模型将所述输入实例与所述观察到的输出相关联的概率;
由所述计算设备基于所述概率来生成用于所述观察到的输出的条件,条件包括分类属性的标识符和来自与观察到的输出相关联的输入实例的属性值或值的范围;
由所述计算设备通过将生成的所述条件与遗传算法组合来生成用于所述观察到的输出的规则,所述规则包括生成的所述条件中的至少两个条件的组合和相关联的所述观察到的输出的指示。
2.根据权利要求1所述的方法,其中所述规则被配置为if-then语句,在所述if-then语句中生成的所述条件的组合形成语句的if部分,并且相关联的所述观察到的输出形成所述语句的then部分。
3.根据权利要求1所述的方法,其中所述观察到的输出是所述黑盒机器学习模型与由所述数据指示的所述输入的实例相关联的类。
4.根据权利要求1所述的方法,其中将生成的所述条件与所述遗传算法组合包括:
计算用于由所述遗传算法产生的规则的迭代的适应度度量;以及
基于所述适应度度量来中止通过所述遗传算法的规则产生的所述迭代。
5.根据权利要求4所述的方法,其中所述适应度度量是由所述遗传算法产生的用于迭代的所述规则的至少精度度量和覆盖度量的函数。
6.根据权利要求5所述的方法,其中所述适应度度量还是由所述遗传算法产生的用于所述迭代的所述规则的规则长度的函数。
7.根据权利要求5所述的方法,其中所述适应度度量还是由所述遗传算法产生的用于所述迭代的所述规则的规则重叠的函数。
8.根据权利要求1所述的方法,还包括在不知道由所述黑盒机器学习模型在操作中使用以将所述观察到的输出与所述输入相关联的逻辑的情况下生成所述代理黑盒模型。
9.根据权利要求1所述的方法,还包括选择生成的所述规则的子集以描述所述黑盒机器学习模型的所述操作。
10.根据权利要求9所述的方法,其中规则的所述子集基于被配置为优化所述规则的覆盖的选择技术而被选择。
11.根据权利要求9所述的方法,其中规则的所述子集基于被配置为优化作为所述规则的精度和覆盖两者的函数的适应度度量的选择技术而被选择。
12.根据权利要求9所述的方法,其中规则的所述子集基于利用迭代地产生选择的所述规则的子集的第二遗传算法并且基于适应度度量来中断迭代产生的选择技术而被选择。
13.根据权利要求9所述的方法,还包括:
基于所述规则的精度度量和覆盖度量来对选择的所述子集中的生成的所述规则排序;
根据所述排序来生成选择的所述子集中的所述规则的有序列表;以及
将规则的所述有序列表输出为描述所述黑盒机器学习模型的所述操作。
14.根据权利要求13所述的方法,其中规则的所述有序列表被插入到文档中以用于向客户端设备用户呈现。
15.一种系统,包括:
代理模型生成模块,其至少部分地在至少一个计算设备的硬件中被实现以在不知道由黑盒机器学习模型在操作中使用以将输入与所述黑盒机器学习模型的观察到的输出相关联的逻辑的情况下生成代理黑盒模型以模仿所述黑盒机器学习模型的行为;
模型操纵模块,其至少部分地在所述至少一个计算设备的硬件中被实现以:
将所述输入的未分类属性拆分为分类属性;
通过根据描述所述黑盒机器学习模型的所述输入的数据将值与所述分类属性相关联来形成输入实例;以及
将所述输入实例暴露给所述代理黑盒模型;
条件标识模块,其至少部分地在所述至少一个计算设备的所述硬件中被实现以标识用于所述观察到的输出的条件,所述条件部分地基于所述黑盒机器学习模型将所述输入实例与所述观察到的输出相关联的概率而被标识,所述概率被接收作为所述代理黑盒模型的输出;以及
条件组合模块,其至少部分地在所述至少一个计算设备的所述硬件中被实现以组合所述条件以形成描述所述黑盒机器学习模型的所述操作的规则。
16.根据权利要求15所述的系统,其中所述规则以人类可解释的形式描述所述黑盒机器学习模型的所述操作。
17.根据权利要求15所述的系统,其中所述条件组合模块通过使用遗传算法组合所述条件来形成所述规则。
18.根据权利要求15所述的系统,其中条件包括所述分类属性中的一个分类属性的标识符和来自基于所述概率与观察到的输出相关联的输入实例的属性值或值的范围。
19.一种在用来描述黑盒机器学习模型的操作的数字媒体环境中由至少一个计算设备实现的方法,所述方法包括:
向学习管理器提供指示黑盒机器学习模型的输入和观察到的输出的数据,所述学习管理器被配置为在不访问由所述黑盒机器学习模型在操作期间使用以将所述输入与所述观察到的输出相关联的逻辑的情况下确定描述所述黑盒机器学习模型的所述操作的规则;以及
经由规则呈现界面呈现一个或多个确定的所述规则以描述所述黑盒机器学习模型的所述操作。
20.根据权利要求19所述的方法,还包括接收指示用于从描述所述黑盒机器学习模型的所述操作的候选规则选择确定的所述规则的至少一个优化因子的输入。
CN201811070584.4A 2017-11-14 2018-09-13 针对黑盒机器学习模型的规则确定 Pending CN109800885A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/812,991 2017-11-14
US15/812,991 US11354590B2 (en) 2017-11-14 2017-11-14 Rule determination for black-box machine-learning models

Publications (1)

Publication Number Publication Date
CN109800885A true CN109800885A (zh) 2019-05-24

Family

ID=63921062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811070584.4A Pending CN109800885A (zh) 2017-11-14 2018-09-13 针对黑盒机器学习模型的规则确定

Country Status (5)

Country Link
US (1) US11354590B2 (zh)
CN (1) CN109800885A (zh)
AU (1) AU2018226397A1 (zh)
DE (1) DE102018006962A1 (zh)
GB (1) GB2568363A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914567A (zh) * 2020-07-31 2020-11-10 云南大学 人工智能判别模型的解释方法、装置、设备和存储介质
CN111967003A (zh) * 2020-07-22 2020-11-20 武汉极意网络科技有限公司 基于黑盒模型与决策树的风控规则自动生成系统及方法
CN112445837A (zh) * 2019-08-29 2021-03-05 国际商业机器公司 使用实体分辨识别重复方的系统
CN113966515A (zh) * 2019-06-13 2022-01-21 Abb瑞士股份有限公司 用于动作指示确定的系统

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
EP4138075A1 (en) 2013-02-07 2023-02-22 Apple Inc. Voice trigger for a digital assistant
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US11615331B2 (en) * 2018-02-05 2023-03-28 Accenture Global Solutions Limited Explainable artificial intelligence
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10609434B2 (en) 2018-08-07 2020-03-31 Adobe Inc. Machine-learning based multi-step engagement strategy generation and visualization
US11107115B2 (en) 2018-08-07 2021-08-31 Adobe Inc. Machine-learning based multi-step engagement strategy modification
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) * 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
JP7160201B2 (ja) * 2019-06-17 2022-10-25 日本電信電話株式会社 識別結果説明装置、識別結果説明方法、及び識別結果説明プログラム
US11810669B2 (en) 2019-08-22 2023-11-07 Kenneth Neumann Methods and systems for generating a descriptor trail using artificial intelligence
WO2021083837A1 (en) * 2019-10-30 2021-05-06 UMNAI Limited Model induction method for explainable a.i.
US11651276B2 (en) 2019-10-31 2023-05-16 International Business Machines Corporation Artificial intelligence transparency
US11055616B2 (en) * 2019-11-18 2021-07-06 UMNAI Limited Architecture for an explainable neural network
US11727284B2 (en) * 2019-12-12 2023-08-15 Business Objects Software Ltd Interpretation of machine learning results using feature analysis
FR3105863B1 (fr) 2019-12-31 2022-01-21 Bull Sas Procédé ET système de conception d’un modèle de prédiction
US20210232273A1 (en) * 2020-01-28 2021-07-29 The Western Union Company Personalized graphical user interface displays
US11900070B2 (en) 2020-02-03 2024-02-13 International Business Machines Corporation Producing explainable rules via deep learning
US11379710B2 (en) * 2020-02-28 2022-07-05 International Business Machines Corporation Personalized automated machine learning
CN111324989B (zh) * 2020-03-19 2024-01-30 重庆大学 一种基于ga-bp神经网络的齿轮接触疲劳寿命预测方法
US11507887B2 (en) 2020-03-27 2022-11-22 Cisco Technology, Inc. Model interpretability using proxy features
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
WO2022010772A1 (en) * 2020-07-07 2022-01-13 BlueOwl, LLC Systems and methods for managing vehicle operator profiles based on telematics inferences via a telematics marketplace
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11922424B2 (en) 2022-03-15 2024-03-05 Visa International Service Association System, method, and computer program product for interpreting black box models by perturbing transaction parameters

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218108A1 (en) * 2005-03-24 2006-09-28 Sergey Panfilov System for soft computing simulation
US20130096900A1 (en) * 2010-07-29 2013-04-18 Adam Usadi Methods and Systems For Machine - Learning Based Simulation of Flow
US20170039308A1 (en) * 2015-08-03 2017-02-09 Synopsys, Inc. Pre-Silicon Design Rule Evaluation
US20170243133A1 (en) * 2016-02-23 2017-08-24 At&T Intellectual Property I, L.P. Agent For Learning And Optimization Execution

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0468229A3 (en) * 1990-07-27 1994-01-26 Hnc Inc A neural network with expert system functionality
US8112301B2 (en) 2008-04-14 2012-02-07 Tra, Inc. Using consumer purchase behavior for television targeting
US8078617B1 (en) 2009-01-20 2011-12-13 Google Inc. Model based ad targeting
US20110231256A1 (en) 2009-07-25 2011-09-22 Kindsight, Inc. Automated building of a model for behavioral targeting
WO2011028902A1 (en) 2009-09-03 2011-03-10 Sumo Technologies, Llc System and method for individual sequential campaign
WO2012088623A1 (en) 2010-12-27 2012-07-05 Yahoo! Inc. Selecting advertisements for placement on related web pages
US9117174B2 (en) * 2012-09-21 2015-08-25 Sas Institute Inc. System for efficiently generating K-maximally predictive association rules with a given consequent
US20140222737A1 (en) * 2013-02-01 2014-08-07 Opera Solutions, Llc System and Method for Developing Proxy Models
US20130326375A1 (en) 2013-08-07 2013-12-05 Liveperson, Inc. Method and System for Engaging Real-Time-Human Interaction into Media Presented Online
CA2923041A1 (en) 2013-09-26 2015-04-02 Mark W. Publicover Providing targeted content based on a user's values
US11288579B2 (en) * 2014-01-28 2022-03-29 Cognizant Technology Solutions U.S. Corporation Training and control system for evolving solutions to data-intensive problems using nested experience-layered individual pool
US20150278877A1 (en) 2014-04-01 2015-10-01 Yahoo! Inc. User Engagement-Based Contextually-Dependent Automated Reserve Price for Non-Guaranteed Delivery Advertising Auction
US20160134934A1 (en) 2014-11-06 2016-05-12 Adobe Systems Incorporated Estimating audience segment size changes over time
WO2017019646A1 (en) 2015-07-24 2017-02-02 Videoamp, Inc. Sequential delivery of advertising content across media devices
US10324773B2 (en) 2015-09-17 2019-06-18 Salesforce.Com, Inc. Processing events generated by internet of things (IoT)
US10824959B1 (en) * 2016-02-16 2020-11-03 Amazon Technologies, Inc. Explainers for machine learning classifiers
US10824951B2 (en) * 2016-03-14 2020-11-03 Huawei Technologies Co., Ltd. System and method for rule generation using data processed by a binary classifier
US10956823B2 (en) * 2016-04-08 2021-03-23 Cognizant Technology Solutions U.S. Corporation Distributed rule-based probabilistic time-series classifier
TW201812646A (zh) * 2016-07-18 2018-04-01 美商南坦奧美克公司 分散式機器學習系統、分散式機器學習方法、以及產生代用資料之方法
US10540158B2 (en) 2016-07-18 2020-01-21 Google Llc Post-install application interaction
US11210583B2 (en) * 2016-07-20 2021-12-28 Apple Inc. Using proxies to enable on-device machine learning
US10735445B2 (en) * 2016-09-21 2020-08-04 Cognizant Technology Solutions U.S. Corporation Detecting behavioral anomaly in machine learned rule sets
CA3039182C (en) * 2016-11-07 2021-05-18 Equifax Inc. Optimizing automated modeling algorithms for risk assessment and generation of explanatory data
US11144825B2 (en) * 2016-12-01 2021-10-12 University Of Southern California Interpretable deep learning framework for mining and predictive modeling of health care data
US20180268291A1 (en) * 2017-03-14 2018-09-20 Wipro Limited System and method for data mining to generate actionable insights
US10581887B1 (en) * 2017-05-31 2020-03-03 Ca, Inc. Employing a relatively simple machine learning classifier to explain evidence that led to a security action decision by a relatively complex machine learning classifier
WO2018222204A1 (en) * 2017-06-02 2018-12-06 Google Llc Systems and methods for black-box optimization
WO2019022085A1 (ja) * 2017-07-24 2019-01-31 アクシオンリサーチ株式会社 対象システムの内部状態を推定する支援システム
US10311368B2 (en) * 2017-09-12 2019-06-04 Sas Institute Inc. Analytic system for graphical interpretability of and improvement of machine learning models
US11107115B2 (en) 2018-08-07 2021-08-31 Adobe Inc. Machine-learning based multi-step engagement strategy modification
US10609434B2 (en) 2018-08-07 2020-03-31 Adobe Inc. Machine-learning based multi-step engagement strategy generation and visualization
US11770569B2 (en) 2019-04-05 2023-09-26 Q'ligent Corporation Providing risk based subscriber enhancements

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218108A1 (en) * 2005-03-24 2006-09-28 Sergey Panfilov System for soft computing simulation
US20130096900A1 (en) * 2010-07-29 2013-04-18 Adam Usadi Methods and Systems For Machine - Learning Based Simulation of Flow
US20170039308A1 (en) * 2015-08-03 2017-02-09 Synopsys, Inc. Pre-Silicon Design Rule Evaluation
US20170243133A1 (en) * 2016-02-23 2017-08-24 At&T Intellectual Property I, L.P. Agent For Learning And Optimization Execution

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ENRIC JUNQUÉ DE FORTUNY 等: "Active Learning-Based Pedagogical Rule Extraction", IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS *
M. GETHSIYAL AUGASTA 等: "Reverse Engineering the Neural Networks for Rule Extraction in Classification Problems", SPRINGER *
NIKAASH PURI 等: "MAGIX: Model Agnostic Globally Interpretable Explanations", ARXIV:1706.07160V1 [ CS.AI] 22 JUN 2017 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113966515A (zh) * 2019-06-13 2022-01-21 Abb瑞士股份有限公司 用于动作指示确定的系统
CN112445837A (zh) * 2019-08-29 2021-03-05 国际商业机器公司 使用实体分辨识别重复方的系统
CN111967003A (zh) * 2020-07-22 2020-11-20 武汉极意网络科技有限公司 基于黑盒模型与决策树的风控规则自动生成系统及方法
CN111914567A (zh) * 2020-07-31 2020-11-10 云南大学 人工智能判别模型的解释方法、装置、设备和存储介质

Also Published As

Publication number Publication date
AU2018226397A1 (en) 2019-05-30
GB2568363A (en) 2019-05-15
US11354590B2 (en) 2022-06-07
GB201814706D0 (en) 2018-10-24
US20190147369A1 (en) 2019-05-16
DE102018006962A1 (de) 2019-05-16

Similar Documents

Publication Publication Date Title
CN109800885A (zh) 针对黑盒机器学习模型的规则确定
Pierson Data science for dummies
McZara et al. Software requirements prioritization and selection using linguistic tools and constraint solvers—a controlled experiment
Bergmann et al. Emulation of control strategies through machine learning in manufacturing simulations
US9720940B2 (en) Data analysis computer system and method for parallelized and modularized analysis of big data
CN108463795A (zh) 自助分类系统
Verdhan Supervised learning with python
CN115917535A (zh) 推荐模型的训练方法、推荐方法、装置及计算机可读介质
Li et al. Extraction of affective responses from customer reviews: an opinion mining and machine learning approach
Saleh Machine Learning Fundamentals: Use Python and scikit-learn to get up and running with the hottest developments in machine learning
Mukunthu et al. Practical automated machine learning on Azure: using Azure machine learning to quickly build AI solutions
Azath et al. Software effort estimation using modified fuzzy C means clustering and hybrid ABC-MCS optimization in neural network
Darias et al. Using case-based reasoning for capturing expert knowledge on explanation methods
Marjan et al. An educational data mining system for predicting and enhancing tertiary students’ programming skill
Liu et al. [Retracted] Deep Learning and Collaborative Filtering‐Based Methods for Students’ Performance Prediction and Course Recommendation
Latha et al. Product recommendation using enhanced convolutional neural network for e-commerce platform
Fernández-Pérez et al. Fuzzy multi-criteria decision making methods applied to usability software assessment: An annotated bibliography
Abuzinadah et al. Role of convolutional features and machine learning for predicting student academic performance from MOODLE data
Bobadilla et al. Wasserstein GAN-based architecture to generate collaborative filtering synthetic datasets
Pukelis et al. The opportunities and limitations of using artificial neural networks in social science research
US20230153843A1 (en) System to combine intelligence from multiple sources that use disparate data sets
Apriliani et al. SentiHotel: a sentiment analysis application of hotel services using an optimized neural network
Heumann et al. Linear Regression
Jabir et al. Big data analytics for strategic and operational decisions
CN110162714A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190524