CN114580652A - 应用于自动人工智能的项目推荐的方法和系统 - Google Patents
应用于自动人工智能的项目推荐的方法和系统 Download PDFInfo
- Publication number
- CN114580652A CN114580652A CN202111437892.8A CN202111437892A CN114580652A CN 114580652 A CN114580652 A CN 114580652A CN 202111437892 A CN202111437892 A CN 202111437892A CN 114580652 A CN114580652 A CN 114580652A
- Authority
- CN
- China
- Prior art keywords
- data set
- pipeline
- preferred
- pipelines
- value
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000013473 artificial intelligence Methods 0.000 title abstract description 5
- 230000003247 decreasing effect Effects 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000010801 machine learning Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 40
- 238000009826 distribution Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 3
- 238000002790 cross-validation Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 12
- 238000013459 approach Methods 0.000 description 9
- 238000010187 selection method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000000354 decomposition reaction Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001143 conditioned effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000027294 Fusi Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009510 drug design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012252 genetic analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Generation (AREA)
Abstract
本发明涉及一种应用于自动人工智能的项目推荐的方法和系统。存储与多个流水线中的每个流水线的性能相对应并且用于多个数据集中的数据集的多个评级值。在潜在空间中确定多个数据集内的每对数据集之间的距离。该距离与后悔的预期值相对应,该后悔是在所选择的流水线针对该流水线用于第一数据集的性能被评级时所引发的。根据流水线的性能,该后悔是评级值的单调递减函数。在潜在空间中聚类多个数据集,并且识别每个聚类中的代表性数据集。响应于接收到新数据集,根据与每个所选流水线在代表性数据集上的性能相对应的一组评级值,从多个流水线中选择一组优选流水线。在该组优选流水线中处理该新数据集。
Description
技术领域
本公开一般涉及项目推荐,并且在自动人工智能(AutoAI)领域中具有特定应用。提供了用于选择优选机器学习流水线以用于处理数据集的计算机实现的方法,以及实现这样的方法的系统和计算机程序产品。相应的方法也被应用于基于网络的项目推荐器系统中。
背景技术
机器学习(ML)模型广泛用于科学和技术中,尤其应用于计算机视觉、语音识别、图像处理、医疗诊断、遗传分析、药物设计、网络故障分析和入侵者检测。机器学习技术涉及相对于用于应用的基本模型来处理来自真实世界应用的训练数据的数据集,以便训练或优化用于所讨论的应用的模型。然后,可以应用该模型以基于在该应用中生成的新(先前未见过的)数据来执行推断任务。已经开发了许多机器学习模型,包括基于人工神经网络的各种模型,诸如所谓的“深度学习”网络,以及支持向量机、贝叶斯网络、决策树模型等等。考虑到对ML应用的日益增长的需求和可用的ML模型的不断增长的数量,为不同应用选择适当模型的过程变得日益重要。AutoAI系统旨在辅助此任务,从通过选择、训练和评估模型以及调谐模型参数来准备训练数据集开始,将智能自动化应用于选择和调谐机器学习流水线的过程。
发明内容
本公开的一个方面提供了一种用于选择优选机器学习流水线以用于处理新数据集的计算机实现的方法。所述方法包括:针对多个机器学习流水线和由所述流水线先前处理的N个数据集,存储评级值,每个评级值对流水线用于数据集的性能进行评级。对于所述先前处理的数据集中的每个对ui=1至N,uj=1至N,i≠j,所述方法在用于数据集的潜在空间中确定从ui至uj的距离di,j。所述距离di,j与后悔的预期值相对应,所述后悔是在基于用于数据集uj的评级值以预定方式被选择的流水线针对数据集ui被评级时所引发的。在此,针对流水线的后悔是针对该流水线用于所述数据集ui的性能的评级值的单调递减函数。然后,所述方法包括:在所述潜在空间中对所述先前处理的数据集进行聚类,并且识别每个聚类中的代表性数据集,对于所述代表性数据集,从该聚类中的其他数据集到该数据集的距离在该聚类上被最小化。所述方法还包括:响应于接收到新数据集,选择一组优选流水线以用于处理所述新数据集,每个优选流水线是根据用于代表性数据集的评级值来选择的。然后在该组优选流水线中处理所述新数据集。
体现本公开的此方面的方法利用潜在空间,其中基于“成对预期后悔”的概念来嵌入数据集,以便为新数据集选择优选流水线。当基于针对另一数据集的性能评级选择流水线时,该成对预期后悔(其确定潜在空间中的每对数据集之间的距离)捕获该流水线在数据集上的性能评级的预期下降。这些实施例还基于这样的思想,即,所有数据集(包括新数据集)是从在潜在空间上的多模态概率分布中提取的。通过在该空间中聚类数据集,数据集可被分组成“邻域”,对于该邻域,可以识别多个代表性数据集(每个邻域一个)。在潜在空间中,新数据集可能接近这些代表性数据集。通过基于代表性数据集的评级值来选择优选流水线,所选择的流水线很可能对于新数据集被评级得很高。可以选择流水线以最大化这种可能性,如下面详细解释的。因此,针对在AutoAI中为新数据集选择优选ML流水线的问题,体现本公开的方法提供了有效且简洁的解决方案。这导致更高效的ML模型训练、更好地执行模型以及用于这些模型的用户应用的改进操作。除了处理冷启动问题之外,本公开的实施例还提供了对开发-探索权衡的改进控制。此优点和其它优点将在下面更详细地解释。
通常,新数据集将是由用户提供的样本数据集,其广泛地表示ML模型将针对其被训练以用于用户应用中的推断的用户数据。可以设想这样的实施例,其中,对于新数据集仅选择一个优选流水线。然后,前述方法根据针对代表性数据集的评级来选择流水线,并且该流水线可通过处理新数据集来被训练,并随后应用于对用户应用的新数据的推断。然而,通常,用户将具有允许在为用户应用选择一个流水线之前训练多个流水线的预算。本公开的实施例然后可以根据针对多个代表性数据集的评级来选择多个优选流水线。这允许基于针对多于一个的代表性数据集(其中之一将在上述潜在空间中最接近新数据集)的评级来评估所选择的流水线。
用于针对所述数据集ui被评级的流水线Pk的后悔可以方便地被确定为在针对流水线在数据集ui上的性能的最大评级值与针对所述流水线Pk在数据集ui上的性能的评级值之间的差的函数。因此,后悔取决于与给定数据集的最高评级流水线相比的针对流水线k的评级的下降。
用于选择流水线的前述预定方式(预期后悔以及因此成对距离的计算基于该预定方式)在不同实施例中可以变化。一些实施例可以选择预定流水线,例如,最高评级的流水线,在这种情况下,后悔的期望值将是针对该流水线所引起的后悔。然而,优选实施例采用随机过程,由此用于基于数据集的评级值来选择流水线的预定方式包括从以该数据集的评级值为条件的概率分布中选择流水线作为随机变量。然后,后悔的期望值包括针对流水线所引发的后悔的概率加权平均值,这些流水线是基于针对数据集uj的评级值来选择的并且针对数据集ui被评级。这为新数据集的可能的流水线建议的受控探索提供了基础。
特别优选的方法允许在潜在数据集空间中对最接近新数据集的代表性数据集的近似。具体地,对于根据用于对应的代表性数据集的评级值来选择的多个优选流水线,这些实施例确定每个优选流水线针对新数据集的性能的评级值,并且计算每个优选流水线针对新数据集所引发的后悔。然后,基于用于与针对新数据集具有最低后悔的优选流水线相对应的代表性数据集的评级值,以前述的预定方式选择至少一个其他优选流水线。然后在每个其他优选流水线中处理新数据集。计算针对新数据集被评级的优选流水线的后悔允许随着针对新数据集评级更多流水线而以增加的准确度来确定在潜在空间中最接近新数据集的代表性数据集。然后,通过从用于该最接近的代表性数据集的概率分布中进行抽取,可以随机地选择附加流水线。下面进一步说明的该技术允许对流水线推荐(即,所选流水线)的受控探索,同时流水线选择仍然由针对在潜在数据集空间中接近新数据集的代表性数据集的评级来引导。基于最接近的代表性数据集的评级所选择的流水线最有可能针对新数据集产生最低后悔。由于后悔相对于流水线评级的单调性,这产生了针对所选流水线在新数据集上的性能的最高预期评级。
从用于数据集的概率分布中选择流水线的概率可以直接随着针对该流水线在该数据集上的性能的评级值而变化。然后,更可能选择更高评级的流水线。在特别优选的实施例中,用于数据集的概率分布依赖于参数β,参数β的值确定概率分布对用于该数据集的评级值的依赖度。优选的方法选择参数β的值以提供概率分布对评级值的期望依赖度。在这些实施例中,“贪婪参数”β提供对开发-探索权衡的有效控制,而探索仍然可以由针对代表性数据集的评级来引导。
本公开的另一方面提供了一种用于选择优选机器学习流水线以用于处理新数据集的计算系统。所述系统包括用于存储上述评级值的存储器,以及适于在潜在空间中确定数据集的成对距离的嵌入逻辑。所述计算系统还包括用于如上所述地在潜在空间中对数据集进行聚类并识别代表性数据集的聚类逻辑。所述系统的流水线选择器逻辑如上所述选择一组优选流水线,并且将新数据集提供给该组流水线以供处理。所述计算系统可以包括实现多个机器学习流水线的机器学习系统。
本公开的另一方面提供了一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质存储可由计算系统执行以使计算系统执行上述流水线选择方法的程序指令。
尽管本公开在AutoAI领域中找到特定应用,但体现本公开的方法也可有利地应用于项目推荐器系统中。因此,本公开的另一方面提供了一种用于在计算机网络中实现的推荐器系统中选择用于推荐给新用户的项目的计算机实现的方法。所述方法包括:针对系统的多个项目和N个先前用户,存储评级值,每个评级值指示先前用户对项目的评级。对于先前用户的每个对(ui=1至N,uj=1至N),i≠j,所述方法在用户的潜在空间中确定从ui至uj的距离di,j,其中,所述距离di,j与后悔的预期值相对应,所述后悔是在基于用户uj的评级值以预定方式被选择的项目由用户ui评级时所引发的。项目的后悔是针对由用户ui评级的该项目的评级值的单调递减函数。所述方法然后在潜在空间中对先前用户进行聚类,并识别每个聚类中的代表性用户,对于该代表性用户,从该聚类中的其他用户到该用户的距离在该聚类上被最小化。所述方法还包括:响应于推荐器系统检测到新用户,选择用于推荐给该用户的一组优选项目,每个优选项目是根据用于代表性用户的评级值来选择的。经由用户界面提供对该组优选项目的推荐以显示给新用户。
优选实施例在此可以从新用户接收用于每个优选项目的评级值,并且计算针对由新用户评级的每个优选项目所引发的后悔。然后,可以基于用于与针对新用户具有最低后悔的优选项目相对应的代表性用户的评级值,随机地(以与上述随机流水线选择过程类似的方式)选择用于推荐的至少一个其他优选项目。
下面将参考附图通过说明性和非限制性示例更详细地描述本公开的实施例。
附图说明
图1是用于实现体现本公开的方法的计算系统的示意性表示;
图2示出了用于选择优选ML流水线以用于新数据集的计算系统的组件模块;
图3指示由图2的系统执行的流水线选择方法的步骤;
图4是在体现本公开的流水线选择方法中计算的后悔的示意图;
图5是在体现本公开的方法中采用的潜在空间中的数据集的分布的示意图;
图6示出了图5的潜在空间中的数据集的聚类;
图7指示在图2的系统的实施例中的优选流水线选择方法的步骤;
图8a和8b示出了在优选实施例中参数β对流水线选择概率的影响;
图9比较了体现本公开的流水线选择方法与基于项目推荐的方法的性能;
图10是基于网络的推荐器系统的示意图;以及
图11指示体现本公开的用于在图10的系统中推荐项目的方法的步骤。
具体实施方式
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本公开的方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如Smalltalk、C++等)以及常规的过程式编程语言(例如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本公开的方面。
本文参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本公开的方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
要描述的实施例可以被执行为用于选择优选机器学习流水线以处理新数据集或者用于在基于网络的推荐器系统中选择项目以推荐给新用户的计算机实现的方法。这样的方法可以由包括一个或多个通用或专用计算机的计算系统来实现,每个通用或专用计算机可以包括一个或多个(真实或虚拟)机器,其提供用于实现本文描述的操作的功能。体现本公开的方法的步骤可以通过由系统的处理装置实现的程序指令(例如程序模块)来实现。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算系统可以在诸如云计算环境之类的分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
本公开的实施例设想了用于决定哪个特定ML流水线将对于给定应用执行最佳的技术。理论上,这可以通过在所有可用流水线中处理训练数据集,然后选择用于应用的最佳执行流水线来确定。然而,训练ML模型是计算和时间密集型任务。用户通常提供代表其应用数据的样本数据集以用于测试目的,并且可以具有用于仅测试有限数量的流水线选项的预算。最终的经训练的模型在用户应用中的性能以及因此应用本身的性能取决于由AutoAI过程选择的最佳ML流水线。
为用户数据集选择流水线的问题与推荐器系统中的项目推荐的问题具有一些相似性。推荐器系统使用各种技术,基于由其他用户对项目(诸如产品、电影、歌曲等)给出的评级和/或由用户对其他项目给出的评级来向用户推荐这些项目。这些系统依赖于关键的前提,即,过去对项目进行类似评级的用户往往在将来对项目进行类似的评级。推荐系统的常见方法包括协作过滤、基于内容的推荐以及低秩矩阵分解(factorization)。然而,所有这些方法都遭受所谓的“冷启动”问题,该问题在向没有先前观察到的评级信息的新用户推荐项目时出现。
推荐器系统处理冷启动问题的一种方式是向新用户推荐最受欢迎的项目。虽然这种方法最大限度地利用了用户的可用评级,但是它没有探索替代的、潜在更优选的项目。所谓的“ε(epsilon)-贪婪”方法(参见“多臂老虎机问题的有限时间分析”,Auer等人,MachineLearning 47(2):235-256)通过推荐概率为(1-ε)的最流行项目并推荐概率为ε的随机项目来解决该问题。ε-贪婪方法经由参数ε来显式地控制开发-探索权衡,但是对替代项目(对最流行项目的替代)的探索是随机的且无指导的。还提出了基于矩阵的分解技术,由此通过仅几个项目评级的线性组合来重构大量项目的评级。新用户然后只需要评价几个项目以便推断其余项目的评级(例如,参见“更好的知识:通过基于代表性的评级启发的冷启动推荐(Wisdom of the Better Few:Cold Start Recommendation via Representative basedRating Flicitation)”,Nathan Lui等,RecSys’11,2011)。对于基于矩阵的分解,存在在进行推荐之前将用户暴露于多个评级较差的项目的风险。另外,这些技术没有显式地控制开发-探索权衡,并且由于目标的不连续性,难以解决分解问题。
基于项目推荐的技术已经被应用于“用于自动机器学习的概率矩阵分解(Probabilistic matrix factorization for automated machine learning,Fusi等人,Advances in Neural Information Processing Systems,2018)”中的ML流水线选择。如上所述,该技术采用基于矩阵的分解,并且没有进一步解决冷启动问题。“Tapas:用于架构搜索的无训练准确性预测器(Tapas:Train-less Accuracy Predictor for ArchitectureSearch,Istrate等人,AAAI会议关于人工智能的学报,33:3927-3934,2019)”提出了一种用于针对未见数据集预测深度学习网络的准确性的技术。该技术基于各种数据集特征来表征新数据集,并且需要对深度学习模型的内部结构进行编码。此编码过程是重要的,特别是对于任意ML流水线。
非常需要用于为新用户数据集选择ML流水线以及用于解决一般的冷启动问题的改进技术。
图1是用于实现体现本公开的方法的示例性计算装置的框图。计算装置以通用计算机1的形式示出,计算机1的组件可以包括处理装置,诸如由处理单元2表示的一个或多个处理器、系统存储器3、以及将包括系统存储器3的各种系统组件耦接到处理单元2的总线4。
总线4表示若干类型的总线结构中的任何一种中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、以及外围组件互连(PCI)总线。
计算机1通常包括各种计算机可读介质。这样的介质可以是可由计算机1访问的任何可用介质,包括易失性和非易失性介质、以及可移动和不可移动介质。例如,系统存储器3可包括易失性存储器形式的计算机可读介质,诸如随机存取存储器(RAM)5和/或高速缓冲存储器6。计算机1还可包括其它可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统7可被提供用于从不可移动、非易失性磁介质(通常称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是还可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每一者都可以通过一个或多个数据介质接口连接到总线4。
存储器3可以包括至少一个程序产品,该程序产品具有被配置为执行本公开的实施例的功能的一个或多个程序模块。作为示例,具有一组(至少一个)程序模块9的程序/实用程序8以及操作系统、一个或多个应用程序、其它程序模块和程序数据可被存储在存储器3中。操作系统、一个或多个应用程序、其它程序模块和程序数据中的每一个或其某种组合可包括联网环境的实现。程序模块9通常执行如本文所述的本公开实施例的功能和/或方法。
计算机1还可以与以下设备通信:一个或多个外部设备10,诸如键盘、定点设备、显示器11等;使得用户能够与计算机1交互的一个或多个设备;和/或使计算机1能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可经由输入/输出(I/O)接口12发生。此外,计算机1可经由网络适配器13与一个或多个网络(诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网))通信。如图所示,网络适配器13经由总线4与计算机1的其它组件通信。计算机1还可以与附加处理装置14(诸如一个或多个GPU(图形处理单元)、FPGA或集成电路(IC))通信以用于实现本公开的实施例。应当理解,其它硬件和/或软件组件可以与计算机1结合使用。示例包括但不限于:微码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器、以及数据归档存储系统等。
图2示意性地示出了用于在AutoAI系统中选择ML流水线的示例性计算系统的组件模块。计算系统20包括存储器21和控制逻辑(其总体上以22指示),控制逻辑包括用于为新用户数据集选择优选ML流水线的功能。控制逻辑22包括嵌入模块23、聚类模块24、以及流水线选择器25。如图中虚线所示,在优选实施例中,流水线选择器25包括性能评估器26。逻辑模块23到26中的每一个包括用于实现下面详述的流水线选择方法的特定步骤的功能。特别地,系统20与实现由Pk(k=1到M)表示的M个机器学习流水线的ML系统27对接。每个流水线Pk包括用于训练和评估用于输入数据集的ML模型的功能。如对于流水线P1示意性地示出的,每个流水线包括分别用于训练和评估ML模型30的性能的训练模块28和推断模块29。ML模型30可以任何期望的方式来实现,并且可包括一个或多个类型的一个或多个组件模型。每个流水线Pk可以包括例如用于准备(清除或以其他方式预处理)数据集以及用于调整流水线参数的通常已知类型的附加功能(未示出)。当数据集32已经由ML系统27处理并且ML流水线已经针对用户应用被训练时,经训练的模型的参数被存储在模型数据库33中以供随后在用户应用中使用。一般而言,ML系统27可以在计算系统20的本地或远离计算系统20,以及在一些实施例中可以与系统20集成。
控制逻辑22的模块23到26与存储在系统20的操作中使用的各种数据结构的存储器21对接。这些数据结构包括:一组评级值{Rj,k}34,每个评级值对流水线Pk针对先前处理的数据集32的性能进行评级;下面进一步描述的一组距离{di,j}35;定义数据集聚类36的聚类数据;以及从数据集聚类36导出的代表性数据集37。优选实施例还存储为新用户数据集39确定的一组性能评级38,如下面进一步解释的。
通常,逻辑23至30的功能可以由软件(例如,程序模块)或硬件或它们的组合来实现。在其它实施例中,可以在系统模块之间不同地分配所描述的功能,以及可以组合一个或多个模块的功能。可以在计算系统的一个或多个计算机中提供计算系统20的组件模块。例如,可以在计算机1中提供所有模块,或者可以在AutoAI系统的一个或多个计算机/服务器中提供模块,用户可以经由网络连接到该AutoAI系统以用于输入要被处理的数据集。这样的网络通常可以包括一个或多个组件网络和/或互联网络,包括因特网。系统存储器21可以由与系统20的一个或多个计算机相关联的一个或多个存储器/存储组件来实现。
在操作中,系统20选择一组优选ML流水线以用于在ML系统27中处理新数据集39。在图3中指示了由系统20执行的基本步骤。步骤40表示在系统存储器21中存储评级{Rj,k}。特别地,对于M个流水线Pk(k=1到M)以及由uj(j=1至N)表示的N个先前处理的数据集32,组34中的每个评级值Rj,k对流水线Pk针对数据集uj的性能进行评级。如图所示,ML系统27可以提供大量(例如,数百或甚至数干)流水线实现。这些流水线实现可以随时间在相似数量的数据集(测试数据集和用户数据集两者)上被训练,其中训练通常是随着新训练数据变得可用的持续过程。在此可以以任何方便的方式对流水线性能评级。评级值可以例如指示由ML模型产生的推断结果的总体准确度,或者可以基于精确度和/或召回性(recall),或者这些和/或其他性能度量的某种组合。
在步骤41中,嵌入模块23在用于数据集的概念潜在空间(由χ表示)中确定先前处理的数据集之间的一组成对距离。具体地,对于先前处理的数据集的每个对ui=1至N,uj=1至N,i≠j,嵌入模块23在潜在空间χ中确定从ui至uj的距离di,j。该距离di,j对应于后悔的预期值,该后悔是在基于用于数据集uj的评级值以预定方式被选择的流水线针对数据集ui被评级时所引发的。在此,针对流水线的后悔是针对该流水线用于数据集ui的性能的评级值的单调递减函数。所得到的成对距离是不对称的,即di,j和dj,i可以不同。下面将进一步解释基于用于数据集的评级值选择流水线的预定方式以及在此的后悔值的计算。所得到的距离{di,j}被存储在系统存储器21中的35处。
在步骤42中,聚类模块24在潜在空间χ中对先前处理的数据集32进行聚类。聚类是用于将项目(在此是数据集)分配给组(聚类)以使得在每个聚类内的项目之间的距离(在某一已定义的空间中测量的)被最小化的公知过程。因此,在此,聚类模块24在潜在空间χ中对数据集进行聚类,以使得在每个聚类内的数据集之间的成对距离(以及因此成对的预期后悔)被最小化。定义所得到的数据集聚类的数据被存储在系统存储器21中的36处。在步骤43中,聚类模块使用距离集35来识别每个聚类中的代表性数据集。每个聚类中的代表性数据集被识别为如下数据集:对于该数据集,从该聚类中的其他数据集到该数据集的距离di,j在该聚类上被最小化。因此,代表性数据集位于潜在空间χ中的数据集分布的模式附近。通过该过程识别的代表性数据集被存储在系统存储器21中的37处。
由系统20接收新数据集39以用于在ML系统27中处理是由图3中的步骤44来表示的。在步骤45中,流水线选择器25选择用于处理新数据集的一组优选ML流水线。在此根据针对代表性数据集的评级值来选择每个优选流水线。下面更详细地描述此选择过程。在步骤46中,新数据集39被提供给ML系统27,并在由流水线选择器25选择的每个优选流水线中被处理。
上述过程基于成对预期后悔的概念将已处理数据集嵌入潜在空间χ中,该概念反映了当基于针对另一数据集的评级选择流水线时该流水线在数据集上的性能评级下降。数据集被聚类成组或“邻域”,从中识别位于数据集分布模式附近的代表性数据集。新数据集39很可能位于模式之一附近,并且因此位于代表性数据集附近。通过基于代表性数据集的评级来选择优选流水线,所选择的流水线很可能被高度评级,并且因此对于新数据集而言表现良好。
可以设想这样的场景,其中,对于新数据集,可以训练仅一个流水线,在这种情况下,流水线选择器25根据针对代表性数据集之一的评级在步骤45中选择优选流水线,例如,作为用于该数据集的最高评级流水线。然而,通常,在步骤45中将根据针对多个代表性数据集的评级来选择多个优选流水线。由于代表性数据集之一将在潜在空间χ中最接近新数据集,并且因此引发最少预期后悔,这增加了为新数据集选择高性能流水线的可能性。流水线处理通常不仅涉及训练,而且涉及测试经训练的模型例如在保持集(holdout sets)(即,为测试推断性能而保留的原始数据集的子集)上的性能。基于这些性能测试的结果,流水线选择器25可以识别用于用户应用的最佳性能流水线。
在用户的预算允许测试多个流水线的情况下,优选实施例采用特别有利的技术来进行流水线选择。这些技术允许在潜在空间χ中对最接近新数据集的代表性数据集进行近似,以及允许流水线建议的受控探索。下面详细描述采用这些技术的示例性实施例。
该优选实施例采用随机流水线选择过程。特别地,用于选择流水线的前述预定方式(在图3的步骤41中,预期后悔和成对距离的计算基于该预定方式)是随机过程。具体地,从以用于该数据集的评级值为条件的概率分布中选择流水线作为随机变量。然后,后悔的预期值包括后悔的概率加权平均值,该后悔针对基于用于数据集uj的评级值被选择并且针对数据集ui被评级的流水线所引发。在该实施例中,针对基于用于数据集uj的评级被选择并且针对数据集ui被评级的流水线Pk的后悔是在针对流水线在数据集ui上的性能的最大评级值与针对流水线Pk在数据集ui上的性能的评级值之间的差的函数。特别地,用于针对数据集ui被评级的流水线Pk的后悔G(k;ui)由下式给出:
其中,Ri,k是针对流水线Pk在数据集ui上的性能的评级。这在图4中示意性地示出,图4示出了由粗体箭头指示的后悔G是(Ri,k)单调递减函数,其对应于与用于数据集ui的最高评级流水线相比的用于数据集ui的流水线Pk的评级下降。
为了确保在此更有可能选择更高评级的流水线,从用于数据集的概率分布中选择流水线的概率直接随着针对该流水线在该数据集上的性能的评级值而变化。在该示例中,从以用于数据集uj的评级值为条件的概率分布中选择流水线Pk的概率P(k|uj)满足:
P(k|uj)∝exp(-β(Mj-Rj,k)),
其中,Mj是针对流水线在数据集uj上的性能的最大评级,Rj,k是针对流水线Pk在数据集uj上的性能的评级。
图5是示出在潜在空间χ中嵌入数据集的简化示意图。数据集被嵌入在该空间中,以使得从数据集ui到数据集uj的距离di,j对应于后悔的预期值该后悔是在从以针对数据集uj的评级值为条件的概率分布中被选择为随机变量的流水线针对数据集ui被评级时所引发的。预期后悔包括后悔的概率加权平均值,该后悔针对基于用于数据集uj的评级值被选择并且针对数据集ui被评级的流水线所引发。因此,图5中从ui到uj的距离di,j在嵌入模块23中被计算为:
(其中,如果不是所有流水线都已经针对先前处理的数据集32被评级,则该值可以在针对ui和uj两者被评级的流水线的数量上被归一化)。
为了便于在图5中说明,数据集之间的距离被可视化为对称的(di,j=dj,i),而这些成对距离实际上是不对称的。由于评级Ri,k是后悔G(k;ui)的单调递减函数,因此单调性对于预期也成立。也就是说,较小的预期后悔值以及因此较小的距离di,j对应于评级Ri,k的较高的预期值。
图6是该实施例中的聚类过程的简单图示。假设数据集是从潜在空间χ中的多模态概率分布中提取的,并且如图所示被聚类,以便最小化每个聚类中的数据集之间的距离,从而最小化每个聚类中的数据集之间的预期后悔。在每个聚类内,代表性数据集(在此为ur1,ur2,以及ur3,在图中以粗体示出)是这样的数据集:对于该数据集,从该聚类中的其他数据集到该数据集的距离在该聚类上被最小化。代表性数据集最接近多模态概率分布的模式,并且因此局部地最小化聚类内的成对预期后悔。在该实施例中,亲和度传播被用于聚类和代表性数据集的标识,同时考虑成对距离的非对称性。然而,在其他实施例中可以使用考虑非对称成对距离的任何聚类方法。
图7指示此实施例中的流水线选择过程的步骤。步骤50表示新数据集39的到达,已为其分配了用于测试多个流水线的预算。先前的操作对应于如上所述的图3的步骤40至43。在步骤51中,流水线选择器25选择多个优选流水线。这些优选流水线中的每一个是根据用于对应的代表性数据集的评级值来选择的。在该示例中,优选流水线是用于对应的代表性数据集的最高评级的流水线。在此选择的流水线的数量取决于如下所述的所分配的预算。在步骤52中,在每个优选流水线中处理新数据集,以确定针对每个优选流水线对于新数据集的性能的评级值。如步骤53所示,将所得到的性能评级38存储在存储器21中。在步骤54中,流水线选择器25计算针对用于新数据集unew的每个优选流水线所引发的后悔G(k;unew)。在步骤55中,流水线选择器识别与对于新数据集具有最低后悔G(k;unew)的优选流水线相对应的代表性数据集在步骤56中,流水线选择器25基于针对该代表性数据集的评级值来选择至少一个其他优选流水线。从以针对代表性数据集的评级为条件的概率分布P(k|ur*)中选择每个其他优选流水线作为随机变量。在步骤57中,新数据集被提供给ML系统27并且在每个其他流水线中被处理,由此在步骤58中确定并且存储针对每个其他流水线对于Unew的性能的评级38。在步骤59中,流水线选择器将用于新数据集的最佳流水线识别为在针对新数据集38的评级(例如,性能评级)之中具有最高评级值的流水线。在步骤60中,最佳流水线参数然后可以被存储在数据库33中以用于用户应用。
假定数据集是从多模态分布采样的,则新数据集将可能接近分布的模式,因此接近代表性数据集。上述处理允许通过从以在潜在空间χ中可能接近Unew的特定代表性数据集的评级为条件的概率分布P(k|ur*)中进行选择来为新数据集Unew推荐流水线。理想地,在潜在空间χ中最接近Unew,即:
在此的流水线是在步骤51中选择的用于代表性数据集的最高评级流水线。如果用户预算允许在步骤51中为所有代表性数据集选择最高评级流水线,则将是在潜在空间χ中最接近Unew的代表。从该代表性数据集的概率分布提取的进一步流水线建议最有可能产生针对新数据集的最低后悔。由于后悔相对于流水线评级的单调性,这产生了所选择的流水线在新数据集上的性能的最高预期评级。随着在步骤51到53中选择和评估对应于更多代表性数据集的流水线,的近似变得越来越精确。可以逐个选择对应于每个代表性数据集的流水线,并针对新数据集进行评级。如果用户预算不足,则该预算可以完全被用于在步骤51中选择优选流水线。替代地,部分预算可以被用于在步骤51中选择流水线,从而允许基于这些流水线评级的的近似(在步骤55中),然后在到目前为止近似的的情况下,从分布P(k|ur*)中随机地提取额外流水线。然而,一旦对应于所有代表性数据集的流水线已经被评级,则在步骤55中获得针对的最佳近似。然后可以在图7的步骤56中从P(k|ur*)中提取所有其他流水线建议。然后可以为用户应用识别具有最佳性能的最佳流水线。
上述过程提供了一种巧妙的技术,用于确保为新数据集选择最有可能导致低后悔值并因此导致高评级的流水线。此外,上述概率分布P(k|uj)中的参数β允许控制开发-探索权衡。该“贪婪参数”β确定概率分布P(k|ui)对用于数据集uj的评级值的依赖度。图8a和8b示出了调整参数β如何影响概率分布。图8a示出了在β趋向于无穷大时与用于数据集uj的评级Rj,k相关的分布P(k|uj)。在此极端情况下,只有最高评级的流水线具有非零的选择概率,从而导致最大利用(贪婪)。图8b示出了具有有限值β(β>0)的分布P(k|uj)。在此,所有流水线具有非零选择概率,概率随着评级Rj,k而增加(开发和勘探)。减小β的值进一步使分布平坦,直到在β=0处,将以相等概率选择所有流水线。在此极端情况下,流水线选择概率与评级Rj,k无关(最大探索)。贪婪参数β因此允许开发-探索权衡的显式控制。β的值可以方便地被选择以提供P(k|uj)对Rj,k的期望依赖度,从而允许对潜在流水线的受控探索,同时仍然经由优选流水线的选择过程由代表性用户的评级来引导。
可以设想这样的实施例,其中可以基于对新数据集的要求(例如预算)来设置β的值。例如,在可以测试许多流水线的情况下,更大的探索可能是可行的,而对于更小的预算,探索可能受到限制。嵌入和聚类过程是快速计算,并且在一些实施例中可以为此目的而重新计算。然而,在优选实施例中,能够基于先前处理的数据集32将β的最优值确定为对于流水线选择给出最佳结果的值。在这些实施例中,性能评估器26能够通过使用先前处理的数据集的交叉验证来选择参数β的最优值。交叉验证是公知的技术。本质上,在此,性能评估器26选择先前处理的数据集的测试子集,然后将这些测试子集视为“新”数据集以用于测试预测过程的性能。通过在多个测试数据集和β的多个值上迭代地测试性能,可以容易地确定最优值。随着更多数据集被同化,性能评估器可以周期性地重新计算该值。
可以看出,上述实施例提供了对冷启动问题的高效解决方案以及用于新数据集的最优ML流水线的自动选择。所描述的成对β-贪婪冷启动方法能够为用户应用提供格外高性能的ML模型和增强的推断结果。已经证明这种方法在各种参数设置方面优于ε-贪婪方法。作为说明,在对具有5个流水线的预算的约500个数据集评估的约5000个流水线的性能上训练了成对β-贪婪和ε-贪婪方法。图9绘出了针对用于参数ε的各种值的保持集(holdoutsets)计算的后悔的结果。在ε=0(最大利用:总是选择最流行的项目(在此是最高评级的流水线))的情况下,ε-贪婪方法的后悔最高,其中后悔一般随着探索的增加(更高的ε)而降低。即使对于最大开发(β→∞),成对β-贪婪方法引发的后悔也比利用所有ε值获得的后悔显著更低。
当然,可以对所描述的实施例进行各种替代和修改。举例来说,在其中此过程是随机的实施例中,可设想各种概率分布以用于基于评级的流水线选择。
尽管上述技术在所描述的AutoAI应用中特别有利,但本发明的实施例也可应用于项推荐器系统中的冷启动问题。图10是在计算机网络中实现的这种推荐器系统的示意图。推荐器系统70在此在服务器71中实现,用户计算机72可以经由在73示意性地指示的网络连接到该服务器71。网络73可以包括一个或多个组件网络和/或互联网络,包括因特网。用户计算机72可以包括各种类型的用户设备,诸如台式、膝上型或平板计算机、移动电话、PDA(个人数字助理)、电视、游戏控制台等等,用户可以经由这些设备连接到远程服务器71。在典型的场景中,推荐器系统70可以在服务基于web的应用的服务器71(或一组服务器)中实现,基于web的应用诸如搜索引擎、在线购物站点、产品比较站点、电影/音乐/游戏下载站点、或用户可以经由网络访问的任何其他服务。
在这种服务的操作中,推荐器系统70可以基于对各种项目(产品、歌曲、游戏、电影、软件应用等)的用户评级来向用户推荐这些项目。这些项目具有项目标识符(在此用itemk表示(k=1、2、3、…))和相关项目信息(用datak表示),它们可以被呈现给用户以用于推荐项目。推荐器系统70可以访问存储用于这些项目的信息集{itemk;datak}的数据库。当由在此用uj(j=1,2,3,…)表示的用户标识符所标识的用户对具有标识符itemk的项目进行评级时,推荐器系统将由Rj,k表示的该评级记录在评级数据库75中。该数据库因此存储了系统中先前对项目进行了评级的所有用户uj的项目评级{Rj,k}。
当推荐器系统70检测到具有先前未见过的用户标识符的新用户时,系统能够使用先前描述的冷启动技术来向这些用户推荐项目。该过程类似于流水线选择过程。即,可以以与选择优选流水线来处理新数据集相同的方式来选择项目以推荐给新用户。项目itemk对应于流水线Pk,而用户uj对应于数据集uj。因此,推荐器系统70可以以与图2的系统20类似的方式实现,具有嵌入模块23、聚类模块24和流水线选择器25。类似地,推荐器系统20的存储器21存储评级数据库(图10中的75)、一组距离di,j、用户聚类数据36、一组代表性数据集37,以及还可以存储新用户的评级38。
推荐器系统70的操作在图11中示出。步骤80表示在数据库74中存储先前用户{uj}评级项目{itemk}的评级值{Rj,k}。在步骤81中,嵌入模块23在用户的潜在空间χ中确定先前用户之间的一组成对距离。具体地,对于N个先前用户的每个对ui=1至N,uj=1至N,i≠j,嵌入模块23在潜在空间χ中确定从ui至uj的距离di,j。该距离di,j对应于后悔的期望值,该后悔在基于用户uj的评级值以预定方式被选择的项目针对用户ui被评级时所引发。在此,项目的后悔是由用户ui评级的该项目的评级值的单调递减函数。所得到的距离{di,j}被存储在系统存储器21中的35处。
在步骤82中,聚类模块24在潜在空间χ中对先前用户进行聚类。如前所述,以通常的方式定义聚类,使得用户之间的成对距离(并且因此在此的成对预期后悔)在每个聚类内被最小化。所得到的用户聚类被存储在系统存储器21中的36处。在步骤83,聚类模块使用一组距离35来识别每个聚类中的代表性用户。在每个聚类中,代表性用户被识别为从该聚类中的其他用户到该用户的距离di,j在该聚类上被最小化的用户。因此,代表性用户在潜在空间χ中位于用户分布的模式附近。代表性用户被存储在系统存储器21中的37处。
推荐器系统70对新用户的检测由图11中的步骤84表示。在步骤85中,项目选择器25选择一组优选项目来推荐给新用户。根据用于代表性用户的评级值来选择每个优选项目,例如作为该用户的最高评级项目。在步骤86中,推荐器系统70提供一组优选项目的推荐以用于经由用户计算机72处的用户接口显示给新用户。在此,系统70从数据库74中取得优选项目的项目信息datak,并将该信息发送到用户计算机以供显示。系统70可将该项目信息与服务器71显示给用户的其它信息(例如在网页内)集成。从而,经由用户计算机72将项目信息(例如,图片和/或文本,其带有用于进一步信息/项目评级的链接)显示给新用户。
在此的优选实施例中,该过程可以用图11中的步骤87到91被扩展。在此的步骤87表示推荐器系统70从新用户接收用于每个优选项目的评级。在步骤88到90中,推荐器系统然后以与在图7的步骤54到56中选择其他流水线相同的方式来选择至少一个其他优选项目,因此,在步骤88中,推荐器系统基于所接收的用户评级来计算针对每个推荐项目的后悔。在步骤89中识别与具有最低后悔的项目相对应的代表性用户ur*。然后在步骤90中,可以基于用于代表性用户ur*的评级值来选择其他优选项目。在此,每个其他优选项目可以被选择为从以代表性用户ur*的评级为条件的概率分布P(k|ur*)中提取的随机变量,这直接类似于上面的优选流水线选择过程。在步骤91,推荐器系统然后提供每个其他优选项目的推荐以经由用户计算机72的用户接口显示给新用户。
通常,上述流水线选择实施例的实现细节可以类似地应用于系统70中的项目推荐。因此β-贪婪冷启动方法可以以类似的方式应用于项目推荐。系统70因此能够向新用户推荐在先前用户的邻域(聚类)内流行的项目,其中经由代表性用户的评级和贪婪参数β来引导对可能的项目推荐的探索。这提供了一种推荐器系统,其中被推荐给新用户的项目具有针对这些用户的高预期评级。
通常,在此参考体现本公开的流水线选择方法描述特征的情况下,可以在体现本公开的项目推荐方法中提供对应的特征。另外,在参考体现本公开的任何方法描述特征的情况下,可以在体现本公开的系统/计算机程序产品中提供对应的特征,并且反之亦然。
已经出于说明的目的呈现了对本公开的各种实施例的描述,但是其并非旨在是穷举的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (21)
1.一种用于选择优选机器学习流水线以用于处理新数据集的计算机实现的方法,所述方法包括:
针对多个机器学习流水线和由所述流水线先前处理的N个数据集,存储多个评级值,每个评级值与所述多个机器学习流水线中的流水线的性能相对应并且用于所述N个数据集中的数据集;
对于所述先前处理的N个数据集中的每个对ui=1至N,uj=1至N,i≠j,在潜在空间中确定从ui至uj的距离di,j,其中,所述距离di,j与后悔的预期值相对应,所述后悔是在基于用于数据集uj的一组评级值以预定方式被选择的流水线针对所选择的流水线用于数据集ui的性能被评级时所引发的,并且其中,针对所选择的流水线的后悔包括针对所述流水线用于所述数据集ui的性能的评级值的单调递减函数;
在所述潜在空间中对所述先前处理的N个数据集进行聚类,并且识别每个聚类中的代表性数据集,对于所述代表性数据集,从该聚类中的其他数据集到所述数据集的每个距离在该聚类上被最小化;
响应于接收到新数据集,从所述多个机器学习流水线中选择一组优选流水线以用于处理所述新数据集,每个优选流水线是根据用于所述代表性数据集的一组评级值来选择的;以及
在所述一组优选流水线中处理所述新数据集。
2.根据权利要求1所述的方法,其中,用于基于用于所述数据集uj的所述评级值来选择所述流水线的所述预定方式包括:
从以用于所述数据集uj的所述评级值为条件的概率分布中选择所述流水线作为随机变量;以及
其中,所述后悔的预期值包括针对相应的一组优选流水线所引发的一组后悔的概率加权平均值。
3.根据权利要求2所述的方法,还包括:
针对用于所述新数据集的所述一组优选流水线中的每个流水线的性能,确定评级值;
计算针对用于所述新数据集的所述一组优选流水线中的每个流水线所引发的后悔;
基于用于与针对所述新数据集具有最低后悔值的至少一个其他优选流水线相对应的所述性能和所述代表性数据集的评级值,以所述预定方式选择所述至少一个其他优选流水线;以及
在所述至少一个其他优选流水线中的每一个中处理所述新数据集。
4.根据权利要求3所述的方法,还包括:
针对用于所述新数据集的所述至少一个其他优选流水线中的每一个的所述性能,确定评级值;以及
响应于针对用于所述新数据集的所述至少一个其他优选流水线中的每一个的所述性能确定所述评级值,在所述至少一个其他流水线之中识别针对所述新数据集具有最高评级值的流水线。
5.根据权利要求4所述的方法,其中,所述一组优选流水线包括用于对应的代表性数据集的一组最高评级流水线。
6.根据权利要求2所述的方法,其中,从用于所述数据集uj的所述概率分布中选择所述流水线的概率直接随着针对所选择的流水线在所述数据集uj上的性能的评级值而变化。
7.根据权利要求2所述的方法,其中:
用于所述数据集uj的所述概率分布依赖于参数β,参数β的值确定所述概率分布对用于所述数据集的评级值的依赖度;以及
所述方法还包括:选择所述参数β的值以提供所述概率分布对所述代表性数据集的一组评级值的期望依赖度。
8.根据权利要求7所述的方法,还包括:通过使用所述N个数据集的交叉验证来选择所述参数β的最优值。
9.根据权利要求7所述的方法,其中,从以用于所述数据集uj的所述评级值为条件的所述概率分布中选择流水线Pk的概率P(k|uj)满足:
P(k|uj)∝exp(-β(Mj-Rj,k));
其中,Mj是针对流水线在数据集uj上的性能的最大评级,Rj,k是针对流水线Pk在数据集uj上的性能的评级。
10.根据权利要求1所述的方法,其中,用于针对所述数据集ui被评级的流水线Pk的后悔是在针对流水线在数据集ui上的性能的最大评级值与针对所述流水线Pk在数据集ui上的性能的评级值之间的差的函数。
11.一种用于选择优选机器学习流水线以用于处理新数据集的计算系统,所述系统包括:
存储器子系统,在其上存储程序指令;以及
与所述存储器子系统通信的处理器,其中,所述处理器执行所述程序指令以使得所述处理器:
针对多个机器学习流水线和由所述流水线先前处理的N个数据集,存储多个评级值,每个评级值与所述多个机器学习流水线中的流水线的性能相对应并且用于所述N个数据集中的数据集;
对于所述先前处理的N个数据集中的每个对ui=1至N,uj=1至N,i≠j,在潜在空间中确定从ui至uj的距离di,j,其中,所述距离di,j与后悔的预期值相对应,所述后悔是在基于用于数据集uj的一组评级值以预定方式被选择的流水线针对所选择的流水线用于数据集ui的性能被评级时所引发的,并且其中,针对所选择的流水线的后悔包括针对所述流水线用于所述数据集ui的性能的评级值的单调递减函数;
在所述潜在空间中对所述先前处理的N个数据集进行聚类,并且识别每个聚类中的代表性数据集,对于所述代表性数据集,从该聚类中的其他数据集到所述数据集的每个距离在该聚类上被最小化;
响应于接收到新数据集,从所述多个机器学习流水线中选择一组优选流水线以用于处理所述新数据集,每个优选流水线是根据用于所述代表性数据集的一组评级值来选择的;以及
在所述一组优选流水线中处理所述新数据集。
12.根据权利要求11所述的系统,其中,用于基于用于所述数据集uj的所述评级值来选择所述流水线的所述预定方式包括:
从以用于所述数据集uj的所述评级值为条件的概率分布中选择所述流水线作为随机变量;以及
其中,所述后悔的预期值包括针对相应的一组优选流水线所引发的一组后悔的概率加权平均值。
13.根据权利要求12所述的系统,其中,所述程序指令还使得所述处理器:
针对用于所述新数据集的所述一组优选流水线中的每个流水线的性能,确定评级值;
计算针对用于所述新数据集的所述一组优选流水线中的每个流水线所引发的后悔;
基于用于与针对所述新数据集具有最低后悔值的至少一个其他优选流水线相对应的所述性能和所述代表性数据集的评级值,以所述预定方式选择所述至少一个其他优选流水线;以及
在所述至少一个其他优选流水线中的每一个中处理所述新数据集。
14.根据权利要求13所述的系统,其中,所述程序指令还使得所述处理器:
针对用于所述新数据集的所述至少一个其他优选流水线中的每一个的所述性能,确定评级值;以及
响应于针对用于所述新数据集的所述至少一个其他优选流水线中的每一个的所述性能确定所述评级值,在所述至少一个其他流水线之中识别针对所述新数据集具有最高评级值的流水线。
15.根据权利要求14所述的系统,其中,所述一组优选流水线包括用于对应的代表性数据集的一组最高评级流水线。
16.一种用于选择优选机器学习流水线以用于处理新数据集的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质存储程序指令,所述程序指令可由设备执行以使得所述设备:
针对多个机器学习流水线和由所述流水线先前处理的N个数据集,存储多个评级值,每个评级值与所述多个机器学习流水线中的流水线的性能相对应并且用于所述N个数据集中的数据集;
对于所述先前处理的N个数据集中的每个对ui=1至N,uj=1至N,i≠j,在潜在空间中确定从ui至uj的距离di,j,其中,所述距离di,j与后悔的预期值相对应,所述后悔是在基于用于数据集uj的一组评级值以预定方式被选择的流水线针对所选择的流水线用于数据集ui的性能被评级时所引发的,并且其中,针对所选择的流水线的后悔包括针对所述流水线用于所述数据集ui的性能的评级值的单调递减函数;
在所述潜在空间中对所述先前处理的N个数据集进行聚类,并且识别每个聚类中的代表性数据集,对于所述代表性数据集,从该聚类中的其他数据集到所述数据集的每个距离在该聚类上被最小化;
响应于接收到新数据集,从所述多个机器学习流水线中选择一组优选流水线以用于处理所述新数据集,每个优选流水线是根据用于所述代表性数据集的一组评级值来选择的;以及
在所述一组优选流水线中处理所述新数据集。
17.根据权利要求16所述的计算机程序产品,其中,用于基于用于所述数据集uj的所述评级值来选择所述流水线的所述预定方式包括:
从以用于所述数据集uj的所述评级值为条件的概率分布中选择所述流水线作为随机变量;以及
其中,所述后悔的预期值包括针对相应的一组优选流水线所引发的一组后悔的概率加权平均值。
18.根据权利要求17所述的计算机程序产品,其中,所述程序指令还使得所述设备:
针对用于所述新数据集的所述一组优选流水线中的每个流水线的性能,确定评级值;
计算针对用于所述新数据集的所述一组优选流水线中的每个流水线所引发的后悔;
基于用于与针对所述新数据集具有最低后悔值的至少一个其他优选流水线相对应的所述性能和所述代表性数据集的评级值,以所述预定方式选择所述至少一个其他优选流水线;以及
在所述至少一个其他优选流水线中的每一个中处理所述新数据集。
19.根据权利要求18所述的计算机程序产品,其中,所述程序指令还使得所述设备:
针对用于所述新数据集的所述至少一个其他优选流水线中的每一个的所述性能,确定评级值;以及
响应于针对用于所述新数据集的所述至少一个其他优选流水线中的每一个的所述性能确定所述评级值,在所述至少一个其他流水线之中识别针对所述新数据集具有最高评级值的流水线。
20.根据权利要求19所述的计算机程序产品,其中,所述一组优选流水线包括用于对应的代表性数据集的一组最高评级流水线。
21.一种系统,包括分别用于执行根据权利要求1-10中任一项所述的方法的步骤的模块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/108,107 US12111881B2 (en) | 2020-12-01 | 2020-12-01 | Item recommendation with application to automated artificial intelligence |
US17/108107 | 2020-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114580652A true CN114580652A (zh) | 2022-06-03 |
Family
ID=81751512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111437892.8A Pending CN114580652A (zh) | 2020-12-01 | 2021-11-29 | 应用于自动人工智能的项目推荐的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12111881B2 (zh) |
JP (1) | JP2022087842A (zh) |
CN (1) | CN114580652A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024005799A1 (en) * | 2022-06-28 | 2024-01-04 | Siemens Industry Software Inc. | A system on a chip comprising a diagnostics module |
KR102688986B1 (ko) * | 2023-09-27 | 2024-07-26 | 주식회사 마키나락스 | 데이터 파이프-라인을 구성하는 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160132787A1 (en) * | 2014-11-11 | 2016-05-12 | Massachusetts Institute Of Technology | Distributed, multi-model, self-learning platform for machine learning |
US9910898B2 (en) | 2015-09-17 | 2018-03-06 | Yahoo Holdings, Inc. | Smart exploration methods for mitigating item cold-start problem in collaborative filtering recommendation systems |
US10762163B2 (en) * | 2016-12-05 | 2020-09-01 | Microsoft Technology Licensing, Llc | Probabilistic matrix factorization for automated machine learning |
CN106897912B (zh) | 2017-01-18 | 2020-08-28 | 太仓中科信息技术研究院 | 基于epsilon反馈算法的推荐系统冷启动方法 |
US11790242B2 (en) * | 2018-10-19 | 2023-10-17 | Oracle International Corporation | Mini-machine learning |
US11455570B2 (en) * | 2019-01-15 | 2022-09-27 | Ebay Inc. | Machine learning-based infrastructure anomaly and incident detection using multi-dimensional machine metrics |
EP3702974A1 (en) * | 2019-02-27 | 2020-09-02 | Ovh | Systems and methods for operating a data center based on a generated machine learning pipeline |
US20210241182A1 (en) * | 2020-02-05 | 2021-08-05 | Capital One Services, Llc | Method and system for building a machine learning model |
-
2020
- 2020-12-01 US US17/108,107 patent/US12111881B2/en active Active
-
2021
- 2021-11-29 CN CN202111437892.8A patent/CN114580652A/zh active Pending
- 2021-12-01 JP JP2021195156A patent/JP2022087842A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022087842A (ja) | 2022-06-13 |
US20220171985A1 (en) | 2022-06-02 |
US12111881B2 (en) | 2024-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12039280B2 (en) | Multi-turn dialogue response generation with persona modeling | |
EP3724785B1 (en) | Fast indexing with graphs and compact regression codes on online social networks | |
US11109083B2 (en) | Utilizing a deep generative model with task embedding for personalized targeting of digital content through multiple channels across client devices | |
US20180342004A1 (en) | Cumulative success-based recommendations for repeat users | |
US11593642B2 (en) | Combined data pre-process and architecture search for deep learning models | |
CN108520470B (zh) | 用于生成用户属性信息的方法和装置 | |
CN111708876B (zh) | 生成信息的方法和装置 | |
CN112182360A (zh) | 具有有限数据可用性的个性化推荐器 | |
US20160092771A1 (en) | Analysis of social media messages | |
US20210365818A1 (en) | System and method for explainable embedding-based recommendation system | |
CN114580652A (zh) | 应用于自动人工智能的项目推荐的方法和系统 | |
CN112989146A (zh) | 向目标用户推荐资源的方法、装置、设备、介质和程序产品 | |
CN111340605B (zh) | 训练用户行为预测模型、用户行为预测的方法和装置 | |
JP2024508502A (ja) | 情報をプッシュする方法および装置 | |
JP2023002475A (ja) | コンピュータシステム、コンピュータプログラムおよびコンピュータで実装される方法(因果関係知識の識別および抽出) | |
JP7361121B2 (ja) | デュアル・ネットワークと共に訓練された主ネットワークを介した多目的タスクの実行 | |
US20240242106A1 (en) | Machine learning rank and prediction calibration | |
US11558471B1 (en) | Multimedia content differentiation | |
CN110727853A (zh) | 向用户呈现控制的异构数字内容 | |
US20230289650A1 (en) | Continuous machine learning system for containerized environment with limited resources | |
JP6700146B2 (ja) | 評価値に基づいて推奨するコンテンツを決定するシステム | |
CN112269942B (zh) | 一种推荐对象的方法、装置、系统及电子设备 | |
US11410220B2 (en) | Exploration for interactive recommendation system, method, and computer program product | |
KR20230151704A (ko) | 지역 지식 그래프를 기반으로 추천 정보를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 | |
WO2024140229A1 (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 |