首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】不平衡数据分类模型训练方法、装置、设备及存储介质_平安科技(深圳)有限公司_201910351188.7 

申请/专利权人:平安科技(深圳)有限公司

申请日:2019-04-28

公开(公告)日:2024-06-21

公开(公告)号:CN110163261B

主分类号:G06F18/2411

分类号:G06F18/2411;G06F18/214;G06F18/23213;G06N3/0455;G06N3/088;G06N3/09

优先权:

专利状态码:有效-授权

法律状态:2024.06.21#授权;2021.05.07#实质审查的生效;2019.08.23#公开

摘要:本发明公开了一种不平衡数据分类模型训练方法、装置、计算机设备及存储介质,所述方法包括:从预设样本库中获取不平衡数据;根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据;按照预设的采样方式对所述低维数据进行采样,得到平衡数据;将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型。使用本发明的技术方案训练得到的分类模型进行分类,能够降低对不平衡数据中少数类数据的误判率,从而提高分类的准确性。

主权项:1.一种不平衡数据分类模型训练方法,其特征在于,所述不平衡数据分类模型训练方法包括:从预设样本库中获取不平衡数据;所述不平衡数据是指分类比例不均衡的数据;根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据;按照预设的采样方式对所述低维数据进行采样,得到平衡数据;将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型;所述根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据,包括:建立预设层数的自编码模型;使用所述自编码模型对所述不平衡数据进行特征提取,得到所述不平衡数据的隐含特征,并将所述隐含特征作为降维后的低维数据,其中,所述低维数据由不同数据类型的数据组成;所述按照预设的采样方式对所述低维数据进行采样,得到平衡数据,包括:计算所述低维数据的总数量,以及不同数据类型对应的低维数据的分数量;若所述分数量与所述总数量的比值超过预设阈值,则将所述分数量对应的数据类型的数据作为多数类数据,并对所述多数类数据进行欠采样,得到第一样本数据;若所述分数量与所述总数量的比值未超过预设阈值,则将所述分数量对应的数据类型的数据作为少数类数据,并对所述少数类数据进行过采样,得到第二样本数据;根据预设比例将所述第一样本数据与所述第二样本数据进行组合,得到所述平衡数据;所述将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型之后,所述不平衡数据分类模型训练方法,还包括:按照预设的参数优化方法对所述分类模型的参数进行优化,得到参数极值,其中,所述参数极值为优化后的所述分类模型的参数值,用以提高所述分类模型的分类精度;所述按照预设的参数优化方法对所述分类模型的参数进行优化,得到参数极值,包括:将所述分类模型的参数的预设候选值组成数据集合;根据交叉验证法,从所述数据集合中选取所述预设候选值建立至少两个深度学习模型;使用所述深度学习模型对所述训练样本进行分类,并根据所述深度学习模型的分类准确率确定最优深度学习模型;将所述最优深度学习模型所对应的预设候选值作为所述参数极值。

全文数据:不平衡数据分类模型训练方法、装置、设备及存储介质技术领域本发明涉及信息处理领域,尤其涉及不平衡数据分类模型训练方法、装置、设备及存储介质。背景技术在使用机器学习方法对数据进行分类的实际应用中,对不平衡数据的处理一直是一个棘手的问题。不平衡数据是指在训练或分类过程中,不同类别的样本的比例不均衡。例如,在用户欺诈行为检测中,欺诈行为的占比远远小于非欺诈行为的占比。不平衡数据广泛存在于诸如故障检测、缺陷检测、网络入侵检测以及医疗诊断等实际应用中。在不平衡数据中,数量较少的样本虽然数量少,但对训练或分类的结果也会产生重要影响,因此不能被当做噪声忽略。然而,若直接在不平衡数据上使用传统的机器学习方法,得到的分类规则往往偏向样本数量多的类别,使得针对需要被重点关注的类别的规则偏少和偏弱,导致分类模型无法产生有效的分类,从而不能达到准确分类的目的。发明内容本发明实施例提供一种不平衡数据分类模型训练方法、装置、设备及存储介质,以解决使用由不平衡数据训练得到的分类模型进行分类时,分类不准确的问题。一种不平衡数据分类模型训练方法,包括:从预设样本库中获取不平衡数据;根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据;按照预设的采样方式对所述低维数据进行采样,得到平衡数据;将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型。一种不平衡数据分类模型训练装置,包括:数据获取模块,用于从预设样本库中获取不平衡数据;降维模块,用于根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据;采样模块,用于按照预设的采样方式对所述低维数据进行采样,得到平衡数据;训练模块,用于将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述不平衡数据分类模型训练方法。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述不平衡数据分类模型训练方法。上述不平衡数据分类模型训练方法、装置、设备及存储介质,对不平衡数据进行降维处理,得到降维后的低维数据;即去掉不平衡数据的冗余特征,加快计算速度,减少存储空间,同时有利于避免使用训练得到的分类模型进行分类时,出现过拟合的问题;按照预设的采样方式对低维数据进行采样,得到平衡数据,即,将不平衡数据转换成平衡数据,可以增加少数类样本数据的权重,增强少数类样本数据在训练过程中的影响;将平衡数据作为训练样本,使用预设的机器学习算法对训练样本进行训练,得到分类模型;使得训练得到的分类模型对不平衡数据中的少数类样本数据更加敏感,在使用训练好的分类模型进行分类的过程中,能够降低对少数类数据的误判率,从而提高分类的准确性。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例中不平衡数据分类模型训练方法的一应用环境示意图;图2是本发明一实施例中不平衡数据分类模型训练方法的流程图;图3是本发明一实施例中不平衡数据分类模型训练方法中步骤S2的流程图;图4是本发明一实施例中不平衡数据分类模型训练方法中步骤S3的流程图;图5是本发明一实施例中对分类模型的参数进行优化的流程图;图6是本发明一实施例中对迭代运算的运算结果进行判断的流程图;图7是本发明一实施例中不平衡数据分类模型训练装置的示意图;图8是本发明一实施例中计算机设备的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供的不平衡数据分类模型训练方法,可应用在如图1的应用环境中,该应用环境包括服务端和预设样本库,其中,预设样本库是存储不平衡数据的数据库;服务端是对不平衡数据进行训练的计算机设备,服务端可以是服务器或服务器集群;服务端与预设样本库之间通过网络连接,该网络可以是有线网络或无线网络。本发明实施例提供的不平衡数据分类模型训练方法应用于服务端。在一实施例中,如图2所示,提供了一种不平衡数据分类模型训练方法,其具体实现流程包括如下步骤:S1:从预设样本库中获取不平衡数据。预设样本库,是用于存储不平衡数据的存储平台。具体地,预设样本库可以是数据库,包括但不限于各种关系型或非关系型数据库,如MS-SQL、Oracle、MySQL、Sybase、DB2、Redis、MongodDB、Hbase等;或者,预设样本库也可以是存储有不平衡数据的文件,此处不做具体限制。不平衡数据,即在数据集中,不同类别数据的比例不均衡。例如,若训练样本中,正负样本的比例为9:1,则该训练样本就是不平衡数据。可以理解地,在现实分类问题中,待分类的数据也可能是不平衡数据。例如,以用户欺诈行为检测为例,在待检测用户行为中,欺诈行为的占比远远小于非欺诈行为的占比,则待检测用户行为也是不平衡数据。具体地,若预设样本库为数据库,服务端可以通过SQL语句获取不平衡数据;若预设样本库为文件,服务端可以直接读取该文件到服务端本地。S2:根据预设的降维方法对不平衡数据进行降维处理,得到降维后的低维数据。维度,或维数,是指机器学习中对样本数据的描述角度。即,可以通过多个维度体现一个样本数据的特征。样本数据的维度越高,则其中存在越多相关联的特征,因此,进行训练的难度就越大。例如,在机械故障检测中,引起设备故障的因素达到上百种;在医疗诊断中,引起一个病症的病因多达几百乃至更多种;等。若直接对这些数据进行训练,将带来维数灾难,不仅影响了训练速度,还很难找到最优的解。降维处理,是指减少样本数据的维度,将高维数据化为低维度数据。同时,降维后得到的低维数据需要保留尽可能多的样本特征。通过对数据进行降维处理,便于对数据进行可视化处理,方便对数据进行观察和探索;同时,简化了机器学习模型的训练和预测。例如,将维度降到三维或三维以下,然后就能把数据特征在三维空间或二维空间上表示出来,便于直观地发现一些数据特征。服务端可以采用线性降维或非线性降维进行降维处理。其中,线性降维包括但不限于PCAPrincipalComponentAnalysis,主成分分析降维法等;非线性降维又主要分为基于核函数的非线性降维和基于特征值的非线性降维,包括但不限于LLE局部线性嵌入降维法等。具体地,服务端可以通过sklearn库中的降维函数实现降维,得到低维数据。其中,sklearn,全称为scikit-learn,是一个基于Python的第三方提供的机器学习库。举例来说,若不平衡数据的维度为6维,即不平衡数据的特征向量包括6个分量,则经过降维后得到的低维数据可以为一个3维特征向量,即,舍弃掉冗余的3个特征分量。S3:按照预设的采样方式对低维数据进行采样,得到平衡数据。平衡数据,是相对于不平衡数据而言,即在数据集中,不同类别数据的比例达到均衡。平衡数据与不平衡数据的界限可以通过临界比例定义。即通过临界比例确定是否为平衡数据。以二分类问题为例,临界比例可以为4:1,即正负样本的比例低于4:1,则可以认为已达到平衡,该数据集为平衡数据;否则,则该数据集为不平衡数据。采样,即对低维数据中不同类别数据的比例进行调整,使不平衡数据转换成平衡数据。服务端可以采用多种预设的采样方式对低维数据进行采样。例如,服务端可以减少低维数据中多数类数据的数量,同时,增加少数类数据的数量,从而使得两者的比例达到平衡。具体地,服务端可以从多数类数据中减少一定数量的样本数据,同时,向少数类数据中增加一定数量的样本数据,使得多数类数据与少数类数据之间的数量比例低于4:1。其中,在减少一定数量的多数类数据时,服务端可以随机舍去多数类数据;在增加一定数量的少数类数据时,服务端可以随机复制少数类数据,达到增加少数类数据的目的。S4:将平衡数据作为训练样本,使用预设的机器学习算法对训练样本进行训练,得到分类模型。预设的机器学习算法,是指基于监督学习的训练方法。预设的机器学习算法包括但不限于线性回归算法、逻辑回归算法、朴素贝叶斯算法、SVM算法等。优选地,服务端采用SVM算法进行训练,得到分类模型。其中,SVM即supportvectormachine,支持向量机,它是一种二类分类模型。具体地,服务端可从基于Python的sklearn库中导入SVM相关函数,创建SVM分类器;然后将平衡数据导入到SVM分类器中进行训练,从而得到分类模型。在本实施例中,对不平衡数据进行降维处理,得到降维后的低维数据;即去掉不平衡数据的冗余特征,加快计算速度,减少存储空间,同时有利于避免使用训练得到的分类模型进行分类时,出现过拟合的问题;按照预设的采样方式对低维数据进行采样,得到平衡数据,即,将不平衡数据转换成平衡数据,可以增加少数类样本数据的权重,增强少数类样本数据在训练过程中的影响;将平衡数据作为训练样本,使用预设的机器学习算法对训练样本进行训练,得到分类模型;使得训练得到的分类模型对不平衡数据中的少数类样本数据更加敏感,在使用训练好的分类模型进行分类的过程中,能够降低对少数类数据的误判率,从而提高分类的准确性。进一步地,在一实施例中,如图3所示,针对步骤S2,即根据预设的降维方法对不平衡数据进行降维处理,得到降维后的低维数据,具体包括如下步骤:S21:建立预设层数的自编码模型。自编码模型,是基于自编码网络的分类模型。其中,自编码网络,又称自编码器autoencoder,是非监督学习领域中一种以重构输入信息为目标的神经网络。自编码网络可以自动从无标注的数据中学习特征,可以给出比原始数据更好的特征描述,具有较强的特征学习能力。其中,非监督学习与监督学习相对,非监督学习,是使用未知标签或未知分类结果的数据作为训练样本,去训练得到一个分类模型;监督学习,是将已知标签或已知分类结果的数据作为训练样本,去训练得到一个分类模型。预设层数是指自编码网络中,除去输入、输出层之外的网络层数,即中间层的层数。例如,服务端可以建立预设层数为三层的简单自编码模型。具体地,服务端可以基于TensorFlow框架提供的内置函数建立三层自编码模型。其中,TensorFlow是一个开放源代码软件库,用于进行高性能数值计算。通过TensorFlow,可以轻松地将计算工作部署到如CPU、GPU等多种平台和包括桌面设备、服务器集群、移动设备、边缘设备等在内的设备上。TensorFlow最初是由GoogleBrain团队中的研究人员和工程师开发的,可为机器学习和深度学习提供强力支持,并且其灵活的数值计算核心广泛应用于许多其他科学领域。S22:使用自编码模型对不平衡数据进行特征提取,得到不平衡数据的隐含特征,并将隐含特征作为降维后的低维数据,其中,低维数据由不同数据类型的数据组成。不平衡数据的隐含特征与不平衡数的显性特征一样,均代表了不平衡数据的特征;与显性特征不同的是,隐含特征不能从不平衡数据上直观的获取。举例来说,不平衡数据A的显性特征为a,a可以通过对A简单地分析统计得出,而A的隐含特征b无法相同的方式获得。例如,在学生样本数据中,每位学生的科目考试成绩是显性特征,可以通过对每位学生的科目考试成绩的统计得出;而每位学生的学习能力是隐含特征,并不能简单从考试成绩得出。具体地,服务端将不平衡数据x输入到自编码模型中,则得到的输出数据m,可以用公式表示为m=fx。其中,f为自编码模型中的编码函数;m与自编模型的中间层数有关。然后,服务端可以用公式c=gm计算得到隐含特征,其中,g为自编码模型中的解码函数,c为不平衡数据x的隐含特征。由以上两个公式可以理解,自编码模型的层数越多,隐含特征越多;反之,隐含特征越少。以不平衡数据的维度为6维为例,若自编码模型的层数设为三层,则降维后得到的低维数据的维数为3维。低维数据由不同数据类型的数据组成。例如,低维数据中可能包括A类数据和B类数据;或者,低维数据中可能包括A类数据、B类数据,或C类数据,等。在本实施例中,将不平衡数据输入到建立的自编码分类模型中,根据自编码分类模型的解码函数计算得到不平衡数据的隐含特征,并以此作为低维数据,实现了对不平衡数据的降维处理,由于低维数据由不平衡数据的隐含特征构成,使得降维后的低维数据保留了尽可能多的原数据的有效特征。进一步地,在一实施例中,如图4所示,针对步骤S3,即按照预设的采样方式对低维数据进行采样,得到平衡数据,具体包括如下步骤:S31:计算低维数据的总数量,以及不同数据类型对应的低维数据的分数量。由于低维数据由不同数据类型的数据组成,因此,低维数据的总数量即为低维数据中各种数据类型的数据的数量总和,而每种数据类型的数据的数量称为低维数据分数量。举例来说,在一个二分类的数据集中,包含的两个数据类型,分别为A类数据和B类数据,其中,A类数据有50个,B类数据有20个,则低维数据的总数量为70,低维数据的分数量分别为50A类数据的数量和20B类数据的数量。具体地,服务端可以根据预设的数据类型的字段名区分低维数据中的不同数据类型,计算不同字段名下对应的数据数量,从而可以得到低维数据的总数量,以及不同数据类型对应的低维数据的分数量。S32:若分数量与总数量的比值超过预设阈值,则将分数量对应的数据类型的数据作为多数类数据,并对多数类数据进行欠采样,得到第一样本数据。在不平衡数据中,不同数据类型中的数据的数量相差可能很大,其中,数量占多数的数据类型中的数据称为多数类数据;数量占少数的数据类型中的数据称为少数类数据。一个数据属于多数类数据还是少数类数据,可以根据低维数据的分数量与低维数据的总数量的比值,与预设阈值之间的大小关系来确定。其中,预设阈值,可以根据低维数据中数据类型的数量来确定,比如:若低维数据中数据类型的数量为2,则预设阈值为12;若低维数据中数据类型的数量为3,则预设阈值为13,依此类推,预设阈值为分数,分母为低维数据中数据类型的数量值,分子为1。需要说明的是,这只是预设阈值的一种实施方式,本发明中包括但不限定于该实施方式。举例来说,在一个低维数据中,包含A和B两个数据类型,每个数据类型下分别有数据50个和20个,则预设阈值为12。由于数据类型A的分数量50与总数量70之间的比值超过12,因此,数据类型A的数据为多数类数据,相对地,数据类型B的数据为少数类数据。可以理解地,若低维数据包括A、B、C三种数据类型,则预设阈值为13;因此,在A、B、C三种数据类型中,若其中任一种数据类型的数据的分数量与低维数据的总数量之间的比值超过13,则该类数据类型的数据为多数类数据。不平衡数据中的数据类型可以预先设置,即,在预设样本库中对不平衡数据中的数据已作出类型标注,例如,在关于网络入侵检测的训练样本数据中,90%的样本数据属于正常流量数据,正常流量数据对应的数据类型为M;10%的样本数据属于非正常流量数据,非正常流量数据对应的数据类型为N,其中,M和N是预设样本库中样本数据的数据类型字段的取值。欠采样,或称下采样,是一种舍弃部分样本数据的采样方法。第一样本数据,即经过欠采样后得到的数据。服务端可以采用多种聚类算法对多数类数据进行聚类处理,然后去掉相同聚类中的冗余数据,得到第一样本数据。具体地,服务端可以调用sklearn库中的k-mean聚类函数对多数类数据进行聚类处理。在聚类处理后得到的每一个聚类中选取一个类心,以及类心范围内的一定数量的样本,然后将类心以外的数据舍去,剩下的数据即为第一样本数据。其中,K-Means,又叫K均值,是一种聚类算法。K-Means是通过输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类的一种算法;类心范围内一定数量的样本的选取,与欠采样中要舍弃的多数类数据的数量相对应。S33:若分数量与总数量的比值未超过预设阈值,则将分数量对应的数据类型的数据作为少数类数据,并对少数类数据进行过采样,得到第二样本数据。与步骤S32中获取多数类数据的方法类似,服务端可以根据低维数据的分数量与低维数据的总数量的比值,与预设阈值之间的大小关系确定少数类数据。过采样,或称上采样,即增加少数类样本的数量的采样方法。第二样本数据,即经过过采样后得到的数据。服务端可以采用多种聚类算法对多数类数据进行聚类处理,然后去掉相同聚类中的冗余数据,得到第二样本数据。具体地,服务端可以可以通过SMOTE算法对少数类数据进行过采样。即,通过插值方法,构建近似的少数类数据,从而实现过采样。其中,SMOTE,即Syntheticminorityeover-samplingtechnique,合成少数类过采样技术,是基于随机过采样算法的一种改进算法。具体地,服务端可以可通过Python中的imbalanced-learn库中的内置函数实现SMOTE。其中,imbalanced-learn是一个基于Python的第三方提供的对不平衡数据进行采样的库。S34:根据预设比例将第一样本数据与第二样本数据进行组合,得到平衡数据。预设比例,是第一样本数据与第二样本数据的组合比例。预设比例保证由第一样本数据和第二样本数据构成的数据是平衡数据。即,在临界比例范围内设定的比例。具体地,若临界比例为4:1,则服务端可以以低于临界比例的比例组合第一样本数据和第二样本数据,得到平衡数据。在本实施例中,服务端通过聚类算法对多数类数据进行欠采样,对少数类数据采样SMOTE算法进行过采样,然后以预设比例组合采样后得到的第一样本数据和第二样本数据,从而得到平衡数据,使得舍弃的多数类数据尽可能的为冗余数据,增加的少数类数据尽可能接近实际的少数类数据,让得到的平衡数据具有多样性,有利提高训练效果和分类模型最终的分类结果的准确性。进一步地,在一实施例中,在步骤S4之后,即将平衡数据作为训练样本,使用预设的机器学习算法对训练样本进行训练,得到分类模型之后,还包括步骤S5,详述如下:S5:按照预设的参数优化方法对分类模型的参数进行优化,得到参数极值,其中,参数极值为优化后的分类模型的参数值,用以提高分类模型的分类精度。分类模型的参数主要是超参数和普通参数。其中,超参数,是在训练之前预先设置值的参数;普通参数,是通过训练得到的参数数据;参数极值是超参数和普通参数的最优值。超参数包括但不限于分类模型中的学习率、隐藏层数、树的深度等。普通参数包括但不限于激活函数、优化算法、正则化的参数、神经网络层节点的数量等。针对超参数,服务端可以采先用SVM算法建立一个二分类模型,然后通过网格搜索方式进行超参数调优。具体地,服务端可以通过sklearn库中的核函数进行线性穷举,即,从超参数的取值空间中逐一选定子集进行调优,直到找到参数极值为止。针对普通参数,服务端可以采用梯度下降法进行优化,得到参数极值。其中,梯度下降法是一种利用一次导数信息求取目标函数极值的方法。在本实施例中,服务端对分类模型的超参数和普通参数进行优化,使得超参数和普通参数达到最优值,即参数极值,有利于进一步优化分类模型的分类精度,提高分类的准确性。进一步地,在一实施例中,如图5所示,针对步骤S5,即按照预设的参数优化方法对分类模型的参数进行优化,得到参数极值,具体包括如下步骤:S51:将分类模型的参数的预设候选值组成数据集合;预设候选值是分类模型参数的可能取值。例如,参数“激活函数”的预设候选值包括但不限于“ReLU函数”、“sigmoid函数”、“tanh函数”等;参数“优化算法”的预设候选值包括但不限于“AdaDelta算法”、“Adam提升算法”、“梯度下降算法”等。数据集合是存储分类模型参数的预设候选值的数据结构。具体地,数据集合可以是数据字典,例如,定义为Python中的字典类型。具体地,一个以Python字典进行存储的数据集合可以表示为:{x:[2:6],y:[1:3],z:[ReLU,sigmoid,tanh]},其中,x,y和z为分类模型的参数,[2:6]、[1:3]和[ReLU,sigmoid,tanh]分别表示为的取值x范围在2到6之间,参数y的取值范围在1到3之间,参数z的取值范围在ReLU,sigmoid或tanh之间。S52:根据交叉验证法,从数据集合中选取预设候选值建立至少两个深度学习模型;交叉验证CrossValidation,也称作循环估计RotationEstimation,是一种统计学上将数据样本切割成较小子集的实用方法。即,在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。举例来说,将样本分为k等分,选取其中任意k-1份用于建模,一份用于验证,这样共可以建立k个模型并得到k组误差并求取平方和,将这一平方和作为评估当前参数设定下的模型精度。深度学习模型,是基于深度学习构建的神经网络模型。其中,深度学习可以通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的特征表示。从数据集合中选取预设候选值建立深度学习模型,即对数据集合中的数据进行遍历,选取预设候选值建立深度学习模型。例如,以步骤S52中建立的数据集合为例,服务端可以分别从x,y和z中选取一个预设候选值,并以预设候选值建立深度学习模型。其中,建立深度学习模型的过程是一个监督学习的过程。可以理解地,根据预设候选值的不同组合,可以构建出不同的深度学习模型,即至少两个深度学习模型。具体地,服务端先根据交叉验证法对平衡数据进行划分,并以划分后的平衡数据作为训练样本,再调用sklearn库中的Sequential函数建立一个初始模型,并以数据集合中选取的预设候选值为深度学习模型的参数进行训练,得到至少两个深度学习模型。S53:使用深度学习模型对训练样本进行分类,并根据深度学习模型的分类准确率确定最优深度学习模型;训练样本,即对低维数据进行采样后得到的平衡数据。由于对训练样本进行分类属于监督学习过程,因此,服务端可以从分类结果中确定哪个深度学习模型的分类准确性更高。其中,分类结果即对训练样本进行分类的准确率。例如,深度学习模型A、B和C的分类结果的准确率分别为90%,85%,80%,则深度学习模型A即为最优深度学习模型。S54:将最优深度学习模型所对应的预设候选值作为参数极值。最优深度学习模型所对应的预设候选值,即步骤S52中,建立深度学习模型时,从数据集合中选取的预设候选值。在本实施例中,服务端将分类模型的参数的预设候选值组成数据集合,并根据交叉验证法,从数据集合中选取预设候选值的不同组合建立多个深度学习模型;然后使用深度学习模型对训练样本进行分类,并根据深度学习模型的分类准确率确定最优深度学习模型,从而以最优深度学习模型所对应的预设候选值作为分类模型的参数极值,即通过建立深度学习模型,并根据不同深度学习模型的分类结果确定参数极值,快速缩小参数极值的取值范围,从而确定参数极值,使得训练分类模型的整体训练时间更短,训练效率更高。进一步地,在一实施例中,分类模型的参数还包括超参数,针对步骤S5,即按照预设的参数优化方法对分类模型的参数进行优化,得到参数极值,还包括步骤:S55:通过预设随机采样方式,对超参数进行赋值,并使用赋值后的超参数对分类模型进行迭代运算,直到迭代运算完成,得到参数极值。预设随机采样方式,是指在超参数取值范围内为超参数随机选取若干个初始值。优选地,预设随机采样方式可以采用随机森林RandomForest算法。迭代运算,即使用赋值后的超参数的初始值对分类模型进行代入计算,以使分类模型趋于稳定,则当分类模型趋于稳定后,此时的超参数的初始值为参数极值。具体地,服务端可以通过导入sklearn库中的随机森林函数,通过随机森林算法对超参数取值范围内的初始值进行随机选取,然后进行迭代,直到找到参数极值为止。在本实施例中,服务端通过预设随机采样方式对超参数取值范围内的初始值进行选取,由于采用了随机森林算法,提高了选取符合参数极值条件的初始值的准确率,可以减少迭代运算的次数,加快计算效率。进一步地,在一实施例中,针对步骤S55中“直到所述迭代运算完成”,具体包括如下步骤:S551:使用预设损失函数对迭代运算的第N次运算结果进行检测,其中,N为大于0的正整数。损失函数,是在统计学上以及统计决策理论中一种将一个事件或在一个样本空间中的一个元素映射到另一个表达与其事件相关的经济成本或机会成本的实数上的一种函数。在本实施例中,损失函数是评估迭代运算是否完成的验证函数,即当损失函数收敛,则确定迭代运算完成。损失函数具体可以使用MSE函数,即均方误差函数。MSE,即MeanSquareError,其计算方法是求预测值与真实值之间距离的平方和。具体地,服务端将迭代运算的单次运算结果作为输入,代入到损失函数中,并求损失函数的极限值。S552:若第N次运算结果使得预设损失函数收敛,则确定迭代运算完成;若第N次运算结果未使得预设损失函数收敛,则使用预设损失函数对迭代运算的第N+1次运算结果进行检测,直到预设损失函数达到收敛为止。具体地,当服务端计算得到损失函数的极限值时,代表损失函数已经收敛,则此时确定迭代运算完成,超参数的初始值为参数极值;若服务端未能计算到损失函数的极限值时,则代表损失函数不能收敛,此时,服务端需要以迭代运算的下一次运算结果作为输入,重新计算损失函数的极限值,直到损失函数达到收敛为止。在本实施例中,服务端通过损失函数对迭代运算的运算结果进行判断,以确定迭代运算是否完成,即,通过损失函数的收敛与否来间接判断迭代运算是否完成,比直接通过对分类结果的分析来确定分类模型是否达到优化要更加快速和高效。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。在一实施例中,提供一种不平衡数据分类模型训练装置,该不平衡数据分类模型训练装置与上述实施例中不平衡数据分类模型训练方法一一对应。如图6所示,该不平衡数据分类模型训练装置包括登录验证模块61、页面发送模块62、自动保存模块63和提交验证模块64。各功能模块详细说明如下:数据获取模块61,用于从预设样本库中获取不平衡数据;降维模块62,用于根据预设的降维方法对不平衡数据进行降维处理,得到降维后的低维数据;采样模块63,用于按照预设的采样方式对低维数据进行采样,得到平衡数据;训练模块64,用于将平衡数据作为训练样本,使用预设的机器学习算法对训练样本进行训练,得到分类模型。进一步地,降维模块62,包括:自编码模型建立子模块621,用于建立预设层数的自编码模型;特征提取子模块622,用于使用自编码模型对不平衡数据进行特征提取,得到不平衡数据的隐含特征,并将隐含特征作为降维后的低维数据。进一步地,采样模块63,包括:数量计算子模块631,用于计算低维数据的总数量,以及不同数据类型对应的低维数据的分数量;欠采样子模块632,用于若分数量与总数量的比值超过预设阈值,则将分数量对应的数据类型的数据作为多数类数据,并对多数类数据进行欠采样,得到第一样本数据;过采样子模块633,用于若分数量与总数量的比值未超过预设阈值,则将分数量对应的数据类型的数据作为少数类数据,并对少数类数据进行过采样,得到第二样本数据;样本组合子模块634,用于根据预设比例将第一样本数据与第二样本数据进行组合,得到平衡数据。进一步地,不平衡数据分类模型训练装置,还包括:参数优化模块65,用于按照预设的参数优化方法对分类模型的参数进行优化,得到参数极值,其中,参数极值为优化后的分类模型的参数值,用以提高分类模型的分类精度。进一步地,参数优化模块65,包括:集合设置子模块651,用于将分类模型的参数的预设候选值组成数据集合;深度学习模型建立子模块652,用于根据交叉验证法,从数据集合中选取预设候选值建立至少两个深度学习模型;分类子模块653,用于使用深度学习模型对训练样本进行分类,并根据深度学习模型的分类准确率确定最优深度学习模型;极值选取子模块654,用于将最优深度学习模型所对应的预设候选值作为参数极值。进一步地,参数优化模块65,还包括:超参数优化子模块655,用于通过随机采样的方式,对超参数进行赋值,并使用赋值后的超参数对分类模型进行迭代运算,直到迭代运算完成,得到参数极值。进一步,超参数优化子模块655,包括:损失函数检测单元6551,用于使用预设损失函数对迭代运算的第N次运算结果进行检测,其中,N为大于0的正整数;收敛计算单元6552,用于若第N次运算结果使得预设损失函数收敛,则确定迭代运算完成;若第N次运算结果未使得预设损失函数收敛,则使用预设损失函数对迭代运算的第N+1次运算结果进行检测,直到预设损失函数达到收敛为止。关于不平衡数据分类模型训练装置的具体限定可以参见上文中对于不平衡数据分类模型训练方法的限定,在此不再赘述。上述不平衡数据分类模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种不平衡数据分类模型训练方法。在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中不平衡数据分类模型训练方法的步骤,例如图2所示的步骤S1至步骤S4。或者,处理器执行计算机程序时实现上述实施例中不平衡数据分类模型训练装置的各模块单元的功能,例如图7所示模块71至模块74的功能。为避免重复,这里不再赘述。在一实施例中,提供一计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中不平衡数据分类模型训练方法,或者,该计算机程序被处理器执行时实现上述装置实施例中不平衡数据分类模型训练装置中各模块单元的功能。为避免重复,这里不再赘述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和或易失性存储器。非易失性存储器可包括只读存储器ROM、可编程ROMPROM、电可编程ROMEPROM、电可擦除可编程ROMEEPROM或闪存。易失性存储器可包括随机存取存储器RAM或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAMSRAM、动态RAMDRAM、同步DRAMSDRAM、双数据率SDRAMDDRSDRAM、增强型SDRAMESDRAM、同步链路SynchlinkDRAMSLDRAM、存储器总线Rambus直接RAMRDRAM、直接存储器总线动态RAMDRDRAM、以及存储器总线动态RAMRDRAM等。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

权利要求:1.一种不平衡数据分类模型训练方法,其特征在于,所述不平衡数据分类模型训练方法包括:从预设样本库中获取不平衡数据;根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据;按照预设的采样方式对所述低维数据进行采样,得到平衡数据;将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型。2.如权利要求1所述的不平衡数据分类模型训练方法,其特征在于,所述根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据,包括:建立预设层数的自编码模型;使用所述自编码模型对所述不平衡数据进行特征提取,得到所述不平衡数据的隐含特征,并将所述隐含特征作为降维后的低维数据,其中,所述低维数据由不同数据类型的数据组成。3.如权利要求2所述的不平衡数据分类模型训练方法,其特征在于,所述按照预设的采样方式对所述低维数据进行采样,得到平衡数据,包括:计算所述低维数据的总数量,以及不同数据类型对应的低维数据的分数量;若所述分数量与所述总数量的比值超过预设阈值,则将所述分数量对应的数据类型的数据作为多数类数据,并对所述多数类数据进行欠采样,得到第一样本数据;若所述分数量与所述总数量的比值未超过预设阈值,则将所述分数量对应的数据类型的数据作为少数类数据,并对所述少数类数据进行过采样,得到第二样本数据;根据预设比例将所述第一样本数据与所述第二样本数据进行组合,得到所述平衡数据。4.如权利要求1所述的不平衡数据分类模型训练方法,其特征在于,所述将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型之后,所述不平衡数据分类模型训练方法,还包括:按照预设的参数优化方法对所述分类模型的参数进行优化,得到参数极值,其中,所述参数极值为优化后的所述分类模型的参数值,用以提高所述分类模型的分类精度。5.如权利要求4所述的不平衡数据分类模型训练方法,其特征在于,所述,按照预设的参数优化方法对所述分类模型的参数进行优化,得到参数极值,包括:将所述分类模型的参数的预设候选值组成数据集合;根据交叉验证法,从所述数据集合中选取所述预设候选值建立至少两个深度学习模型;使用所述深度学习模型对所述训练样本进行分类,并根据所述深度学习模型的分类准确率确定最优深度学习模型;将所述最优深度学习模型所对应的预设候选值作为所述参数极值。6.如权利要求4所述的不平衡数据分类模型训练方法,其特征在于,所述分类模型的参数包括超参数,所述按照预设的参数优化方法对分类模型的参数进行优化,得到参数极值,包括:通过预设随机采样方式,对所述超参数进行赋值,并使用赋值后的超参数对所述分类模型进行迭代运算,直到所述迭代运算完成,得到所述参数极值。7.如权利要求6所述的不平衡数据分类模型训练方法,其特征在于,所述直到所述迭代运算完成,包括:使用预设损失函数对所述迭代运算的第N次运算结果进行检测,其中,N为大于0的正整数;若所述第N次运算结果使得所述预设损失函数收敛,则确定所述迭代运算完成;若所述第N次运算结果未使得所述预设损失函数收敛,则使用预设损失函数对所述迭代运算的第N+1次运算结果进行检测,直到所述预设损失函数达到收敛为止。8.一种不平衡数据分类模型训练装置,其特征在于,所述不平衡数据分类模型训练装置,包括:数据获取模块,用于从预设样本库中获取不平衡数据;降维模块,用于根据预设的降维方法对所述不平衡数据进行降维处理,得到降维后的低维数据;采样模块,用于按照预设的采样方式对所述低维数据进行采样,得到平衡数据;训练模块,用于将所述平衡数据作为训练样本,使用预设的机器学习算法对所述训练样本进行训练,得到分类模型。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述不平衡数据分类模型训练方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述不平衡数据分类模型训练方法。

百度查询: 平安科技(深圳)有限公司 不平衡数据分类模型训练方法、装置、设备及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。