发明内容
针对上述技术问题,本说明书实施例提供一种数据模型的训练方法、装置、及,技术方案如下:
根据本说明书实施例的第一方面,提供一种数据模型的训练方法,所述方法包括:
获取历史故障数据样本集;
针对所述历史故障数据样本集中的任一条历史故障数据样本进行如下处理:
提取出历史故障数据样本在至少一个特征维度下的特征值;
将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,其中,所述预设特征值为所述指定特征维度的候选特征值中,除所述提取出的指定特征维度下的特征值以外的其他特征值;
将所得到的扩展数据样本与所述历史故障数据样本集合并,利用合并后的样本集训练得到数据模型。
根据本说明书实施例的第二方面,提供一种数据模型的训练装置,所述装置包括:
历史数据获取模块,用于获取历史故障数据样本集;
特征提取模块,用于提取出历史故障数据样本在至少一个特征维度下的特征值;
扩展数据获取模块,用于将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,其中,所述预设特征值为所述指定特征维度的候选特征值中,除所述提出去的指定特征维度下的特征值以外的其他特征值;
模型训练模块,用于将所得到的扩展数据样本与所述历史故障数据样本集合并,利用合并后的样本集训练得到数据模型。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现本说明书实施例提供的数据模型的训练方法。
本说明书实施例所提供的技术方案,本说明书实施例所提供的技术方案,通过获取历史故障数据样本集,针对历史故障数据样本集中的任一条历史故障数据样本进行处理:提取出历史故障数据样本在至少一个特征维度下的特征值,将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,将所得到的扩展数据样本与历史故障数据样本集合并,利用合并后的样本集训练得到数据模型,可以实现基于数量有限的历史故障数据样本扩展出数量足够的故障数据样本,并实现基于所覆盖的问题维度有限的历史故障数据样本扩展出可覆盖其他问题维度的故障数据样本,从而,对历史故障数据样本与扩展出来的故障数据样本进行训练,可以得到性能满足要求的数据模型。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
在进行异常识别等应用场景(例如异常调用识别、欺诈行为识别等)中,可以利用有监督学习算法,对一组已标记数据样本进行训练得到数据模型,当训练得到的数据模型的性能达到要求后,就可以将该数据模型投入使用以对未知数据进行识别预测了。但是,实际应用中,可能会出现数据样本不够全面的情况,例如,训练正样本的数量远小于训练负样本的数量,也即正负样本不平衡,本领域技术人员可以理解的是,既然数据模型是用于异常识别,那么,训练正样本为故障数据样本,也即异常数据样本,而训练负样本则为正常数据样本;又例如,训练用的数据样本仅仅来自历史数据,而历史数据通常仅覆盖部分问题维度,也就相当于训练用的数据样本仅覆盖部分问题维度,在此类数据样本不够全面的情况下,则无法训练得到性能达到要求的数据模型,例如,所训练出的数据模型无法准确识别异常数据,又例如,所训练出的数据模型仅能针对特定的问题维度识别出异常数据,无法针对其他问题维度识别出异常数据。
基于此,本说明书实施例提供一种数据模型的训练方法,通过该方法,可以实现基于数量有限的历史故障数据样本扩展出数量足够的故障数据样本,并实现基于所覆盖的问题维度有限的历史故障数据样本扩展出可覆盖其他问题维度的故障数据样本,从而,对历史故障数据样本与扩展出来的故障数据样本进行训练,得到性能满足要求的数据模型。
如下,对该数据模型的训练方法进行说明:
请参见图1,为本说明书一示例性实施例提供的一种数据模型的训练方法的实施例流程图,该方法可以包括以下步骤:
步骤102:获取历史故障数据样本集。
在本说明书实施例中,可以通过对历史数据进行分析获取历史故障数据样本,为了描述方便,将获取到的多条历史故障数据样本所组成的集合称为历史故障数据样本集。
举例来说,在一类由于业务规则配置错误,引起计算可用渠道逻辑错误,进而导致异常系统调用的情形下,从数据分析角度看,正常系统调用与异常系统调用之间区别表现为返回参数明显缺失,例如,如下表1所示,为正常系统调用和异常系统调用之间区别的一种示例:
表1
|
参数1 |
参数2 |
参数3 |
正常系统调用 |
A类账户 |
B类账户 |
[GDB,CITI,CCB,…] |
异常系统调用 |
A类账户 |
B类账户 |
[] |
通过上述表1的示例,即可通过对系统调用数据进行分析,将参数3缺失的系统调用数据确定为异常系统调用数据,也即确定为历史故障数据样本。
步骤104:针对历史故障数据样本集中的任一条历史故障数据样本,提取出历史故障数据样本在至少一个特征维度下的特征值。
步骤106:将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,其中,预设特征值为指定特征维度的候选特征值中,除该提取出的指定特征维度下的特征值以外的其他特征值。
如下,对步骤104与步骤106进行说明:
在本说明书实施例中,可以针对步骤102中获取到的历史故障数据样本集中的任一条历史故障数据样本进行处理,包括:提取出历史故障数据样本在至少一个特征维度下的特征值,本领域技术人员可以理解的是,这一过程相当于将历史故障数据样本映射至一个具有至少一个维度的特征空间,以提取出历史故障数据样本在该特征空间下的特征值,例如,如下述表2所示,为针对一条历史故障数据样本所提取出的特征值的一种示例:
表2
|
特征维度1 |
特征维度2 |
特征维度3 |
历史故障数据样本 |
A类账户 |
B类账户 |
[] |
至于提取出上述表2所示例的历史故障数据样本在至少一个特征维度下的特征值的具体过程,本领域技术人员可以参见现有技术中的相关描述,本说明书实施例对此不再详述。
本说明书实施例中,在提取出历史故障数据样本在至少一个特征维度下的特征值之后,可以将指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,其中,该预设特征值为指定特征维度的候选特征值中,除所提取出的指定特征维度下的特征值以外的其他特征值。
具体的,以指定特征维度包括一个特征维度,例如为上述表2中所示例的特征维度1举例来说,假设特征维度1的候选特征值共有4个,分别为A类账户、B类账户、C类账户、D类账户,那么,按照上述表2的示例以及上述描述,预设特征值则可以包括B类账户、C类账户、D类账户。在本说明书实施例中,将表2所示例的特征维度1分别替换为B类账户、C类账户、D类账户,则可以得到3个扩展数据样本,例如,如下述表3所示,为表2所示例的历史故障数据样本的扩展数据样本的一种示例:
表3
|
特征维度1 |
特征维度2 |
特征维度3 |
扩展数据样本1 |
B类账户 |
B类账户 |
[] |
扩展数据样本2 |
C类账户 |
B类账户 |
[] |
扩展数据样本3 |
D类账户 |
B类账户 |
[] |
需要说明的是,上述所描述的指定特征维度仅包括一个特征维度仅仅作为举例,在实际应用中,指定特征维度可以包括至少一个特征维度,也即指定特征维度可以仅包括一个特征维度,也可以包括两个以上特征维度,本说明书实施例对此不作限制,但本领域技术人员可以理解的是,指定特征维度的数量小于特征提取时所映射至的特征空间中特征维度的数量。
此外,在本说明书实施例中,为了尽可能地保证训练正样本的准确性,在得到扩展数据样本后,可以进一步对所得到的扩展数据样本进行筛选,以滤掉其中可能存在的正常数据样本,即非故障数据样本。
在一实施例中,可以通过故障注入技术,将所得到的扩展数据样本注入业务系统,得到业务系统针对该扩展数据样本的输出结果,例如,得到运行该扩展数据样本的返回参数,后续,根据该输出结果,在所得到的扩展数据样本中确定非故障数据样本,例如,得到输出结果中的返回参数并无缺失的扩展数据样本,即可将此类扩展数据样本确定为非故障数据样本,进一步,在所得到的扩展数据样本中,将确定出的非故障数据样本删除即可。
步骤108:将所得到的扩展数据样本与历史故障数据样本集合并,利用合并后的样本集训练得到数据模型。
在本说明书实施例中,将所得到的扩展数据样本与历史故障数据样本集合并,之后,可以利用有监督学习算法,例如RF算法对合并后的样本集进行训练,得到数据模型。
本领域技术人员可以理解的是,前述所说的扩展数据样本不包括在上述步骤106中确定出的非故障数据样本;至于利用有监督学习算法,对合并后的样本集进行训练,得到数据模型的具体过程,本领域技术人员可以参见现有技术中的相关描述,本说明书实施例对此不再详述。
此外,在本说明书实施例中,还提出利用训练得到的数据模型,结合不同特征维度的权重,以及当前线上业务调用请求的特征分布,定位到引发异常的关键调用参数,以实现故障快速定位。
具体的,在本说明书实施例中,在利用有监督学习算法对合并后的样本集进行训练得到数据模型的过程中,可以得到特征空间中各个特征维度的权重。之后,在实际应用该数据模型的过程中,将当前的线上业务调用请求输入训练得到的数据模型,将数据模型输出的预测结果作为该线上业务调用请求的标准结果,若该标注结果表示异常调用,则可以进一步提取出该线上业务调用请求在各个特征维度下的特征值,也就相当于当前线上业务调用请求的特征分布。
后续,针对任一特征维度,将所提取出的该特征维度下的特征值与该特征维度的权重相乘,将其乘积作为特征维度的异常概率,之后,按照异常概率从高到低的顺序,对各个特征维度进行排序,根据排序结果,将排在前N位的特征维度确定为故障特征维度,其中,N为预设的大于0的自然数,例如,N为1,所确定出的故障特征维度即为引发异常的关键调用参数。
本说明书实施例所提供的技术方案,通过获取历史故障数据样本集,针对历史故障数据样本集中的任一条历史故障数据样本进行处理:提取出历史故障数据样本在至少一个特征维度下的特征值,将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,将所得到的扩展数据样本与历史故障数据样本集合并,利用合并后的样本集训练得到数据模型,可以实现基于数量有限的历史故障数据样本扩展出数量足够的故障数据样本,并实现基于所覆盖的问题维度有限的历史故障数据样本扩展出可覆盖其他问题维度的故障数据样本,从而,对历史故障数据样本与扩展出来的故障数据样本进行训练,可以得到性能满足要求的数据模型。
相应于上述方法实施例,本说明书实施例还提供一种数据模型的训练装置,参见图2所示,为本说明书一示例性实施例提供的一种数据模型的训练装置的实施例框图,该装置可以包括:历史数据获取模块21、特征提取模块22、扩展数据获取模块23,以及模型训练模块24。
其中,历史数据获取模块21,可以用于获取历史故障数据样本集;
特征提取模块22,可以用于提取出历史故障数据样本在至少一个特征维度下的特征值;
扩展数据获取模块23,可以用于将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,其中,所述预设特征值为所述指定特征维度的候选特征值中,除所述提出去的指定特征维度下的特征值以外的其他特征值;
模型训练模块24,可以用于将所得到的扩展数据样本与所述历史故障数据样本集合并,利用合并后的样本集训练得到数据模型。
在一实施例中,所述指定特征维度包括至少一个特征维度。
在一实施例中,所述装置还可以包括(图2中未示出):
故障注入模块,用于通过故障注入技术,将所得到的扩展数据样本注入业务系统,得到所述业务系统针对所述扩展数据样本的输出结果;
非故障数据确定模块,用于根据所述输出结果,在所得到的扩展数据样本中确定非故障数据样本;
删除模块,用于在所得到的扩展数据样本中,将确定出的非故障数据样本删除。
在一实施例中,所述模型训练模块24具体用于:
利用有监督学习算法对合并后的样本集进行训练得到数据模型。
在一实施例中,所述装置还可以包括(图2中未示出):
权重确定模块,用于在利用有监督学习算法对合并后的样本集进行训练得到数据模型的过程中,确定所述至少一个特征维度中任一特征维度的权重。
在一实施例中,所述装置还可以包括(图2中未示出):
标注模块,用于将线上业务调用请求输入所述数据模型,将所述数据模型输出的预测结果作为所述线上业务调用请求的标注结果;
提取模块,用于若所述线上业务调用请求的标注结果表示异常调用,则提取出所述线上业务调用请求在所述至少一个特征维度下的特征值;
处理模块,用于针对所述至少一个特征维度中的任一特征维度,将提取出的所述线上业务调用请求在所述特征维度下的特征值,与所述特征维度的权重相乘,并将乘积作为所述特征维度的异常概率;
排序模块,用于按照异常概率从高到低的顺序,对所述至少一个特征维度中的各个特征维度进行排序;
故障确定模块,用于根据排序结果,将排在前N位的特征维度确定为故障特征维度,其中,所述N为预设的大于0的自然数。
可以理解的是,历史数据获取模块21、特征提取模块22、扩展数据获取模块23,以及模型训练模块24作为四种功能独立的模块,既可以如图2所示同时配置在装置中,也可以分别单独配置在装置中,因此图2所示的结构不应理解为对本说明书实施例方案的限定。
此外,上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的数据模型的训练方法,该方法至少包括:获取历史故障数据样本集;针对所述历史故障数据样本集中的任一条历史故障数据样本进行如下处理:提取出历史故障数据样本在至少一个特征维度下的特征值;将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,其中,所述预设特征值为所述指定特征维度的候选特征值中,除所述提取出的指定特征维度下的特征值以外的其他特征值;将所得到的扩展数据样本与所述历史故障数据样本集合并,利用合并后的样本集训练得到数据模型。
图3示出了本说明书实施例所提供的一种更为具体的计算机设备的硬件结构示意图,该设备可以包括:处理器310、存储器320、输入/输出接口330、通信接口340和总线350。其中处理器310、存储器320、输入/输出接口330和通信接口340通过总线350实现彼此之间在设备内部的通信连接。
处理器310可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器320可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器320可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器320中,并由处理器310来调用执行。
输入/输出接口330用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图3中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口340用于连接通信模块(图3中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线350包括一通路,在设备的各个组件(例如处理器310、存储器320、输入/输出接口330和通信接口340)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器310、存储器320、输入/输出接口330、通信接口340以及总线350,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的故障定位的方法。该方法至少包括:获取历史故障数据样本集;针对所述历史故障数据样本集中的任一条历史故障数据样本进行如下处理:提取出历史故障数据样本在至少一个特征维度下的特征值;将提取出的指定特征维度下的特征值替换为预设特征值,得到扩展数据样本,其中,所述预设特征值为所述指定特征维度的候选特征值中,除所述提取出的指定特征维度下的特征值以外的其他特征值;将所得到的扩展数据样本与所述历史故障数据样本集合并,利用合并后的样本集训练得到数据模型。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。