掌桥专利:专业的专利平台
掌桥专利
首页

模型训练方法、装置及系统

文献发布时间:2023-06-19 10:19:37


模型训练方法、装置及系统

技术领域

本申请涉及人工智能(Artificial Intelligence,AI)领域,特别涉及一种模型训练方法、装置及系统。

背景技术

机器学习,是指让机器基于训练样本训练出机器学习模型,使机器学习模型对训练样本之外的样本具有类别预测能力。

目前,数据分析系统包括用于数据分析的多个分析设备,该多个分析设备可以包括云端分析设备和局点分析设备,机器学习模型在该系统中的部署方法包括:由云端分析设备进行模型的离线训练,然后将离线训练后的模型直接部署在该局点分析设备。

但是,训练得到的模型可能无法有效适配于局点分析设备的需求。

发明内容

本申请实施例提供了一种模型训练方法、装置及系统。所述技术方案如下:

第一方面,提供了一种模型训练方法,应用于局点分析设备,包括:

接收第一分析设备发送的机器学习模型,可选地,该第一分析设备为云端分析设备;

基于第一训练样本集合,对所述机器学习模型进行增量训练,所述第一训练样本集合中的特征数据是所述局点分析设备所对应的局点网络的特征数据。

一方面,第一训练样本集合中的特征数据是从该局点分析设备所对应的局点网络获取的特征数据,其更适配于局点分析设备的应用场景,采用包括局点分析设备从对应的局点网络获取的特征数据的第一训练样本集合进行模型训练,可以使得训练后的机器学习模型更适配于该局点分析设备自身的需求,实现模型的定制化,提高模型的应用灵活性;另一方面,通过离线训练和增量训练结合的方式来训练机器学习模型,可以在局点分析设备所获取的特征数据的类别或模式出现变化时,进行机器学习模型的增量训练,实现机器学习模型的灵活调整,从而保证训练得到的机器学习模型符合局点分析设备的需求。因此,本申请实施例提供的模型训练方法,相较于相关技术,能够有效适配于局点分析设备的需求。

可选地,在所述接收第一分析设备发送的机器学习模型之后,所述方法还包括:

采用所述机器学习模型进行分类结果的预测;

可选地,所述方法还包括:向所述评估设备发送预测信息,所述预测信息包括预测得到的分类结果,以供所述评估设备基于所述预测信息评估所述机器学习模型是否发生劣化。在一种示例中,局点分析设备可以在每次采用机器学习模型进行分类结果的预测之后,向评估设备发送预测信息,该预测信息包括预测得到的分类结果;在另一种示例中,局点分析设备还可以周期性地向评估设备发送预测信息,该预测信息包括当前周期获取的分类结果;在又一种示例中,局点分析设备还可以在获取的分类结果数量达到数量阈值后,向评估设备发送预测信息,该预测信息包括获取的分类结果;在再一种示例中,局点分析设备还可以在设定的时间段内向评估设备发送预测信息,该预测信息包括当前获取的分类结果,如此可以避免干扰用户业务。

所述基于第一训练样本集合,对所述机器学习模型进行增量训练,包括:

在接收到所述评估设备发送的训练指令后,基于所述第一训练样本集合,对所述机器学习模型进行增量训练,所述训练指令用于指示对所述机器学习模型进行训练。

可选地,所述机器学习模型用于对一个或多个关键绩效指标KPI特征数据组成的待预测数据进行分类结果的预测;所述KPI特征数据为KPI时间序列的特征数据,或者为KPI数据;

所述预测信息还包括所述待预测数据中的KPI特征数据对应的KPI类别,所述待预测数据所属的设备的标识以及所述待预测数据对应的KPI数据的采集时刻。

可选地,所述方法还包括:

当增量训练后的机器学习模型的性能不满足性能达标条件时,向所述第一分析设备发送重训练请求,所述重训练请求用于请求所述第一分析设备对所述机器学习模型进行重训练。

可选地,所述机器学习模型为树模型,所述基于第一训练样本集合,对所述机器学习模型进行增量训练,包括:

对于所述第一训练样本集合中的任一训练样本,从所述机器学习模型的根节点开始遍历,执行如下遍历过程:

当遍历到的第一节点的当前分裂成本小于第一节点的历史分裂成本时,添加关联的第二节点,所述第一节点为所述机器学习模型中的任一非叶子节点,所述第二节点为所述第一节点的父节点或子节点;

当第一节点的当前分裂成本不小于第一节点的历史分裂成本,遍历所述第一节点的子树中的节点,并将遍历到的节点确定为新的第一节点,再次执行所述遍历过程,直至遍历到的第一节点的当前分裂成本小于第一节点的历史分裂成本,或者遍历到目标深度;

其中,第一节点的当前分裂成本为所述第一节点基于第一训练样本进行节点分裂的成本,所述第一训练样本为所述第一训练样本集合中的任一训练样本,所述第一训练样本包括一个或多个特征维度的特征数据,所述特征数据为数值数据,所述第一节点的历史分裂成本为所述第一节点基于所述第一节点的历史训练样本集合进行节点分裂的成本,所述第一节点的历史训练样本集合为所述机器学习模型的历史训练样本集合中划分至所述第一节点的样本的集合。

可选地,所述第一节点的当前分裂成本与第一数值分布范围的大小负相关,所述第一数值分布范围是基于所述第一训练样本中的特征取值与第二数值分布范围确定的分布范围;所述第二数值分布范围为第一节点的历史训练样本集合中的特征取值的分布范围,所述第一节点的历史分裂成本与所述第二数值分布范围的大小负相关。

可选地,所述第一节点的当前分裂成本为所述第一数值分布范围中各特征维度上的特征取值的跨度之和的倒数,所述第一节点的历史分裂成本为所述第二数值分布范围中各特征维度上的特征取值的跨度之和的倒数。

在增量训练过程中,基于训练样本集合的数值分布范围进行节点分裂,无需大量访问历史训练样本,因此,有效减少了内存和计算资源的占用,降低训练代价。并且通过前述节点信息携带各个节点的相关信息,可以实现机器学习模型的轻量化,更便于机器学习模型的部署,实现模型的有效泛化。

可选地,所述添加关联的第二节点,包括:

确定所述第一数值分布范围在各特征维度上的特征取值的跨度范围;

基于第一分裂维度上的第一分裂点添加所述第二节点,其中,所述第一数值分布范围中在所述第一分裂维度上数值不大于所述第一分裂点数值的数值范围划分至所述第二节点的左子节点,所述第一数值分布范围中在所述第一分裂维度上数值大于所述第一分裂点数值的数值范围划分至所述第二节点的右子节点,所述第一分裂维度为基于所述各特征维度上的特征取值的跨度范围,在所述各特征维度中确定的分裂维度,所述第一分裂点为在所述第一数值分布范围的所述第一分裂维度上确定的用于分裂的数值点;

当所述第一分裂维度与第二分裂维度不同时,所述第二节点为所述第一节点的父节点或子节点,所述第二分裂维度为所述第一节点在所述机器学习模型中的历史分裂维度,所述第二分裂点为所述第一节点在所述机器学习模型中的历史分裂点;

当所述第一分裂维度与所述第二分裂维度相同,且所述第一分裂点位于所述第二分裂点右侧,所述第二节点为所述第一节点的父节点,且所述第一节点为所述第二节点的左子节点;

当所述第一分裂维度与所述第二分裂维度相同,且所述第一分裂点位于所述第二分裂点左侧,所述第二节点为所述第一节点左子节点。

可选地,所述第一分裂维度为在所述第一数值分布范围的各特征维度中随机选择的特征维度,或,所述第一分裂维度为所述第一数值分布范围的各特征维度中跨度最大的特征维度;

和/或,所述第一分裂点为在所述第一数值分布范围的所述第一分裂维度上随机选择的数值点。

可选地,所述添加关联的第二节点,包括:

当所述第一节点的历史训练样本集合中的样本的数量与所述第一训练样本的数量之和大于第一样本数阈值,添加所述第二节点;

所述方法还包括:

当所述第一节点的历史训练样本集合中的样本的数量与所述第一训练样本的数量之和不大于所述第一样本数阈值,停止所述机器学习模型的增量训练。

可选地,所述方法还包括:

将所述机器学习模型中第一非叶子节点和第二非叶子节点进行合并,第一叶子节点和第二叶子节点进行合并,得到精简后的机器学习模型,所述精简后的机器学习模型用于进行分类结果的预测;

或者,接收所述第一分析设备发送的精简后的机器学习模型,所述精简后的机器学习模型是所述第一分析设备将所述机器学习模型中第一非叶子节点和第二非叶子节点进行合并,第一叶子节点和第二叶子节点进行合并得到的;

其中,所述第一叶子节点为所述第一非叶子节点的子节点,所述第二叶子节点为所述第二非叶子节点的子节点,所述第一叶子节点和所述第二叶子节点包括相同的分类结果,且在同一特征维度上分配的历史训练样本集合的特征取值的跨度范围相邻。

精简后的机器学习模型结构更为简单,减少了树的分支层数,防止树层数过深,虽然模型架构产生变化,但不影响其预测结果,可以节约存储空间,提高预测效率。并且通过精简过程可以防止模型的过拟合。进一步的,该精简后的模型若仅用于样本分析,可以不在其节点信息中记录历史分裂信息,这样可以进一步减少模型本身的大小,提高模型预测效率。

可选地,所述机器学习模型中的每个节点对应存储有节点信息,所述机器学习模型中的任一节点的所述节点信息包括标签分布信息,所述标签分布信息用于反映划分至对应节点中的历史训练样本集合中样本的不同类别的标签在标签总数中的占比,所述标签总数是划分至所述任一节点的历史训练样本集合中样本对应的标签的总数量,任一非叶子节点的节点信息还包括历史分裂信息,所述历史分裂信息为对应节点用于分裂的信息。

可选地,所述历史分裂信息包括:对应节点在机器学习模型中的位置信息,分裂维度,分裂点,划分至对应节点的历史训练样本集合的数值分布范围和历史分裂成本;

所述标签分布信息包括:划分至对应节点的历史训练样本集合中样本的同一类别的标签个数和所述标签总数;或,划分至对应节点的历史训练样本集合中样本的不同类别的标签在所述标签总数中的占比。

可选地,所述第一训练样本集合包括在所述局点分析设备获取的样本中筛选得到的满足低区分度条件的样本,所述低区分度条件包括以下至少一者:

采用所述机器学习模型预测样本得到的目标概率集合中任意两个概率的差值的绝对值小于第一差值阈值,所述目标概率集合包括按照概率的大小降序排列的前n个分类结果的概率,1

或者,采用所述机器学习模型预测样本得到的概率中任意两个概率的差值的绝对值小于第二差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中最高概率和最低概率的差值的绝对值小于第三差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中任意两个概率的差值的绝对值小于第四差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率分布熵E大于指定分布熵阈值,所述E满足:

其中,x

第二方面,提供一种模型训练方法,应用于第一分析设备,例如该第一分析设备可以为云端分析设备,该方法包括:

基于历史训练样本集合进行离线训练,得到机器学习模型;

向多个局点分析设备发送所述机器学习模型,以供所述局点分析设备基于第一训练样本集合,对所述机器学习模型进行增量训练,任一局点分析设备用于训练所述机器学习模型的训练样本集合中的特征数据是所述任一局点分析设备所对应的局点网络的特征数据。

本申请实施例中,第一分析设备可以将训练得到的机器学习模型分发至每个局点分析设备中,由各个局点分析设备进行增量训练,保证各个局点分析设备上的机器学习模型的性能。如此,第一分析设备无需为每个局点分析设备都训练对应的机器学习模型,有效减少了第一分析设备的整体训练时长,且离线训练得到的模型在各个局点分析设备均可以作为增量训练的基础,提高了离线训练得到的模型的通用性,从而实现模型泛化,降低了第一分析设备的整体训练成本。

可选地,所述历史训练样本集合是多个所述局点分析设备发送的训练样本的集合。

可选地,在向局点分析设备发送所述机器学习模型之后,所述方法还包括:

接收所述局点分析设备发送的重训练请求,基于发送所述重训练请求的局点分析设备所发送的训练样本集合,对所述机器学习模型进行重训练;

或者,接收所述局点分析设备发送的重训练请求,基于发送所述重训练请求的局点分析设备所发送的训练样本集合以及其他局点分析设备所发送的训练样本集合,对所述机器学习模型进行重训练;

或者,接收至少两个所述局点分析设备发送的训练样本集合,并基于接收到的训练样本集合,重训练所述机器学习模型。

可选地,所述机器学习模型为树模型,所述基于历史训练样本集合进行离线训练,得到机器学习模型,包括:

获取已确定标签的历史训练样本集合,所述历史训练样本集合中的训练样本包括一个或多个特征维度的特征数据,所述特征数据为数值数据;

创建根节点;

将所述根节点作为第三节点,执行离线训练过程直至达到分裂截止条件;

为每个叶子节点确定分类结果,得到所述机器学习模型;

其中,所述离线训练过程包括:

进行所述第三节点的分裂,得到所述第三节点的左子节点和右子节点;

将所述左子节点作为更新后的第三节点,将所述历史训练样本集合划分至所述左子节点的左样本集合作为更新后的历史训练样本集合,再次执行所述离线训练过程;

将所述右子节点作为更新后的第三节点,将所述历史训练样本集合划分至所述右子节点的右样本集合作为更新后的历史训练样本集合,再次执行所述离线训练过程。

在一种可选方式中,所述进行所述第三节点的分裂,得到所述第三节点的左子节点和右子节点,包括:

基于所述历史训练样本集合的数值分布范围进行所述第三节点的分裂,得到所述第三节点的左子节点和右子节点,所述历史训练样本集合的数值分布范围为所述历史训练样本集合中的特征取值的分布范围。

可选地,所述基于所述历史训练样本集合的数值分布范围进行所述第三节点的分裂,得到所述第三节点的左子节点和右子节点,包括:

在所述历史训练样本集合的各特征维度中确定第三分裂维度;

在所述历史训练样本集合的所述第三分裂维度上确定第三分裂点;

将第三数值分布范围中在所述第三分裂维度上数值不大于所述第三分裂点数值的数值范围划分至所述左子节点,所述第三数值分布范围中在所述第三分裂维度上数值大于所述第三分裂点数值的数值范围划分至所述右子节点,所述第三数值分布范围为所述第三节点的历史训练样本集中的特征取值的分布范围。

在离线训练过程中,基于训练样本集合的数值分布范围进行节点分裂,无需大量访问历史训练样本,因此,有效减少了内存和计算资源的占用,降低训练代价。并且通过前述节点信息携带各个节点的相关信息,可以实现机器学习模型的轻量化,更便于机器学习模型的部署,实现模型的有效泛化。

在另一种可选的方式中,由于第一分析设备已经获取了前述用于训练的历史训练样本集合,因此也可以直接采用样本进行节点分裂,前述进行所述第三节点的分裂,得到所述第三节点的左子节点和右子节点可以替换包括:将历史训练样本集合中在第三分裂维度上特征取值不大于第三分裂点数值的样本划分至左子节点,历史训练样本集合中在第三分裂维度上特征取值大于第三分裂点数值的样本划分至右子节点。

可选地,所述分裂截止条件包括以下至少一者:

所述第三节点的当前分裂成本大于分裂成本阈值,如此可以避免树的过度分裂,减少运算开销;

或者,所述历史训练样本集合的样本的数量小于第二样本数阈值,这种情况说明,历史训练样本集合的数据量已经较少,已不足以支持有效的节点分裂,此时停止离线训练过程,可以减少运算开销;

或者,所述第三节点对应的分裂次数大于分裂次数阈值,这种情况说明当前的机器学习模型已经达到了分裂次数上限,此时停止离线训练过程,可以减少运算开销;

或者,所述第三节点在所述机器学习模型中的深度大于深度阈值,如此可以实现对机器学习模型的深度的控制;

或者,所述历史训练样本集合所对应的标签中占比最大的标签的数量在所述历史训练样本集合所对应的标签的标签总数中的占比大于指定占比阈值,这种情况说明该占比最大的标签的数量已经达到了分类条件,可以基于此确定准确的分类结果了,此时停止离线训练过程,可以减少不必要的分裂,减少运算开销。

可选地,所述第三节点的当前分裂成本与所述历史训练样本集合中的特征取值的分布范围的大小负相关。

可选地,所述第三节点的当前分裂成本为所述历史训练样本集合在各特征维度上的特征取值的跨度之和的倒数。

可选地,所述方法还包括:

将所述机器学习模型中第一非叶子节点和第二非叶子节点进行合并,第一叶子节点和第二叶子节点进行合并,得到精简后的机器学习模型,所述精简后的机器学习模型用于进行分类结果的预测,其中,所述第一叶子节点为所述第一非叶子节点的子节点,所述第二叶子节点为所述第二非叶子节点的子节点,所述第一叶子节点和所述第二叶子节点包括相同的分类结果,且在同一特征维度上分配的历史训练样本集合的特征取值的跨度范围相邻;

向所述局点分析设备发送所述精简后的机器学习模型,以供所述局点分析设备基于所述精简后的机器学习模型进行分类结果的预测。

可选地,所述机器学习模型中的每个节点对应存储有节点信息,所述机器学习模型中的任一节点的所述节点信息包括标签分布信息,所述标签分布信息用于反映划分至对应节点中的历史训练样本集合中样本的不同类别的标签在标签总数中的占比,所述标签总数是划分至所述任一节点的历史训练样本集合中样本对应的标签的总数量,任一非叶子节点的节点信息还包括历史分裂信息,所述历史分裂信息为对应节点用于分裂的信息。

可选地,所述历史分裂信息包括:对应节点在机器学习模型中的位置信息,分裂维度,分裂点,划分至对应节点的历史训练样本集合的数值分布范围和历史分裂成本;

所述标签分布信息包括:划分至对应节点的历史训练样本集合中样本的同一类别的标签个数和所述标签总数;或,划分至对应节点的历史训练样本集合中样本的不同类别的标签在所述标签总数中的占比。

可选地,所述第一训练样本集合包括在所述局点分析设备获取的样本中筛选得到的满足低区分度条件的样本,所述低区分度条件包括以下至少一者:

采用所述机器学习模型预测样本得到的目标概率集合中任意两个概率的差值的绝对值小于第一差值阈值,所述目标概率集合包括按照概率的大小降序排列的前n个分类结果的概率,1

或者,采用所述机器学习模型预测样本得到的概率中任意两个概率的差值的绝对值小于第二差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中最高概率和最低概率的差值的绝对值小于第三差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中任意两个概率的差值的绝对值小于第四差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率分布熵E大于指定分布熵阈值,所述E满足:

其中,x

第三方面,提供了一种模型训练装置,所述装置包括:多个功能模块:所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。

第四方面,提供了一种模型训练装置,所述装置包括:多个功能模块:所述多个功能模块相互作用,实现上述第二方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。

第五方面,提供了一种模型训练装置,包括:处理器和存储器;

所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;

所述处理器,用于调用所述计算机程序,实现如第一方面任一所述的模型训练方法;或者,实现如第二方面任一所述的模型训练方法。

第六方面,提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现如第一方面任一所述的模型训练方法;或者,实现如第二方面任一所述的模型训练方法。

第七方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现如第一方面任一所述的模型训练方法;或者,实现如第二方面任一所述的模型训练方法。

第八方面,提供了一种计算机程序产品,所述计算机程序产品中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一所述的模型训练方法;或者,使得所述计算机执行如第二方面任一所述的模型训练方法。

本申请实施例提供的技术方案带来的有益效果是:

本申请实施例提供的模型训练方法,局点分析设备接收第一分析设备发送的机器学习模型,并可以基于从该局点分析设备所对应的局点网络获取的第一训练样本集合,对机器学习模型进行增量训练。一方面,第一训练样本集合中的特征数据是从该局点分析设备所对应的局点网络获取的特征数据,其更适配于局点分析设备的应用场景,采用包括局点分析设备从对应的局点网络获取的特征数据的第一训练样本集合进行模型训练,可以使得训练后的机器学习模型更适配于该局点分析设备自身的需求,实现模型的定制化,提高模型的应用灵活性;另一方面,通过离线训练和增量训练结合的方式来训练机器学习模型,可以在局点分析设备所获取的特征数据的类别或模式出现变化时,进行机器学习模型的增量训练,实现机器学习模型的灵活调整,从而保证训练得到的机器学习模型符合局点分析设备的需求。因此,本申请实施例提供的模型训练方法,相较于相关技术,能够有效适配于局点分析设备的需求。

进一步的,第一分析设备可以将训练得到的机器学习模型分发至每个局点分析设备中,由各个局点分析设备进行增量训练,保证各个局点分析设备上的机器学习模型的性能。如此,第一分析设备无需为每个局点分析设备都训练对应的机器学习模型,有效减少了第一分析设备的整体训练时长,且离线训练得到的模型在各个局点分析设备均可以作为增量训练的基础,提高了离线训练得到的模型的通用性,从而实现模型泛化,降低了第一分析设备的整体训练成本。

精简后的机器学习模型结构更为简单,减少了树的分支层数,防止树层数过深,虽然模型架构产生变化,但不影响其预测结果,可以节约存储空间,提高预测效率。并且通过精简过程可以防止模型的过拟合。进一步的,该精简后的模型若仅用于样本分析,可以不在其节点信息中记录历史分裂信息,这样可以进一步减少模型本身的大小,提高模型预测效率。

而本申请实施例中,在增量训练或离线训练过程中,基于训练样本集合的数值分布范围进行节点分裂,无需大量访问历史训练样本,因此,有效减少了内存和计算资源的占用,降低训练代价。并且通过前述节点信息携带各个节点的相关信息,可以实现机器学习模型的轻量化,更便于机器学习模型的部署,实现模型的有效泛化。

附图说明

图1是本申请实施例提供的模型训练方法所涉及的一种应用场景示意图;

图2是本申请实施例提供的模型训练方法所涉及的另一种应用场景示意图;

图3是本申请实施例提供的模型训练方法所涉及的又一种应用场景示意图;

图4是本申请实施例提供的一种模型训练方法的流程示意图;

图5是本申请实施例提供的一种基于对分类结果的评估结果,控制局点分析设备对机器学习模型进行增量训练的方法流程图;

图6是本申请实施例提供的一种树结构的示意图;

图7是本申请实施例提供的一种树模型的分裂原理示意图;

图8是本申请实施例提供的另一种树模型的分裂原理示意图;

图9是本申请实施例提供的又一种树模型的分裂原理示意图;

图10是本申请实施例提供的再一种树模型的分裂原理示意图;

图11是本申请另一实施例提供的一种树模型的分裂原理示意图;

图12是本申请另一实施例提供的另一种树模型的分裂原理示意图;

图13是本申请另一实施例提供的又一种树模型的分裂原理示意图;

图14是本申请另一实施例提供的再一种树模型的分裂原理示意图;

图15是本申请又一实施例提供的一种树模型的分裂原理示意图;

图16是本申请又一实施例提供的另一种树模型的分裂原理示意图;

图17是本申请又一实施例提供的又一种树模型的分裂原理示意图;

图18是一种传统的机器学习模型的增量训练效果示意图;

图19是本申请实施例提供的机器学习模型的增量训练效果示意图;

图20是本申请实施例提供的一种模型训练装置的结构示意图;

图21是本申请实施例提供的另一种模型训练装置的结构示意图;

图22是本申请实施例提供的又一种模型训练装置的结构示意图;

图23是本申请实施例提供的再一种模型训练装置的结构示意图;

图24是本申请另一实施例提供的一种模型训练装置的结构示意图;

图25是本申请另一实施例提供的另一种模型训练装置的结构示意图;

图26是本申请另一实施例提供的又一种模型训练装置的结构示意图;

图27是本申请实施例提供的一种分析设备的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

为了便于读者理解,本申请实施例对提供的模型训练方法所涉及的机器学习算法进行简单介绍。

机器学习算法作为AI领域的一个重要分支,在众多领域得到了广泛的应用。从学习方法的角度,机器学习算法可以分为监督式学习算法、非监督式学习算法、半监督式学习算法、强化学习算法几大类。监督式学习算法,是指可以基于训练数据学习一个算法或建立一个模式,并以此算法或模式推测新的实例。训练数据,也称训练样本,是由输入数据和预期输出组成。机器学习算法的模型,也称机器学习模型,其预期输出,称为标签,其可以是一个预测的分类结果(称作分类标签)。非监督式学习算法与监督式学习算法的区别在于,非监督式学习算法的训练样本没有给定标签,机器学习算法模型通过分析训练样本,从而得到一定的成果。半监督学习算法,其训练样本一部分带有标签,另一部分没有标签,而无标签的数据远远多于有标签的数据。强化学习算法通过不断在环境中尝试,以取得最大化的预期利益,通过环境给予的奖励或惩罚,产生能获得最大利益的选择。

需要说明的是,每个训练样本包括一维或多维的特征数据,也即是包括一个或多个特征的特征数据。示例的,在对关键绩效指标(key performance indicator,KPI)数据进行分类结果预测的场景中,该特征数据具体可以为KPI特征数据。KPI特征数据指得是基于KPI数据所生成的特征数据,该KPI特征数据可以为KPI时间序列的特征数据,即提取KPI时间序列的特征所得到的数据;该KPI特征数据也可以直接为KPI数据。其中,KPI具体可以为网络KPI,网络KPI可以包括中央处理器(central processing unit,CPU)利用率、光功率、网络流量、丢包率、时延和/或用户接入数等各种类别的KPI。当KPI特征数据为KPI时间序列的特征数据时,该KPI特征数据具体可以为前述任一KPI类别的KPI数据的时间序列所提取的特征数据。例如一个训练样本包括:对应的网络KPI时间序列的最大值、加权平均值共2个特征的网络KPI特征数据。当该KPI特征数据为KPI数据时,该KPI特征数据具体可以为前述任一KPI类别的KPI数据。例如,一个训练样本包括CPU利用率、丢包率和时延共3个特征的网络KPI特征数据。进一步的,在应用有监督学习算法或半监督学习算法的场景中,该训练样本还可以包括标签。例如,在前述对KPI数据进行分类结果预测的场景中,假设分类结果用于指示数据序列是否异常,则一个训练样本还包括标签:“异常”或“正常”。

需要说明的是,前述时间序列是一种特殊的数据序列,其为按照时序排列的一组数据的集合,该时序通常为数据产生的先后顺序,时间序列中的数据也称为数据点。通常一个时间序列中各个数据点的时间间隔为一恒定值,因此时间序列可以作为离散时间数据进行分析处理。

目前的机器学习算法的训练方式分为离线学习(online learning)方式和在线学习(online learning)方式。

在离线学习(也称离线训练)方式中,需要将训练样本集合中的样本批量输入机器学习模型来进行模型训练,训练所需数据量较大。离线学习,通常是用来训练大的或者复杂的模型,因此训练的过程往往比较耗时,处理数据量大。

在在线学习(也称在线训练)方式中,需要小批量或逐个采用训练样本集合中的样本来进行模型训练,训练所需数据量较小。在线学习往往应用于对即时性要求比较高的场景,增量学习(也称增量训练)方式是一种特殊的在线学习方式,不仅要求模型具备即时的对新模式的学习能力,更要求模型具备抗遗忘能力,也就是要求模型既能记住历史学习过的模式,又能对新的模式进行学习。

在机器学习的实践任务中,需要选择具有代表性的样本组成样本集合来构建机器学习模型。通常在有标签的样本数据中,选择与类别相关性强的样本作为该样本集合。其中,标签用于标识样本数据,如标识样本数据的类别。本申请实施例中,用于进行机器学习模型训练的数据均为样本数据,下文中训练数据称为训练样本,将训练样本集合称为训练样本集合,并在部分内容中将样本数据简称为样本。

图1是本申请实施例提供的模型训练方法所涉及的一种应用场景示意图。如图1所示,该应用场景中包括多个分析设备,该多个分析设备包括分析设备101和多个分析设备102。每个分析设备用于执行数据挖掘和/或数据建模等一系列数据分析过程。图1中分析设备101和分析设备102的数量仅用作示意,不作为对本申请实施例提供的模型训练方法所涉及的应用场景的限制。

其中,分析设备101,具体可以为云端分析设备(也称云分析平台),其可以是一台计算机,或者一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心,其部署在服务网络的后端。分析设备102,具体可以为局点分析设备(也称局点分析平台),可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。在该应用场景中,模型训练方法所涉及的模型训练系统包括多个局点网络,局点网络可以为核心网,也可以为边缘网络,每个局点网络的用户可以为运营商或企业客户。多个分析设备102与多个局点网络可以一一对应,每个分析设备102用于为对应的局点网络提供数据分析服务,每个分析设备102可以位于对应的局点分析网络内,也可以位于对应的局点分析网络外。每个分析设备102与分析设备101之间通过有线网络或无线网络连接。本申请实施例中所涉及的通信网络是第二代(2-Generation,2G)通信网络、第三代(3rdGeneration,3G)通信网络、长期演进(Long Term Evolution,LTE)通信网络或第五代(5rdGeneration,5G)通信网络等。

除了进行数据分析,分析设备101还用于管理分析设备102的部分或全部业务,收集训练样本集合,为分析设备102提供数据分析服务等,分析设备101基于收集的训练样本集合可以训练得到机器学习模型(该过程即采用前述离线学习方式),之后将该机器学习模型部署在各个局点分析设备中,由局点分析设备进行增量训练(该过程即采用前述在线学习方式)。基于不同的训练样本,可以训练得到不同的机器学习模型,不同的机器学习模型可以实现不同的分类功能。例如,可以实现异常检测、预测、网络安全防护和应用识别或用户体验评估(即评估用户的体验)等功能。

进一步的,如图2所示,图2是本申请实施例提供的模型训练方法所涉及的另一种应用场景示意图。在图1的基础上该应用场景还包括网络设备103。每个分析设备102可以管理一个网络(也称局点网络)中的网络设备103,分析设备102与其管理的网络设备103之间通过有线网络或无线网络连接。网络设备103可以是路由器、交换机或基站等。网络设备103与分析设备102之间通过有线网络或无线网络连接。网络设备103用于向分析设备102上传采集到的数据,例如各类KPI时间序列,分析设备102用于从网络设备103提取和使用数据,例如确定获取的时间序列的标签。可选地,网络设备103向分析设备102上传的数据还可以包括各类日志数据和设备状态数据等。

如图3所示,图3是本申请实施例提供的模型训练方法所涉及的另一种应用场景示意图。在图1或图2的基础上该应用场景还包括评估设备104(图3绘制的是以图2为基础的应用场景,但并不对此进行限定)。评估设备104与分析设备102之间通过有线网络或无线网络连接。评估设备104用于评估分析设备102使用机器学习模型进行数据分类的分类结果,并基于评估结果控制局点分析设备进行机器学习模型的增量训练。

在图1至图3所示的场景的基础上,该应用场景还可以包括存储设备,其用于存储网络设备103或分析设备102提供的数据,该存储设备可以为分布式存储设备,分析设备102或分析设备101可以对该存储设备所存储的数据进行读写。这样在应用场景中数据较多的情况下,由存储设备进行数据存储,可以减轻分析设备(如分析设备102或分析设备101)的负载,提高分析设备的数据分析效率。该存储设备可以用于存储已确定标签的数据,可以将这些已确定标签的数据作为样本,以进行模型训练。需要说明的是,当应用场景中数据量较少时,也可以不设置该存储设备。

可选地,该应用场景还包括管理设备,例如网管设备(也称网管平台)或第三方管理设备,该管理设备用于提供配置反馈,以及样本标注反馈,该管理设备通常由运维人员来管理。示例的,该管理设备可以是一台计算机,或者一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心,其可以是运维支撑系统(operations supportsystem,OSS)或其它的与分析设备连接的网络设备。可选地,前述分析设备可以进行各个机器学习模型的特征数据选择和模型更新,并将选择的特征数据以及模型的更新结果反馈给该管理设备,由管理设备来决策是否进行模型的重训练。

进一步的,本申请实施例提供的模型训练方法可以用于异常检测场景中。异常检测是指对不符合预期的模式进行检测。异常检测的数据来源包括应用、进程、操作系统、设备或者网络,例如,该异常检测的对象可以为前述KPI数据序列。本申请实施例提供的模型训练方法,应用在异常检测场景中时,分析设备102可以为网络分析器,分析设备102维护的机器学习模型为异常检测模型,确定的标签为异常检测标签,该异常检测标签包括两种分类标签,分别为:“正常”和“异常”。

在异常检测场景中,前述机器学习模型可以为基于统计与数据分布的算法(例如N-Sigma算法)的模型、基于距离/密度的算法(例如局部异常因子算法)的模型、树模型(如孤立森林(Isolation forest,Iforest))或基于预测的算法模型(例如差分整合移动平均自回归模型(Autoregressive Integrated Moving Average model,ARIMA))等。

相关技术中,在数据分析系统中,由云端分析设备进行模型的离线训练,然后将离线训练后的模型直接部署在局点分析设备上。但是,训练得到的模型可能无法有效适配于局点分析设备的需求,如预测的性能(如准确率或查全率)需求。一方面,云端分析设备采用的历史训练样本集合中的训练样本通常是预先配置的固定的训练样本,可能与局点分析设备的需求不符合;另一方面,即使训练得到的机器学习模型在刚部署在局点分析设备上时,符合局点分析设备的需求,但是随着时间的推移,由于局点分析设备所获取的特征数据的类别或模式出现变化,导致训练得到的机器学习模型与局点分析设备的需求不再符合。

并且相关技术中,训练得到的机器学习模型只能针对单个的局点分析设备,当云端分析设备服务于多个局点分析设备时,需要为每个局点分析设备分别训练对应的机器学习模型。训练得到的模型通用性较低,无法实现模型泛化,且训练成本较高。

本申请实施例提供一种模型训练方法,后续实施例假设前述分析设备101为第一分析设备,分析设备102为局点分析设备,局点分析设备接收第一分析设备发送的机器学习模型,并可以基于从该局点分析设备所对应的局点网络获取的第一训练样本集合,对机器学习模型进行增量训练。一方面,第一训练样本集合中的特征数据是从该局点分析设备所对应的局点网络获取的特征数据,其更适配于局点分析设备的应用场景,采用包括局点分析设备从对应的局点网络获取的特征数据的第一训练样本集合进行模型训练,可以使得训练后的机器学习模型更适配于该局点分析设备自身的需求(即该局点分析设备所对应的局点网络的需求),实现模型的定制化,提高模型的应用灵活性;另一方面,通过离线训练和增量训练结合的方式来训练机器学习模型,可以在局点分析设备所获取的特征数据的类别或模式出现变化时,进行机器学习模型的增量训练,实现机器学习模型的灵活调整,从而保证训练得到的机器学习模型符合局点分析设备的需求。因此,本申请实施例提供的模型训练方法,相较于相关技术,能够有效适配于局点分析设备的需求。

进一步的,第一分析设备可以将训练得到的机器学习模型分发至每个局点分析设备中,由各个局点分析设备进行增量训练,保证各个局点分析设备上的机器学习模型的性能。如此,第一分析设备无需为每个局点分析设备都训练对应的机器学习模型,有效减少了第一分析设备的整体训练时长,且离线训练得到的模型在各个局点分析设备均可以作为增量训练的基础,提高了离线训练得到的模型的通用性,从而实现模型泛化,降低了第一分析设备的整体训练成本。

本申请实施例提供一种模型训练方法,该方法可以应用于图1至图3任一所示的应用场景,机器学习模型可以用于进行分类结果的预测,例如其可以为二分类模型,为了便于区分,本申请后续实施例中将人工或标签迁移方式确定的分类结果称之为标签,将机器学习模型自身预测得到的结果称之为分类结果,两者实质相同,均用于标识对应样本的类别。该模型训练方法的应用场景通常包括多个局点分析设备,本申请实施例以一个局点分析设备为例对模型训练方法进行说明,其他局点分析设备的动作可以参考该局点分析设备的动作。如图4所示,该方法包括:

步骤401、第一分析设备基于历史训练样本集合进行离线训练,得到机器学习模型。

第一分析设备可以不断收集训练样本以得到训练样本集合,并基于收集得到的训练样本集合(可以称为历史训练样本集合)进行离线训练,从而得到机器学习模型。示例的,该历史训练样本集合可以是多个局点分析设备发送的训练样本的集合。基于此训练得到的机器学习模型可以适配于该多个局点分析设备的需求,训练得到的模型的通用性较高,从而能够保证模型的泛化。

请参考前述图2和图3,训练样本可以由局点分析设备在网络设备收集并上传的数据中获取,由局点分析设备传输至第一分析设备。训练样本也可以由第一分析设备采用其他方式获取,例如从存储设备存储的数据中获取,本申请实施例对此不做限定。

其中,训练样本可以有多种形式,相应的,第一分析设备可以采用多种方式获取训练样本,本申请实施例以以下两种可选方式为例进行说明:

在第一种可选方式中,前述第一分析设备获取的训练样本可以包括基于时间序列确定的数据。例如,包括基于KPI时间序列确定的数据。通常情况下,历史训练样本集合中的每个训练样本对应一个时间序列,每个训练样本可以包括从对应时间序列中提取一个或多个特征的特征数据。每个训练样本对应的特征与该训练样本的特征数据的个数相同(即特征与特征数据一一对应)。其中,训练样本中的特征指的是对应时间序列所具有的特征,其可以包括数据特征和/或提取特征。

其中,数据特征是时间序列中的数据的自身特征。例如,数据特征包括数据排列周期、数据变化趋势或数据波动等,相应的,该数据特征的特征数据包括:数据排列周期的数据、数据变化趋势数据或数据波动数据等。数据排列周期是指若时间序列中数据周期性排列,该时间序列中数据排列所涉及的周期,例如,数据排列周期的数据包括周期时长(也即两个周期发起的时间间隔)和/或周期个数;数据变化趋势数据用于反映时间序列中数据排列的变化趋势(即数据变化趋势),例如,该数据变化趋势数据包括:持续增长、持续下降、先升后降,先降后升,或者满足正态分布等等;数据波动数据用于反映时间序列中数据的波动状态(即数据波动),例如该数据波动数据包括表征该时间序列的波动曲线的函数,或者,该时间序列的指定值,如最大值、最小值或平均值。

提取特征是提取该时间序列中的数据的过程中的特征。例如,提取特征包括统计特征、拟合特征或频域特征等,相应的,提取特征的特征数据包括统计特征数据、拟合特征数据或频域特征数据等。统计特征是指时间序列所具有的统计学特征,统计特征有数量特征和属性特征之分,其中数量特征又有计量特征和计数特征之分,数量特征可以直接用数值来表示,例如,CPU、内存、IO资源等多种资源的消耗值为计量特征;而出现异常的次数、正常工作的设备个数是计数特征;属性特征不能直接用数值来表示,如设备是否出现异常、设备是否产生宕机等,统计特征中的特征就是统计时需要考察的指标。例如,该统计特征数据包括移动平均值(Moving_average)、加权平均值(Weighted_mv)等;拟合特征是时间序列拟合时的特征,则拟合特征数据用于反映时间序列用于拟合的特征,例如拟合特征数据包括进行拟合时所采用的算法,如ARIMA;频域特征是时间序列在频域上的特征,则频域特征用于反映时间序列在频域上的特征。例如,频域特征数据包括:时间序列在频域上分布所遵循的规律的数据,如该时间序列中高频分量的占比。可选地,频域特征数据可以通过对时间序列进行小波分解得到。

假设训练样本中的特征数据从第一时间序列获取,则该数据获取过程可以包括:确定需要提取的目标特征,在第一时间序列中提取确定的目标特征的特征数据,得到由获取的目标特征的数据组成的训练样本。示例的,该需要提取的目标特征是基于模型训练方法所涉及的应用场景确定的。在一种可选示例中,该目标特征为预先配置的特征,例如是由用户配置的特征。在另一种可选示例中,该目标特征为指定特征中的一个或多个,例如该指定特征为前述统计特征。

值得说明的是,用户可以预先设置指定特征,但是对于第一时间序列,其可能无法具有全部指定特征,第一分析设备可以在第一时间序列中筛选属于该指定特征的特征作为目标特征。例如,该目标特征包括统计特征:时间序列分解_周期分量(time seriesdecompose_seasonal,Tsd_seasonal)、移动平均值、加权平均值、时间序列分类、最大值、最小值、分位数、方差、标准差、周期同比(year on year,yoy,指的是与历史同时期比较)、每天波动率、分桶熵、样本熵、滑动平均、指数滑动平均、高斯分布特征或T分布特征等中的一个或多个,相应的,目标特征数据包括该一个或多个统计特征的数据;

和/或,该目标特征包括拟合特征:自回归拟合误差、高斯过程回归拟合误差或神经网络拟合误差中的一个或多个,相应的,目标特征数据包括该一个或多个拟合特征的数据;

和/或,该目标特征包括频域特征:时间序列中高频分量的占比;相应的,目标特征数据包括时间序列中高频分量的占比的数据,该数据可以对时间序列进行小波分解得到。

表1为历史训练样本集合中的一个样本的示意性说明,表1中,该历史训练样本集合中每个训练样本包括一个或多个特征的KPI时间序列的特征数据,每个训练样本对应一个KPI时间序列。表1中,身份标识(identification,ID)为KPI_1的训练样本,包括4个特征的特征数据,该4个特征的特征数据分别为:移动平均值(Moving_average)、加权平均值(Weighted_mv)、时间序列分解_周期分量(time series decompose_seasonal,Tsd_seasonal)和周期yoy。该训练样本对应的KPI时间序列为(x1,x2,……,xn)(该时间序列通常是对一种KPI类别的数据进行采样得到的),对应的标签为“异常”。

表1

在第二种可选方式中,前述第一分析设备获取的训练样本可以包括本身具有一定特征的数据,其为获取的数据本身。例如,训练样本包括KPI数据。如前所述,假设KPI为网络KPI,则每个样本可以包括一种或多种网络KPI类别的网络KPI数据,也即是样本对应的特征为KPI类别。

表2为历史训练样本集合中的一个样本的示意性说明,表2中,该历史训练样本集合中每个训练样本包括一个或多个特征的网络KPI数据,表2中,每个训练样本对应同一采集时刻获取的多个网络KPI数据。表2中,身份标识(identification,ID)为KPI_2的训练样本,包括4个特征的特征数据,该4个特征的特征数据分别为:网络流量、CPU利用率、丢包率和时延,对应的标签为“正常”。

表2

前述表1和表2中的每个特征对应的特征数据通常为数值数据,也即是每个特征具有特征取值,为了便于说明,表1和表2未示出该特征取值。假设历史训练样本集合按照固定格式存储特征数据,其对应的特征可以为预先设定的特征,则历史训练样本集合的特征数据均可以按照表1或表2的格式存储。本申请实施例在实际实现时,历史训练样本集合中的样本还可以有其他形式,本申请实施例对此不做限定。

值得说明的是,在进行离线训练之前,第一分析设备可以对收集到的训练样本集合中的样本进行预处理,然后再基于预处理后的训练样本集合,进行前述离线训练。该预处理过程用于将收集的样本处理成符合预设条件的样本,该预处理过程可以包括样本去重,数据清洗和数据补全中的一种或多种处理。

步骤401中所述的离线训练过程也称模型学习过程,是机器学习模型进行其相关分类功能的学习过程。在一种可选方式,该离线训练过程,是对初始学习模型进行训练得到机器学习模型的过程;在另一种可选方式中,该离线训练过程是建立机器学习模型的过程,也即是离线训练后的机器学习模型即为初始学习模型,本申请实施例对此不做限定。在完成离线训练之后,第一分析设备还可以对训练得到的机器学习模型执行模型评估过程,以评估该机器学习模型是否满足性能达标条件。当机器学习模型满足性能达标条件时,再执行下述步骤402,当机器学习模型不满足性能达标条件时,可以进行机器学习模型的至少一次重训练,直至机器学习模型满足性能达标条件时,再执行下述步骤402。

在一种示例中,第一分析设备可以基于用户需求设置第一性能达标阈值,并将训练完成的机器学习模型的正向性能参数的参数值与第一性能达标阈值进行比较,当正向性能参数值大于第一性能达标阈值,确定机器学习模型满足性能达标条件;当正向性能参数值不大于第一性能达标阈值,确定机器学习模型不满足性能达标条件。该正向性能参数与机器学习模型的性能的优劣正相关,也即是该正向性能参数的参数值越大,机器学习模型的性能越好。例如,正向性能参数为准确率、查全率、查准率或者f-score(f-分数)等表征模型性能的指标,又例如,第一性能达标阈值为90%。该准确率=预测正确的次数/总预测次数。

在另一种示例中,第一分析设备可以基于用户需求设置第一性能劣化阈值,并将训练完成的机器学习模型的负向性能参数的参数值与第一性能劣化阈值进行比较,当负向性能参数值大于第一性能劣化阈值,确定机器学习模型不满足性能达标条件;当负向性能参数值大于第一性能劣化阈值,确定机器学习模型满足性能达标条件。该负向性能参数与机器学习模型的性能的优劣负相关,也即是该负向性能参数的参数值越大,机器学习模型的性能越差。例如,负向性能参数为分类结果错误率(也称误判率),第一性能劣化阈值为20%。误判率=预测错误的次数/总预测次数。

例如,将指定个数的测试样本输入机器学习模型,得到指定个数个分类结果。基于该指定个数个分类结果统计准确率或误判率。前述公式中,总预测次数即为前述指定个数。预测的分类结果的正确或错误可以由运维人员根据专家经验进行判定。

如,指定个数为100次,其中,预测错误20次,则误判率为20/100=20%。若第一性能劣化阈值为10%,则确定机器学习模型不满足性能达标条件。

前述重训练过程可以是离线训练过程,也可以是在线训练过程(如增量训练过程)。该重训练过程使用的训练样本与之前的训练过程所使用的训练样本可以相同也可以不同,本申请实施例对此不做限定。

步骤402、第一分析设备向多个局点分析设备发送机器学习模型。

第一分析设备可以采用不同方式向各个局点分析设备提供机器学习模型。本申请实施例以以下两种示例进行说明:在一种可选示例中,第一分析设备可以在接收到局点分析设备发送的模型获取请求后,向局点分析设备发送机器学习模型,该模型获取请求用于向第一分析设备请求获取机器学习模型;在另一种可选示例中,第一分析设备可以在训练得到机器学习模型后,主动向局点分析设备推送该机器学习模型。

示例的,该第一分析设备可以包括模型部署模块,该模型部署模块与各个局点分析设备均建立有通信连接,可以通过该模型部署模块将机器学习模型部署至各个局点分析设备。

步骤403、局点分析设备采用机器学习模型进行分类结果的预测。

如前所述,不同的机器学习模型,可以分别实现不同功能。这些功能均是通过对分类结果的预测来实现的。不同功能所对应的分类结果不同。局点分析设备在接收第一分析设备发送的机器学习模型之后,可以采用机器学习模型进行分类结果的预测。

示例的,若需要对局点分析设备的在线数据进行分类结果的预测,需要进行分类结果预测的数据可以包括CPU的KPI和/或内存(memory)的KPI。

假设需要对局点分析设备的在线数据进行异常检测,也即预测得到的分类结果指示数据是否异常。则局点分析设备可以周期性执行异常检测过程,在对在线数据进行异常检测后,机器学习模型输出的异常检测结果如表3和表4所示,表3和表4记录了不同采集时刻(也称数据产生时刻)所获取的待检测数据的异常检测结果,其中该不同采集时刻包括T1至TN(N为大于1的整数),异常检测结果指示对应待检测数据是否异常。其中,表3和表4中的待检测数据均包括一维特征数据,表3记录了特征类别为CPU的KPI的待检测数据的异常检测结果;表4记录了特征类别为内存的KPI的待检测数据的异常检测结果。假设0代表正常,1代表异常。T1至TN每两个采集时刻间隔的时长为预设的时间周期。则以采集时刻T1为例,在该时刻,表3中CPU的KPI为0,表4的内存的KPI为1,代表在采集时刻T1采集的CPU的KPI正常,在采集时刻T1采集的内存的KPI异常。

表3

表4

步骤404、局点分析设备基于第一训练样本集合,对机器学习模型进行增量训练。

局点分析设备获取第一训练样本集合的时机有多种情况,例如局点分析设备可以周期性获取第一训练样本集合;又例如,局点分析设备在接收到局点分析设备的运维人员发送的样本集合获取指令,或者接收到第一分析设备或者前述管理设备发送的样本集合获取指令后,获取第一训练样本集合,该样本集合获取指令用于指示获取第一训练样本集合;再例如,当局点分析设备在机器学习模型发生劣化时,获取第一训练样本集合。

通常情况下,局点分析设备在机器学习模型发生劣化时,才进行机器学习模型的增量训练,这样可以减少训练时长,避免影响用户业务。该增量训练的触发机制(即检测模型是否发生劣化的检测机制)可以包括以下两种情况:

在第一种情况下,如图3所示,该模型训练方法的应用场景还包括评估设备,评估设备可以基于对分类结果的评估结果,控制局点分析设备对机器学习模型进行增量训练。如图5,该过程包括:

步骤4041、局点分析设备将预测信息发送至评估设备。

在一种示例中,局点分析设备可以在每次采用机器学习模型进行分类结果的预测之后,向评估设备发送预测信息,该预测信息包括预测得到的分类结果;在另一种示例中,局点分析设备还可以周期性地向评估设备发送预测信息,该预测信息包括当前周期获取的分类结果;在又一种示例中,局点分析设备还可以在获取的分类结果数量达到数量阈值后,向评估设备发送预测信息,该预测信息包括获取的分类结果;在再一种示例中,局点分析设备还可以在设定的时间段内向评估设备发送预测信息,该预测信息包括当前获取的分类结果,例如该时间段可以是用户设定的时间段,或者用户业务发生频率低于指定频率阈值的时段,如0:00-5:00。如此可以避免干扰用户业务。

需要说明的是,在不同的应该场景,前述预测信息还可以携带其他信息,以便于评估设备对各个分类结果进行有效评估,保证评估的准确性。

示例的,在KPI数据序列进行分类结果预测的场景中,机器学习模型用于对一个或多个KPI特征数据组成的待预测数据进行分类结果的预测。其中,KPI特征数据为KPI时间序列的特征数据,或者为KPI数据。相应的,该预测信息还包括:待预测数据所属的设备(也即是产生该待预测数据所对应的KPI数据的设备,例如网络设备)的标识、待预测数据对应的KPI类别和待预测数据对应的KPI数据的采集时刻。基于这些信息,可以确定每个分类结果所对应的设备、KPI类别、KPI数据的采集时刻,从而准确地判定不同的采集时刻所采集的KPI数据是否出现异常。

其中,当KPI特征数据为KPI时间序列的特征数据时,该待预测数据对应的KPI数据为该KPI时间序列中的数据,则待预测数据对应的KPI类别为该KPI时间序列的类别,采集时刻为该KPI时间序列中的任一数据的采集时刻,也可以为指定位置的数据的采集时刻,例如最后一个数据的采集时刻。例如,假设KPI时间序列的KPI类别为丢包率,该时间序列:(x1,x2,……,xn),表示在一个采集周期中采集到丢包率分别为x1,x2,……,xn,假设待预测数据假设结构与表1类似,该数据为(1,2,3,4),表示移动平均值为1,加权平均值为2、时间序列分解_周期分量为3,周期yoy为4,假设待预测数据对应的KPI数据的采集时刻为该KPI时间序列中的最后一个数据的采集时刻。则待预测数据对应的KPI类别为丢包率,待预测数据对应的KPI数据的采集时刻为xn的采集时刻。

当KPI特征数据为KPI数据,则待预测数据对应的KPI类别为KPI数据的KPI类别,该待预测数据对应的KPI数据为KPI数据本身,则采集时刻即为该KPI数据的采集时刻。例如,假设待预测数据假设结构与表2类似,该待预测数据为(100,20%,3,4),表示网络流量为100,CPU利用率为20%、丢包率为3,时延为4。则待预测数据对应的KPI类别为网络流量、CPU利用率、丢包率和时延,待预测数据对应的KPI数据的采集时刻为(100,20%,3,4)的采集时刻,该采集时刻通常为同一采集时刻。

评估设备在接收到预测信息后,可以至少呈现预测信息中的分类结果和待预测数据,也可以呈现预测信息中的全部内容,以供运维人员标注根据专家经验判定分类结果的正确或错误。

步骤4042、评估设备基于预测信息评估机器学习模型是否发生劣化。

示例的,评估设备可以在接收到的分类结果达到指定数量阈值时,基于预测信息评估机器学习模型是否发生劣化;也可以周期性基于预测信息评估机器学习模型是否发生劣化。相应的,评估周期可以为一周或一个月等。本申请实施例中该评估过程与前述步骤401中的模型评估过程原理类似。

在一种示例中,评估设备可以基于用户需求设置第二性能达标阈值,并将训练完成的机器学习模型的正向性能参数的参数值与第二性能达标阈值进行比较,当正向性能参数值大于第二性能达标阈值,确定机器学习模型未发生劣化;当正向性能参数值不大于第二性能达标阈值,确定机器学习模型发生劣化。该正向性能参数与机器学习模型的性能的优劣正相关,也即是该正向性能参数的参数值越大,机器学习模型的性能越好。例如,正向性能参数为准确率、查全率、查准率或者f-score等表征模型性能的指标,第二性能达标阈值为90%。该第二性能达标阈值和前述第一性能达标阈值可以相同也可以不同。该正确率的计算方式可以参考前述401中的模型评估过程所提供的正确率的计算方式。

在另一种示例中,评估设备可以基于用户需求设置第二性能劣化阈值,并将训练完成的机器学习模型的负向性能参数的参数值与第二性能劣化阈值进行比较,当负向性能参数值大于第二性能劣化阈值,确定机器学习模型发生劣化;当负向性能参数值大于第二性能劣化阈值,确定机器学习模型未发生劣化。该负向性能参数与机器学习模型的性能的优劣负相关,也即是该负向性能参数的参数值越大,机器学习模型的性能越差。例如,负向性能参数为分类结果错误率(也称误判率),第二性能劣化阈值为20%。该第二性能劣化阈值与前述第一性能劣化阈值可以相同也可以不同。该误判率的计算方式可以参考前述401中的模型评估过程所提供的误判率的计算方式。

例如,评估设备获取多个分类结果。基于获取的多个分类结果统计准确率或误判率。准确率或误判率中的总预测次数即为获取的分类结果的个数。如前所述,预测的分类结果的正确或错误可以由评估设备的运维人员进行判定。

在异常检测场景中,误判率还可以采用其他方式获取。在该场景中,局点分析设备还与管理设备建立有通信连接,局点分析设备的机器学习模型输出的分类结果为“异常”时,会向管理设备发送告警信息,该告警信息用于指示样本数据发生异常,其携带了分类结果为“异常”的样本数据。管理设备会对告警信息中的样本数据以及分类结果进行识别,若分类结果有误,会进行分类结果更新(即将分类结果:“异常”更新为“正常”),则说明此次告警信息为一个虚报的告警信息。虚报的告警信息的个数即为预测的分类结果的错误次数。局点分析设备或管理设备可以向评估设备反馈每个评估周期的虚报的告警信息的个数,或者,将虚报的告警信息上报给评估设备,由评估设备统计虚报的告警信息的个数。再基于评估设备统计的评估周期内获取的分类结果的个数,采用前述误判率的计算公式计算得到误判率。

步骤4043、评估设备在确定机器学习模型发生劣化后,向局点分析设备发送训练指令。

该训练指令用于指示对机器学习模型进行训练。

可选地,当评估设备在确定机器学习模型未发生劣化后,不进行动作。

步骤4044、局点分析设备在接收到评估设备发送的训练指令后,基于第一训练样本集合,对机器学习模型进行增量训练。

在第二种情况下,局点分析设备自身可以基于预测信息评估机器学习模型是否发生劣化,并在机器学习模型发生劣化后,基于第一训练样本集合,对机器学习模型进行增量训练。该评估过程可以参考前述步骤4042。

值得说明的是,局点分析设备也可以采用其他触发机制来进行增量训练,例如,在满足以下至少一条触发条件时,进行增量训练:达到增量训练周期,或者接收到局点分析设备的运维人员发送的训练指令,或者接收到第一分析设备发送的训练指令。该训练指令用于指示进行增量训练。

在本申请实施例中,第一训练样本集合可以包括局点分析设备从自身获取的数据中直接基于设定的规则提取,并确定标签的样本数据。例如,该第一训练样本集合可以包括局点分析设备从网络设备获取的时间序列的数据,或者时间序列的特征数据。并且,第一训练样本集合的标签可以由局点分析设备或前述管理设备或前述第一分析设备呈现给运维人员,由运维人员根据专家经验进行标签的标注。

参考前述步骤401,训练样本可以有多种形式,相应的,局点分析设备可以采用多种方式获取训练样本,本申请实施例以以下两种可选方式为例进行说明:

在第一种可选方式中,局点分析设备获取的第一训练样本集合中的训练样本可以包括基于时间序列确定的数据。例如,包括基于KPI时间序列确定的数据。参考前述历史训练样本集合的结构,通常情况下,第一训练样本集合中的每个训练样本对应一个时间序列,每个训练样本可以包括从对应时间序列中提取一个或多个特征的特征数据。每个训练样本对应的特征与该训练样本的特征数据的个数相同(即特征与特征数据一一对应)。其中,训练样本中的特征指的是对应时间序列所具有的特征,其可以包括数据特征和/或提取特征。

在一种可选示例中,局点分析设备可以接收在对应的局点网络中该局点分析设备所连接的网络设备(即其管理的网络设备)发送的时间序列;在另一种可选示例中,局点分析设备具有输入输出(I/O)接口,通过该I/O接口接收对应局点网络中的时间序列;在又一种可选示例中,局点分析设备可以从其对应的存储设备中读取时间序列,该存储设备用于存储局点分析设备在对应的局点网络中预先获取的时间序列。

假设训练样本中的特征数据从第二时间序列获取,则该数据获取过程可以参考前述从第一时间序列获取历史训练样本集合中的训练样本的过程,例如,确定需要提取的目标特征,在第二时间序列中提取确定的目标特征的特征数据,得到由获取的目标特征的数据组成的第一训练样本。本申请实施例对此不再赘述。

在第二种可选方式中,前述局点分析设备获取的训练样本可以包括具有一定特征的数据,其为获取的数据本身。例如,训练样本包括KPI数据。如前所述,假设KPI为网络KPI,则每个样本可以包括一种或多种网络KPI类别的网络KPI数据,也即是样本对应的特征为KPI类别。

局点分析设备获取训练样本的过程可以参考前述步骤401中第一分析设备获取训练样本的过程,获取的第一训练样本集合中训练样本的结构也可以参考前述历史训练样本集合中训练样本的结构,本申请实施例对此不再赘述。

通常情况下,在对机器学习模型进行增量训练时,采集时刻离当前时间越近的样本数据对机器学习模型的影响越大。则如果对机器学习模型进行增量训练所采用的第一训练样本集合中的样本数据质量较差,最终训练得到机器学习模型就可能覆盖之前训练得到的性能较优的机器学习模型,导致机器学习模型的性能偏差。

因此,局点分析设备可以从自身获取的样本数据中进行一定的筛选,以选择质量较好的样本数据作为训练样本,将这些训练样本提供给运维人员进行标签的标注,得到具有标签的样本数据。从而提高训练后的机器学习模型的性能。本申请将该筛选功能称之为主动学习功能。

机器学习模型是基于概率论来进行分类结果预测的,也即是,预测多种分类结果存在的概率,将概率最高的分类结果作为最终的分类结果。例如,基于二分类原理的机器学习模型就是选择概率较大的分类结果(如0或者1)作为最终的分类结果输出。其中,二分类指的是机器学习模型的分类结果有两种。

以对在线数据的CPU的KPI进行异常检测(即输入机器学习模型的样本数据的类型为CPU的KPI)为例,如表5所示,表5记录了不同采集时刻所获取的CPU的KPI的不同分类结果的概率,其中该不同采集时刻包括T1至TN(N为大于1的正整数),不同分类结果包括“正常”和“异常”两种结果,0_prob代表预测为正常的概率,1_prob代表预测为异常的概率,则对于采集时刻T1,1_prob为0.51,0_prob为0.49,1_prob大于0_prob,所以机器学习模型确定这个采集时刻T1所采集的CPU的KPI的最终分类结果为1,也即是该T1时刻采集的CPU的KPI异常。

表5

但是,若预测得到的多种分类结果存在的概率中,取值最靠前的两种概率较为接近时,机器学习模型最终确定的分类结果虽然是概率最高的分类结果,但是与概率次高的分类结果的差距很小,这样导致机器学习模型最终确定的分类结果的可靠性较差。而本申请实施例在实际应用时,预测得到的多种分类结果存在的概率相互差距较大时,机器学习模型最终确定的分类结果的可靠性更高。

仍然以表5为例,机器学习模型预测在采集时刻T1获取的CPU的KPI为0的概率和为1的概率仅相差0.02,两者非常接近,可以说明机器学习模型对于采集时刻T1所获取的样本数据的预测结果是不可靠的。机器学习模型预测在采集时刻T2获取的CPU的KPI为0的概率和为1的概率相差较大,可以说明机器学习模型对于采集时刻T2所获取的样本数据的预测结果是可靠的。

由上可知,当一个样本,其由机器学习模型预测得到的多种分类结果存在的概率相互之间的差距较大,也即是概率的区分度很大时,机器学习模型已经能够确定准确的分类结果,这种样本无需再进行训练;而区分度较小时,机器学习模型无法确定准确的分类结果,这种样本可以以人工或者标签迁移的方式确定其标签,从而给定准确的分类结果(也可以认为是理想的分类结果),将确定了标签的样本作为训练样本进行训练,可以提高机器学习模型对这种样本的分类结果的可靠性。

示例的,本申请实施例采用低区分度条件来筛选第一训练样本集合,也即是该第一训练样本集合包括在局点分析设备获取的样本中筛选得到的满足低区分度条件的样本,该低区分度条件包括以下至少一者:

条件1,采用机器学习模型预测样本得到的目标概率集合中任意两个概率的差值的绝对值小于第一差值阈值,目标概率集合包括按照概率的大小降序排列的前n个分类结果的概率,1

条件2,采用机器学习模型预测样本得到的目标概率集合中任意两个概率的差值的绝对值小于第一差值阈值,该目标概率集合包括按照概率的大小降序排列的前n个分类结果的概率,n为大于1的整数。在这种条件下可以筛选出分类结果的区分度不足的样本。

条件3,采用机器学习模型预测样本的多种分类结果的概率中最高概率和最低概率的差值的绝对值小于第三差值阈值。在这种条件下可以筛选多种分类结果均区分度不足的样本。

条件4,采用机器学习模型预测样本的多种分类结果的概率中任意两个概率的差值的绝对值小于第四差值阈值。在这种条件下可以筛选多种分类结果均区分度不足的样本。

条件5,采用机器学习模型预测样本的多种分类结果的概率分布熵E大于指定分布熵阈值,所述E满足:

其中,x

假设第一样本为局点分析设备获取的任一待预测的样本,则对于前述条件1,可以先采用机器学习模型对第一样本进行预测得到多种分类结果的概率,该概率的取值范围为0至1,将该多种分类结果的概率按照概率的大小降序排序,在排序后的概率中筛选前n个分类结果的概率得到目标概率集合,计算该目标概率集合中每两个概率差值的绝对值,并将计算得到的差值的绝对值与第一差值阈值进行比较,当任意两个概率的差值的绝对值小于第一差值阈值时,将该第一样本确定为满足低区分度条件的样本。

例如,n=2,第一差值阈值为0.3,采用机器学习模型预测样本X得到3个分类结果(即m=3)的概率,分别为0.32,0.33和0.35,则目标概率集合包括:0.33和0.35,两者的差值的绝对值小于第一差值阈值,则样本X为满足低区分度条件的样本。

对于前述条件2,可以可以先采用机器学习模型对第一样本进行预测得到多种分类结果的概率,该概率的取值范围为0至1,然后计算每两个概率差值的绝对值,并将计算得到的差值的绝对值与第二差值阈值进行比较,当任意两个概率的差值的绝对值小于第二差值阈值时,将该第一样本确定为满足低区分度条件的样本。

例如,在二分类场景中,第一样本对应的第一概率与第二概率的差值的绝对值小于第二差值阈值,则该第一样本满足低区分度条件。第一概率为采用第一树模型预测第一样本的分类结果为第一分类结果的概率,第二概率为采用第一树模型预测第一样本的分类结果为第二分类结果的概率。继续参考表5,假设第一样本为在采集时刻TN获取的CPU的KPI,第二差值阈值为0.1,机器学习模型预测在采集时刻TN获取的CPU的KPI为0的概率和为1的概率,分别为0.51和0.49,即第一概率和第二概率分别为0.51和0.49中的一个,仅相差0.02,两者差值的绝对值小于0.1,可以确定第一样本满足低区分度条件。

对于前述条件3,可以先采用机器学习模型对第一样本进行预测得到多种分类结果的概率,将该多种分类结果的概率中筛选得到最高的概率和最低的概率,计算两个概率差值的绝对值,并将计算得到的差值的绝对值与第三差值阈值进行比较,当该差值的绝对值小于第三差值阈值时,将该第一样本确定为满足低区分度条件的样本。

例如,第三差值阈值为0.2,采用机器学习模型预测样本Y得到3个分类结果的概率,分别为0.33,0.33和0.34,则最大概率和最小概率分别为:0.34和0.33,两者的差值的绝对值小于第三差值阈值,则样本Y为满足低区分度条件的样本。

对于前述条件4,可以先采用机器学习模型对第一样本进行预测得到多种分类结果的概率,计算多种分类结果的概率中每两个概率差值的绝对值,并将计算得到的差值的绝对值与第四差值阈值进行比较,当任意两个概率的差值的绝对值小于第四差值阈值时,将该第一样本确定为满足低区分度条件的样本。

例如,第四差值阈值为0.2,采用机器学习模型预测样本Z得到3个分类结果的概率,分别为0.33,0.33和0.34,任意两个概率的差值的绝对值均小于0.2,则样本Z为满足低区分度条件的样本。

对于前述条件5,概率分布是对随机变量的刻画,不同的随机变量有着相同或不同的概率分布,概率分布熵,就是对不同概率分布的刻画,在本申请实施例中,概率分布熵与概率的不确定性正相关,概率分布熵越大,概率的不确定性越大。例如,二分类的机器学习模型预测样本的两个分类结果的概率均为50%,概率分布熵取最大值,但最终无法选择实际的概率可靠的分类结果作为最终分类结果。

由此可知,当概率分布熵E达到一定程度,如指定分布熵阈值,则无法实现有效的概率区分,因此采用该公式可以有效筛选低区分度的概率。

当前述机器学习模型为二分类模型时,前述公式一可以为:

E=-P(x

其中,x

步骤405、当增量训练后的机器学习模型的性能不满足性能达标条件时,局点分析设备触发第一分析设备对机器学习模型进行重训练。

增量训练后的机器学习模型可能由于训练样本质量较差,或者其他原因,导致性能较差,在这种情况下,仍然需要第一分析设备进行机器学习模型的重训练。通常情况下,第一分析设备是支持离线训练的分析设备,其所获取的训练样本集合的数据量远远大于局点分析设备的第一训练样本集合的数据量,第一分析设备可以进行训练的时长也远远大于局点分析设备的允许训练时长,第一分析设备运算性能也大于局点分析设备的运算性能。因此,当增量训练后的机器学习模型的性能不满足性能达标条件时,由第一分析设备对机器学习模型进行重训练可以训练得到性能较优的机器学习模型。

评估增量训练后的机器学习模型的性能是否满足性能达标条件的动作可以由第一分析设备执行,该过程可以参考前述步骤401中评估机器学习模型是否满足性能达标条件的过程,其中,机器学习模型满足性能达标条件,表示机器学习模型未发生劣化,机器学习模型不满足性能达标条件,表示机器学习模型是否发生劣化。评估增量训练后的机器学习模型的性能是否满足性能达标条件的动作除了可以由第一分析设备执行,也可以由评估设备或局点分析设备执行,该过程可以参考前述步骤404中检测机器学习模型是否发生劣化的过程,当由局点分析设备之外的其他设备(如第一分析设备或评估设备)执行该评估增量训练后的机器学习模型的性能是否满足性能达标条件的动作时,在该其他设备完成评估动作后,需要向局点分析设备发送评估结果,以供局点分析设备确定增量训练后的机器学习模型的性能是否满足性能达标条件。本申请实施例对不再赘述。

示例的,局点分析设备触发第一分析设备对机器学习模型进行重训练的过程可以包括:局点分析设备向第一分析设备发送重训练请求,该重训练请求用于请求第一分析设备对机器学习模型进行重训练;第一分析设备接收到该重训练请求后,基于重训练请求,对机器学习模型进行重训练。在这种情况下,局点分析设备也可以发送从对应局点网络中获取的训练样本集合,以供第一分析设备基于训练样本集合对机器学习模型进行重训练。该训练样本集合可以携带在前述重训练请求中,也可以通过独立的信息发送至第一分析设备,本申请实施例对此不做限定。相应的,第一分析设备的重训练过程可以包括以下两种可选方式:

在第一种可选方式中,第一分析设备可以在接收到局点分析设备发送的重训练请求后,基于发送重训练请求的局点分析设备所发送的训练样本集合,对机器学习模型进行重训练。

其中,局点分析设备所发送的训练样本集合是从局点分析设备对应局点网络中获取的训练样本集合,其至少包括前述第一训练样本集合。这样,采用包括局点分析设备获取的特征数据的训练样本集合进行重训练,可以使得训练后的机器学习模型更适配于该局点分析设备自身的需求,实现模型的定制化,提高模型的应用灵活性。

在第二种可选方式中,第一分析设备接收局点分析设备发送的重训练请求,基于发送重训练请求的局点分析设备所发送的训练样本集合以及其他局点分析设备所发送的训练样本集合,对机器学习模型进行重训练。

其中,重训练所采用的训练样本集合不仅包括前述局点分析设备从对应局点网络获取的训练样本集合,还包括其他局点分析设备在各自对应局点网络获取的训练样本集合,因此重训练所采用的训练样本集合的样本来源更广泛,数据类型更多样,重训练得到的机器学习模型更能适配于多个局点分析设备的需求,提高了离线训练得到的模型的通用性,从而实现模型泛化,降低了第一分析设备的整体训练成本。

值得说明的是,则除了前述两种可选方式,局点分析设备也可以不发送重训练请求,仅发送从对应局点网络中获取的训练样本集合,相应的,第一分析设备还可以采用以下第三种方式可选方式进行重训练:

在第三种可选方式中,第一分析设备接收至少两个局点分析设备发送的训练样本集合,并基于接收到的训练样本集合,重训练机器学习模型。

示例的,第一分析设备可以在接收到指定个数的局点分析设备(例如为与第一分析设备建立有通信连接的所有局点分析设备)发送的训练样本集合后,或者,在达到训练周期,或者,获取到足够数量的训练样本(即获取的训练样本的数量量大于训练数据量阈值)时,对机器学习模型进行重训练。

在前述三种可选方式中,局点分析设备将从对应局点网络中获取的训练样本集合(例如第一训练样本集合)发送至第一分析设备还可以存在其他时机,例如局点分析设备可以周期性地上传获取的训练样本集合;或者,局点分析设备可以在接收到运维人员发送的样本集合上传指令,或者接收到第一分析设备发送的样本集合上传指令后上传训练样本集合,该样本集合上传指令用于指示向第一分析设备上传获取的训练样本集合。第一分析设备可以基于收集的训练样本集合来进行机器学习模型的重训练。该重训练过程可以是离线训练过程,也可以是增量训练过程。该重训练过程使用的训练样本与之前的训练过程所使用的训练样本可以相同也可以不同,本申请实施例对此不做限定。

值得说明的是,本申请实施例中,前述步骤401和404可以周期性执行,也即是该应用场景支持周期性的离线训练或增量训练。其中,第一分析设备的机器学习模型在经过评估后确定性能满足性能达标条件后,可以采用步骤402的方式发送至至少一个局点分析设备。例如仅发送给向第一分析设备发送前述重训练请求的局点分析设备;或者,发送给提供用于重训练的训练样本集合的局点分析设备;或者,发送给与该第一分析设备建立有通信连接的所有或指定局点分析设备等等。对于接收到重训练后的机器学习模型的局点分析设备,若该局点分析设备自身训练得到的机器学习模型也满足性能达标条件,则局点分析设备可以在获取的机器学习模型中筛选目标机器学习模型,以筛选较优的机器学习模型(例如性能指标最高的机器学习模型)来进行分类结果的预测。通常情况下,局点分析设备选择最新的机器学习模型作为目标机器学习模型,以适配当前应用场景的分类需求。

如前所述,机器学习模型可以为多种类型的模型。其中,树模型,是一种较为常见的机器学习模型。树模型包括多个关联的节点(node)。为了便于读者理解,本申请实施例对树模型进行简单介绍。在树模型中,每个节点包括节点元素和若干指向子树的分支;在一个结点左侧的子树称为该节点的左子树(left subtree),在该节点右侧的子树称为右子树(right subtree);一个结点的子树的根称为该结点的子节点(child node),也称孩子节点;一个节点是另一节点的子节点,则另一节点为该一个节点的父节点也称双亲节点);某节点的深度或者层数是指从根节点到该节点的最长简单路径边的条数,例如,根结点的深度(也称高度或层数)为1,根的子节点的深度为2,依此类推;叶子结点:也叫终端结点,是节点的度为0的结点;结点的度指的是结点子树的个数;非叶子节点是叶子节点之外的节点,其包括根节点,以及根节点与叶子节点之间的节点。二叉树是每个结点最多有两个子树的树结构,其实较为常见的树结构。本申请实施例中机器学习模型可以是二叉树模型。例如孤立森林模型。

如图6所示,图6为本申请实施例提供的一种示意性的树结构,该树结构包括:节点P1至P5,其中,P1为根节点,P3、P4和P5是叶子节点,P1和P2是非叶子节点,树的深度是2。该机器学习模型是通过节点P1和P3的两次节点分裂形成。节点分裂指的是一个节点对应的训练样本集合在某一分裂维度的某一分裂点被划分成至多两个子集,可以视为该节点分裂出至多两个子节点,每个子节点对应一个子集。也即是将一个节点对应的训练样本集合划分到子节点中的方式称为分裂。本申请实施例在实际应用中,树结构的表示方式有多种,图6只是示意性的树结构,其还可以有图8或图9等其他表示方式,本申请并不对树结构的表示方式进行限定。

目前在采用训练样本集合对机器学习模型进行训练时,需要遍历训练样本集合中的所有特征维度的特征数据,然后确定机器学习模型中非叶子节点的分裂参数,例如分裂维度和分裂点,基于确定的非叶子节点的分裂参数训练得到该机器学习模型。

由于在训练机器学习模型时需要进行训练样本中特征数据的遍历,而通常训练样本的数据量非常大,因此导致机器学习模型的训练效率较低。

本申请实施例中,当前述机器学习模型为树模型时,在支持机器学习模型的增量训练的基础上,还能实现机器学习模型的训练效率的提高。后续实施例中,以机器学习模型为树模型为例,对前述步骤进行解释。在树模型的离线训练或者增量训练过程中,涉及到树模型的分裂,其主要原理是将一个或多个样本所对应的空间(也称样本空间)进行切割(split)。如前所述,每个训练样本包括一个或多个特征的特征数据。在树模型中,一个训练样本对应的特征(即特征类别)为该训练样本所对应空间的特征数据所在的维度。因此,在树模型中,考虑到空间概念,一个训练样本对应的特征也称之为特征维度。本申请实施例中,一个训练样本包括一维或多维的特征数据,指的是该训练样本包括一个或多个特征维度的特征数据。例如,一个训练样本包括二维特征的特征数据,也称为该训练样本包括两个特征维度的特征数据,该训练样本对应的空间为二维空间(即一个平面)。又例如,参考表1,表1中一个训练样本包括4个特征维度的特征数据,该训练样本对应的空间为4维空间。

如图7所示,图7是本申请实施例提供的一种树模型的分裂原理示意图,该树模型基于蒙德里安过程(Mondrian process)进行分裂,其采用一个随机超平面来切割样本空间(data space),切一次可以生成两个子空间,再继续用一个随机超平面来切割每个子空间,循环下去,直到每子空间里面只有一个样本点为止。这样,密度很高的簇是可以被切很多次才会停止切割,密度很低的点很容易很早的就停到一个子空间了,其最终对应于树的一个叶子节点。图7假设图6中的机器学习模型对应的训练样本集合中的样本包括二维特征数据,也即是包括两个特征维度的特征数据,特征维度分别为特征维度x和特征维度y,该训练样本集合包括样本(a1,b1),(a1,b2),(a2,b1)。第一次节点分裂的分裂维度为特征维度x,分裂点为a3,将训练样本集合所在的样本空间切割成了2个子空间,对应于图6即为P1节点的左子树和右子树;第二次节点分裂的分裂维度为特征维度y,分裂点为b3,对应于图6即为P2节点的左子树和右子树。由此可知,样本集合:{(a1,b1),(a1,b2),(a2,b1)}分别被划分至三个子空间。其中,当前述特征数据为时间序列的特征数据时,前述特征维度x和特征维度y可以分别为前述数据特征和/或提取特征(其中的具体特征参考前述实施例)中的任意两种特征维度。例如,特征维度x为数据排列周期中的周期时长,特征维度y为统计特征中的移动平均值,则特征数据(a1,b1)指的是周期时长为a1,移动平均值为b1。当前述特征数据为本身具有一定特征的数据,例如网络KPI数据时,前述特征维度x和特征维度y可以分别为前述KPI类别(其中的具体特征参考前述实施例)中的任意两种KPI类别。例如,特征维度x为网络流量,特征维度y为CPU利用率,则特征数据(a1,b1)指的是网络流量为a1,CPU利用率为b1。

需要说明的是,由于特征数据为数值数据,因此每个特征数据具有相应的取值,本申请实施例中,后文中将特征数据的取值称为特征取值。

在本申请实施例中,机器学习模型中的每个节点可以对应存储有节点信息,这样后续进行机器学习模型的重训练时,可以基于该节点信息进行节点分裂,以及叶子节点的分类结果的确定。示例的,该机器学习模型中的任一节点的节点信息包括标签分布信息,该标签分布信息用于反映划分至对应节点中的历史训练样本集合中样本的不同类别的标签在标签总数中的占比,该标签总数是划分至该任一节点的历史训练样本集合中样本对应的标签的总数量,任一非叶子节点的节点信息还包括历史分裂信息,该历史分裂信息为对应节点用于分裂的信息。需要说明的是,由于机器学习模型中的叶子节点是当前未进行过分裂的节点,其不存在子树,因此其历史分裂信息为空,在重训练过程中,若其进行了分裂,则该叶子节点变为非叶子节点,则需要为其添加历史分裂信息。

示例的,前述历史分裂信息包括:对应节点在机器学习模型中的位置信息,分裂维度,分裂点,划分至对应节点的历史训练样本集合的数值分布范围和历史分裂成本中的一个或多个。其中,对应节点在机器学习模型中的位置信息用于在机器学习模型中唯一定位该节点,例如,该信息包括:节点的层数、节点的标识和/或节点的分支关系,该节点的标识用于在机器学习模型唯一标识节点,其可以在节点生成时分配至该节点,该标识可以由数字和/或字符组成。当任一节点存在父节点时,该任一节点的分支关系包括该任一节点的父节点的标识,以及与该父节点的关系描述,例如图6中节点P2的分支关系包括:(节点P1:父节点);当任一节点存在子节点时,该任一节点的分支关系包括该任一节点的子节点的标识,以及与该子节点的关系描述,例如,图6中节点P2的分支关系还包括:(节点P4:左子节点,节点P5:右子节点)。任一节点的分裂维度为划分至该任一节点的历史样本数据集合中进行分裂的特征维度,分裂点为用于分裂的数值点。示例中,图6中,节点P1的分裂维度为x,分裂点为a3;节点P2的分裂维度为y,分裂点为b3,每个非叶子节点仅具有一个分裂维度和一个分裂点。划分至对应节点的历史训练样本集合的数值分布范围为该节点对应的历史训练样本集合中特征取值的分布范围,例如,图1中,节点P3的数值分布范围为[a3,a2],也可以表示为a3-a2。历史分裂成本是对应节点基于历史训练样本集合的数值分布范围确定的分裂成本,具体解释可以参考后文。

前述标签分布信息包括:划分至对应节点的历史训练样本集合中样本的同一类别的标签个数和前述标签总数;或,划分至对应节点的历史训练样本集合中样本的不同类别的标签在标签总数中的占比。其中,该标签总数是划分至该任一节点的历史训练样本集合中样本对应的标签的总数量,历史训练样本集合中样本的同一类别的标签个数与标签总数的比值即为该类别的标签在标签总数中的占比。例如在异常检测场景中,划分至节点P1的样本的标签有10个,其中,有2个“正常”标签0,8个异常标签“1”。则标签分布信息包括:标签0:2个;标签1:8个,标签总数:10(基于此可以确定划分至对应节点的历史训练样本集合中样本的不同类别的标签在标签总数中的占比)。或者,标签分布信息包括:标签0:20%;标签1:80%。需要说明的是,此处只是示意性地介绍标签分布信息的表示方式,实际实现时该标签分布信息表示方式还可以有其他方式,本申请实施例对此不做限定。

进一步的,叶子节点的节点信息还可以包括分类结果,即最终确定的该叶子节点对应的标签。如图6中的节点P4和P5可以的节点信息可以包括分类结果。

通过为每个节点存储节点信息,可以为后续模型训练提供完整的训练信息,减少模型训练时相关信息获取的复杂度,提高模型训练效率。

尤其在节点信息包括历史训练样本集合的数值分布范围时,在后续重训练过程中,仅基于历史训练样本集合的数值分布范围即可进行有效的模型重训练,无需获取历史训练样本集合中的特征数据的实际数值,有效减少训练复杂度。

假设机器学习模型为一个二叉树模型,离线训练过程是建立机器学习模型的过程,则前述步骤401中的对机器学习模型的训练过程包括:

步骤A1、获取已确定标签的历史训练样本集合。

在一种情况下,该历史训练样本集合中样本的标签在第一分析设备获取时可能未标注,则第一分析设备可以将样本呈现给运维人员,由运维人员标注标签;在另外一种情况下,历史训练样本集合中样本的标签在第一分析设备获取时已完成标注,例如第一分析设备从前述存储设备中获取的样本,第一分析设备直接采用该训练样本集合进行模型的训练即可。

步骤A2、创建根节点。

步骤A3、将根节点作为第三节点,执行离线训练过程直至达到分裂截止条件,该离线训练过程包括:

步骤A31、进行第三节点的分裂,得到第三节点的左子节点和右子节点。

步骤A32、将左子节点作为更新后的第三节点,将历史训练样本集合划分至左子节点的左样本集合作为更新后的历史训练样本集合,再次执行离线训练过程。

步骤A33、将右子节点作为更新后的第三节点,将历史训练样本集合划分至右子节点的右样本集合作为更新后的历史训练样本集合,再次执行离线训练过程。

步骤A4、为每个叶子节点确定分类结果,得到机器学习模型。

本申请实施例中,当前述步骤中的第三节点达到分裂截止条件时,其不存在子节点,因此可以作为叶子节点,当一个节点是叶子节点时,可以基于划分至该节点的历史训练样本集合中样本的同一类别的标签个数,划分至该节点的历史训练样本集合中标签总数,确定该叶子节点的分类结果;或者,基于历史训练样本集合中样本的不同类别的标签在标签总数中的占比,确定该叶子节点的分类结果。该分类结果的确定方式仍然基于前述概率论原理,即将占比最高或数量最多的标签作为最终的分类结果。其中,任一标签在标签总数中的占比即该任一标签的总数与标签总数的比值。例如,叶子节点中的“异常”标签的个数为7,“正常”标签的个数为3,则“异常”标签在标签总数中的占比为70%,“正常”标签在标签总数中的占比为30%,最终的分类结果为“异常”。在叶子节点的节点信息中保存该分类结果。

传统的iForest模型,是以叶子节点在每棵树上的高度平均值来计算相应的分类结果。而本申请实施例中,叶子节点的分类结果是将占比最高或数量最多的标签作为最终的分类结果,分类结果较为准确,且运算代价较小。

在前述步骤A31中,可以基于历史训练样本集合的数值分布范围进行第三节点的分裂,得到第三节点的左子节点和右子节点。历史训练样本集合的数值分布范围反映了历史训练样本集合中样本的疏密程度,当样本分布较为分散,该数值分布范围较大,当样本分布较为集中,该数值分布范围较小。

本申请实施例中,历史训练样本集合的样本可以包括至少一维特征数据,历史训练样本集合的数值分布范围为历史训练样本集合中的特征取值的分布范围,也即历史训练样本集合的数值分布范围可以由每个特征维度上的特征取值的最小值和最大值表征。在本申请实施例中,历史训练样本集合中样本包括的特征数据为数值数据,例如十进制数值、二进制数值或向量等。例如,历史训练样本集合中样本包括一维特征数据,该历史训练样本集合包括的特征取值为:1,3,...,7,10,其中最小值为1,最大值为7。则历史训练样本集合的数值分布范围为[1,10],也可以表示为1-10。

该历史训练样本集合中样本包括的特征数据可以原本即为数值数据,也可以由非数值数据通过指定算法转化得到。例如,特征维度为数据变化趋势、数据波动、统计特征或拟合特征等无法初始用数值表示的数据,可以通过指定算法转化得到数值数据。例如,对于特征数据:高,可以转化为数值数据:2;对于特征数据:中,可以转化为数值数据:1;对于特征数据低,可以转化为数值数据:0。采用包括数值数值的历史训练样本集合进行节点分裂,可以简化计算复杂度,提高运算效率。

示例的,基于历史训练样本集合的数值分布范围进行第三节点的分裂,得到第三节点的左子节点和右子节点的过程可以包括:

步骤A311、在历史训练样本集合的各特征维度中确定第三分裂维度。

在第一种可选实现方式中,第三分裂维度为在历史训练样本集合的各特征维度中随机选择的特征维度。

在第二种可选实现方式中,第三分裂维度为历史训练样本集合的各特征维度中跨度最大的特征维度。示例的,每个特征维度上的特征取值的跨度为该特征维度上特征取值的最大值与最小值之差。

例如可以先将历史训练样本集合的各特征维度按照跨度从大到小的顺序进行排序,然后在选择排序最前的跨度所对应的特征维度作为第三分裂维度。

跨度大的特征维度,其可分裂的概率较高,在该特征维度上进行节点分裂可以加快模型收敛速度,避免无效的特征维度的分裂,因此,通过选择跨度最大的特征维度作为第三分裂维度,可以提高机器学习模型的有效分裂的概率,节约节点分裂的开销。

如图8所示,本申请实施例假设历史训练样本集合中的样本包括二维特征数据,其对应二维空间,有x1,x2两个特征维度,各个特征维度上的特征取值的跨度范围分别为[x1_min,x1_max],[x2_min,x2_max]。相应的跨度为x1_max–x1_min,和x2_max–x2_min。比较这两个跨度,假设x1_max–x1_min>x2_max–x2_min,则选择特征维度x1作为第三分裂维度。

基于与前述第二种可选实现方式相同的原理,该第三分裂维度为历史训练样本集合的各特征维度中跨度占比最大的特征维度。任一特征维度上的特征取值的跨度占比d满足占比公式:d=h/z,其中,h为该历史训练样本集合在该任一特征维度上的跨度,z为各个特征维度上的特征取值的跨度之和。

以如图8为例,则z=(x1_max–x1_min)+(x2_max–x2_min),特征维度x1的跨度占比dx1=(x1_max–x1_min)/z,特征维度x2的跨度占比dx2=(x2_max–x2_min)/z;假设dx1>dx2,则选择特征维度x2作为第三分裂维度。

步骤A312、在历史训练样本集合的第三分裂维度上确定第三分裂点。

示例的,第三分裂点为在历史训练样本集合的第三分裂维度上随机选择的数值点。这样可以实现第三分裂维度上的等概率分裂。

本申请实施例在实际实现时,也可以采用其他方式选择第三分裂节点,本申请实施例对此不做限定。

步骤A313、基于第三分裂维度的第三分裂点进行第三节点的分裂,其中,将第三数值分布范围中在第三分裂维度上数值不大于第三分裂点数值的数值范围划分至左子节点,第三数值分布范围中在第三分裂维度上数值大于第三分裂点数值的数值范围划分至右子节点。

第三数值分布范围为历史训练样本集中的特征取值的分布范围,其由历史训练集合在各特征维度上的特征取值的跨度范围组成。这样在进行节点分裂时,仅需获取每个特征维度上的数值的最小值和最大值,获取的数据量小,计算简便,模型的训练效率较高。

仍然以如图8为例,假设选取的第三分裂点为x1_value∈[x1_min,x1_max],则将特征维度x1上不大于x1_value的数值范围,即[x1_min,x1_value],划分至第三节点P1的左子节点P2,将特征维度x1上大于x1_value的数值范围,即[x1_value,x1_max],划分至第三节点P1的右子节点P3。

由于前述节点的分裂只基于特征数据的数值分布范围,而不基于特征数据本身,因此在进行节点分裂时,仅需获取每个特征维度上的数值的最小值和最大值,获取的数据量小,计算简便,模型的训练效率较高。

值得说明的是,由于第一分析设备已经获取了前述用于训练的历史训练样本集合,因此也可以直接采用样本进行节点分裂,步骤A313中采用数值分布范围进行节点划分的方式可以替换为:将历史训练样本集合中在第三分裂维度上特征取值不大于第三分裂点数值的样本划分至左子节点,历史训练样本集合中在第三分裂维度上特征取值大于第三分裂点数值的样本划分至右子节点。

若对机器学习模型的分裂未添加限制,可能会造成机器学习模型的深度无限制的增大,可能一直迭代到每个叶子节点只有相同标签的样本点,或者只含有一个样本点,机器学习模型的分裂才停止。本申请实施例通过设置分裂截止条件可以控制树的深度,避免树的过度分裂。

可选地,该分裂截止条件包括以下至少一者:

条件1、第三节点的当前分裂成本大于分裂成本阈值。

条件2、历史训练样本集合的样本的数量小于第二样本数阈值。

条件3、第三节点对应的分裂次数大于分裂次数阈值。

条件4、第三节点在机器学习模型中的深度大于深度阈值。

条件5、历史训练样本集合所对应的标签中占比最大的标签的数量在历史训练样本集合所对应的标签总数中的占比大于指定占比阈值。

对于前述条件1,本申请实施例提出一种分裂成本的概念,在机器学习模型的离线训练过程中,任一节点的当前分裂成本与任一节点的训练样本集合的数值分布范围的大小负相关,该任一节点的训练样本集合为用于训练机器学习模型的训练样本集合划分至任一节点的样本的集合。示例的,该任一节点的当前分裂成本为该任一节点的训练样本集合的样本在各特征维度上的特征取值的跨度之和的倒数。则,对于第三节点,该第三节点的当前分裂成本与历史训练样本集合中的特征取值的分布范围的大小负相关,即数值分布范围越大,分裂成本越小。第三节点的当前分裂成本为历史训练样本集合在各特征维度上的特征取值的跨度之和的倒数。示例的,该分裂成本阈值可以为正无穷。

第三节点的当前分裂成本满足成本计算公式:

其中,max

则如图8,节点P1的分裂成本为1/z,z=(x1_max–x1_min)+(x2_max–x2_min)。如图9,在进行增量训练的过程中,每进行一次节点分裂可以计算一次分裂成本,并与分裂成本阈值进行比较,图9中假设分裂成本初始值为0,分裂成本阈值为正无穷,计算得到的分裂成本沿树的深度方向分别为0、COST1(第一次节点分裂)、COST2(第二次节点分裂)和COST3(第三次节点分裂)等,其中,分裂次数与分裂成本正相关,分裂次数越多,分裂成本越高。

采用该条件1,在分裂成本达到一定程度时,不再进行节点分裂,可以避免树的过度分裂,减少运算开销。

对于前述条件2,当第三节点的历史训练样本集合的样本的数量小于第二样本数阈值,说明,历史训练样本集合的数据量已经较少,已不足以支持有效的节点分裂,此时停止离线训练过程,可以减少运算开销。示例的,该第二样本阈值可以为2或3。

对于前述条件3,第三节点对应的分裂次数是从根节点的首次分裂到该第三节点的当前分裂的总次数,当第三节点对应的分裂次数大于分裂次数阈值,说明当前的机器学习模型已经达到了分裂次数上限,此时停止离线训练过程,可以减少运算开销。

对于前述条件4、第三节点在机器学习模型中的深度大于深度阈值时,停止离线训练过程,可以实现对机器学习模型的深度的控制。

对于条件5、历史训练样本集合所对应的标签中占比最大的标签的数量在标签总数中的占比大于指定占比阈值,说明该占比最大的标签的数量已经达到了分类条件,可以基于此确定准确的分类结果了,此时停止离线训练过程,可以减少不必要的分裂,减少运算开销。

可选地,在前述步骤404中,局点分析设备基于第一训练样本集合,对机器学习模型进行增量训练的过程,实际上是将第一训练样本集合中的多个训练样本依次输入机器学习模型的训练过程(即一次输入一个训练样本),执行了多次训练过程,每次训练过程相同,每次训练过程实际上是节点的遍历过程。对于第一训练样本集合中的任一训练样本,均执行该遍历过程。本申请实施例以述第一训练样本为例,假设该第一训练样本为第一训练样本集合中的任一训练样本,其包括一个或多个特征维度的特征数据,参考前述历史训练样本集合中的样本的结构,该第一训练样本集合中的特征数据为数值数据,其可以原本即为数值数据,也可以由非数值数据通过指定算法转化得到。假设第一节点为机器学习模型中的任一非叶子节点,从机器学习模型的根节点开始遍历,对步骤404中的遍历过程进行说明,则步骤404包括:

步骤B1、当遍历到的第一节点的当前分裂成本小于第一节点的历史分裂成本时,添加关联的第二节点,第二节点为第一节点的父节点或子节点。

其中,在增量训练过程中,第一节点的当前分裂成本为第一节点基于第一训练样本进行节点分裂的成本(即为该第一节点添加关联的第二节点的成本,在这种情况下,第一节点的节点分裂指的是为第一节点添加新的分支),第一节点的历史分裂成本为第一节点基于第一节点的历史训练样本集合进行节点分裂的成本,第一节点的历史训练样本集合为机器学习模型的历史训练样本集合中划分至第一节点的样本的集合。则参考前述401,若当前增量训练为接收到机器学习模型后的首次增量训练,且第一节点为前述任一第三节点,第一节点的历史训练样本集合即为第三节点对应的历史训练样本集合。

在本申请实施例中,可以通过直接比较第一节点的当前分裂成本和第一节点的历史分裂成本,以在第一节点的当前分裂成本小于第一节点的历史分裂成本时,添加关联的第二节点;进一步的,也可以先获取第一节点的当前分裂成本减去第一节点的历史分裂成本所得到的差值,判断该差值的绝对值是否大于指定差值阈值,这样可以保证在第一节点的当前分裂成本远远小于第一节点的历史分裂成本时,才进行节点分裂,这样可以节约训练成本,提高训练效率。

其中,第一节点的当前分裂成本与第一数值分布范围的大小负相关,该第一数值分布范围是基于第一训练样本中的特征取值与第二数值分布范围确定的分布范围。第二数值分布范围为第一节点的历史训练样本集合中的特征取值的分布范围。可选地,该第一数值分布范围是基于第一训练样本与第二数值分布范围的并集所确定的分布范围。例如,第一节点的历史训练样本集合中的样本包括两个特征维度的特征数据,在特征维度x的特征取值的跨度范围为[1,10],在特征维度y的特征取值的跨度范围为[5,10],则第二数值分布范围包括特征维度x上的特征取值的跨度范围:[1,10]和特征维度y上的特征取值的跨度范围:[5,10];若第一训练样本在特征维度x上的特征取值为9,在特征维度y上的特征取值为13,则分别在不同特征维度上求取第一训练样本与第二数值分布范围的并集,则第一数值分布范围在各特征维度上的特征取值的跨度范围包括:在特征维度x为[1,10],在特征维度y为[5,13]。

示例的,第一节点的当前分裂成本为第一数值分布范围在各特征维度上的特征取值的跨度之和的倒数。第一节点的当前分裂成本的计算方式均可以参考前述第三节点的当前分裂成本的计算方式,如采用前述成本计算公式(即公式三)计算,只是公式中对应的数值分布范围由前述历史训练样本集合的数值分布范围替换为该第一数值分布范围,本申请实施例不再赘述。

示例的,第一节点的历史分裂成本为第一节点的历史训练样本集合的样本在各特征维度上的特征取值的跨度之和的倒数。第一节点的历史分裂成本的计算方式可以参考前述第三节点的当前分裂成本的计算方式,如采用前述成本计算公式计算,只是公式中对应的数值分布范围由前述历史训练样本集合的数值分布范围替换为该第一节点的历史训练样本集合的数值分布范围,本申请实施例不再赘述。

其中,添加关联的第二节点的过程可以包括:

步骤B11、确定第一数值分布范围在各特征维度上的特征取值的跨度范围。

步骤B12、基于第一分裂维度上的第一分裂点添加第二节点,其中,第一数值分布范围中在第一分裂维度上数值不大于第一分裂点数值的数值范围划分至第二节点的左子节点,第一数值分布范围中在第一分裂维度上数值大于第一分裂点数值的数值范围划分至第二节点的右子节点。

以如图10为例,假设选取的第二节点P4的分裂点为y1_value∈[y1_min,y1_max],则将第一数值分布范围中特征维度y1上小于或等于y1_value的数值范围,即[y1_min,y1_value]。划分至第二节点P4的左子节点P5,将第一数值分布范围中特征维度y1上大于y1_value的数值范围,即[y1_value,y1_max]划分至第二节点P4的右子节点P6。

第二节点分裂的过程可以参考前述步骤A313第三节点分裂的过程,本申请实施例对此不做赘述。

其中,前述第一分裂维度为基于各特征维度上的特征取值的跨度范围,在各特征维度中确定的分裂维度,第一分裂点为在第一数值分布范围的第一分裂维度上确定的用于分裂的数值点。

示例的,在第一种可选方式中,第一分裂维度为在第一数值分布范围的各特征维度中随机选择的特征维度。在第二种可选方式中,第一分裂维度为第一数值分布范围的各特征维度中跨度最大的特征维度。相应原理可以参考前述步骤A311,本申请实施例不再赘述。

可选地,第一分裂点为在第一数值分布范围的第一分裂维度上随机选择的数值点。这样可以实现第一分裂维度上的等概率分裂。

本申请实施例在实际实现时,也可以采用其他方式选择第一分裂节点,本申请实施例对此不做限定。

在第一种情况中,当第一分裂维度与第二分裂维度不同时,第二节点为第一节点的父节点或子节点,也即是第二节点位于第一节点的上层或下层。

第二分裂维度为第一节点在机器学习模型中的历史分裂维度,第二分裂点为第一节点在机器学习模型中的历史分裂点,则参考前述步骤A311和A312,当该第一节点为前述任一第三节点,则第二分裂维度即为前述第三分裂维度,第二分裂点即为前述第三分裂点。

在第二种情况中,当第一分裂维度与第二分裂维度相同,且第一分裂点位于第二分裂点右侧,第二节点为第一节点的父节点,且第一节点为第二节点的左子节点。

在第三种情况中,当第一分裂维度与第二分裂维度相同,且第一分裂点位于第二分裂点左侧,第二节点为第一节点左子节点。

如前,每个非叶子节点的节点信息可以包括分裂维度和分裂点,为了便于说明,本申请后续实施例以“u>v”的格式表示分裂维度为u,分裂点为v。

对于前述第一种情况,如图9和图11所示,图11为添加第二节点之前的一种机器学习模型,包括节点Q1和Q3,图9为图11所示的机器学习模型添加第二节点之后的机器学习模型。假设节点Q1为第一节点,其第二分裂维度为x

如图9和图12所示,图12为添加第二节点之前的另一种机器学习模型,包括节点Q1和Q2,图9为图12所示的机器学习模型添加第二节点之后的机器学习模型。假设节点Q1为第一节点,其第二分裂维度为x

对于前述第二种情况,如图13和图14所示,图13为添加第二节点之前的一种机器学习模型,包括节点Q4和Q6,图14为图13所示的机器学习模型添加第二节点之后的机器学习模型。假设节点Q4为第一节点,其第二分裂维度为x

对于前述第三种情况,如图13和图15所示,图13为添加第二节点之前的一种机器学习模型,包括节点Q4和Q6,图15为图13所示的机器学习模型添加第二节点之后的机器学习模型。假设节点Q4为第一节点,其第二分裂维度为x

值得说明的是,前述第二节点添加后,其子节点中不是第一节点的子节点为叶子节点,需要确定该叶子节点的分类结果。也即是,第二节点是第一节点的父节点时,第二节点的另一子节点是叶子节点;第一节点是第二节点的父节点时,第二节点的两个子节点均为叶子节点。

增量训练过程中的叶子节点的分类结果的确定方式可以参考前述离线训练的过程中叶子节点的分类结果的确定方式,基于历史训练样本集合中样本的同一类别的标签个数,以及标签总数,确定该叶子节点的分类结果,该标签总数为划分至该叶子节点的历史训练样本集合中样本对应的标签的总数量;或者,基于历史训练样本集合中样本的不同类别的标签在标签总数中的占比,确定该叶子节点的分类结果。本申请实施例对此不再赘述。

如前所述,机器学习模型中的每个节点对应存储有节点信息,这样在增量训练过程中,从第一节点的节点信息中获取的历史分裂信息,如裂维度,分裂点,历史训练样本集合的数值分布范围,用于确定是否为该第一节点添加第二节点,以实现快速的增量训练;当确定一个节点为叶子节点时,可以基于节点信息中的标签分布信息,快速确定该叶子节点的分类结果。

进一步的,在离线训练过程中,在确定每个节点后,可以为每个节点存储对应的节点信息,或者在整个机器学习训练完成后,为每个节点存储对应的节点信息,以备后续重训练使用。在增量训练过程中,在添加第二节点后,需要为第二节点对应保存其节点信息。由于新增第二节点的目的是要把不同类别的样本分开,新增的第二节点所在分支是在原机器学习模型的分支里面没有的分支,属于新增分支,所以不影响原有分支分布。因此,与第二节点存在连接关系的节点,如父节点或子节点对应的节点信息中的位置信息对应更新,节点信息中的其他信息保持不变。这样可以在尽量减少对其他节点影响的情况下进行机器学习模型的增量训练。

值得说明的是,在步骤B1的添加关联的第二节点之前,还可以检测第一节点的历史训练样本集合中的样本的数量与第一训练样本的数量之和是否大于第一样本数阈值,当第一节点的历史训练样本集合中的样本的数量与第一训练样本的数量之和大于第一样本数阈值,添加第二节点。在每一次增量训练过程中,第一训练样本的数量为1。

当第一节点的历史训练样本集合中的样本的数量与第一训练样本的数量之和不大于第一样本数阈值,停止机器学习模型的增量训练。即不执行上述添加关联的第二节点的步骤。这样一来,只有在样本的数量较多时才添加第二节点,并进行节点分裂,以避免出现无效的节点分裂,单少计算资源的开销。并且由于样本数量过少的节点进行分裂,可能带来机器学习模型的预测性能下降,通过设置该第一样本数阈值,可以保证模型的精度。

步骤B2、当第一节点的当前分裂成本不小于第一节点的历史分裂成本,遍历第一节点的子树中的各个节点,并将遍历到的节点确定为新的第一节点,再次执行所述遍历过程,直至遍历到的第一节点的当前分裂成本小于第一节点的历史分裂成本,或者遍历到目标深度。此时停止遍历过程。需要说明的是,当第一节点的当前分裂成本不小于第一节点的历史分裂成本,且遍历完第一节点的子树,也即是第一节点是叶子节点时,也停止执行上述遍历过程。

对于更新后的第一节点,当该第一节点的当前分裂成本小于第一节点的历史分裂成本,则添加与第一节点关联的第二节点,该添加第二节点的过程可以参考前述步骤B1,本申请实施例对此不再赘述。在遍历至目标深度停止遍历过程,可以避免树模型的过度分裂,防止树层数过深。

值得说明的是,在增量训练过程中,机器学习模型的历史训练样本集合指的是当前训练过程之前的训练样本集合,其相对于当前输入的第一训练样本而言的。例如,若该增量训练过程是步骤401之后首次增量训练过程,则该增量训练过程所述的历史训练样本集合与前述步骤401中的历史训练样本集合相同;若该增量训练过程是步骤401之后第w(w为大于1的整数)次增量训练过程,则该增量训练过程所述的历史训练样本集合为前述步骤401中的历史训练样本集合与前w-1次增量训练过程中输入的训练样本的集合。

本申请实施例提供训练方法,通过前述增量训练方法可以实现机器学习模型的在线增量训练,并且由于各个节点对应存储有节点信息,无需获取大量样本即可进行增量训练,从而实现了一种轻量级的机器学习模型。

值得说明的是,维护有机器学习模型的分析设备可以在达到模型精简条件时,进行机器学习模型的精简,使得精简后的机器学习模型的结构更为简单,在执行预测时,运算效率较高。在本申请实施例中,模型精简的原理实际上是寻找连通域的原理,即将机器学习模型中可以属于同一的连通域的被分割的空间进行合并。该模型精简过程包括:

将机器学习模型中第一非叶子节点和第二非叶子节点进行合并,第一叶子节点和第二叶子节点进行合并,得到精简后的机器学习模型,该精简后的机器学习模型用于进行分类结果的预测,其中,第一叶子节点为第一非叶子节点的子节点,第二叶子节点为第二非叶子节点的子节点,第一叶子节点和第二叶子节点包括相同的分类结果,且在同一特征维度上分配的历史训练样本集合的特征取值的跨度范围相邻。

如图16,图16假设机器学习模型对应的训练样本集合中的样本包括两个特征维度的特征数据,特征维度分别为特征维度x和特征维度y,该训练样本集合包括:样本M(a1,b1),N(a1,b2),Q(a2,b1),U(a4,b4)。第一次节点分裂的分裂维度为特征维度x,分裂点为a3,将二维样本所在的样本空间切割成了2个子空间,对应于图16即为Q8节点的左子树和右子树;第二次节点分裂的分裂维度为特征维度y,分裂点为b3,对应于图16即为Q9节点的左子树和右子树;第三次节点分裂的分裂维度为特征维度y,分裂点为b4,对应于图16即为Q10节点的左子树和右子树。由此可知,样本M(a1,b1),N(a1,b2),Q(a2,b1),U(a4,b4)所在空间被划分为子空间1-4共4个子空间。由图16右侧的空间分割示意图可知,子空间3和4对应的叶子节点Q91和Q101的分类结果均为c,两者的特征取值的跨度范围相邻,则可以将两者进行合并,形成一个连通域,而合并后的子空间并不影响机器学习模型的实际分类结果。由图16左侧的机器学习模型可知,非叶子节点Q9的叶子节点Q91和非叶子节点Q10的叶子节点Q101的标签相同,均为c,且在y轴的特征取值的跨度范围分别为相邻的[b4,b3]以及[b3,b2],因此,非叶子节点Q9和非叶子节点Q10分别为前述第一非叶子节点和第二非叶子节点,两者的叶子节点分别为前述的第一叶子节点和第二叶子节点。如图17所示,最终子空间3和子空间4合并形成新的子空间3,非叶子节点Q9和非叶子节点Q10合并形成的新的非叶子节点Q12,叶子节点Q91和叶子节点Q101合并形成新的叶子节点Q121。相应的节点信息也进行了合并。其中,节点信息的合并,实际上是节点信息中对应参数(即相同类型的参数)取并集。例如,前述的在y轴的跨度范围[b4,b3]以及[b3,b2]合并为[b4,b2]。

精简后的机器学习模型结构更为简单,减少了树的分支层数,防止树层数过深,虽然模型架构产生变化,但不影响其预测结果,可以节约存储空间,提高预测效率。并且通过精简过程可以防止模型的过拟合。可选地,该精简过程可以周期性执行,并且该精简过程需要从机器学习模型的底层,按照由下至上(也称深度由大到小)的顺序执行。

该模型精简过程可以在前述步骤401之后或405之后由第一分析设备执行,精简后的机器学习模型可以发送至局点分析设备,以供局点分析设备基于该机器学习模型进行样本分析,即分类结果的预测。由于精简后的模型本身的大小(即模型本身占用内存的大小)变小,采用该模型进行分类结果预测时,预测速度较未精简的模型会更快,预测效率更高,并且该模型的传输开销也相应减少。进一步的,该精简后的模型若仅用于样本分析,可以不在其节点信息中记录历史分裂信息,这样可以进一步减少模型本身的大小,提高模型预测效率。

值得说明的是,前述图8至17中,若当前述特征数据为时间序列的特征数据时,任一特征维度为前述数据特征和/或提取特征(其中的具体特征参考前述实施例)中的任意一种特征维度。当前述特征数据为本身具有一定特征的数据,例如网络KPI数据时,任一特征维度为前述任一KPI类别,如,将时延数据作为特征数据,则该特征数据的特征维度为时延,又如,将丢包率数据作为特征数据,则该特征数据的特征维度为丢包率。具体定义可以参考前述实施例以及图7中的解释,本申请实施例对此不再赘述。

由于模型在训练时,需要使用具有完整结构的机器学习模型,而不是精简后的机器学习模型。由此可知,前述步骤402中发送至局点分析设备的机器学习模型为步骤401直接得到的未进行精简的机器学习模型,以支持局点分析设备进行该机器学习模型的增量训练。在另一种可选方式中,前述步骤402中发送至局点分析设备的机器学习模型也可以是精简后的机器学习模型,但是该机器学习模型需要额外携带未进行合并的节点信息,这样局点分析设备可以基于精简后的机器学习模型和未进行合并的节点信息恢复得到未进行精简的机器学习模型,以进行该机器学习模型的增量训练。

该模型精简过程也可以在前述步骤404之后由局点分析设备执行,精简后的机器学习模型可以用于进行样本分析,即分类结果的预测。后续再次进行增量训练时,采用的模型为未进行精简的机器学习模型。

需要说明的是,本申请前述实施例以局点分析设备直接基于从局点分析设备获取的第一训练样本集合,对机器学习模型进行增量训练为例进行说明。本申请实施例在实际实现时,前述局点分析设备还可以间接基于从局点分析设备获取的第一训练样本集合,对机器学习模型进行增量训练,在一种实现方式中,该局点分析设备可以将当前的机器学习模型和第一训练样本集合发送至第一分析设备,由第一分析设备基于该第一训练样本集合进行机器学习模型的增量训练,并将训练后的机器学习模型发送至局点分析设备。该增量训练过程可以参考前述步骤404,本申请实施例不再赘述;在另一种实现方式中,该局点分析设备可以将第一训练样本集合发送至第一分析设备,由第一分析设备将第一训练样本集合以及用于训练该机器学习模型的历史训练样本进行整合得到新的历史训练样本,并基于该历史训练样本,进行初始机器学习模型的离线训练,其训练结果与基于该第一训练样本集合进行增量训练的结果相同。该离线训练过程可以参考前述步骤401,本申请实施例不再赘述。

传统的模型训练方法,在进行离线训练后,机器学习模型一旦部署在局点分析设备,即无法进行增量训练。而本申请实施例提供的模型训练方法,机器学习模型支持增量训练,可以对新的训练样本有良好的自适应性。尤其对于异常检测场景,可以对新异常模式的出现、具有新标签的样本有很好的自适应性,训练后的模型能够精准检测不同的异常模式。从而实现模型的泛化,保证预测性能,有效提高用户体验。

进一步的,如果将传统的模型训练方法应用于本申请实施例提供的应用场景中,需要在机器学习模型所部署的局点分析设备大量采集样本,并且进行样本批量训练,由于机器学习模型的训练需要能够访问历史训练样本,因此还需要存储大量历史训练样本,导致消耗大量内存和计算资源,训练代价较大。

而本申请实施例中,在增量训练或离线训练过程中,基于训练样本集合的数值分布范围进行节点分裂,无需大量访问历史训练样本,因此,有效减少了内存和计算资源的占用,降低训练代价。并且通过前述节点信息携带各个节点的相关信息,可以实现机器学习模型的轻量化,更便于机器学习模型的部署,实现模型的有效泛化。

如图18和图19所示,图18是一种传统的机器学习模型的增量训练效果示意图,图19是本申请实施例提供的机器学习模型的增量训练效果示意图。横轴表示已输入的训练样本占训练样本总量的百分比,纵轴表示反映模型性能的性能指标,该指标值越大,模型的性能越好。图18和图19中,假设在路由器的KPIs进行异常检测场景中,将一个局点分析设备获取的训练样本作为训练样本集合M分别对传统的机器学习模型和本申请实施例提供的机器学习模型进行训练,该增量训练过程周期性执行,每一轮增量训练输入该训练样本集合M中10%的样本,则传统的机器学习模型采用增量训练的方式进行训练得到的模型的性能波动较大,性能不稳定;而采用本申请实施例提供的增量训练的方式进行训练得到的模型的性能在逐渐升高后,一致维持在90%左右,性能稳定。由此可知,本申请实施例提供的模型训练方法,可以训练得到性能较稳定的机器学习模型,从而保证模型的泛化。

本申请实施例提供的模型训练方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。

本申请实施例提供一种模型训练装置50,如图20所示,应用于局点分析设备,包括:

接收模块501,用于接收第一分析设备发送的机器学习模型;

增量训练模块502,用于基于第一训练样本集合,对所述机器学习模型进行增量训练,所述第一训练样本集合中的特征数据是所述局点分析设备所对应的局点网络的特征数据。

本申请实施例提供一种模型训练装置,接收模块接收第一分析设备发送的机器学习模型,增量训练模块基于从该局点分析设备所对应的局点网络获取的第一训练样本集合,对机器学习模型进行增量训练。一方面,第一训练样本集合中的特征数据是从该局点分析设备所对应的局点网络获取的特征数据,其更适配于局点分析设备的应用场景,采用包括局点分析设备从对应的局点网络获取的特征数据的第一训练样本集合进行模型训练,可以使得训练后的机器学习模型更适配于该局点分析设备自身的需求,实现模型的定制化,提高模型的应用灵活性;另一方面,通过离线训练和增量训练结合的方式来训练机器学习模型,可以在局点分析设备所获取的特征数据的类别或模式出现变化时,进行机器学习模型的增量训练,实现机器学习模型的灵活调整,从而保证训练得到的机器学习模型符合局点分析设备的需求。因此,本申请实施例提供的模型训练装置,相较于相关技术,能够有效适配于局点分析设备的需求。

可选地,如图21所示,所述装置50还包括:

预测模块503,用于在所述接收第一分析设备发送的机器学习模型之后,采用所述机器学习模型进行分类结果的预测;

第一发送模块504,用于向所述评估设备发送预测信息,所述预测信息包括预测得到的分类结果,以供所述评估设备基于所述预测信息评估所述机器学习模型是否发生劣化;

所述增量训练模块502,用于:

在接收到所述评估设备发送的训练指令后,基于所述第一训练样本集合,对所述机器学习模型进行增量训练,所述训练指令用于指示对所述机器学习模型进行训练。

可选地,所述机器学习模型用于对一个或多个关键绩效指标KPI特征数据组成的待预测数据进行分类结果的预测;所述KPI特征数据为KPI时间序列的特征数据,或者为KPI数据;

所述预测信息还包括所述待预测数据中的KPI特征数据对应的KPI类别,所述待预测数据所属的设备的标识以及所述待预测数据对应的KPI数据的采集时刻。

可选地,如图22所示,所述装置50还包括:

第二发送模块505,用于当增量训练后的机器学习模型的性能不满足性能达标条件时,向所述第一分析设备发送重训练请求,所述重训练请求用于请求所述第一分析设备对所述机器学习模型进行重训练。

可选地,所述机器学习模型为树模型,所述增量训练模块502,用于:

对于所述第一训练样本集合中的任一训练样本,从所述机器学习模型的根节点开始遍历,执行如下遍历过程:

当遍历到的第一节点的当前分裂成本小于第一节点的历史分裂成本时,添加关联的第二节点,所述第一节点为所述机器学习模型中的任一非叶子节点,所述第二节点为所述第一节点的父节点或子节点;

当第一节点的当前分裂成本不小于第一节点的历史分裂成本,遍历所述第一节点的子树中的节点,并将遍历到的节点确定为新的第一节点,再次执行所述遍历过程,直至遍历到的第一节点的当前分裂成本小于第一节点的历史分裂成本,或者遍历到目标深度;

其中,第一节点的当前分裂成本为所述第一节点基于第一训练样本进行节点分裂的成本,所述第一训练样本为所述第一训练样本集合中的任一训练样本,所述第一训练样本包括一个或多个特征维度的特征数据,所述特征数据为数值数据,所述第一节点的历史分裂成本为所述第一节点基于所述第一节点的历史训练样本集合进行节点分裂的成本,所述第一节点的历史训练样本集合为所述机器学习模型的历史训练样本集合中划分至所述第一节点的样本的集合。

可选地,所述第一节点的当前分裂成本与第一数值分布范围的大小负相关,所述第一数值分布范围是基于所述第一训练样本中的特征取值与第二数值分布范围确定的分布范围;所述第二数值分布范围为第一节点的历史训练样本集合中的特征取值的分布范围,所述第一节点的历史分裂成本与所述第二数值分布范围的大小负相关。

可选地,所述第一节点的当前分裂成本为所述第一数值分布范围中各特征维度上的特征取值的跨度之和的倒数,所述第一节点的历史分裂成本为所述第二数值分布范围中各特征维度上的特征取值的跨度之和的倒数。

可选地,所述增量训练模块502,用于:

确定所述第一数值分布范围在各特征维度上的特征取值的跨度范围;

基于第一分裂维度上的第一分裂点添加所述第二节点,其中,所述第一数值分布范围中在所述第一分裂维度上数值不大于所述第一分裂点数值的数值范围划分至所述第二节点的左子节点,所述第一数值分布范围中在所述第一分裂维度上数值大于所述第一分裂点数值的数值范围划分至所述第二节点的右子节点,所述第一分裂维度为基于所述各特征维度上的特征取值的跨度范围,在所述各特征维度中确定的分裂维度,所述第一分裂点为在所述第一数值分布范围的所述第一分裂维度上确定的用于分裂的数值点;

当所述第一分裂维度与第二分裂维度不同时,所述第二节点为所述第一节点的父节点或子节点,所述第二分裂维度为所述第一节点在所述机器学习模型中的历史分裂维度,所述第二分裂点为所述第一节点在所述机器学习模型中的历史分裂点;

当所述第一分裂维度与所述第二分裂维度相同,且所述第一分裂点位于所述第二分裂点右侧,所述第二节点为所述第一节点的父节点,且所述第一节点为所述第二节点的左子节点;

当所述第一分裂维度与所述第二分裂维度相同,且所述第一分裂点位于所述第二分裂点左侧,所述第二节点为所述第一节点左子节点。

可选地,所述第一分裂维度为在所述第一数值分布范围的各特征维度中随机选择的特征维度,或,所述第一分裂维度为所述第一数值分布范围的各特征维度中跨度最大的特征维度;

和/或,所述第一分裂点为在所述第一数值分布范围的所述第一分裂维度上随机选择的数值点。

可选地,所述增量训练模块502,用于:

当所述第一节点的历史训练样本集合中的样本的数量与所述第一训练样本的数量之和大于第一样本数阈值,添加所述第二节点;

所述装置还包括:

停止模块,用于当所述第一节点的历史训练样本集合中的样本的数量与所述第一训练样本的数量之和不大于所述第一样本数阈值,停止所述机器学习模型的增量训练。

在一种可选实现方式中,如图23所示,所述装置50还包括:

合并模块506,用于将所述机器学习模型中第一非叶子节点和第二非叶子节点进行合并,第一叶子节点和第二叶子节点进行合并,得到精简后的机器学习模型,所述精简后的机器学习模型用于进行分类结果的预测。

在另一种可选实现方式中,所述接收模块501,还用于接收所述第一分析设备发送的精简后的机器学习模型,所述精简后的机器学习模型是所述第一分析设备将所述机器学习模型中第一非叶子节点和第二非叶子节点进行合并,第一叶子节点和第二叶子节点进行合并得到的;

其中,所述第一叶子节点为所述第一非叶子节点的子节点,所述第二叶子节点为所述第二非叶子节点的子节点,所述第一叶子节点和所述第二叶子节点包括相同的分类结果,且在同一特征维度上分配的历史训练样本集合的特征取值的跨度范围相邻。

可选地,所述机器学习模型中的每个节点对应存储有节点信息,所述机器学习模型中的任一节点的所述节点信息包括标签分布信息,所述标签分布信息用于反映划分至对应节点中的历史训练样本集合中样本的不同类别的标签在标签总数中的占比,所述标签总数是划分至所述任一节点的历史训练样本集合中样本对应的标签的总数量,任一非叶子节点的节点信息还包括历史分裂信息,所述历史分裂信息为对应节点用于分裂的信息。

可选地,所述历史分裂信息包括:对应节点在机器学习模型中的位置信息,分裂维度,分裂点,划分至对应节点的历史训练样本集合的数值分布范围和历史分裂成本;

所述标签分布信息包括:划分至对应节点的历史训练样本集合中样本的同一类别的标签个数和所述标签总数;或,划分至对应节点的历史训练样本集合中样本的不同类别的标签在所述标签总数中的占比。

可选地,所述第一训练样本集合包括在所述局点分析设备获取的样本中筛选得到的满足低区分度条件的样本,所述低区分度条件包括以下至少一者:

采用所述机器学习模型预测样本得到的目标概率集合中任意两个概率的差值的绝对值小于第一差值阈值,所述目标概率集合包括按照概率的大小降序排列的前n个分类结果的概率,1

或者,采用所述机器学习模型预测样本得到的概率中任意两个概率的差值的绝对值小于第二差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中最高概率和最低概率的差值的绝对值小于第三差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中任意两个概率的差值的绝对值小于第四差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率分布熵E大于指定分布熵阈值,所述E满足:

其中,x

本申请实施例提供一种模型训练装置60,如图24所示,应用于第一分析设备,包括:

离线训练模块601,用于基于历史训练样本集合进行离线训练,得到机器学习模型;

发送模块602,用于向多个局点分析设备发送所述机器学习模型,以供所述局点分析设备基于第一训练样本集合,对所述机器学习模型进行增量训练,任一局点分析设备用于训练所述机器学习模型的训练样本集合中的特征数据是所述任一局点分析设备所对应的局点网络的特征数据。

发送模块可以将离线训练模块训练得到的机器学习模型分发至每个局点分析设备中,由各个局点分析设备进行增量训练,保证各个局点分析设备上的机器学习模型的性能。如此,第一分析设备无需为每个局点分析设备都训练对应的机器学习模型,有效减少了第一分析设备的整体训练时长,且离线训练得到的模型在各个局点分析设备均可以作为增量训练的基础,提高了离线训练得到的模型的通用性,从而实现模型泛化,降低了第一分析设备的整体训练成本。

并且,局点分析设备接收第一分析设备发送的机器学习模型,并可以基于从该局点分析设备所对应的局点网络获取的第一训练样本集合,对机器学习模型进行增量训练。一方面,第一训练样本集合中的特征数据是从该局点分析设备所对应的局点网络获取的特征数据,其更适配于局点分析设备的应用场景,采用包括局点分析设备从对应的局点网络获取的特征数据的第一训练样本集合进行模型训练,可以使得训练后的机器学习模型更适配于该局点分析设备自身的需求,实现模型的定制化,提高模型的应用灵活性;另一方面,通过离线训练和增量训练结合的方式来训练机器学习模型,可以在局点分析设备所获取的特征数据的类别或模式出现变化时,进行机器学习模型的增量训练,实现机器学习模型的灵活调整,从而保证训练得到的机器学习模型符合局点分析设备的需求。因此,本申请实施例提供的模型训练方法,相较于相关技术,能够有效适配于局点分析设备的需求。

可选地,所述历史训练样本集合是多个所述局点分析设备发送的训练样本的集合。

如图25所示,所述装置60还包括:

接收模块603,用于:

在向局点分析设备发送所述机器学习模型之后,接收所述局点分析设备发送的重训练请求,基于发送所述重训练请求的局点分析设备所发送的训练样本集合,对所述机器学习模型进行重训练;

或者,接收所述局点分析设备发送的重训练请求,基于发送所述重训练请求的局点分析设备所发送的训练样本集合以及其他局点分析设备所发送的训练样本集合,对所述机器学习模型进行重训练;

或者,接收至少两个所述局点分析设备发送的训练样本集合,并基于接收到的训练样本集合,重训练所述机器学习模型。

可选地,所述机器学习模型为树模型,所述离线训练模块,用于:

获取已确定标签的历史训练样本集合,所述历史训练样本集合中的训练样本包括一个或多个特征维度的特征数据,所述特征数据为数值数据;

创建根节点;

将所述根节点作为第三节点,执行离线训练过程直至达到分裂截止条件;

为每个叶子节点确定分类结果,得到所述机器学习模型;

其中,所述离线训练过程包括:

进行所述第三节点的分裂,得到所述第三节点的左子节点和右子节点;

将所述左子节点作为更新后的第三节点,将所述历史训练样本集合划分至所述左子节点的左样本集合作为更新后的历史训练样本集合,再次执行所述离线训练过程;

将所述右子节点作为更新后的第三节点,将所述历史训练样本集合划分至所述右子节点的右样本集合作为更新后的历史训练样本集合,再次执行所述离线训练过程。

可选地,所述离线训练模块601,用于:

基于所述历史训练样本集合的数值分布范围进行所述第三节点的分裂,得到所述第三节点的左子节点和右子节点,所述历史训练样本集合的数值分布范围为所述历史训练样本集合中的特征取值的分布范围。

可选地,所述离线训练模块601,用于:

在所述历史训练样本集合的各特征维度中确定第三分裂维度;

在所述历史训练样本集合的所述第三分裂维度上确定第三分裂点;

将第三数值分布范围中在所述第三分裂维度上数值不大于所述第三分裂点数值的数值范围划分至所述左子节点,所述第三数值分布范围中在所述第三分裂维度上数值大于所述第三分裂点数值的数值范围划分至所述右子节点,所述第三数值分布范围为所述第三节点的历史训练样本集中的特征取值的分布范围。

可选地,所述分裂截止条件包括以下至少一者:

所述第三节点的当前分裂成本大于分裂成本阈值;

或者,所述历史训练样本集合的样本的数量小于第二样本数阈值;

或者,所述第三节点对应的分裂次数大于分裂次数阈值;

或者,所述第三节点在所述机器学习模型中的深度大于深度阈值;

或者,所述历史训练样本集合所对应的标签中占比最大的标签的数量在所述历史训练样本集合所对应的标签的标签总数中的占比大于指定占比阈值。

可选地,所述第三节点的当前分裂成本与所述历史训练样本集合中的特征取值的分布范围的大小负相关。

可选地,所述第三节点的当前分裂成本为所述历史训练样本集合在各特征维度上的特征取值的跨度之和的倒数。

可选地,如图26所示,所述装置60还包括:

合并模块604,用于将所述机器学习模型中第一非叶子节点和第二非叶子节点进行合并,第一叶子节点和第二叶子节点进行合并,得到精简后的机器学习模型,所述精简后的机器学习模型用于进行分类结果的预测,其中,所述第一叶子节点为所述第一非叶子节点的子节点,所述第二叶子节点为所述第二非叶子节点的子节点,所述第一叶子节点和所述第二叶子节点包括相同的分类结果,且在同一特征维度上分配的历史训练样本集合的特征取值的跨度范围相邻;

所述发送模块602,还用于向所述局点分析设备发送所述精简后的机器学习模型,以供所述局点分析设备基于所述精简后的机器学习模型进行分类结果的预测。

可选地,所述机器学习模型中的每个节点对应存储有节点信息,所述机器学习模型中的任一节点的所述节点信息包括标签分布信息,所述标签分布信息用于反映划分至对应节点中的历史训练样本集合中样本的不同类别的标签在标签总数中的占比,所述标签总数是划分至所述任一节点的历史训练样本集合中样本对应的标签的总数量,任一非叶子节点的节点信息还包括历史分裂信息,所述历史分裂信息为对应节点用于分裂的信息。

可选地,所述历史分裂信息包括:对应节点在机器学习模型中的位置信息,分裂维度,分裂点,划分至对应节点的历史训练样本集合的数值分布范围和历史分裂成本;

所述标签分布信息包括:划分至对应节点的历史训练样本集合中样本的同一类别的标签个数和所述标签总数;或,划分至对应节点的历史训练样本集合中样本的不同类别的标签在所述标签总数中的占比。

可选地,所述第一训练样本集合包括在所述局点分析设备获取的样本中筛选得到的满足低区分度条件的样本,所述低区分度条件包括以下至少一者:

采用所述机器学习模型预测样本得到的目标概率集合中任意两个概率的差值的绝对值小于第一差值阈值,所述目标概率集合包括按照概率的大小降序排列的前n个分类结果的概率,1

或者,采用所述机器学习模型预测样本得到的概率中任意两个概率的差值的绝对值小于第二差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中最高概率和最低概率的差值的绝对值小于第三差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率中任意两个概率的差值的绝对值小于第四差值阈值;

或者,采用所述机器学习模型预测样本的多种分类结果的概率分布熵E大于指定分布熵阈值,所述E满足:

其中,x

图27是本申请实施例提供的一种模型训练装置的框图。该模型训练装置可以是前述分析设备,例如局点分析设备,或前述第一分析设备。如图27所示,分析设备70包括:处理器701和存储器702。

存储器701,用于存储计算机程序,计算机程序包括程序指令;

处理器702,用于调用计算机程序,实现本申请实施例提供的模型训练方法。

可选地,该网络设备70还包括通信总线703和通信接口704。

其中,处理器701包括一个或者一个以上处理核心,处理器701通过运行计算机程序,从而执行各种功能应用以及数据处理。

存储器702可用于存储计算机程序。可选地,存储器可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。

通信接口704可以为多个,通信接口704用于与其它存储设备或网络设备进行通信。例如在本申请实施例中,通信接口704可以用于接收通信网络中的网络设备发送的样本数据。

存储器702与通信接口704分别通过通信总线703与处理器701连接。

本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有指令,当指令被处理器执行时,实现本申请实施例提供的模型训练方法。

本申请实施例提供了一种模型训练系统,包括:第一分析设备和多个局点分析设备;

该第一分析设备包括前述实施例任一所述的模型训练装置;所述局点分析设备包括前述实施例任一所述的模型训练装置。示例的,该模型训练系统中各个设备的部署可以参考前述图1至图3所示的应用场景中的各个设备的部署,例如,该模型训练系统还包括:网络设备、评估设备、存储设备和管理设备中的一者或多者,相关设备的介绍参考前述图1至图3,本申请实施例对此不做赘述。

本申请实施例中,A参考B,指的是A可以与B相同,也可以在B的基础上做简单变形。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 模型训练方法、成员探测装置的训练方法及其系统
  • 模型评价方法和装置、模型评价系统及其训练方法和装置
技术分类

06120112501128