特征分析方法、装置、设备及存储介质与流程

文档序号:31445352发布日期:2022-09-07 11:44阅读:57来源:国知局
特征分析方法、装置、设备及存储介质与流程

1.本技术涉及计算机领域,尤其涉及一种特征分析方法、装置、设备及存储介质。


背景技术:

2.深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,通过模仿人脑的机制来解释数据。随着计算机和互联网的飞速发展,深度学习在大数据处理、人工智能分析等方面占有越来越重要的地位。
3.当前,实现深度学习的深度模型具有的参数比较多,一般可达千万级别的神经元,其表示的能力远超n维线性方程,因此深度模型的可解释性很差,大多数时候,算法人员很难知道是哪个特征起了作用,哪些特征丝毫不启作用,甚至起到反作用。


技术实现要素:

4.本技术提供了一种特征分析方法、装置、设备及存储介质,用以对对模型进行评估的评估数据集中的特征进行分析。
5.一种特征分析方法,包括:
6.获取第一评估数据集以及n个第二评估数据集;所述第一评估数据集包括m个特征;任意一个所述第二评估数据集中的特征为从所述m个特征去除任意一个特征后的特征;任意两个所述第二评估数据集中的特征不完全相同;
7.采用所述第一评估数据集对深度模型进行评估,得到第一模型评估指标;以及分别采用各所述第二评估数据集对所述深度模型进行评估,得到n个第二模型评估指标;
8.基于所述第一模型评估指标和各所述第二模型评估指标,分析各所述特征的重要度;
9.其中,所述n个第二模型评估指标中,距离所述第一模型评估指标近的第二模型评估指标所对应的特征的重要度,低于距离所述第一模型评估指标远的第二模型评估指标所对应的特征的重要度。
10.可选地,基于所述第一模型评估指标和各所述第二模型评估指标,分析各所述特征的重要度,包括:
11.分别计算所述第一模型评估指标与各所述第二模型评估指标的第一差值;
12.基于各所述第一差值,确定与各所述第二模型评估指标各自对应的目标特征的重要度;
13.所述目标特征为所述第二模型评估指标对应的第二评估数据集相对于所述第一评估数据集所缺少的特征。
14.可选地,基于各所述第一差值,确定与各所述第二模型评估指标各自对应的目标特征的重要度,包括:
15.对于各第一差值中的任意两个第一差值,确定第一差值大的第二模型评估指标对应的目标特征的重要度,高于第一差值小的第二模型评估指标对应的目标特征的重要度。
16.可选地,基于各所述第一差值,确定与各所述第二模型评估指标各自对应的目标特征的重要度,包括:
17.对各所述第一差值进行降序排序;
18.确定降序排序后排序在前的第一差值的第二模型评估指标对应的目标特征的重要度,高于排序在后的第一差值的第二模型评估指标对应的目标特征的重要度。
19.可选地,基于各所述第一差值,确定与各所述第二模型评估指标各自对应的目标特征的重要度,包括:
20.分别对各所述第一差值进行归一化处理,得到各所述第一差值各自的归一化结果;
21.基于各所述归一化结果,确定与各所述第二模型评估指标各自对应的目标特征的重要度。
22.可选地,分别对各所述第一差值进行归一化处理,得到各所述第一差值各自的归一化结果,包括:
23.获取各所述第一差值中的最大值和最小值;
24.计算所述最大值和所述最小值的第二差值;
25.对于各所述第一差值中的任一第一差值执行以下处理:
26.计算所述第一差值与所述最小值的第三差值;
27.计算所述第三差值与所述第二差值的比值;
28.将所述比值作为所述第一差值的归一化结果。
29.可选地,基于各所述归一化结果,确定与各所述第二模型评估指标各自对应的目标特征的重要度,包括:
30.对各所述归一化结果进行降序排序;
31.确定降序排序后排序在前的归一化结果对应的目标特征的重要度,高于排序在后的归一化结果对应的目标特征的重要度。
32.一种特征分析装置,包括:
33.获取模块,用于获取第一评估数据集以及n个第二评估数据集;所述第一评估数据集包括m个特征;任意一个所述第二评估数据集中的特征为从所述m个特征去除任意一个特征后的特征;任意两个所述第二评估数据集中的特征不完全相同;
34.评估模块,用于采用所述第一评估数据集对深度模型进行评估,得到第一模型评估指标;以及分别采用各所述第二评估数据集对所述深度模型进行评估,得到n个第二模型评估指标;
35.分析模块,用于基于所述第一模型评估指标和各所述第二模型评估指标,分析各所述特征的重要度;
36.其中,所述n个第二模型评估指标中,距离所述第一模型评估指标近的第二模型评估指标所对应的特征的重要度,低于距离所述第一模型评估指标远的第二模型评估指标所对应的特征的重要度。
37.一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现上述的特征分析方法。
38.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的特征分析方法。
39.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本技术实施例提供的技术方案中,获取第一评估数据集以及n个第二评估数据集;第一评估数据集包括n个特征;任意一个第二评估数据集中的特征为从n个特征去除任意一个特征后的特征;任意两个第二评估数据集中的特征不完全相同;采用第一评估数据集对深度模型进行评估,得到第一模型评估指标;以及分别采用各第二评估数据集对深度模型进行评估,得到n个第二模型评估指标;基于第一模型评估指标和各第二模型评估指标,分析各特征的重要度。由于对深度模型进行评估的每个第二评估数据集中的特征为第一评估数据集中的m个特征去除任意一个特征后的特征,所以,基于第一模型评估指标和第二模型评估指标可以分析得到m个特征中所去除的特征的重要度。例如当第二模型评估指标相较于第一模型评估指标相差较多时,可以确定从m个特征中所去除的特征比较重要。
附图说明
40.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
41.图1为本技术实施例中网络系统的结构示意图;
42.图2为本技术实施例中特征分析方法的流程示意图;
43.图3为本技术实施例中特征分析装置的结构示意图;
44.图4为本技术实施例中电子设备的结构示意图。
具体实施方式
45.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
46.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
47.首先举例介绍本技术实施例的方案可能应用到的网络系统。
48.请参见图1,图1为本技术实施例提供的一种网络系统的架构图,如图2所示,该网络系统包括客户端101、服务端102和评估资源端103。
49.客户端101包括网页(web)模块、客户(cli)模块和接口(restful api)模块。
50.web用于提供一个提交深度模型的特征分析任务的可视化界面,同时能够看到目前特征分析任务的运行状态,使用的资源情况等。
51.应用中,在web提供的可视化界面中,用户需要选择或填写的参数如下所示:
52.1.用户需要选择一个深度模型,目前默认支持主流模型,如dnn(深度神经网络模型),wide&deep模型等,用户也可以上传自己的深度模型。这里的深度模型指模型对应的结构代码。
53.2.选择优化器,一个深度模型的训练,需要一个优化器对深度模型的参数进行不断的更新,这个更新的方法就是迭代器,比如常见的有adagrad优化器。
54.3.选择评估数据集,一个深度模型的训练,需要有数据集,一般是tfrecord格式的文件,被保存在s3或hdfs中,此处还需要填写训练、测试、评估的比例。
55.4.特征处理方式,一般数据集加载到深度模型的输入层之前,通常需要做一定的转换,比如将性别“男”、“女”分别转换为00、01。
56.5.选择特征,选择基线(baseline)的特征,就是所谓的评估的标地,也即第一评估数据集。
57.6.选择待评估权重的特征集合,也即各第二评估数据集。
58.cli用于提供用户使用命令行工具提交任务,查看进度,查看最终结果的工具。
59.restful api用于给一些高级用户提供api,方便与其他系统集成。
60.服务端102包括接口服务(api server)、控制模块(manager)、云适配模块(cloud adaptor)、以及数据库(db);
61.api server用于接收api请求的组件,并调用manager组件,启动深度模型的特征分析任务。一般来说,一个特征分析任务会被拆解成多个评估任务,这个拆解的过程也是由api server完成。一般多个评估任务并发进行。
62.manager为整个装置的核心,用于对上接受api server的请求,同时接受cloud adaptor传回的训练结果。该装置的核心在于根据用户请求,自动生成模型代码,并调用cloud adaptor去具体的ai平台上运行模型。
63.应用中,manager的工作流程如下所示:
64.获取用户上传的参数,应理解此处用户上传的参数实际即为用户通过可视化界面所选择或填写的参数;根据参数中对评估数据集切割的比例,将数据集分为训练集、测试集和验证集;生成模型代码;调用cloud adaptor去创建一个模型评估的评估任务;这个评估任务将在评估集群中被运行起来,最终将返回auc的值;将这些auc的值写入数据库中保存。
65.关于生成模型代码,应理解,目前深度模型都基于tensorflow来运行,tensorflow对于dnn、wide&deep模型有函数直接可以运行。实际应用时只需要将用户的参数替换到函数中即可。
66.cloud adaptor用于调用不同云的api,申请资源并启动一次模型评估,如果对接新的云提供商,则需要增加新的实现。
67.db用于保存服务端内部的数据。
68.评估资源端103用于对接预先建立的ai资源池,一般为k8s集群,或者是mesos集群;也支持公有云,一般需要适配公有云的api接口。
69.为了便于理解,在介绍本技术的特征分析方法之前,对本技术的技术构思进行阐述。
70.发明人在对相关技术的研究过程中发现,如果去掉一个特征对深度模型进行,得到的评估指标很差,则可以间接证明这个特征比较重要,虽然无法知道为什么重要,但是实践的结果就可以得出这个结论。因此本技术就是采用这个比较朴素的思想,进行特征的重要度分析。
71.本技术实施例提供一种特征分析方法,该方法可应用于任一电子设备;该电子设备可以包括智能手机(如android手机、ios手机、windows phone手机等)、平板电脑、掌上电脑、笔记本电脑、视频矩阵、监控平台、移动互联网设备(mid,mobile internet devices)或
穿戴式设备等,上述仅是举例,而非穷举,包含但不限于上述装置,当然,上述电子设备还可以为服务器,例如,云服务器。
72.如图1所示,该方法可以包括以下步骤:
73.步骤201、获取第一训练数据集以及n个第二训练数据集。
74.第一训练数据集包括n个特征;任意一个第二训练数据集中的特征为从n个特征去除任意一个特征后的特征;任意两个第二训练数据集中的特征不完全相同。
75.本实施例中,第二训练数据集的个数小于或等于第一训练数据集中特征个数。当第二训练数据集的个数等于第一训练数据集中特征的个数时,第一训练数据集中的数据所构成的集合为各第二训练数据集中的数据所构成集合的并集。
76.举例说明第一训练数据集和第二训练数据集中的特征:
77.第一训练数据集中的特征为a、b、c、d、e共5个特征,那么此时n≤5,当n=5时,5个第二训练数据集中的特征构成的集合分别为{a、b、c、d}、{a、c、d、e}、{a、b、d、e}、{a、b、c、e}和{b、c、d、e}。
78.当第一训练数据集为视频推荐场景下的训练数据集时,第一训练数据集中的特征可以为7天观影记录、14天观影记录以及21天观影记录等特征;当第一训练数据集为广告推荐场景下的训练数据集时,第一训练数据集中的特征可以为观看时长、观看频次以及广告类型等特征。
79.步骤202、采用第一训练数据集对深度模型进行训练,得到第一模型评估指标;以及分别采用各第二训练数据集对深度模型进行训练,得到n个第二模型评估指标。
80.本实施例中,模型评估指标可以用auc(area under the curve)表示,其中auc为roc曲线下的面积。auc是一种用来度量分类模型好坏的一个标准,auc作为数值可以直观的评价模型的好坏,值越大表示模型越好。
81.应理解,本实施例中对深度模型的训练实际包括训练、测试以及验证三个过程,auc实际是基于验证过程的输出结果所得到模型评估指标。在采用第一训练数据集对深度模型进行训练时,将第一训练数据集分为训练集、验证集和测试集;采用训练集对深度模型进行训练,当一个深度模型训练好后,可以知道该深度模型在训练集上的表现,但是不知道在全新数据上的表现,于是就可以通过验证集来评估深度模型性能,然后再对深度模型做进一步的调节(也就是所谓的调参),寻找出最合适的模型配置。所以,验证集实际上就起到了一个反馈的作用,来反馈这个深度模型调到什么样的程度其性能最优。由于单纯的靠验证集的性能来调节深度模型的配置,那么深度模型同样会在验证集上产生过拟合现象,所以,通常模型参数只调节一次,验证集仍然可以可靠的评估深度模型,但如果,反复的根据验证集的性能去修改模型,模型在验证集上的性能就会非常好,这并不是我们想要的,因为我们关心的是全新的数据在模型上的表现,于是就有了测试集。测试集不用把信息反馈给深度模型,测试集是全新的数据,实现的是对深度模型的评估。
82.应理解,采用第二训练数据集对深度模型进行训练的过程与上述采用第一训练数据集对深度模型训练的过程相似,此处不再展开描述。
83.步骤203、基于第一模型评估指标和各第二模型评估指标,分析各特征的重要度。
84.其中,n个第二模型评估指标中,距离第一模型评估指标近的第二模型评估指标所对应的特征的重要度,低于距离第一模型评估指标远的第二模型评估指标所对应的特征的
重要度。
85.本技术实施例提供的技术方案中,获取第一评估数据集以及n个第二评估数据集;第一评估数据集包括n个特征;任意一个第二评估数据集中的特征为从n个特征去除任意一个特征后的特征;任意两个第二评估数据集中的特征不完全相同;采用第一评估数据集对深度模型进行评估,得到第一模型评估指标;以及分别采用各第二评估数据集对深度模型进行评估,得到n个第二模型评估指标;基于第一模型评估指标和各第二模型评估指标,分析各特征的重要度。由于对深度模型进行评估的每个第二评估数据集中的特征为第一评估数据集中的m个特征去除任意一个特征后的特征,所以,基于第一模型评估指标和第二模型评估指标可以分析得到m个特征中所去除的特征的重要度。例如当第二模型评估指标相较于第一模型评估指标相差较多时,可以确定从m个特征中所去除的特征比较重要。
86.本技术提供横向对比和纵向对比两种方式分析各特征的重要度。
87.当采用横向对比的方式分析各特征的重要度时,一个具体实施例中,分别计算第一模型评估指标与各第二模型评估指标的第一差值;基于各第一差值,确定与各第二模型评估指标各自对应的目标特征的重要度;目标特征为第二模型评估指标对应的第二评估数据集相对于第一评估数据集所缺少的特征。
88.应理解,由于获取了n个第二评估数据集,因此本实施例可以得到n个第一差值。例如第一模型评估指标为auc,n个第二模型评估指标为auc_remove_feature_t、auc_remove_feature_x、auc_remove_feature_y,那么计算得到的n个第一差值可以为auc-auc_remove_feature_t、auc-auc_remove_feature_x以及auc-auc_remove_feature_y。其中,t、x、y均为m个特征中的特征。
89.在基于各第一差值确定与各第二模型评估指标各自对应的目标特征的重要度时,对于任意两个第一差值,确定第一差值大的第二模型评估指标对应的目标特征的重要度,高于第一差值小的第二模型评估指标对应的目标特征的重要度。
90.例如,当确定(auc-auc_remove_feature_t)>(auc-auc_remove_feature_x)时,可以确定特征t的重要度高于特征x。
91.为了提高对比效率,在基于各第一差值,确定与各第二模型评估指标各自对应的目标特征的重要度时,还可以先对各第一差值进行兼续排序,并确定降序后排序在前的第一差值的第二模型评估指标对应的目标特征的重要度,高于排序在后的第一差值的第二模型评估指标对应的目标特征的重要度。
92.例如,当对auc-auc_remove_feature_t、auc-auc_remove_feature_x以及auc-auc_remove_feature_y三个第一差值降序排列后,得到三个第一差值的排列顺序为auc-auc_remove_feature_y、auc-auc_remove_feature_x、auc-auc_remove_feature_t,即auc_remove_feature_y高于auc-auc_remove_feature_x,auc-auc_remove_feature_x高于auc-auc_remove_feature_t,所以可以直接确定特征y的重要度高于特征x,特征x的重要度高于特征t。可见通过降序排序,省却了对对比过程中对各第一差值的比较。
93.在得到各第一差值后,为了更好的突出,还可以对各第一差值进行归一化处理,并进行横向的比较,通过横向的比较,能够更准确的比较出那个特征更重要。
94.比如,a特征,其模型评估指标的绝对值是0.01,而b特征,其模型评估指标是0.1,全量特征的模型评估指标是100,此时会觉得b好像也没那么重要,但是如果和a对比,则发
现,b比a有效近10倍,这就是横向比较的作用。
95.对应到本实施例中,为了实现横向对比,基于各第一差值确定与各第二模型评估指标各自对应的目标特征重要度时,分别对各第一差值进行归一化处理,得到各第一差值各自的归一化结果;基于各归一化结果,确定与各第二模型评估指标各自对应的目标特征的重要度。
96.应理解,通过归一化处理,可以将有量纲的表达式,经过变换,化为无量纲的表示式,成为标量,将物理系数值的绝对值变成相对值。对应到本实施例中,在对第一差值进行归一化处理时,获取各第一差值中的最大值和最小值;计算最大值和最小值的第二差值;对于各第一差值中的任一第一差值执行以下处理:计算第一差值与最小值的第三差值;计算第三差值与第二差值的比值;将比值作为第一差值的归一化结果。
97.对应上述归一化的具体实现过程的公式可以为:
[0098][0099]
其中,x为任意第一差值,max为各第一差值中的最大值,min为各第一差值中的最小值,x
*
为x的归一化结果。
[0100]
为了提高横向对比的效率,在基于各归一化结果,确定各第二模型评估指标各自对应的目标特征的重要度时,首先对各归一化结果进行降序排序,并确定降序排序后排序在前的归一化结果对应的目标特征的重要度高于排序在后的归一化结果对应的目标特征的重要度。
[0101]
基于同一构思,本技术实施例中提供了一种特征分析装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述。如图3所示,该装置主要包括:
[0102]
获取模块301,用于获取第一评估数据集以及n个第二评估数据集;第一评估数据集包括m个特征;任意一个第二评估数据集中的特征为从m个特征去除任意一个特征后的特征;任意两个第二评估数据集中的特征不完全相同;
[0103]
评估模块302,用于采用第一评估数据集对深度模型进行评估,得到第一模型评估指标;以及分别采用各第二评估数据集对深度模型进行评估,得到n个第二模型评估指标;
[0104]
分析模块303,用于基于第一模型评估指标和各第二模型评估指标,分析各特征的重要度;
[0105]
其中,n个第二模型评估指标中,距离第一模型评估指标近的第二模型评估指标所对应的特征的重要度,低于距离第一模型评估指标远的第二模型评估指标所对应的特征的重要度。
[0106]
分析模块303用于:
[0107]
分别计算第一模型评估指标与各第二模型评估指标的第一差值;
[0108]
基于各第一差值,确定与各第二模型评估指标各自对应的目标特征的重要度;
[0109]
目标特征为第二模型评估指标对应的第二评估数据集相对于第一评估数据集所缺少的特征。
[0110]
分析模块303用于:
[0111]
对于各第一差值中的任意两个第一差值,确定第一差值大的第二模型评估指标对应的目标特征的重要度,高于第一差值小的第二模型评估指标对应的目标特征的重要度。
integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0135]
在本技术的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的特征分析方法。
[0136]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本技术实施例的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。
[0137]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0138]
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1