CN113795853A - 基于元学习的自动特征子集选择 - Google Patents
基于元学习的自动特征子集选择 Download PDFInfo
- Publication number
- CN113795853A CN113795853A CN202080028693.9A CN202080028693A CN113795853A CN 113795853 A CN113795853 A CN 113795853A CN 202080028693 A CN202080028693 A CN 202080028693A CN 113795853 A CN113795853 A CN 113795853A
- Authority
- CN
- China
- Prior art keywords
- features
- training
- model
- new
- count
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7747—Organisation of the process, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及机器学习(ML)模型的降维。本文中的技术是对特征进行单独排名并基于其排名对特征进行组合以实现特征的最优组合,该最优组合可以加速训练和/或推理、防止过度拟合和/或提供对在某种程度上神秘的数据集的洞察。在实施例中,计算机对训练语料库的数据集的特征进行排名。对于每个数据集和每个界标百分比,目标ML模型被配置为仅接收特征中的排名最高的界标百分比的特征,并且测量通过使用数据集训练ML模型实现的界标准确度。基于数据集的界标准确度和元特征值,为每个数据集生成相应的训练元组。基于所有训练元组,对回归器进行训练以预测用于训练目标ML模型的最优特征数量。
Description
技术领域
本发明涉及机器学习(ML)模型的降维(dimensionality reduction)。本文中的技术是对特征进行单独排名并基于其排名来组合特征以实现特征的最优组合,该最优组合可以加速训练和/或推理、防止过度拟合和/或提供对在某种程度上神秘的数据集的洞察。
背景技术
机器学习(ML)通过强化学习来实现人工智能(AI),强化学习发生在ML模型的训练期间。训练中的ML模型暴露于训练语料库的(一个或多个)数据集。(例如,训练)数据集包含许多相同自然对象类型(例如,照片、控制台日志条目或数据库记录)的示例。类型的所有示例都具有针对同一组特征的(例如,不同的)值。例如,每个照片可能有其自己的平均亮度和检测到的边缘或物体的计数,所有这些都是照片的特征。ML模型(诸如回归器或分类器,诸如人工神经网络(ANN)或决策树)可以基于训练数据集内示例的特征进行训练,或基于新示例的特征进行推理。
诸如深度学习(DL)之类的ML的使用正在工业和商业部门中迅速传播,并且正在成为一些企业中无处不在的工具。ML模型训练可能占用大量时间和/或计算机空间。ML模型可以被配置为处理数据集中出现的所有特征。但是,处理每个特征可能消耗大量的计算机资源。当ML模型不处理一些特征时,可以提高效率。但是,并非所有特征在逻辑上和/或运筹上都是相等的。实际上,性能提高可能需要明智地选择要处理的特征和要忽略的特征。
特征选择可能对模型性能(例如,准确度、f1分数等)产生重大影响。选择模型的最优特征子集非常困难,特别是对于复杂的数据集而言,可能非常耗时。因为存在2^n个可能的子集组合(n=特征的数量),因此考虑所有可能的子集是不可行的。例如,数据集可能具有十万个特征。
主要问题是给定数据集的可能特征子集的数量。理论上,最好通过使用交叉验证或验证测试集对ML模型进行训练和评分,并基于得到的分数(例如,准确度)确定最佳子集来评估每个可能的子集。但是,这在特征数量从几个到几十万不等的情况下是不可行的。现有技术需要太多的探索性评估(即,使用特征子集进行训练和测试),这是特征选择中最耗时的部分。
以下是各种先前的方法,所有这些方法在管理给定数据集的可能特征子集的数字/组合方面都具有有限的能力。诸如当过滤方法或阈值不适用于所涉及的给定数据集或ML模型时,基于特征值的统评分析并可能忽略ML模型本身的过滤方法可能倾向于删除重要特征。使用将特征选择留给ML模型的学习能力从而处理许多特征的嵌入式方法仍然会导致模型训练时间较长或过拟合的趋势,从而降低了特征选择的两个主要动机。对于将ML模型视为黑盒的包装器方法的严峻挑战在于定义要评估的特征子集,这种黑盒必须凭经验探索其对特征的敏感性。上述大多数方法的主要问题是特征的理想数量(即,目标子集大小)事先通常是未知的。
附图说明
在附图中:
图1是描绘示例计算机的框图,该示例计算机训练回归器以预测使用新数据集训练机器学习(ML)模型的最优特征数量是多少;
图2是描绘示例计算机处理的流程图,该计算机处理用于训练回归器以预测使用新数据集训练ML模型的最优特征数量是多少;
图3是描绘示例计算机的框图,该示例计算机在生产环境中使用已经训练的回归器来预测新数据集的最优特征数量;
图4是描绘示例计算机处理的流程图,该计算机处理用于在生产环境中使用已经训练的回归器来预测新数据集的最优特征数量;
图5是说明可以在其上实现本发明的实施例的计算机系统的框图;
图6是图示可以用于控制计算系统的操作的基本软件系统的框图。
具体实施方式
在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。但是,将显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其它情况下,以框图形式示出了众所周知的结构和设备,以避免不必要地使本发明模糊。
总体概述
每个训练样本可以具有许多特征,并且考虑每个特征会增加机器学习(ML)模型的复杂度,这可能会消耗计算机训练的时间和空间,并且在一些情况下会降低经训练的ML模型的准确度。因此,忽略一些特征可以提高训练效率,诸如减少训练时间。不同的特征可能对ML模型的准确度产生不同程度的影响。例如,一些特征可能或多或少具有决定性,而其它特征可能或多或少无关紧要。因此,只要特征是智能选择的,那么特征选择(即,决定要分析哪些特征以及要忽略哪些特征)可以加速训练,而不会降低准确度。
特征选择可以具有多种用途,诸如减少数据集大小、减少过拟合、训练加速以及更好地理解数据。特征选择需要选择特征子集并用该子集来训练ML模型,并且(例如,使用现有技术)重复直到找到最优子集。这可能需要生成和比较许多不同的子集,其可能或多或少难以处理,除非智能启发式方法可以提出更少和更好的特征子集。实际上,有2^n(即,指数)个可能的子集组合(n=特征数)。对于大量特征,穷举探索(即,考虑所有可能的子集)是不可行的。
基于特征的排名(ranking)可以用于仅考虑具有更重要特征的子集,这些特征是与ML模型的推理和准确度密切相关的特征。本文的技术使用元学习(即,一个ML模型基于关于另一个ML模型的性能元数据的机器学习)基于极少数界标(landmark)子集评估来预测最有希望的特征子集,从而减少用于评估(即,训练)的子集的数量,从而加速训练。
本文的方法将特征排名标准与关键改进相结合:学习如何基于几个界标特征子集预测要训练的特征的最优数量。本文的技术可以直接应用于支持特征选择的任何(例如,Oracle)机器学习产品。探索性界标搜索显著提高了整体运行时间。特别是在云应用中,更少的运行时间意味着更少的资源使用和成本。方法可以应用以下新技术来自动选择特征。
有时,单个排名算法不能完全评估所有可能数据集的特征重要性。因此,在实施例中,可以使用多个排名算法来相互补充。每个排名算法都会产生根据排名顺序定义用于评估的界标特征子集的特征排名。此外,可能存在将多个特征排名组合成新排名的全体排名。例如,全体排名可以基于所有其它排名的特征分数的平均值。
在实施例中,计算机针对训练数据集的每个特征基于相关性评分函数和在训练数据集中出现的特征的值的统计来计算相关性分数。为每个特征计算基于特征的相关性分数的排名。基于特征的排名,预测特征的最优子集。
利用探索性界标搜索,代替评估许多特征子集或应用顺序搜索,使用特征的几个界标百分比进行初步探索。这需要选择非常少的特征子集,全部都基于特征排名顺序。这几个预定百分比之间的相对大小差异更为显著。例如,具有100个特征的数据集,即使知道20个特征的子集是好的,也期望测试10个特征的子集,因为它可以将大小减小一半。但是,如果发现70个特征的子集是好的,那么具有60个特征的子集的潜在减少不足以显著证明训练更多界标是合理的。因此,几个非常不同的界标百分比可以高效地调查特征子集概览(landscape)。
虽然采用这种方法,但在以下情况下,可以附加地选择完整数据集(具有所有特征的子集)作为100%界标以进行评估:
·排名并未反映真实的特征重要性,或者
·所有或几乎所有特征对于预测都是重要的。
通过探索性界标搜索/评估,特征子集通过检查给定特征排名来选择,而无需事先进行任何逐步评估。因此,组成子集是快速的(即,计算上不是密集的)。然后,可以通过使用所选择的界标子集训练和测试目标模型来并行进行耗时的评估。由于这些子集是独立的,因此并行性可以扩展到所评估的界标子集的数量。即使没有高并行度,这种方法也可以通过固有的知识(即,由于数据集大小的减小,因此较小的界标子集可以比较大的界标子集更快地进行评估)来促进负载平衡。例如,一个计算机可以评估两个最小的界标子集,而另一个计算机评估最大的界标子集。
对现有技术的改进是使用元学习来预测理想的特征子集大小(即,要处理的特征数量)。例如,朴素的特征选择需要指数级的时间来探索n个特征。排名算法产生按其重要性排序的n个特征的排名列表,其可以用于减少评估特征子集的数量,从n的指数,到线性或甚至到n的对数。但是,本文中的技术通过预测理想的子集大小i并仅测试该子集来在恒定时间内实现特征选择,其是按通过排名排序的特征列表的i长度前缀。这将测试子集的数量从O(n)减少到O(1)。如果使用多种排名算法(r种不同的算法),那么评估的子集从O(r*n)减少到O(r)。特别是在公共云部署中,本文的方法可以通过减少计量计算机资源的消耗来节省可变成本。特别是在研发过程中,本文的方法可以加快上市时间。
在实施例中,计算机对训练语料库的数据集的特征进行排名。对于每个数据集和每个界标百分比,目标ML模型被配置为仅接收排名最高的界标百分比的特征,并测量通过使用数据集训练ML模型实现的界标准确度。基于数据集的界标准确度和元特征值,为每个数据集生成相应的训练元组。基于所有训练元组,对回归器进行训练以预测用于对目标ML模型进行训练的最优特征数量。
1.0示例计算机
图1是描绘实施例中的示例计算机100的框图。计算机100训练回归器180以预测用于用新数据集(未示出)训练机器学习(ML)模型110的最优特征数量190是多少。计算机100可以是诸如刀片的机架服务器、个人计算机、大型机、虚拟计算机或其它计算设备中的一个或多个。
计算机100可以在其存储器内存储ML模型110。取决于实施例,ML模型110被设计用于聚类、分类、回归、异常检测、预测或降维(即,简化)。机器学习算法的示例包括决策树、支持向量机(SVM)、贝叶斯网络、诸如遗传算法(GA)的随机算法、以及诸如人工神经网络(ANN)的链结式(connectionist)拓扑。机器学习的实现可能依赖于矩阵、符号模型以及分层和/或关联性数据结构。最佳的混合机器学习算法的参数化(即,可配置)实现可以在开源库中找到,诸如scikit-learn(sklearn)、Google的针对Python和C++的TensorFlow,或佐治亚理工学院的针对C++的MLPack。Shogun是开源C++ML库,其带有适用于若干编程语言(包括C#、Ruby、Lua、Java、MatLab、R和Python)的适配器。
ML模型110的生命周期有两个阶段。如图所示,第一阶段是准备阶段并且需要诸如在实验室中进行训练。第二阶段(未示出)需要在生产环境中诸如使用实时和/或流传输数据进行推理。
在推理期间,将ML模型110应用于(例如,不熟悉的)样本,样本可以作为输入被注入到ML模型110中。这使得ML模型110根据ML模型110的内部机制来处理样本,该内部机制是根据ML模型110在先前训练期间的强化学习而专门配置的。例如,如果ML模型110是分类器,那么ML模型110可以为样本选择多个互斥标签(即,分类)之一,诸如热和冷。
无论是在训练还是推理期间,ML模型110都可以为相同的特征(诸如,F1-F16)处理可能具有不同值的样本。例如,特征F1可以是颜色,并且特征F2可以是温度。每个样本可以具有相同或不同的颜色和相同或不同的温度。
取决于样本数据的丰富(即,多维)程度,可能有比示出的F1-F16多得多(例如,数百或数千)的特征。ML模型110可以具有许多ML模型类型中的一种,并且这些模型类型通常具有足够的逻辑灵活性来接受和处理诸如训练语料库120之类的样本数据的非常多的特征。但是,诸如时间和/或空间之类的资源的消耗可能与可用特征的数量或复杂度正相关。
例如,一个样本的特征130的值可以被编码为特征向量。特征130可能很多,对此每个样本的特征向量将非常宽(即,存储器密集型)。例如,每个特征都可以被编码为根据特征的种类进行解释的多字节机器字。例如,类别特征的枚举值(诸如,日历年的月份或有限调色板的颜色)可以是按序数编码的整数。例如,任何编码字典的每个键都有其自己的序数。序数编码可以是密集的(即,整数)或稀疏的(即,位映射,单热(one hot))。虽然空间更密集一个数量级,但单热编码可以提高模型准确度,诸如下面讨论的151-152。
操作成本(诸如基于特征向量宽度的操作成本)可以随着特征130的数量线性缩放。这种线性成本可以包括计算和/或数据传输的(一个或多个)时延,诸如由于产生和/或消耗特征向量导致的时延。
在给定的资源预算内,ML模型110可以处理的特征数量可能存在一些实际限制。因此,在实践中,应忽略一些特征。但是,决定要忽略多少特征以及要忽略哪些特征可能会影响ML模型110的准确度。
ML模型准确度是可以解释诸如错误分类之类的错误的频率和/或严重性的客观度量。例如,二元分类器可以具有假阳性(positive)和假阴性(negative)各自的频率,其可能具有不同的语义严重性。例如,将红色交通灯误认为绿色可能比将绿灯误认为红色更糟糕。
一些特征可能是嘈杂的,或者以其它方式或多或少与推理或推理准确度无关。其它功能可能或多或少与ML模型110的性能相关。如下,计算机100可以训练回归器180来预测有多少特征F1-F16可能是相关的。
训练ML模型110可能需要处理许多样本(未示出),这是强化学习通常需要的。这些样本一起可以形成训练语料库,诸如120。如图所示,训练语料库120至少具有数据集A-B。每个数据集可能有许多样本。例如,每个样本可能是照片、一篇散文、数据库记录、整个电子表格或其中的一行,或其它文档,诸如可扩展标记语言(XML)、JavaScript对象表示法(JSON)或超文本标记语言(HTML)。
样本有很多特征130,包括F1-F16,如训练语料库120中所示。计算机100具有一个或多个评分函数(未示出),每个评分函数针对特征F1-F16中的每一个计算相关性分数,该相关性分数估计特征可能对ML模型110的准确度有多大影响。
在实施例中,特征的相关性分数仅仅是估计而不是基于ML模型110的实际性能。因此,(一个或多个)评分函数可以在不实际操作ML模型110的情况下对特征F1-F16进行评分。在这样的实施例中,(一个或多个)评分函数可以与ML模型110是否被训练无关地操作,并且可以在没有ML模型110的情况下进行操作。
因此,取决于实施例,特征F1-F16的相关性分数可以通过除训练语料库120之外没有输入的(一个或多个)评分函数来计算。例如,(一个或多个)评分函数可以仅基于训练语料库120的样本(例如,记录)的一个属性(即,数据字段)中的值来计算特征F1的相关性分数。(一个或多个)评分函数可以计算基于特征的值的统计的相关性分数,诸如方差。
对本文的训练进行监督。因此,每个训练样本还具有分类标签,如训练语料库120中所示,或者可以训练ML模型110要推理的其它预测目标。特征可以或多或少地与标签相关(即,预测标签)。例如,大多数蓝色样本可以被标记为阳性。
因此,蓝色可能在某种程度上预测阳性,更具体地,颜色可能在某种程度上预测分类标签。(一个或多个)评分函数130可以计算基于特征与标签的相关性的相关性分数。在实施例中,如本文稍后所讨论的,可以根据诸如互信息或F分数之类的统计信息来计算相关性。与分类在某种程度上相关的特征可以具有更高的相关性分数。
虽然ML模型110可能未被训练,但是(一个或多个)评分函数130可以基于已经被训练的不同ML模型(未示出)的配置。例如,一些种类的ML模型根据相关性/重要性自然地对特征进行排名。例如,在经训练的随机森林ML模型的情况下,每个特征都具有学习到的特征重要性,如本文后面呈现的。
同样,对于经训练的逻辑回归ML模型,每个特征具有学习到的特征系数。在实施例中,(一个或多个)评分函数130可能对学习到的特征的重要性或系数敏感。例如,(一个或多个)评分函数在对特征F1进行评分时可以使用一个学习到的系数,并且在对特征F2进行评分时可以使用不同的学习到的系数,但是两个系数都来自同一个经训练的回归器(未示出)。
根据未示出的经训练的模型学习到的特征重要性可以提高效率,诸如当未示出的模型可以比ML模型110快得多被训练时。例如,未示出的模型可能使用了比120或120的小子集小得多的训练语料库。
如上所述,有多种(例如,许多)方式来计算特征的相关性分数。在实施例中,(一个或多个)评分函数为同一特征合并多个统计信息或输入。在实施例中,每个统计信息可以具有其自己的评分函数,并且来自多个函数的分数被合并以得出特征的合计(例如,均值)相关性分数。可以鼓励评分的复杂度,因为(一个或多个)评分函数仅应用于特征130一次,并且一次性构建时间成本可以在ML模型110和/或180的生产寿命期间分摊。
一旦所有特征F1-F16都具有相关性分数,就可以根据相关性分数对特征进行比较排名。例如,特征F1-F16可以按相关性分数降序排名。例如,特征F3可能是最重要的(即,排名1),而特征F2可能不太重要(例如,排名3)。如本文稍后讨论的,特征F1-F16可以通过不同的评分函数进行冗余评分以产生不同的排名。
当仅有一个评分函数可用时,不需要对相关性分数进行归一化。但是,当使用多个评分函数时,它们计算出的分数可能需要(例如,单位)归一化。
在这个示例中,仅存在一个排名,使得可以通过下降的相关性(例如,F3、F1、F2等)来对特征进行排序。排名提高了特征选择的效率和有效性。如果不进行排名,那么特征选择可能需要自然组合的探索,该自然组合可能根据可用特征的计数呈指数扩展。因此,最优特征选择在没有启发式方法(诸如排名)的情况下可能难以计算。
排名指示特征相关性。不太相关的特征或多或少可以被忽略,而不会影响ML模型110的准确度。例如,数据集A-B可能每个都是电子表格(spreadsheet)。电子表格的每一行都可以是训练样本。因此,通过忽略每个电子表格的一些列来忽略不太相关的特征。因此,对于ML模型110,每个训练行可能缺少许多或大部分可用特征F1-F16。因此,可以通过仅使用相关特征进行训练来加速训练ML模型110。
缺点是ML模型110的准确度可能取决于训练语料库120。如所训练的,ML模型110可以仅对与训练语料库120的数据或多或少相似的数据实现良好的准确度。例如,ML模型110可以如训练那样在照片中检测到耳朵,这对于与猫照片训练语料库120的照片不同的狗照片可能不准确。因此,应该训练与ML模型110相同种类的模型的新实例来处理新数据集,诸如不同的照片。
此外,与针对狗照片的ML模型实例相比,特征130的不同数量的相关特征可能与针对猫照片的ML模型实例更相关。例如,针对狗的ML模型实例可能需要十个最相关的特征用于检测耳朵。但是,针对猫的ML模型110可能仅需要五个最相关的特征即可在耳朵检测中实现相同的准确度。
因此,重要的是可以对回归器180进行训练来预测与不作为训练语料库120的一部分的新数据集(未示出)相关的最优特征数量190。回归器180的训练基于训练元组170。训练元组170的每一行是训练样本。在实施例中,这些行中的每一行被编码为特征向量。
训练语料库120的每个数据集A-B有一行训练元组170。每一行训练元组170记录ML模型110针对相应数据集A-B针对各种预定量的特征F1-F16实现的训练准确度151-152。各种预定量是特征130的几个预定百分比140,显示为10%、35%、70%和100%。这几个预定百分比140在本文中被称为界标。
界标百分比140的预先确定可以取决于特征130的数量,诸如以下期望选择四个界标百分比的方案。如果特征130仅有一个特征,那么100%是唯一的界标百分比。因为这是仅有的一个界标,但预期有四个,因此可以默认其余的界标的准确度为零。
如果特征130仅有两个特征,那么除了100%界标之外,还存在具有一个特征的35%界标。同样,可以通过合成几个准确度为零的界标来实现预期数量的界标。如果特征130仅有三个特征,那么除100%界标之外,还存在具有一个特征的35%界标和具有两个特征的70%界标。如果特征130只有四个特征,那么除了100%界标之外,还存在具有一个特征的10%界标和具有两个特征的70%界标。当特征130具有至少与预期界标一样多的特征时,可以直接算术计算诸如10%、35%、70%和100%的百分比。例如,50个特征中的10%是10%界标中的5个特征。
通过蛮力(即,穷举组合阐述)选择ML模型100的最优特征子集是指数困难的,并且可能非常耗时,尤其是对于复杂的数据集。因为有2^n个可能的子集组合(n=特征数),因此考虑所有可能的子集是不可行的。例如,数据集可能有十万个特征。
界标是对特征子集的指数组合空间的非常低成本的初步探索。现有技术的特征子集探索可能需要对ML模型110进行数十次、数百次或数千次训练。但是如图所示,每个数据集A-B仅需要ML模型110的四个界标(即,百分比140)训练。
例如,如果特征130有一百个特征,那么数据集A或B的四个界标训练需要具有特征130中的10、35、70和100个特征的特征子集。例如,如所示出的,ML模型110对于数据集A准确度151只能实现72%准确度。但是,当使用了特征130的所有(即,100%)特征时,对于数据集B准确度152实现了85%准确度。相应训练数据集的那些界标结果被包括在训练元组170的每一行中。取决于实施例,准确度可以包括精度、召回率或F分数。
训练语料库120内的训练样本各自具有其自己的特征130的值。也就是说,特征130的值与各个样本有关。而元特征160的值将数据集视为整体。例如,元特征M1可以是照片的计数。如果数据集A的照片比数据集B多,那么元特征值M1.A大于值M1.B。工程师可以(例如,手动)识别重要特征M1-M6并提供用于计算任何数据集(诸如A-B)的M1-M6的值的逻辑。
除了界标准确度之外,训练元组170还包含训练元组170的每一行的相应数据集的元特征M1-M6的值。因此,训练元组170包含关于每个数据集A-B的信息和数据集的准确度界标。因此,回归器180可以学习基于数据集元特征和几个性能界标来预测最优特征数量190。
如本文稍后所呈现的,在用训练元组170对回归器180进行训练之后,实施例可以最终选择最相关的特征子集。计算机100或另一个计算机可以立即或最终配置ML模型110以期望该特征子集。例如,ML模型110可以被配置为期望特征F1和F3,而不是F2或F4-16。
以下是训练元组170的示例格式。例如,训练元组170的每一行可以被编码为包含以下字段的特征向量。仅当ML模型110是分类器(例如,不是回归器)时才包括被标记为“仅分类”的字段。准确度是界标。其它字段是数据集元特征。
·数据集中的实例/数据点(即,样本)的数量(n_instances);
·数据集中的特征的数量(n_features);
·维度:n_features/n_instances
·数据集中的分类/非数字特征的数量;
·数据集中的数字特征的数量;
·数据集中的类的数量(仅分类);
·最不常见类的实例的数量(minority_class_size)(仅分类);
·最常见类的实例的数量(majority_class_size)(仅分类);
·minority_class_size/majority_class_size(仅分类);
·具有10%的特征的准确度;
·具有35%的特征的准确度;
·具有70%的特征的准确度;以及
·具有100%的特征的准确度。
各种实施例可以实现各种阈值,这些阈值在理论上或实践中可能避开现有技术,诸如如下:
·训练语料库120可以具有多于一百个数据集;
·元特征160的数量可以超过6个;
·如所示出的,界标百分比140的数量可以是10或更少;和/
或
·如所示出的,可以存在比界标百分比140多的元特征160。
2.0示例预测训练处理
图2是描绘实施例中的计算机100训练回归器180以预测用于使用新数据集(未示出)训练机器学习(ML)模型110的最优特征数量190是多少的流程图。参考图1来讨论图2。
步骤201是准备性的。ML模型110的探索性(即,界标)训练发生在步骤202-203期间。步骤205实际上训练预测回归器180。
步骤201按照相关性对训练语料库120的训练数据集A-B中的样本的特征130进行排名,如本文前面所讨论的。通过在步骤202-203中训练ML模型110来生成几个界标准确度。对于百分比140中的每个界标百分比和对于训练数据集A-B中的每一个,重复步骤202-203。
步骤202基于百分比140中的当前界标百分比将ML模型110配置为仅接受特征130的最相关子集。例如,如果特征130具有100个特征,并且当前界标百分比为35%,那么步骤202将ML模型110配置为仅接受特征130中的35个最相关的特征。
步骤203基于在步骤202中确定的界标(即,特征子集)来训练ML模型110。例如,使用训练语料库120中的所有训练样本对ML模型110进行训练,但仅使用特征的相关子集。步骤203测量为该界标实现的训练准确度,并将该准确度记录到准确度151或152内的条目中,具体取决于数据集A-B中的哪一个是当前数据集。
步骤203是最慢的步骤,因为它需要用训练语料库120中的所有训练样本来训练ML模型110,这可能是庞大的。对于训练数据集和界标百分比的每个不同配对,重复步骤202-203。一种加速方式是对所有这样的配对并行执行步骤202-203,只要每个配对都有其自己的ML模型110实例来独立训练即可。例如,准确度151-152是对于八个训练中每一个训练的八个准确度,每个都基于不同的数据集和百分比的配对。这八个训练可能同时发生,因为它们的操作本质上是独立的。
对于训练语料库120中的每个训练数据集A-B重复步骤204。当针对训练数据集进行了所有界标训练时,步骤204可以在训练元组170中为该数据集生成元组(即,行)。例如,所有数据集A-B的训练可能并行发生,并且每个数据集可能具有同步屏障,该同步屏障等待该数据集的所有训练完成,然后在训练元组170中为该数据集生成元组。每个训练元组包含元特征M1-6的值和该数据集的界标准确度。
步骤205可以对于所有数据集A-B等待ML模型110的所有训练完成。例如,如果此类训练并行发生,那么同步屏障可能会检测到以下任一情况的完成:对于所有数据集的所有训练,或者训练元组170中所有元组的生成。在任一情况下,训练元组170然后应被完全填充,其中每个训练数据集一行。应该存在许多训练数据集和许多训练元组170。
步骤205使用训练元组170来训练回归器180来预测最优特征数量190。步骤205的复杂度不取决于训练语料库120中的可用特征130的总数。也就是说,训练元组170的宽度和高度都不取决于有多少特征最初可用。从这个意义上说,回归器180的训练复杂度与最初可用的特征数量无关。
步骤201-205的结果是完全训练的回归器180,其无需进一步训练即可预测有多少特征对于为新数据集配置和训练ML模型110是最优的。例如,学习到的回归器180的配置可以保存到文件中。在(例如,实况)生产环境中,该文件可以用于或多或少地立即实体化(即,实例化)已经训练的回归器180,用于如本文稍后呈现的预测推理。
3.0预测推理
图3是描绘实施例中的示例计算机300的框图。计算机300在生产环境中使用已经训练的回归器370来预测对于新数据集330的最优特征数量380。计算机300可以是计算机100的实现方式。
数据集330是新的,使得ML模型310和370之前都没有遇到过它。计算机300可以按如下来处理新数据集330。直接分析数据集330以发现相应元特征M1-6的值V.1-6。
因为回归器370已经被训练,因此不存在训练元组集合。代替地,用于新数据集330的生产推理(即,预测)的经训练的回归器370的操作仅需要消耗单个输入元组360,该输入元组360具有与训练期间回归器370消耗的训练元组(未示出)相同的格式。例如,元特征值V.1-6被记录到输入元组360中以表征新数据集330。
ML模型310使用新数据集330进行一些训练,但仅针对数据集330的特征(未示出)的界标百分比340。针对数据集330实现的界标准确度350被记录到元组360中。因此,输入元组360表征数据集330和数据集330的性能概览。
经训练的回归器370应用于元组360以执行推理来计算最优特征数量380。例如,即使对于一百个可用特征,四个界标可以揭示10、35、70和100个特征子集的准确度,回归器370的推理也可以预测某种程度的内插最优特征数量380,诸如20。此外,回归器370仅基于元组360中的一些元特征值V.1-6和几个界标来对最优特征数量380进行预测。
该推理的复杂度和元组360的宽度不取决于最初有多少特征可用于新数据集330内的样本。因此,特征计数不影响预测最优特征数量380的复杂度。因此,使用新数据集330优化配置和彻底训练ML模型310的成本被最小化。因此,为每个新数据集需要单独训练的ML模型实例(诸如,310)的成本大大降低。实际上,最优特征数量380越少,就越能节省用新数据集330优化配置和彻底训练ML模型310所需的时间。
4.0示例预测处理
图4是描绘实施例中的计算机在生产环境中使用已经训练的回归器370来预测对于新数据集330的最优特征数量380的流程图。参考图3来讨论图4。
图4的处理不需要对特征(未示出)进行排名,因为回归器370已经被训练,并且在这样的训练之前已经进行了特征排名。在训练回归器370之前,同样已经确定了哪些特征更相关以及哪些特征被包括在某个百分比特征的哪个界标子集中。因此,生产计算机300已经知道哪些特征被包括在哪些界标中。但是,针对新数据集330的这些界标的训练准确度尚未被确定,这在稍后的步骤402-403期间发生。
步骤401引发其余的步骤402-405。步骤401接收新数据集330。步骤401可以分析新数据集330以提取或以其它方式导出元特征M1-M6的值V.1-6。在步骤401之后,计算机300或多或少具有在步骤402-403期间在ML模型330的探索性训练期间评估界标所需的所有信息。
对于每个界标百分比重复步骤402-403。可以同时处理所有这几个百分比,只要每个百分比都有其自己的ML模型310实例来独立训练即可。步骤402配置ML模型310以基于百分比340中的当前界标百分比仅接受特征130的最相关子集。例如,如果数据集330具有100个特征,并且当前界标百分比为35%,那么步骤402配置ML模型310以仅接受数据集330的35个最相关的特征。
步骤403基于在步骤402中确定的界标(即,特征子集)来训练ML模型310。例如,使用数据集330中的所有训练样本对ML模型310进行训练,但仅使用特征的相关子集。步骤403测量为该界标实现的训练准确度并将该准确度记录到准确度350内的条目中。基于数据集330的准确度350和元特征值V.1-6,步骤404生成如图所示的输入元组360。
步骤405将回归器370应用到输入元组360以预测最优特征数量380,用于使用数据集330训练ML模型310。例如,如果回归器370是具有两层的多层感知器(MLP),那么输入元组360应用于MLP的输入层,其结果应用于MLP的输出层,并且输出层预测最优特征数量380。
5.0示例实现方式
参考图1-4讨论以下示例实施例。如所讨论的,存在具有某种相互关联的生命周期的两个ML模型310和370,它们可以一起被视为具有三个阶段的单个更大的组合生命周期,并且每个阶段具有两个部分。如图1-2所示,第一阶段需要对ML模型110进行探索性界标训练,然后对回归器180进行实际训练。如图3-4所示,第二阶段需要实际预测,这需要使用新数据集对ML模型310进行更多探索性界标训练,然后是回归器370的预测推理。
未示出的是实际准备(例如,在实验室中)的第三阶段,然后在生产中使用带有实时数据的ML模型310。第三阶段基于预测的最优特征数量380进行配置,并使用至少小数据集330中的样本的相关特征或优选地使用较大的数据集(330只是其中的一个分区(例如,折叠))来完全训练ML模型310。例如,在实施例中,较大的数据集被折叠为多个相同大小的分区以进行交叉验证。
在稳健的实施例中,用小数据集330对ML模型310进行训练,并且测量经验准确度。如果该准确度不超过同样用数据集330训练的最准确界标,那么:a)预测的最优特征数量380被忽略,并且b)该最准确界标的特征子集被接受为最优的并用于配置和训练ML模型310。在实施例中,特征130的数量不影响以下各项的复杂度:a)训练和测量目标ML模型的准确度,b)预测特征的最优数量,和/或c)选择特征的(例如,界标或最优)子集。
在诸如计算机云的实施例中,不需要有用于实验室训练和生产推理的单独环境。实际上,目标ML模型和预测回归器的完整生命周期可以并置在单个计算机上。例如,在公共云中,可能同时存在针对第一个客户的探索性界标训练、针对第二个客户的回归器训练、针对第三个客户的实际模型训练以及针对第四个客户的推理。
在实施例中,(一个或多个)排名可以基于python sklearn库提供的以下命名数学工件中的一些或全部:
·互信息(mutual_info_classif,mutual_info_regression)
·方差分析(ANOVA)F分数(f_classif,f_regression)
·经训练的RandomForestClassifier或
RandomForestRegressor的feature_importances
·经训练的AdaBoostClassifier或AdaBoostRegressor的feature_importances
例如,ML模型可以用于将输入分类为若干互斥的离散类别(例如,圆形、矩形)之一,或用于产生连续输出(例如,基于可比的房屋的房屋价值)的回归。特征和预测目标(即,标签)之间的相关性可以基于其方差的比率作为ANOVA F分数进行测量。
在实施例中,通过不同的排名函数对特征存在多个(例如,有差异的)排名。在实施例中,每个排名贡献相同数量的界标。例如,代替具有四个界标的一个排名,可能存在十二个界标,其中三个排名中的每一个基于相同的四个不同百分比贡献四个界标。
在实施例中,排名标识符也被编码到界标元组中。在实施例中,每个排名具有其自己的预测回归器,该预测回归器仅使用该排名的界标元组进行训练。在实施例中,最终特征子集是由许多回归器预测的特征子集的(例如,截断的)联合。
在实施例中,由多个回归器预测的最优特征数量被(例如,算术或几何)平均为单个预测量,和/或离群值(例如,过度方差)成分预测被丢弃(即,被忽略)。在实施例中,通过准确度对平均值进行加权,或者选择最准确的回归器。
除了可以是不透明(即,黑盒)的目标ML模型之外,另一个ML模型的透明内部也可能提供特征重要性。例如,以下ML模型具有特征透明性。随机森林模型是不同决策树的全体。自适应提升(AdaBoost)是另一种全体模型,其中构成模型(例如,决策树)各自针对相应的极端示例进行不同的专门化,这些极端示例对于单个广义模型而言是特别的并且难以准确地进行推理。透明度可以提供自然的ML可解释性(MLX),这是对ML模型的内部结构或操作的可见性,使得可以轻松审核/解释ML模型的推理/预测。
硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线的以执行这些技术,或者可以包括数字电子设备(诸如被持久地编程为执行这些技术的一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)),或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行这些技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制编程相结合,以实现这些技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或者结合硬连线和/或程序逻辑以实现这些技术的任何其它设备。
例如,图5是图示可以在其上实现本发明实施例的计算机系统500的框图。计算机系统500包括总线502或用于传送信息的其它通信机制,以及与总线502耦合以处理信息的硬件处理器504。硬件处理器504可以是例如通用微处理器。
计算机系统500还包括耦合到总线502的主存储器506,诸如随机存取存储器(RAM)或其它动态存储设备,用于存储将由处理器504执行的信息和指令。主存储器506还可以用于存储在执行由处理器504执行的指令期间的临时变量或其它中间信息。当存储在处理器504可访问的非暂态存储介质中时,这些指令使计算机系统500成为被定制以执行指令中指定的操作的专用机器。
计算机系统500还包括耦合到总线502用于存储用于处理器504的静态信息和指令的只读存储器(ROM)508或其它静态存储设备,。提供了存储设备510(诸如磁盘、光盘或固态驱动器)并将其耦合到总线502,用于存储信息和指令。
计算机系统500可以经由总线502耦合到显示器512(诸如阴极射线管(CRT)),用于向计算机用户显示信息。包括字母数字键和其它键的输入设备514耦合到总线502,用于将信息和命令选择传送到处理器504。另一种类型的用户输入设备是光标控件516(诸如鼠标、轨迹球或光标方向键),用于将方向信息和命令选择传送到处理器504并用于控制显示器512上的光标移动。这种输入设备通常在两个轴(第一轴(例如,x)和第二轴(例如,y))上具有两个自由度,这允许设备指定平面中的位置。
计算机系统500可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑(它们与计算机系统相结合,使计算机系统500成为或将计算机系统500编程为专用机器)来实现本文所述的技术。根据一个实施例,响应于处理器504执行包含在主存储器506中的一个或多个指令的一个或多个序列,计算机系统500执行本文的技术。这些指令可以从另一个存储介质(诸如存储设备510)读入到主存储器506中。包含在主存储器506中的指令序列的执行使得处理器504执行本文所述的处理步骤。在替代实施例中,可以使用硬连线的电路系统代替软件指令或与软件指令组合。
如本文使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘、磁盘或固体驱动器,诸如存储设备510。易失性介质包括动态存储器,诸如主存储器506。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒式磁带。
存储介质不同于传输介质但可以与传输介质结合使用。传输介质参与在存储介质之间传送信息。例如,传输介质包括同轴线缆、铜线和光纤,包括包含总线502的导线。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的那些波。
各种形式的介质可以参与将一个或多个指令的一个或多个序列携带到处理器504以供执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统500本地的调制解调器可以在电话线上接收数据并使用红外发送器将数据转换为红外信号。红外检测器可以接收红外信号中携带的数据,并且适当的电路系统可以将数据放在总线502上。总线502将数据传送到主存储器506,处理器504从主存储器506检索并执行指令。由主存储器506接收的指令可以可选地在由处理器504执行之前或之后存储在存储设备510上。
计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供耦合到网络链路520的双向数据通信,其中网络链路520连接到本地网络522。例如,通信接口518可以是集成服务数字网(ISDN)卡、线缆调制解调器、卫星调制解调器或者提供与对应类型的电话线的数据通信连接的调制解调器。作为另一个示例,通信接口518可以是局域网(LAN)卡,以提供与兼容LAN的数据通信连接。还可以实现无线链路。在任何此类实现中,通信接口518都发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路520通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路520可以提供通过本地网络522到主计算机524或到由互联网服务提供商(ISP)526操作的数据装备的连接。ISP 526进而通过全球分组数据通信网络(现在通常称为“互联网”528)提供数据通信服务。本地网络522和互联网528两者都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及网络链路520上并通过通信接口518的信号(其将数字数据携带到计算机系统500和从计算机系统500携带数字数据)是传输介质的示例形式。
计算机系统500可以通过(一个或多个)网络、网络链路520和通信接口518发送消息和接收数据,包括程序代码。在互联网示例中,服务器530可以通过互联网528、ISP 526、本地网络522和通信接口518发送对应用程序的所请求代码。
接收到的代码可以在被接收到时由处理器504执行,和/或存储在存储设备510或其它非易失性存储装置中以供稍后执行。
软件概述
图6是可以用于控制计算系统500的操作的基本软件系统600的框图。软件系统600及其组件(包括它们的连接、关系和函数)仅仅是示例性的,并且不意味着限制(一个或多个)示例实施例的实现。适于实现(一个或多个)示例实施例的其它软件系统可以具有不同的组件,包括具有不同的连接、关系和函数的组件。
提供软件系统600用于指导计算系统500的操作。可以存储在系统存储器(RAM)506和固定存储装置(例如,硬盘或闪存)510上的软件系统600包括内核或操作系统(OS)610。
OS 610管理计算机操作的低级别方面,包括管理进程的执行、存储器分配、文件输入和输出(I/O)以及设备I/O。表示为602A、602B、602C...602N的一个或多个应用可以被“加载”(例如,从固定存储装置510传送到存储器506中)以供系统600执行。意图在计算机系统500上使用的应用或其它软件也可以被存储为可下载的计算机可执行指令集,用于例如从互联网位置(例如,Web服务器、app商店或其它在线服务)下载和安装。
软件系统600包括图形用户界面(GUI)615,用于以图形(例如,“点击”或“触摸手势”)方式接收用户命令和数据。进而,这些输入可以由系统600根据来自操作系统610和/或(一个或多个)应用602的指令进行操作。GUI 615还用于显示来自OS 610和(一个或多个)应用602的操作结果,其上用户可以提供附加的输入或终止会话(例如,注销)。
OS 610可以直接在计算机系统500的裸硬件620(例如,(一个或多个)处理器504)上执行。可替代地,管理程序或虚拟机监视器(VMM)630可以插入在裸硬件620和OS 610之间。在这个配置中,VMM 630充当OS 610与计算机系统500的裸硬件620之间的软件“缓冲垫”或虚拟化层。
VMM 630实例化并运行一个或多个虚拟机实例(“客户(guest)机”)。每个客户机包括“客户”操作系统(诸如OS 610),以及被设计为在客户操作系统上执行的一个或多个应用(诸如(一个或多个)应用602)。VMM 630向客户操作系统呈现虚拟操作平台并管理客户操作系统的执行。
在一些实例中,VMM 630可以允许客户操作系统(OS)如同它直接在计算机系统500的裸硬件620上运行一样运行。在这些实例中,被配置为直接在裸硬件620上执行的客户操作系统的相同版本也可以在VMM 630上执行而无需修改或重新配置。换句话说,VMM 630可以在一些情况下向客户操作系统提供完全硬件和CPU虚拟化。
在其它实例中,客户操作系统可以被专门设计或配置为在VMM 630上执行以提高效率。在这些实例中,客户操作系统“意识到”它在虚拟机监视器上执行。换句话说,VMM 630可以在一些情况下向客户操作系统提供半虚拟化。
计算机系统进程包括硬件处理器时间的分配,以及存储器(物理和/或虚拟)的分配、用于存储由硬件处理器执行的指令的存储器的分配,用于存储由硬件处理器执行指令所生成的数据、和/或用于当计算机系统进程未运行时在硬件处理器时间的分配之间存储硬件处理器状态(例如,寄存器的内容)。计算机系统进程在操作系统的控制下运行,并且可以在计算机系统上执行的其它程序的控制下运行。
云计算
本文一般地使用术语“云计算”来描述计算模型,该计算模型使得能够按需访问计算资源(诸如计算机网络、服务器、软件应用和服务)的共享池,并且允许以最少的管理工作或服务提供商交互来快速提供和释放资源。
云计算环境(有时称为云环境或云)可以以各种不同方式实现,以最佳地适应不同要求。例如,在公共云环境中,底层计算基础设施由组织拥有,该组织使其云服务可供其它组织或公众使用。相反,私有云环境一般仅供单个组织使用或在单个组织内使用。社区云旨在由社区内的若干组织共享;而混合云包括通过数据和应用可移植性绑定在一起的两种或更多种类型的云(例如,私有、社区或公共云)。
一般而言,云计算模型使得先前可能由组织自己的信息技术部门提供的那些职责中的一些代替地作为云环境内的服务层来递送,以供消费者(根据云的公共/私人性质,在组织内部或外部)使用。取决于特定实现,由每个云服务层提供或在每个云服务层内提供的组件或特征的精确定义可以有所不同,但常见示例包括:软件即服务(SaaS),其中消费者使用在云基础设施上运行的软件应用,同时SaaS提供者管理或控制底层云基础设施和应用。平台即服务(PaaS),其中消费者可以使用由PaaS提供者支持的软件编程语言和开发工具,以开发、部署和以其它方式控制它们自己的应用,同时PaaS提供者管理或控制云环境的其它方面(即,运行时执行环境下的一切)。基础设施即服务(IaaS),其中消费者可以部署和运行任意软件应用,和/或提供进程、存储装置、网络和其它基础计算资源,同时IaaS提供者管理或控制底层物理云基础设施(即,操作系统层下面的一切)。数据库即服务(DBaaS),其中消费者使用在云基础设施上运行的数据库服务器或数据库管理系统,同时DbaaS提供者管理或控制底层云基础设施和应用。
给出上述基本计算机硬件和软件以及云计算环境是为了说明可以用于实现(一个或多个)示例实施例的基本底层计算机组件的目的。但是,(一个或多个)示例实施例不必限于任何特定的计算环境或计算设备配置。代替地,根据本公开,(一个或多个)示例实施例可以在本领域技术人员鉴于本公开将理解为能够支持本文给出的(一个或多个)示例实施例的特征和函数的任何类型的系统体系架构或处理环境中实现。
机器学习模型
使用特定的机器学习算法来训练机器学习模型。一旦被训练,输入就应用于机器学习模型以做出预测,该预测在本文中也可以被称为预测输出或输出。输入的属性可以被称为特征,并且特征的值在本文中可以被称为特征值。
机器学习模型包括模型数据表示或模型产物(artifact)。模型产物包括参数值,该参数值在本文中可以被称为theta值,并且由机器学习算法将其应用于输入以生成预测输出。训练机器学习模型需要确定模型产物的theta值。theta值的结构和组织取决于机器学习算法。
在监督式训练中,训练数据被监督式训练算法用来训练机器学习模型。训练数据包括输入和“已知”输出。在实施例中,监督式训练算法是迭代过程。在每次迭代中,机器学习算法都将模型产物和输入应用于生成预测输出。使用目标函数计算预测输出与已知输出之间的误差或方差。实际上,目标函数的输出基于迭代中模型产物的特定状态来指示机器学习模型的准确度。通过应用基于目标函数的优化算法,可以调节模型产物的theta值。优化算法的示例是梯度下降。可以重复迭代,直到实现期望的准确度或满足某个其它准则为止。
在软件实施方式中,当将机器学习模型称为接收输入、执行和/或生成输出或预测时,执行机器学习算法的计算机系统进程将模型产物应用于输入,以生成预测输出。计算机系统进程通过执行被配置为使得算法执行的软件来执行机器学习算法。
机器学习(ML)擅长的问题类别包括聚类、分类、回归、异常检测、预测和降维(即,简化)。机器学习算法的示例包括决策树、支持向量机(SVM)、贝叶斯网络、诸如遗传算法(GA)之类的随机算法以及诸如人工神经网络(ANN)之类的连接拓扑。机器学习的实施方式可以依赖于矩阵、符号模型以及分层级和/或关联的数据结构。最佳机器学习算法的参数化(即,可配置)实施方式可以在开源库中找到,其中开源库诸如Google的针对Python和C++的TensorFlow或佐治亚理工学院的针对C++的MLPack。Shogun是开源C++ML库,其带有用于若干编程语言(包括C#、Ruby、Lua、Java、MatLab、R和Python)的适配器。
人工神经网络
人工神经网络(ANN)是在高级别对由有向边互连的神经元系统进行建模的机器学习模型。在分层前馈神经网络的上下文中描述神经网络的概述。其它类型的神经网络共享下面描述的神经网络的特点。
在诸如多层感知器(MLP)之类的分层前馈网络中,每一层包括一组神经元。分层的神经网络包括输入层、输出层和被称为隐藏层的一个或多个中间层。
输入层和输出层中的神经元分别被称为输入神经元和输出神经元。隐藏层或输出层中的神经元在本文中可以被称为激活神经元。激活神经元与激活函数相关联。输入层不包含任何激活神经元。
从输入层和隐藏层中的每个神经元出发,在后续的隐藏层或输出层中存在指向激活神经元的一条或多条有向边。每条边与权重相关联。从神经元到激活神经元的边表示从神经元到激活神经元的输入,如由权重所调节的。
对于神经网络的给定输入,神经网络中的每个神经元具有激活值。对于输入神经元,激活值只是该输入的输入值。对于激活神经元,激活值是激活神经元的相应激活函数的输出。
从特定神经元到激活神经元的每条边表示特定神经元的激活值是激活神经元的输入,即,激活神经元的激活函数的输入,如由边的权重所调节的。因此,后续层中的激活神经元表示特定神经元的激活值是对激活神经元的激活函数的输入,如由边的权重所调节的。激活神经元可以具有指向激活神经元的多条边,每条边表示来自源起源神经元的激活值(如由边的权重所调节的)是激活神经元的激活函数的输入。
每个激活神经元与偏置相关联。为了生成激活神经元的激活值,将神经元的激活函数应用于加权的激活值和偏置。
神经网络的说明性数据结构
神经网络的产物可以包括权重和偏置的矩阵。训练神经网络可以迭代地调节权重和偏置的矩阵。
对于分层的前馈网络以及其它类型的神经网络,产物可以包括边W的一个或多个矩阵。矩阵W表示从层L-1到层L的边。假设层L-1和L中神经元的数量分别为N[L-1]和N[L],那么矩阵W的维度为N[L-1]列和N[L]行。
用于特定层L的偏置也可以存储在具有一列和N[L]行的矩阵B中。
矩阵W和B可以作为向量或数组存储在RAM存储器中,或以逗号分隔的值集合存储在存储器中。当产物被持久化在持久性存储装置中时,矩阵W和B可以以压缩和/串行化形式或其它合适的持久化形式存储为逗号分隔的值。
应用于神经网络的特定输入包括每个输入神经元的值。特定输入可以被存储为向量。训练数据包括多个输入,每个输入被称为样本集合中的样本。每个样本包括每个输入神经元的值。样本可以存储为输入值的向量,而多个样本可以存储为矩阵,矩阵中的每一行是一个样本。
当将输入应用于神经网络时,将为隐藏层和输出层生成激活值。对于每一层,激活值可以被存储在矩阵A的一列中,该矩阵对于层中的每个神经元具有一行。在用于训练的向量化方法中,激活值可以存储在矩阵中,该矩阵对于训练数据中的每个样本具有一列。
训练神经网络要求存储和处理附加矩阵。优化算法生成用于调节权重W和偏置B的矩阵的导数值的矩阵。生成导数值可以使用并要求存储在计算每一层的激活值时生成的中间值的矩阵。
神经元和/或边的数量确定了实现神经网络所需的矩阵的尺寸。神经网络中神经元和边的数量越少,矩阵和存储矩阵所需的存储器数量就越小。此外,越少数量的神经元和边减少了应用或训练神经网络所需的计算量。越少的神经元意味着在训练期间需要计算的激活值越少和/或需要计算的导数越少。
用于实现神经网络的矩阵的特性与神经元和边对应。矩阵W中的单元格表示从层L-1到层L中的神经元的特定边。激活神经元表示该层的包括上述激活函数的激活函数。层L中的激活神经元与矩阵W中用于层L和层L-1之间的边的权重的行以及矩阵W中用于层L和层L+1之间的边的权重的列对应。在执行神经网络期间,神经元还与存储在用于该层的矩阵A中并由激活函数生成的一个或多个激活值对应。
ANN适合进行数据并行化的向量化,其可以利用向量硬件,诸如单指令多数据(SIMD),诸如利用图形处理单元(GPU)。矩阵分区可以实现水平缩放,例如利用对称多处理(SMP),诸如利用多核中央处理单元(CPU)和/或多个协处理器(诸如GPU)。ANN内的前馈计算可以在每个神经层只有一步的情况下发生。基于前一层的激活值的加权传播来计算一层中的激活值,使得顺序地为每个后续层计算值,诸如利用for循环的相应迭代。分层强加了不可并行化的计算的排序。因此,网络深度(即,层数)可以造成计算时延。深度学习需要向多层感知器(MLP)赋予多层。每一层实现数据抽象,而复杂的(即,具有若干输入的多维)抽象则需要实现级联处理的多层。基于可重用矩阵的ANN的实施方式和用于前馈处理的矩阵运算在神经网络库中很容易获得并且可并行化,其中神经网络库诸如Google的针对Python和C++的TensorFlow、针对C++的OpenNN以及哥本哈根大学的快速人工神经网络(FANN)。这些库还提供模型训练算法,诸如后向传播(backpropagation)。
后向传播
ANN的输出可以或多或少是正确的。例如,识别字母的ANN可能将I误认为是L,因为这些字母具有相似的特征。正确的输出可以具有(一个或多个)特定的值,而实际的输出可以具有稍不同的值。可以根据损失函数将正确输出与实际输出之间的算术或几何差测量为误差,使得零表示无误差(即,完全准确)的行为。对于任何层中的任何边,正确输出与实际输出之间的差是增量值。
后向传播需要通过ANN的层向ANN内的所有连接边以不同的数量向后分发误差。误差的传播造成对边权重的调节,这取决于每条边上的误差的梯度。通过将边的误差增量乘以上游神经元的激活值来计算边的梯度。当梯度为负时,边对网络贡献的误差的量值越大,边的权重越应当减少,这就是负加强。当梯度为正时,正加强需要增加其激活会减少误差的边的权重。边权重根据边的梯度的百分比进行调节。梯度越陡,调节越大。并非所有边权重都调节相同的量。随着模型训练以附加的输入样本继续进行,ANN的误差应当下降。当误差稳定(即,停止减少)或消失在阈值以下(即,接近零)时,训练可以停止。ChristopherM.Bishop在相关参考文献“EXACT CALCULATION OF THE HESSIAN MATRIX FOR THE MULTI-LAYER PERCEPTRON”中教导了用于前馈多层感知器(MLP)的示例数学公式和技术,包括矩阵运算和后向传播。
模型训练可以是监督式的,或者是非监督式的。对于监督式训练,对于训练集中的每个示例已知的期望的(即,正确的)输出。训练集是通过(例如,人类专家)预先为每个示例指派分类标签来配置的。例如,用于光学字符识别的训练集可以具有各个字母的模糊照片,并且专家可以根据示出哪个字母预先标记每张照片。如上面所解释的,误差计算和后向传播发生。
因为需要在训练期间发现期望的输出,所以涉及更多的非监督式模型训练。非监督式训练可以更容易采用,因为不需要人类专家来预先标记训练示例。因此,非监督式训练节省人力。实现非监督式训练的自然方式是利用自动编码器,它是一种ANN。自动编码器用作具有两个层集合的编码器/解码器(编解码器)。第一层集合将输入示例编码为在模型训练期间需要学习的浓缩代码。第二层集合对浓缩代码进行解码,以重新生成原始输入示例。两个层集合作为一个组合的ANN一起进行训练。误差被定义为原始输入与解码后重新生成的输入之间的差。在充分训练之后,解码器或多或少确切地输出原始输入。
对于每个输入示例,自动编码器都依赖于浓缩代码作为中间格式。中间浓缩代码最初不存在,而是仅通过模型训练而出现,这可能与直觉相反。非监督式训练可以基于意料外的相关性的特征和区别来实现中间编码的词汇表。例如,在监督式训练期间使用了哪些示例和哪些标签可以取决于人类专家对问题空间的理解有些不科学(例如,轶事)或不完整。而非监督式训练则或多或少地完全基于统计趋势来发现合适的中间词汇表,该统计趋势由于通过重新生成解码而产生的内部反馈来以足够的训练可靠地收敛到最优。在标题为“AUTO-ENCODER ENHANCED SELF-DIAGNOSTIC COMPONENTS FOR MODEL MONITORING”的相关美国专利申请No.14/558,700中教导了自动编码器的实现和集成技术。该专利申请将监督式或非监督式ANN模型提升为第一类对象,其适合于诸如模型开发期间(诸如训练期间)的监视和治理的管理技术。
随机森林
随机森林或随机决策森林是学习方法的全体,这些学习方法在训练阶段期间构造随机生成的节点和决策树的集合。森林的不同决策树被构造为诸如通过特征自举聚合(装袋)而各自被随机限制为仅数据集特征维度的特定子集。因此,随着决策树的增长,决策树获得准确度,而不会被迫过度拟合训练数据(就像在决策树被迫学习数据集的所有特征维度时将会发生的那样)。可以基于来自不同决策树的预测的平均值(或其它合并,诸如softmax)来计算预测。
随机森林超参数可以包括:number-of-trees-in-the-forest(森林中树的数量)、maximum-number-of-features-considered-for-splitting-a-node(考虑用于拆分节点的最大特征数量)、number-of-levels-in-each-decision-tree(每个决策树中的级别数)、minimum-number-of-data-points-on-a-leaf-node(叶节点上数据点的最小数量)、method-for-sampling-data-points(采样数据点的方法)等。
在前述说明书中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可能因实施方案而不同。因此,应当在说明性而不是限制性的意义上看待说明书和附图。本发明范围的唯一且排他的指示以及申请人意在要作为本发明范围的是以由本申请产生的一组权利要求的具体形式的所产生权利要求的字面和等同范围,包括任何后续的校正。
Claims (20)
1.一种方法,包括:
对多个数据集的多个特征进行排名;
对于所述多个数据集中的每个数据集:
对于多个不同百分比中的每个百分比:
将机器学习(ML)模型配置为仅接收所述多个特征中的排名最高的所述百分比的特征,以及
测量相应多个准确度中的通过使用数据集训练ML模型而实现的准确度;以及
基于数据集的所述相应多个准确度和多个元特征值,生成多个训练元组中的相应元组;
基于所述多个训练元组来训练预测所述多个特征的最优数量的回归器。
2.如权利要求1所述的方法,还包括:
接收新数据集;
对于所述多个不同百分比中的每个百分比:
将ML模型配置为仅接收所述多个特征中的排名最高的所述百分比的特征,以及
测量新的多个准确度中的通过使用新数据集训练ML模型而实现的新准确度;以及
基于新数据集的所述新的多个准确度和新的多个元特征,生成新元组;
通过回归器并基于新元组来预测所述多个特征的新最优数量。
3.如权利要求2所述的方法,还包括:
将ML模型配置为仅接收所述多个特征中的排名最高的所述新最优数量的特征;
测量通过使用新数据集训练ML模型而实现的经验准确度和所述排名最高的所述新最优数量;
基于所述经验准确度和所述新的多个准确度来选择所述多个特征的子集。
4.如权利要求3所述的方法,其中所述多个特征的大小不影响以下各项的复杂度:
所述预测所述多个特征的新最优数量,
所述测量通过使用新数据集训练ML模型而实现的经验准确度,和/或
所述选择所述多个特征的子集。
5.如权利要求1所述的方法,其中所述预测所述多个特征的最优数量包括:
预测所述多个特征的百分比,或者
预测所述多个特征的最优子集。
6.如权利要求1所述的方法,其中:
所述对所述多个特征进行排名包括所述多个特征的多个排名;
所述对于每个数据集包括对于每个数据集和所述多个排名中的每个特定排名;
所述多个特征中的所述排名最高的所述百分比的特征包括通过所述特定排名的所述排名最高;
所述预测所述多个特征的所述最优数量包括预测所述多个排名中的每个特定排名的相应最优数量。
7.如权利要求1所述的方法,其中:
所述多个数据集是从原始数据集的交叉验证折叠中导出的,和/或
所述回归器包括随机森林。
8.如权利要求1所述的方法,其中:
所述多个元特征的计数超过所述多个准确度的计数,
所述多个准确度的计数不超过十个,
所述多个元特征的计数超过六个,和/或
所述多个数据集的计数超过一百个。
9.如权利要求1所述的方法,其中所述数据集的所述多个元特征包括:
所述数据集中的样本的计数,
所述多个特征的计数,
所述多个特征中的数字特征的计数,
所述多个特征中的非数字特征的计数,
所述多个特征的计数与所述数据集中的样本的计数的比率,
所述数据集中的所述ML模型能够识别的样本的类别的计数,
所述数据集中的所述类别中频率最低的类别的样本的少数计数,
所述数据集中的所述类别中频率最高的类别的样本的多数计数,和/或
所述少数计数与所述多数计数的比率。
10.如权利要求1所述的方法,其中所述准确度包括:精度、召回率或F分数。
11.一种或多种存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时,使得:
对多个数据集的多个特征进行排名;
对于所述多个数据集中的每个数据集:
对于多个不同百分比中的每个百分比:
将机器学习(ML)模型配置为仅接收所述多个特征中的排名最高的所述百分比的特征,以及
测量相应多个准确度中的通过使用数据集训练ML模型而实现的准确度;以及
基于数据集的所述相应多个准确度和多个元特征值,生成多个训练元组中的相应元组;
基于所述多个训练元组来训练预测所述多个特征的最优数量的回归器。
12.如权利要求11所述的一种或多种非暂态计算机可读介质,其中所述指令还使得:
接收新数据集;
对于所述多个不同百分比中的每个百分比:
将ML模型配置为仅接收所述多个特征中的排名最高的所述百分比的特征,以及
测量新的多个准确度中的通过使用新数据集训练ML模型而实现的新准确度;以及
基于新数据集的所述新的多个准确度和新的多个元特征,生成新元组;
通过回归器并基于新元组来预测所述多个特征的新最优数量。
13.如权利要求12所述的一种或多种非暂态计算机可读介质,其中所述指令还使得:
将ML模型配置为仅接收所述多个特征中的排名最高的所述新最优数量的特征;
测量通过使用新数据集训练ML模型而实现的经验准确度和所述排名最高的所述新最优数量;
基于所述经验准确度和所述新的多个准确度来选择所述多个特征的子集。
14.如权利要求13所述的一种或多种非暂态计算机可读介质,其中所述多个特征的大小不影响以下各项的复杂度:
所述预测所述多个特征的新最优数量,
所述测量通过使用新数据集训练ML模型而实现的经验准确度,和/或
所述选择所述多个特征的子集。
15.如权利要求11所述的一种或多种非暂态计算机可读介质,其中所述预测所述多个特征的最优数量包括:
预测所述多个特征的百分比,或者
预测所述多个特征的最优子集。
16.如权利要求11所述的一种或多种非暂态计算机可读介质,其中:
所述对所述多个特征进行排名包括所述多个特征的多个排名;
所述对于每个数据集包括对于每个数据集和所述多个排名中的每个特定排名;
所述多个特征中的所述排名最高的所述百分比的特征包括通过所述特定排名的所述排名最高;
所述预测所述多个特征的所述最优数量包括预测所述多个排名中的每个特定排名的相应最优数量。
17.如权利要求11所述的一种或多种非暂态计算机可读介质,其中:
所述多个数据集是从原始数据集的交叉验证折叠中导出的,和/或
所述回归器包括随机森林。
18.如权利要求11所述的一种或多种非暂态计算机可读介质,其中:
所述多个元特征的计数超过所述多个准确度的计数,
所述多个准确度的计数不超过十个,
所述多个元特征的计数超过六个,和/或
所述多个数据集的计数超过一百个。
19.如权利要求11所述的一种或多种非暂态计算机可读介质,其中所述数据集的所述多个元特征包括:
所述数据集中的样本的计数,
所述多个特征的计数,
所述多个特征中的数字特征的计数,
所述多个特征中的非数字特征的计数,
所述多个特征的计数与所述数据集中的样本的计数的比率,
所述数据集中的所述ML模型能够识别的样本的类别的计数,
所述数据集中的所述类别中频率最低的类别的样本的少数计数,
所述数据集中的所述类别中频率最高的类别的样本的多数计数,和/或
所述少数计数与所述多数计数的比率。
20.如权利要求11所述的一种或多种非暂态计算机可读介质,其中所述准确度包括:精度、召回率或F分数。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962834166P | 2019-04-15 | 2019-04-15 | |
US62/834,166 | 2019-04-15 | ||
US16/547,312 US11615265B2 (en) | 2019-04-15 | 2019-08-21 | Automatic feature subset selection based on meta-learning |
US16/547,312 | 2019-08-21 | ||
PCT/US2020/025646 WO2020214396A1 (en) | 2019-04-15 | 2020-03-30 | Automatic feature subset selection based on meta-learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113795853A true CN113795853A (zh) | 2021-12-14 |
Family
ID=72747432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080028693.9A Pending CN113795853A (zh) | 2019-04-15 | 2020-03-30 | 基于元学习的自动特征子集选择 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11615265B2 (zh) |
CN (1) | CN113795853A (zh) |
WO (1) | WO2020214396A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545086A (zh) * | 2022-11-07 | 2022-12-30 | 海纳科德(湖北)科技有限公司 | 一种可迁移的特征自动选取声学诊断方法及系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544630B2 (en) | 2018-10-15 | 2023-01-03 | Oracle International Corporation | Automatic feature subset selection using feature ranking and scalable automatic search |
US11061902B2 (en) | 2018-10-18 | 2021-07-13 | Oracle International Corporation | Automated configuration parameter tuning for database performance |
US11429895B2 (en) | 2019-04-15 | 2022-08-30 | Oracle International Corporation | Predicting machine learning or deep learning model training time |
US11868854B2 (en) | 2019-05-30 | 2024-01-09 | Oracle International Corporation | Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models |
US11727284B2 (en) * | 2019-12-12 | 2023-08-15 | Business Objects Software Ltd | Interpretation of machine learning results using feature analysis |
DE102020202303A1 (de) * | 2020-02-24 | 2021-08-26 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Verifizieren von Software |
US11989657B2 (en) | 2020-10-15 | 2024-05-21 | Oracle International Corporation | Automated machine learning pipeline for timeseries datasets utilizing point-based algorithms |
CN114067914B (zh) * | 2021-10-27 | 2024-08-20 | 山东大学 | 基于元学习的生物活性肽预测方法及系统 |
US11847045B2 (en) * | 2021-10-29 | 2023-12-19 | Oracle International Corporation | Techniques for model artifact validation |
US20240152797A1 (en) * | 2022-11-07 | 2024-05-09 | Genpact Luxembourg S.à r.l. II | Systems and methods for model training and model inference |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7921068B2 (en) | 1998-05-01 | 2011-04-05 | Health Discovery Corporation | Data mining platform for knowledge discovery from heterogeneous data types and/or heterogeneous data sources |
US6789069B1 (en) | 1998-05-01 | 2004-09-07 | Biowulf Technologies Llc | Method for enhancing knowledge discovered from biological data using a learning machine |
US20020169735A1 (en) | 2001-03-07 | 2002-11-14 | David Kil | Automatic mapping from data to preprocessing algorithms |
US7593903B2 (en) * | 2004-12-03 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Method and medium for feature selection of partially labeled data |
IL191744A0 (en) | 2008-05-27 | 2009-02-11 | Yuval Elovici | Unknown malcode detection using classifiers with optimal training sets |
US10832158B2 (en) | 2014-03-31 | 2020-11-10 | Google Llc | Mutual information with absolute dependency for feature selection in machine learning models |
US10496927B2 (en) * | 2014-05-23 | 2019-12-03 | DataRobot, Inc. | Systems for time-series predictive data analytics, and related methods and apparatus |
MX2017012232A (es) | 2015-03-27 | 2018-06-06 | Philip Morris Products Sa | Contenedor para articulos de consumo con un separador que contiene un corte. |
US20160358099A1 (en) | 2015-06-04 | 2016-12-08 | The Boeing Company | Advanced analytical infrastructure for machine learning |
US10691491B2 (en) * | 2016-10-19 | 2020-06-23 | Nutanix, Inc. | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment |
IL257381A (en) | 2017-02-06 | 2018-03-29 | Neural Algorithms Ltd | System and method for automatically building data models |
US11361243B2 (en) | 2017-06-07 | 2022-06-14 | Accenture Global Solutions Limited | Recommending machine learning techniques, features, and feature relevance scores |
US11544494B2 (en) * | 2017-09-28 | 2023-01-03 | Oracle International Corporation | Algorithm-specific neural network architectures for automatic machine learning model selection |
US10733344B2 (en) * | 2017-10-23 | 2020-08-04 | Onespin Solutions Gmbh | Method of selecting a prover |
US11748654B2 (en) | 2018-06-25 | 2023-09-05 | Nasdaq, Inc. | Systems and methods of windowing time series data for pattern detection |
US20200074306A1 (en) | 2018-08-31 | 2020-03-05 | Ca, Inc. | Feature subset evolution by random decision forest accuracy |
US11048727B2 (en) * | 2018-09-10 | 2021-06-29 | Ciena Corporation | Systems and methods for automated feature selection and pattern discovery of multi-variate time-series |
US11544630B2 (en) | 2018-10-15 | 2023-01-03 | Oracle International Corporation | Automatic feature subset selection using feature ranking and scalable automatic search |
US11204847B2 (en) * | 2018-12-21 | 2021-12-21 | Microsoft Technology Licensing, Llc | Machine learning model monitoring |
US11580325B2 (en) * | 2019-01-25 | 2023-02-14 | Yahoo Assets Llc | Systems and methods for hyper parameter optimization for improved machine learning ensembles |
US11429895B2 (en) * | 2019-04-15 | 2022-08-30 | Oracle International Corporation | Predicting machine learning or deep learning model training time |
US11868854B2 (en) * | 2019-05-30 | 2024-01-09 | Oracle International Corporation | Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models |
-
2019
- 2019-08-21 US US16/547,312 patent/US11615265B2/en active Active
-
2020
- 2020-03-30 WO PCT/US2020/025646 patent/WO2020214396A1/en active Application Filing
- 2020-03-30 CN CN202080028693.9A patent/CN113795853A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545086A (zh) * | 2022-11-07 | 2022-12-30 | 海纳科德(湖北)科技有限公司 | 一种可迁移的特征自动选取声学诊断方法及系统 |
CN115545086B (zh) * | 2022-11-07 | 2023-04-18 | 海纳科德(湖北)科技有限公司 | 一种可迁移的特征自动选取声学诊断方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20200327357A1 (en) | 2020-10-15 |
US11615265B2 (en) | 2023-03-28 |
WO2020214396A1 (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544630B2 (en) | Automatic feature subset selection using feature ranking and scalable automatic search | |
US11615265B2 (en) | Automatic feature subset selection based on meta-learning | |
US11620568B2 (en) | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection | |
US11531915B2 (en) | Method for generating rulesets using tree-based models for black-box machine learning explainability | |
EP3857377B1 (en) | Disk drive failure prediction with neural networks | |
US11429895B2 (en) | Predicting machine learning or deep learning model training time | |
US11868854B2 (en) | Using metamodeling for fast and accurate hyperparameter optimization of machine learning and deep learning models | |
US11205050B2 (en) | Learning property graph representations edge-by-edge | |
US20210287069A1 (en) | Name matching engine boosted by machine learning | |
US20220138504A1 (en) | Separation maximization technique for anomaly scores to compare anomaly detection models | |
US11720751B2 (en) | Global, model-agnostic machine learning explanation technique for textual data | |
US20220335255A1 (en) | Dataset-free, approximate marginal perturbation-based feature attributions | |
US20220198277A1 (en) | Post-hoc explanation of machine learning models using generative adversarial networks | |
US20200257982A1 (en) | Categorical feature encoding for property graphs by vertex proximity | |
US20210374544A1 (en) | Leveraging lagging gradients in machine-learning model training | |
US20220366297A1 (en) | Local permutation importance: a stable, linear-time local machine learning feature attributor | |
US12020131B2 (en) | Sparse ensembling of unsupervised models | |
US20220043681A1 (en) | Memory usage prediction for machine learning and deep learning models | |
US20240095231A1 (en) | Expert-optimal correlation: contamination factor identification for unsupervised anomaly detection | |
US20240037383A1 (en) | Validation metric for attribution-based explanation methods for anomaly detection models | |
US20230334364A1 (en) | N-1 experts: model selection for unsupervised anomaly detection | |
US20240126798A1 (en) | Profile-enriched explanations of data-driven models | |
WO2024063828A1 (en) | Expert-optimal correlation: contamination factor identification for unsupervised anomaly detection | |
WO2024063827A1 (en) | Learning hyper-parameter scaling models for unsupervised anomaly detection |
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 |