CN110852443A - 特征稳定性检测方法、设备及计算机可读介质 - Google Patents
特征稳定性检测方法、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN110852443A CN110852443A CN201910919567.1A CN201910919567A CN110852443A CN 110852443 A CN110852443 A CN 110852443A CN 201910919567 A CN201910919567 A CN 201910919567A CN 110852443 A CN110852443 A CN 110852443A
- Authority
- CN
- China
- Prior art keywords
- feature
- stability
- samples
- training
- threshold
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Complex Calculations (AREA)
Abstract
本申请提供了一种特征稳定性检测方案中,使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值,并根据所述分类阈值划分每项特征的值域区间,在确定值域区间之后,使用测试集中样本的特征组,并基于对应于每项特征的值域,计算每项特征的稳定性指标,由于不需要人工设定每个特征的区间划分,而是基于模型训练过程中的分类阈值来自动划分值域区间,由此获取的值域区间会与机器学习模型实际的特征分布符合,使得以此计算获得的稳定性指标能够真实的反映特征分布变化对于模型性能的影响,有效防止在特征选择时筛掉合适的特征。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种特征稳定性检测方法、设备及计算机可读介质。
背景技术
在使用机器学习算法时,需要先对样本数据进行加工处理,将其投影到一个特征空间中。在一个好的特征空间中不同类的样本分布是低密度分离的,特征空间的设计(包括特征设计和特征选择)决定了机器学习算法性能的上限。在实际应用中,由于采样策略变化、目标群体变迁等各种原因,会导致采样群体在特征空间中的分布产生变化。
由于机器学习模型是基于特定的样本群体开发的,将其施用于其他样本群体时可能因特征分布改变而影响模型性能。如果没有筛掉变化大的重要特征,则模型会过拟合(overfit)训练集,如果误删了变化不大的重要特征,则会直接损失模型性能。因此,在进行特征选择时,如何恰当评估机器学习模型的特征稳定性非常重要。
目前常用的方式是采用群体稳定性指标(Population Stability Index,PSI)来评估机器学习模型的特征稳定性,该方式首先将特征的值域进行平均划分,然后计算各个值域区间内测试样本的实际占比与预期占比是否有显著变化。具体公式如下:
PSI=SUM((实际占比-预期占比)·ln(实际占比/预期占比))
但是该方法的不足之处在于:对特征的值域区间的划分是需要人工设置的超参数,不同的值域区间会显著影响计算出的PSI值。如果测试样本的特征分布变化局限于阈值区间内部,对于阈值区间整体而言最终计算获得PSI可能不会发生变化。例如,以图1中所示的特征分布情况为例,若设置划分值域区间的阈值为横轴的10和80,由此划分出的阈值区间分别为<10、10-80和>80,由于特征分布的变化局限于10-80的区间内部,但是对于取值区间整体而言样本的占比并未发生变化,由此导致分布1和分布2的PSI是一样的,因此无法真实的反映特征分布变化对于模型性能的影响。
申请内容
本申请的一个目的是提供一种特征稳定性检测的方案,用以解决现有方案中无法准确反映特征分布变化对于模型性能的影响的问题。
本申请实施例提供了一种特征稳定性检测方法,该方法包括:
使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值,所述特征组中包括多项特征;
根据所述分类阈值划分每项特征的值域区间;
使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标,其中,所述测试集中样本的特征组包含的特征与所述训练集中样本的特征组包含的特征相同;
根据所述稳定性指标确定所述机器学习模型的特征稳定性。
本申请实施例还提供了一种特征稳定性检测设备,该设备包括:
模型训练模块,用于使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值,所述特征组中包括多项特征;
值域划分模块,用于根据所述分类阈值划分每项特征的值域区间;
指标计算模块,用于使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标,其中,所述测试集中样本的特征组包含的特征与所述训练集中样本的特征组包含的特征相同;
性能评估模块,用于根据所述稳定性指标确定所述机器学习模型的特征稳定性。
此外,本申请的一些实施例还提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的特征稳定性检测。
本申请的另一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的特征稳定性检测。
本申请实施例提供的特征稳定性检测方案中,使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值,并根据所述分类阈值划分每项特征的值域区间,在确定值域区间之后,使用测试集中样本的特征组,并基于对应于每项特征的值域,计算每项特征的稳定性指标,由于不需要人工设定每个特征的区间划分,而是基于模型训练过程中的分类阈值来自动划分值域区间,由此获取的值域区间会与机器学习模型实际的特征分布符合,使得以此计算获得的稳定性指标能够真实的反映特征分布变化对于模型性能的影响,有效防止在特征选择时筛掉合适的特征。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的一种跨站脚本攻击漏洞检测方法的处理流程图;
图2为采用自动化UI测试工具控制真机设备检测漏洞的方案的检测流程图;
图3为本申请实施例提供的检测方案与采用自动化UI测试工具控制真机设备的检测方案的区别示意图;
图4为本申请实施例提供的一种跨站脚本攻击漏洞检测设备的结构示意图;
图5为本申请实施例提供的一种用于实现跨站脚本攻击漏洞检测的计算设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种特征稳定性检测方法,该方法不需要人工设定每个特征的区间划分,而是基于模型训练过程中的分类阈值来自动划分值域区间,由此获取的值域区间会与机器学习模型实际的特征分布符合,使得以此计算获得的稳定性指标能够真实的反映特征分布变化对于模型性能的影响,有效防止在特征选择时筛掉合适的特征。
在实际场景中,该方法的执行主体可以是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备,此外也可以是运行于上述设备中的程序。所述用户设备包括但不限于计算机、手机、平板电脑等各类终端设备;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图2示出了本申请实施例提供的一种特征稳定性检测方法的处理流程,至少包括以下处理步骤:
步骤S201,使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值。其中,所述特征组中可以包括多项特征,所述特征是用于区分不同样本的抽象化信息,例如若样本是词语时,为了区分不同的词语其特征组中的特征可以是词向量,若样本是一个人群中的不同个体时,其特征组中的特征可以是年龄、性别、收入、职业、婚姻状态等个人信息,或者也可以是基于这些个人信息进一步计算得到的信息。
在实际场景中,若训练集中包含n个样本X1,X2,......Xn,对于任意一个样本Xi都可以确定一组特征F1,F2,......Fm,由此训练集中样本Xi的特征组可以记作[F1,F2,......Fm]。
所述基于阈值分类的机器学习模型是指在实现分类时,通过比较当前特征的值和该特征的阈值做出的决策的算法模型,实际场景中可以包括决策树(Decision Tree)、梯度提升决策树(GBDT)、随机森林(Random Forest)等机器学习算法对应的模型。
使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练的过程中,可以获得每项特征进行分类时所采用的分类阈值,对于任意一个特征Fi可以记录其对应的分类阈值的集合为[ti1,ti2,......tic]。例如,对于年龄这一特征,在训练模型的过程中使用过的阈值可以包括10、18、30、36、40、50等;对于每月收入这一特征,在训练模型的过程中使用过的阈值可以包括2000、3500、6000、10000等。
在本申请的一些实施例中,使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练之前,可以对所述训练集中样本的特征组进行降维处理。在实际场景中,特征组中特征的维度越高,计算的复杂度也越高,由此会导致处理负载增加、处理效率降低。因此,对于一些相关度较高的特征可以进行合并或者仅保留其中的一部分,从而减低特征的维度,提高处理效率。
本申请实施例在对样本的特征组进行降维处理时,可以先计算样本的特征组中各个特征之间的相关系数,确定特征之间的相关度。其中,所述相关系数是用于表示两个特征之间的相关程度的量,常用的相关系数包括皮尔森(Pearson)系数、斯皮尔曼(Spearman)系数、肯德尔(kendall)系数等,可以根据不同的应用场景中选择或定义不同的相关系数。
对相关度高于预设值的多个特征,保留其中IV(Information Value)值或信息增益最大的特征。基于相关系数所确定的相关度越高,表示特征之间的变化趋势越接近,例如体重一般都会随着身高增加而增加,平时成绩较好的学生一般也会期末考试取得较好的成绩,因此基于特征的数值统计可以发现身高和体重、平时成绩和期末考试成绩等均属于相关度较高的特征。对应这些相关度高于预设值的多个特征,可以仅保留其中对分类起到最大贡献的特征,而将其余的特征作为冗余特征筛选掉,由此可以有效地减低特征的维度,提高处理效率。
在本申请实施例中,筛选特征时可以基于IV值或信息增益,对于二分类的分类模型可以采用IV值,而对于多分类的分类模型则可以采用信息增益。由此,可以在相关度高于预设值的多个特征中保留其中IV值或信息增益最大的特征。对于特征组[F1,F2,......Fm],对其进行降维处理完成筛选后的特征组可以是[F1,F2,......Fk],其中k<m。
在此,本领域技术人员应能理解上述对特征组进行降维的具体方式仅为举例,其他现有的或今后可能出现的其它方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。例如,也可以采用主成分分析(PCA)或者线性判别分析(LDA)的方式对特征组进行降维。
步骤S202,根据所述分类阈值划分每项特征的值域区间。在划分阈值区间时,分类阈值即为各个取值区间的起点或终点,例如对于每月收入这一特征,其分类阈值的集合为[2000,3500,6000,10000],由此可以划分出5个阈值区间[0,2000]、(2000,3500]、(3500,6000]、(6000,10000]、(10000,+∞)。由于由此划分出的值域区间是基于训练时使用过的分类阈值确定的,需要人工设置,并且与实际样本的特征分布符合,不易出现测试样本的特征分布变化局限于阈值区间内部的情况。
步骤S203,使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标。在实际场景中,所述测试集和训练集可以来自同一批数据,即将一个数据集中的样本划分为两部分,分别作为测试集和训练集,例如可以将数据集中70%样本作为训练集,剩余的30%样本作为测试集。
所述测试集中样本的特征组包含的特征与所述训练集中样本的特征组包含的特征相同,若在训练模型时训练集样本的特征组包含了m个特征,则在对测试集样本进行分类时,其特征组也同样需要包含这m个特征。若训练集中的样本的特征组已经进行过降维处理,使用了包含k个特征的特征组[F1,F2,......Fk]进行模型训练,则测试集的样本中的特征也需要降维至同样的k个特征。
在本申请的一些实施例中,所述稳定性指标可以采用类似前述PSI的计算方式,采用SUM((Rtri-Rtsi)·ln(Rtri/Rtsi)),其中,Rtri为特征在第i个值域区间内的训练样本关于训练样本总数的占比,Rtsi为特征在第i个值域区间内的测试样本关于测试样本总数的占比,SUM()表示对所有值域区间的计算结果累加。以前述每月收入这一特征为例,其值域区间包括5个,对应值域区间i=1~5,分别为[0,2000]、(2000,3500]、(3500,6000]、(6000,10000]、(10000,+∞),若训练样本以及测试样本落在每个值域区间的特征分布如下表1所示:
表1
对于值域区间1,(Rtr1-Rts1)·ln(Rtr1/Rts1)=(0.1-0.12)·ln(0.I/0.12)≈0.00365;
对于值域区间2,(Rtr2-Rts2)·ln(Rtr2/Rts2)=(0.2-0.22)·ln(0.2/0.22)≈0.00191;
对于值域区间3,(Rtr3-Rts3)·ln(Rtr3/Rts3)=(0.5-0.44)·ln(0.5/0.44)≈0.00767;
对于值域区间4,(Rtr4-Rts4)·ln(Rtr4/Rts4)=(0.15-0.2)·ln(0.15/0.2)≈0.01438;
对于值域区间4,(Rtr5-Rts5)·ln(Rtr5/Rts5)=(0.05-0.02)·ln(0.05/0.02)≈0.10520;
由此可知,对于每月收入这一特征的稳定性指标为0.00365+0.00191+0.00767+0.01438+0.10520=0.13281。基于同样的方式可以获取其它特征的稳定性指标。
为了使得判断的结果能够更加准确,本申请的另一些实施例中,可以对计算特征稳定性指标的方式进行优化,即采用如下的公式计算特征的稳定性指标:
TPSI=SUM(Rtsi·(Rtri-Rtsi)·ln(Rtri/Rtsi))
其中,TPSI为特征的稳定性指标,Rtri为特征在第i个值域区间内的训练样本关于训练样本总数的占比,Rtsi为特征在第i个值域区间内的测试样本关于测试样本总数的占比,SUM()表示对所有值域区间的计算结果累加。
与前述的方式相比,增加了加权计算的部分,即(Rtri-Rtsi)·ln(Rtri/Rtsi)这一部分反映了该值域区间内测试集样本的特征分布与训练集样本的特征分布的差异性,进行加权之后,具有差异的测试集样本越多,则对于模型性能所反映出的影响也越大,由此可以使得计算结果更加符合实际情况,并且减少因测试集样本和训练集样本数量不同而引起的误差。
仍以前述每月收入这一特征的稳定性指标为例,采用加权计算的方式所计算获得的稳定性指标为:
TPSI=0.12×0.00365+0.22×0.00191+0.44×0.00767+0.2×0.01438+0.02×0.10520=4.38×10-4+4.202×10-4+33.748×10-4+28.76×10-4+21.04×10-4=9.213×10-3
同理,基于同样的方式可以获取其它特征的稳定性指标。
步骤S204,根据所述稳定性指标确定所述机器学习模型的特征稳定性。由于模型的各个特征的稳定性指标能够反映出特征对于模型性能的影响,这些稳定性指标越低,表示基于这些特征的相应阈值进行分类的机器学习模型的性能越好,由此可以判定所述机器学习模型的特征稳定性是否符合要求。
在本申请的一些实施例中,根据所述稳定性指标确定所述机器学习模型的稳定性的方式可以是:将每项特征的稳定性指标,与对应判定阈值比较,若每项特征的稳定性指标均小于等于对应判定阈值,确定所述机器学习模型的特征稳定性符合要求。所述判定阈值可以根据应用场景的设定,例如对于一些对稳定性要求较高的应用场景,则可以将判定阈值设定成较低的数值,例如0.15、0.1等,而对于稳定性要求不高的应用场景,则可以将判定阈值设定成较高的数值,例如0.25、0.3等。
在实际场景中,除了每项特征的稳定性指标均小于等于对应判定阈值的情况,还可能会有部分特征的稳定性指标大于对应判定阈值的情况。若存在稳定性指标大于对应判定阈值的特征,则表示该特征的稳定性不够,会影响到该模型性能,已经无法适用于当前的机器学习模型,因此可以删除稳定性指标大于对应判定阈值的特征,获得新的特征组[F1,F2,......Fn],而后使用新的特征组重新执行特征稳定性检测,即返回步骤S101使用新的特征组[F1,F2,......Fn]重新执行上述步骤,通过迭代的方式直至每项特征的稳定性指标均小于等于对应判定阈值,从而确定所述机器学习模型的特征稳定性符合要求。
在确定所述机器学习模型的特征稳定性符合要求时,此时的特征组以及训练获得的机器学习模型集合适合于对应场景的特征组以及模型。因此,在本申请的一些实施例中,该方法还可以在判定每项特征的稳定性指标均小于等于对应判定阈值时,输出训练获得的机器学习模型以及当前的特征组,以供用户在对应的应用场景中使用。
基于同一发明构思,本申请实施例中还提供了一种特征稳定性检测设备,所述设备对应的方法是前述实施例中的特征稳定性检测方法,并且其解决问题的原理与该方法相似。
本申请实施例提供的一种特征稳定性检测设备,不需要人工设定每个特征的区间划分,而是基于模型训练过程中的分类阈值来自动划分值域区间,由此获取的值域区间会与机器学习模型实际的特征分布符合,使得以此计算获得的稳定性指标能够真实的反映特征分布变化对于模型性能的影响,有效防止在特征选择时筛掉合适的特征。
在实际场景中,特征稳定性检测设备是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备,此外也可以是运行于上述设备中的程序。所述用户设备包括但不限于计算机、手机、平板电脑等各类终端设备;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图3示出了本申请实施例提供的一种特征稳定性检测设备的结构,该设备至少包括模型训练模块310、值域划分模块320、指标计算模块330和性能评估模块340。其中,所述模型训练模块310用于使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值。值域划分模块320用于根据所述分类阈值划分每项特征的值域区间。指标计算模块330用于使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标。性能评估模块340用于根据所述稳定性指标确定所述机器学习模型的特征稳定性。
所述特征组中可以包括多项特征,所述特征是用于区分不同样本的抽象化信息,例如若样本是词语时,为了区分不同的词语其特征组中的特征可以是词向量,若样本是一个人群中的不同个体时,其特征组中的特征可以是年龄、性别、收入、职业、婚姻状态等个人信息,或者也可以是基于这些个人信息进一步计算得到的信息。
在实际场景中,若训练集中包含n个样本X1,X2,......Xn,对于任意一个样本Xi都可以确定一组特征F1,F2,......Fm,由此训练集中样本Xi的特征组可以记作[F1,F2,......Fm]。
所述基于阈值分类的机器学习模型是指在实现分类时,通过比较当前特征的值和该特征的阈值做出的决策的算法模型,实际场景中可以包括决策树(Decision Tree)、梯度提升决策树(GBDT)、随机森林(Random Forest)等机器学习算法对应的模型。
使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练的过程中,可以获得每项特征进行分类时所采用的分类阈值,对于任意一个特征Fi可以记录其对应的分类阈值的集合为[ti1,ti2,......tic]。例如,对于年龄这一特征,在训练模型的过程中使用过的阈值可以包括10、18、30、36、40、50等;对于每月收入这一特征,在训练模型的过程中使用过的阈值可以包括2000、3500、6000、10000等。
在本申请的一些实施例中,所述设备还可以包括一特征筛选模块,该特征筛选模块用于在使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练之前,对所述训练集中样本的特征组进行降维处理。在实际场景中,特征组中特征的维度越高,计算的复杂度也越高,由此会导致处理负载增加、处理效率降低。因此,对于一些相关度较高的特征可以进行合并或者仅保留其中的一部分,从而减低特征的维度,提高处理效率。
本申请实施例在对样本的特征组进行降维处理时,特征筛选模块可以先计算样本的特征组中各个特征之间的相关系数,确定特征之间的相关度。其中,所述相关系数是用于表示两个特征之间的相关程度的量,常用的相关系数包括皮尔森(Pearson)系数、斯皮尔曼(Spearman)系数、肯德尔(kendall)系数等,可以根据不同的应用场景中选择或定义不同的相关系数。
对相关度高于预设值的多个特征,保留其中IV(Information Value)值或信息增益最大的特征。基于相关系数所确定的相关度越高,表示特征之间的变化趋势越接近,例如体重一般都会随着身高增加而增加,平时成绩较好的学生一般也会期末考试取得较好的成绩,因此基于特征的数值统计可以发现身高和体重、平时成绩和期末考试成绩等均属于相关度较高的特征。对应这些相关度高于预设值的多个特征,可以仅保留其中对分类起到最大贡献的特征,而将其余的特征作为冗余特征筛选掉,由此可以有效地减低特征的维度,提高处理效率。
在本申请实施例中,筛选特征时可以基于IV值或信息增益,对于二分类的分类模型可以采用IV值,而对于多分类的分类模型则可以采用信息增益。由此,可以在相关度高于预设值的多个特征中保留其中IV值或信息增益最大的特征。对于特征组[F1,F2,......Fm],对其进行降维处理完成筛选后的特征组可以是[F1,F2,......Fk],其中k<m。
在此,本领域技术人员应能理解上述对特征组进行降维的具体方式仅为举例,其他现有的或今后可能出现的其它方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。例如,也可以采用主成分分析(PCA)或者线性判别分析(LDA)的方式对特征组进行降维。
值域划分模块320在划分阈值区间时,分类阈值即为各个取值区间的起点或终点,例如对于每月收入这一特征,其分类阈值的集合为[2000,3500,6000,10000],由此可以划分出5个阈值区间[0,2000]、(2000,3500]、(3500,6000]、(6000,10000]、(10000,+∞)。由于由此划分出的值域区间是基于训练时使用过的分类阈值确定的,需要人工设置,并且与实际样本的特征分布符合,不易出现测试样本的特征分布变化局限于阈值区间内部的情况。
指标计算模块330使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标。在实际场景中,所述测试集和训练集可以来自同一批数据,即将一个数据集中的样本划分为两部分,分别作为测试集和训练集,例如可以将数据集中70%样本作为训练集,剩余的30%样本作为测试集。
所述测试集中样本的特征组包含的特征与所述训练集中样本的特征组包含的特征相同,若在训练模型时训练集样本的特征组包含了m个特征,则在对测试集样本进行分类时,其特征组也同样需要包含这m个特征。若训练集中的样本的特征组已经由特征筛选模块进行过降维处理,使用了包含k个特征的特征组[F1,F2,......Fk]进行模型训练,则测试集的样本中的特征也需要由特征筛选模块降维至同样的k个特征。
在本申请的一些实施例中,所述稳定性指标可以采用类似前述PSI的计算方式,采用SUM((Rtri-Rtsi)·ln(Rtri/Rtsi)),其中,Rtri为特征在第i个值域区间内的训练样本关于训练样本总数的占比,Rtsi为特征在第i个值域区间内的测试样本关于测试样本总数的占比,SUM()表示对所有值域区间的计算结果累加。以前述每月收入这一特征为例,其值域区间包括5个,对应值域区间i=1~5,分别为[0,2000]、(2000,3500]、(3500,6000]、(6000,10000]、(10000,+∞),若训练样本以及测试样本落在每个值域区间的特征分布如表1所示。
对于值域区间1,(Rtr1-Rts1)·ln(Rtr1/Rts1)=(0.1-0.12)·ln(0.1/0.12)≈0.00365;
对于值域区间2,(Rtr2-Rts2)·ln(Rtr2/Rts2)=(0.2-0.22)·ln(0.2/0.22)≈0.00191;
对于值域区间3,(Rtr3-Rts3)·ln(Rtr3/Rts3)=(0.5-0.44)·ln(0.5/0.44)≈0.00767;
对于值域区间4,(Rtr4-Rts4)·ln(Rtr4/Rts4)=(0.15-0.2)·ln(0.15/0.2)≈0.01438;
对于值域区间4,(Rtr5-Rts5)·ln(Rtr5/Rts5)=(0.05-0.02)·ln(0.05/0.02)≈0.10520;
由此可知,对于每月收入这一特征的稳定性指标为0.00365+0.00191+0.00767+0.01438+0.10520=0.13281。基于同样的方式可以获取其它特征的稳定性指标。
为了使得判断的结果能够更加准确,本申请的另一些实施例中,可以对计算特征稳定性指标的方式进行优化,即采用如下的公式计算特征的稳定性指标:
TPSI=SUM(Rtsi·(Rtri-Rtsi)·ln(Rtri/Rtsi))
其中,TPSI为特征的稳定性指标,Rtri为特征在第i个值域区间内的训练样本关于训练样本总数的占比,Rtsi为特征在第i个值域区间内的测试样本关于测试样本总数的占比,SUM()表示对所有值域区间的计算结果累加。
与前述的方式相比,增加了加权计算的部分,即(Rtri-Rtsi)·ln(Rtri/Rtsi)这一部分反映了该值域区间内测试集样本的特征分布与训练集样本的特征分布的差异性,进行加权之后,具有差异的测试集样本越多,则对于模型性能所反映出的影响也越大,由此可以使得计算结果更加符合实际情况,并且减少因测试集样本和训练集样本数量不同而引起的误差。
仍以前述每月收入这一特征的稳定性指标为例,采用加权计算的方式所计算获得的稳定性指标为:
TPSI=0.12×0.00365+0.22×0.00191+0.44×0.00767+0.2×0.01438+0.02×0.10520=4.38×10-4+4.202×10-4+33.748×10-4+28.76×10-4+21.04×10-4=9.213×10-3
同理,基于同样的方式可以获取其它特征的稳定性指标。
性能评估模块340根据所述稳定性指标确定所述机器学习模型的特征稳定性。由于模型的各个特征的稳定性指标能够反映出特征对于模型性能的影响,这些稳定性指标越低,表示基于这些特征的相应阈值进行分类的机器学习模型的性能越好,由此可以判定所述机器学习模型的特征稳定性是否符合要求。
在本申请的一些实施例中,性能评估模块根据所述稳定性指标确定所述机器学习模型的稳定性的方式可以是:将每项特征的稳定性指标,与对应判定阈值比较,若每项特征的稳定性指标均小于等于对应判定阈值,确定所述机器学习模型的特征稳定性符合要求。所述判定阈值可以根据应用场景的设定,例如对于一些对稳定性要求较高的应用场景,则可以将判定阈值设定成较低的数值,例如0.15、0.1等,而对于稳定性要求不高的应用场景,则可以将判定阈值设定成较高的数值,例如0.25、0.3等。
在实际场景中,除了每项特征的稳定性指标均小于等于对应判定阈值的情况,还可能会有部分特征的稳定性指标大于对应判定阈值的情况。若存在稳定性指标大于对应判定阈值的特征,则表示该特征的稳定性不够,会影响到该模型性能,已经无法适用于当前的机器学习模型,因此可以删除稳定性指标大于对应判定阈值的特征,获得新的特征组[F1,F2,......Fn],而后使用新的特征组重新执行特征稳定性检测,即返回步骤S101使用新的特征组[F1,F2,......Fn]重新执行上述步骤,通过迭代的方式直至每项特征的稳定性指标均小于等于对应判定阈值,从而确定所述机器学习模型的特征稳定性符合要求。
在确定所述机器学习模型的特征稳定性符合要求时,此时的特征组以及训练获得的机器学习模型集合适合于对应场景的特征组以及模型。因此,在本申请的一些实施例中,该方法还可以在判定每项特征的稳定性指标均小于等于对应判定阈值时,输出训练获得的机器学习模型以及当前的特征组,以供用户在对应的应用场景中使用。
图4示出了采用本申请实施例提供的方案对决策树模型的特征稳定性进行评估时的处理流程,其处理步骤如下:
步骤S401,输入训练集和测试集。
步骤S402,对每个输入样本Xi计算一组特征F1,F2,......Fm。
步骤S403,对训练集样本的特征组进行初步筛选,进行特征降维。可以使用主成分分析(PCA)或者线性判别分析(LDA)进行特征降维,或者也可以先计算各个特征之间的相关系数,然后对于高相关度的特征只保留IV值(二分类)或信息熵增益(多分类)最大的特征。采用相同方式初步筛选测试样本的特征组,获得同样的一组特征F1,F2,......Fk
步骤S404,基于训练集中的样本使用筛选后的特征组F1,F2,......Fk训练一个决策树模型;
步骤S405,记录该决策树模型在每一个特征Fi上使用过的阈值集合[ti1,ti2,......tic]。
步骤S406,使用S405中得到的阈值集合对每个特征的值域进行划分,获得不同的值域区间,并基于值域区间计算侧决策树模型的稳定性指标TPSI。
步骤S407,根据实际场景的需要确定TPSI的判定阈值t,并判断是否由特征对应的TPSI>t。
步骤S408,若有,将TPSI>t的特征筛掉,返回步骤S404。
步骤S409,若没有特征的TPSI超过判定阈值t,输出当前特征组和相应的决策树模型。
综上所述,本申请实施例提供的特征稳定性检测方案中,使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值,并根据所述分类阈值划分每项特征的值域区间,在确定值域区间之后,使用测试集中样本的特征组,并基于对应于每项特征的值域,计算每项特征的稳定性指标,由于不需要人工设定每个特征的区间划分,而是基于模型训练过程中的分类阈值来自动划分值域区间,由此获取的值域区间会与机器学习模型实际的特征分布符合,使得以此计算获得的稳定性指标能够真实的反映特征分布变化对于模型性能的影响,有效防止在特征选择时筛掉合适的特征。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一些实施例包括一个如图5所示的计算设备,该设备包括存储有计算机可读指令的一个或多个存储器510和用于执行计算机可读指令的处理器520,其中,当该计算机可读指令被该处理器执行时,使得所述设备执行基于前述本申请的多个实施例的方法和/或技术方案。
此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (16)
1.一种特征稳定性检测方法,其中,该方法包括:
使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值,所述特征组中包括多项特征;
根据所述分类阈值划分每项特征的值域区间;
使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标,其中,所述测试集中样本的特征组包含的特征与所述训练集中样本的特征组包含的特征相同;
根据所述稳定性指标确定所述机器学习模型的特征稳定性。
2.根据权利要求1所述的方法,其中,根据所述稳定性指标确定所述机器学习模型的稳定性,包括:
将每项特征的稳定性指标,与对应判定阈值比较,若每项特征的稳定性指标均小于等于对应判定阈值,确定所述机器学习模型的特征稳定性符合要求。
3.根据权利要求2所述的方法,其中,该方法还包括:
若存在稳定性指标大于对应判定阈值的特征,删除稳定性指标大于对应判定阈值的特征,获得新的特征组;
使用新的特征组重新执行特征稳定性检测,直至确定所述机器学习模型的特征稳定性符合要求。
4.根据权利要求2所述的方法,其中,该方法还包括:
若每项特征的稳定性指标均小于等于对应判定阈值,输出训练获得的机器学习模型以及当前的特征组。
5.根据权利要求1所述的方法,其中,使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标,包括:
对于每项特征采用如下公式计算所述特征的稳定性指标:
TPSI=SUM(Rtsi·(Rtri-Rtsi)·ln(Rtri/Rtsi))
其中,TPSI为特征的稳定性指标,Rtri为特征在第i个值域区间内的训练样本关于训练样本总数的占比,Rtsi为特征在第i个值域区间内的测试样本关于测试样本总数的占比,SUM()表示对所有值域区间的计算结果累加。
6.根据权利要求1所述的方法,其中,使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练之前,还包括:
对所述训练集中样本的特征组进行降维处理;
使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标之前,还包括:
对所述测试集中样本的特征组进行降维处理。
7.根据权利要求6所述的方法,其中,对样本的特征组进行降维处理,包括:
计算样本的特征组中各个特征之间的相关系数,确定特征之间的相关度;
对相关度高于预设值的多个特征,保留其中IV值或信息增益最大的特征。
8.一种特征稳定性检测设备,其中,该设备包括:
模型训练模块,用于使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练,获取训练过程中基于每项特征进行分类时所采用的分类阈值,所述特征组中包括多项特征;
值域划分模块,用于根据所述分类阈值划分每项特征的值域区间;
指标计算模块,用于使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标,其中,所述测试集中样本的特征组包含的特征与所述训练集中样本的特征组包含的特征相同;
性能评估模块,用于根据所述稳定性指标确定所述机器学习模型的特征稳定性。
9.根据权利要求8所述的设备,其中,所述性能评估模块,用于将每项特征的稳定性指标,与对应判定阈值比较,若每项特征的稳定性指标均小于等于对应判定阈值,确定所述机器学习模型的特征稳定性符合要求。
10.根据权利要求9所述的设备,其中,所述性能评估模块,还用于当存在稳定性指标大于对应判定阈值的特征时,删除稳定性指标大于对应判定阈值的特征,获得新的特征组;以及控制所述设备使用新的特征组重新执行特征稳定性检测,直至确定所述机器学习模型的特征稳定性符合要求。
11.根据权利要求9所述的设备,其中,所述性能评估模块,还用于在每项特征的稳定性指标均小于等于对应判定阈值时,输出训练获得的机器学习模型以及当前的特征组。
12.根据权利要求8所述的设备,其中,所述指标计算模块,用于对于每项特征采用如下公式计算所述特征的稳定性指标:
TPSI=SUM(Rtsi·(Rtri-Rtsi)·ln(Rtri/Rtsi))
其中,TPSI为特征的稳定性指标,Rtri为特征在第i个值域区间内的训练样本关于训练样本总数的占比,Rtsi为特征在第i个值域区间内的测试样本关于测试样本总数的占比,SUM()表示对所有值域区间的计算结果累加。
13.根据权利要求8所述的设备,其中,该设备还包括:
特征筛选模块,用于在使用所述训练集中样本的特征组对基于阈值分类的机器学习模型进行训练之前,对所述训练集中样本的特征组进行降维处理;以及在使用测试集中样本的特征组,并基于对应于每项特征的值域区间,计算每项特征的稳定性指标之前,对所述测试集中样本的特征组进行降维处理。
14.根据权利要求13所述的设备,其中,所述特征筛选模块,用于计算样本的特征组中各个特征之间的相关系数,确定特征之间的相关度;以及对相关度高于预设值的多个特征,保留其中IV值或信息增益最大的特征。
15.一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至7中任一项所述的方法。
16.一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910919567.1A CN110852443B (zh) | 2019-09-26 | 2019-09-26 | 特征稳定性检测方法、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910919567.1A CN110852443B (zh) | 2019-09-26 | 2019-09-26 | 特征稳定性检测方法、设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110852443A true CN110852443A (zh) | 2020-02-28 |
CN110852443B CN110852443B (zh) | 2023-02-21 |
Family
ID=69596036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910919567.1A Active CN110852443B (zh) | 2019-09-26 | 2019-09-26 | 特征稳定性检测方法、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110852443B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113919510A (zh) * | 2021-11-01 | 2022-01-11 | 上海勃池信息技术有限公司 | 一种样本特征选择方法、装置、设备及介质 |
CN114121204A (zh) * | 2021-12-09 | 2022-03-01 | 上海森亿医疗科技有限公司 | 基于患者主索引的患者记录匹配方法、存储介质及设备 |
CN114418155A (zh) * | 2022-01-20 | 2022-04-29 | 深圳壹账通科技服务有限公司 | 一种评分卡训练的处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150119741A1 (en) * | 2012-05-31 | 2015-04-30 | Ben Gurion University Of The Negev Research And Development Authority | Apparatus and method for diagnosing sleep quality |
WO2016206557A1 (zh) * | 2015-06-24 | 2016-12-29 | 阿里巴巴集团控股有限公司 | 一种风险识别方法及装置 |
CN107122327A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 一种利用训练数据训练模型的方法和训练系统 |
CN109697461A (zh) * | 2018-12-11 | 2019-04-30 | 中科恒运股份有限公司 | 基于有限数据的分类模型训练方法和终端设备 |
US20190279109A1 (en) * | 2018-03-12 | 2019-09-12 | Royal Bank Of Canada | System and method for monitoring machine learning models |
-
2019
- 2019-09-26 CN CN201910919567.1A patent/CN110852443B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150119741A1 (en) * | 2012-05-31 | 2015-04-30 | Ben Gurion University Of The Negev Research And Development Authority | Apparatus and method for diagnosing sleep quality |
WO2016206557A1 (zh) * | 2015-06-24 | 2016-12-29 | 阿里巴巴集团控股有限公司 | 一种风险识别方法及装置 |
CN107122327A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 一种利用训练数据训练模型的方法和训练系统 |
US20190279109A1 (en) * | 2018-03-12 | 2019-09-12 | Royal Bank Of Canada | System and method for monitoring machine learning models |
CN109697461A (zh) * | 2018-12-11 | 2019-04-30 | 中科恒运股份有限公司 | 基于有限数据的分类模型训练方法和终端设备 |
Non-Patent Citations (5)
Title |
---|
KAI Y.XIAO等: "TRAINING FOR FASTER ADVERSARIAL ROBUSTNESS VERIFICATION VIA INDUCING RELU STABILITY", 《ICLR 2019》 * |
徐延路等: "N末端脑利钠肽原是左心室功能正常的稳定性心绞痛患者冠状动脉病变进展的预测标志物", 《中国分子心脏病学杂志》 * |
李俊杰等: "基于优化采样支持向量机的指纹二值化方法", 《东北师大学报(自然科学版)》 * |
赖莹: "支持向量机在P2P借款人信用风险评估中的应用", 《中国优秀博硕士学位论文全文数据库(硕士)经济与管理科学辑》 * |
高毅等: "足迹跟压痕步态特征稳定性研究", 《中国人民公安大学学报(自然科学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113919510A (zh) * | 2021-11-01 | 2022-01-11 | 上海勃池信息技术有限公司 | 一种样本特征选择方法、装置、设备及介质 |
CN114121204A (zh) * | 2021-12-09 | 2022-03-01 | 上海森亿医疗科技有限公司 | 基于患者主索引的患者记录匹配方法、存储介质及设备 |
CN114418155A (zh) * | 2022-01-20 | 2022-04-29 | 深圳壹账通科技服务有限公司 | 一种评分卡训练的处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110852443B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110852443B (zh) | 特征稳定性检测方法、设备及计算机可读介质 | |
TWI689871B (zh) | 梯度提升決策樹(gbdt)模型的特徵解釋方法和裝置 | |
CN110503566B (zh) | 风控模型建立方法、装置、计算机设备及存储介质 | |
CN114764768A (zh) | 缺陷检测分类方法、装置、电子设备及存储介质 | |
CN112818162A (zh) | 图像检索方法、装置、存储介质和电子设备 | |
CN111292323A (zh) | 部分参考的图像质量评价方法、控制装置及计算机可读存储介质 | |
CN112232944B (zh) | 一种评分卡创建方法、装置和电子设备 | |
CN111858265A (zh) | 一种存储系统的存储故障预测方法、系统及装置 | |
CN111860698A (zh) | 确定学习模型的稳定性的方法和装置 | |
CN118037035A (zh) | 企业风险识别方法、装置、计算机设备及存储介质 | |
CN113822336A (zh) | 一种云硬盘故障预测方法、装置、系统及可读存储介质 | |
CN112561713A (zh) | 一种保险行业理赔反欺诈识别方法及装置 | |
CN106874286B (zh) | 一种筛选用户特征的方法及装置 | |
CN114697127B (zh) | 一种基于云计算的业务会话风险处理方法及服务器 | |
CN113676377B (zh) | 基于大数据的在线用户数评估方法、装置、设备及介质 | |
CN115694975A (zh) | 一种网络安全态势评估方法、电子设备及存储介质 | |
CN108629506A (zh) | 风控模型的建模方法、装置、计算机设备和存储介质 | |
CN111340349B (zh) | 产品可靠性评估方法、装置、计算机设备和存储介质 | |
KR20150058662A (ko) | 비교데이터 프루닝과 가우시안 혼합 모델의 유사도 추정을 이용한 유해 동영상 필터링 시스템 및 방법 | |
CN110689034B (zh) | 一种分类器的优化方法及设备 | |
CN116187299B (zh) | 一种科技项目文本数据检定评价方法、系统及介质 | |
CN114726610B (zh) | 一种网络数据自动获取器攻击的检测方法和装置 | |
CN117789713B (zh) | 一种基于语音识别的健康素养调查质量控制方法及系统 | |
CN113704103B (zh) | 测试用例推荐方法、装置、介质及电子设备 | |
CN113238874B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |