一种基于机器学习的流程异常预测方法与流程

文档序号:17661532发布日期:2019-05-15 22:24阅读:419来源:国知局
一种基于机器学习的流程异常预测方法与流程

本发明涉及流程异常预测技术领域,特别是涉及一种基于机器学习的流程异常预测方法。



背景技术:

通常,在业务流程管理系统中,保存着大量流程执行的日志记录,包含流程中活动开始、结束的时间戳等信息,并且其中很多流程是重复多次执行的。在大数据技术飞速发展的今天,这些信息还尚未被有效充分的利用起来。现有的流程异常检测方法大多是主动的设置时间检查点、动态检查、或被动的基于异常发生后捕捉异常、处理异常的机制。主动设置时间检查点的方法又造成了新的问题,如何巧妙的设立检查点是一项困难而复杂的工作,而且随着流程的改变,检查点也很可能需要重新设定。被动的处理超期异常的方法,失去了对业务流程管理的主动性,导致工作流所期望的目标的延迟或付出更大的开销。



技术实现要素:

本发明针对现有技术存在的问题和不足,提供一种新型的基于机器学习的流程异常预测方法,通过引入监督学习的逻辑回归算法和非监督学习的孤立森林算法,进行异常流程分类。

本发明是通过下述技术方案来解决上述技术问题的:

本发明提供一种基于机器学习的流程异常预测方法,其特点在于,其包括超期异常预测流程和行为异常预测流程;

其中超期异常预测流程以下步骤:

s11、从历史流程日志中查找出与当前正在执行的待预测流程相同的所有历史流程;提取与待预测流程已执行过的路径一致的历史流程数据作为算法的输入数据集。

s12、计算查找出的历史流程中每一历史流程的流程执行总时间以及每一历史流程中每一活动的执行时间;

s13、标记每一历史流程是否是超期异常;

s14、基于每一历史流程中每一活动的执行时间和每一历史流程的是否超期异常的标记训练基于监督学习的分类器;

s15、将待预测流程输入至训练好的分类器中以预测出该待预测流程是否属于超期异常流程。

行为异常预测流程以下步骤:

s21、从历史流程日志中查找出与当前正在执行的待预测流程相同的所有历史流程;

s22、计算查找出的每一历史流程中每一活动的执行时间;

s23、基于每一活动的执行时间训练基于非监督学习的离群点检测算法,使用离群点检测算法找出历史流程中活动时间比例与众不同的流程判定为行为异常流程;

s24、将待预测流程输入至训练好的离群点检测算法中以预测出该待预测流程是否属于行为异常流程。

通过分别用两种预测流程对流程是否异常进行预测并综合两种预测流程得出最终异常预测结果,称之为集成业务流程异常预测。

较佳地,通过分别执行流程的超期异常预测和行为异常检测,将业务流程预测异常分类为i类-超期异常流程、ii类-行为异常流程、以及i类ii类-高危异常流程。

较佳地,通过对每一活动开始与结束事件时间戳取差值,求得每一个活动的执行时间。

较佳地,在步骤s23中,将每一历史流程中活动的执行时间序列相邻项相除得到活动时间比例。

较佳地,使用监督学习中直接高效的逻辑回归算法作为分类器的基本模型,综合采样的smote+tomek算法缓解样本不均衡问题。

较佳地,在步骤s23中,使用孤立森林算法模型,通过活动执行时间比例中找出离群点以鉴别待预测流程是否为行为异常的流程。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:

本发明通过挖掘流程执行的日志记录,活动执行时间信息,实时预测业务流程中的超期异常和流程行为异常。本发明使用独特的集成模式,建立对业务流程异常预测结果的分类方法,可以用于评估业务流程发生异常的可能性。本发明提出通过计算活动执行时间之间的比例关系作为流程输入特征用于预测算法,提升预测准确性。

附图说明

图1为本发明较佳实施例的集成业务流程异常预测方法架构图。

图2为本发明较佳实施例的预测结果异常分类韦恩图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

受启发于集成学习方法,本发明提出了一种方法,通过分别用两种算法对流程是否异常进行预测并综合两种算法得出最终异常预测结果,我们称之为集成业务流程异常预测(ensemblebusinessprocessanomalyprediction,ensbpap)。如图1所示,将正在执行流程的日志和历史已执行完成流程日志做数据预处理,得到流程中活动执行时间序列以及计算活动执行时间比例关系。用机器学习中监督学习分类器预测流程是否会发生超期异常,标记i类异常流程。用无监督学习的异常点检测算法,亦称离群点检测,找出历史数据中活动时间比例与众不同的流程判定为行为异常流程(活动执行时间之间比例关系)以及判断当前流程是否属于行为异常流程,标记ii类异常流程。最后,通过集成业务流程异常预测方法将待预测流程分为正常流程或者不同种类的异常流程。

集成业务流程异常预测方法将异常流程分为三类,如图2所示。第一类是由超期异常预测算法得出的i类异常流程,而没有被标记ii类异常,其流程执行总时间会超过期限而流程中活动时间的比例是正常的。第二类是由行为异常检测算法得出的ii类异常流程,而没有被标记为i类异常,其流程执行总时间不会超过期限但流程中存在行为异常。第三类是同时被标记为i类和ii类异常,我们称之为高危异常,其流程中行为异常且流程执行总时间会超过最终期限,这是业务流程管理人员需要重点处理的异常流程。

本实施例提供一种基于机器学习的流程异常预测方法,其特点在于,其包括超期异常预测流程和行为异常预测流程。

其中,超期异常预测流程以下步骤:

s11、从历史流程日志中查找出与当前正在执行的待预测流程相同的所有历史流程;提取与待预测流程已执行过的路径一致的历史流程数据作为算法的输入数据集。

s12、计算查找出的历史流程中每一历史流程的流程执行总时间以及每一历史流程中每一活动的执行时间。其中通过对每一活动开始与结束事件时间戳取差值,求得每一个活动的执行时间。

s13、标记每一历史流程是否是超期异常。

通过计算历史流程的流程执行总时间,可以容易得到流程执行时间的分布,可以设定一个异常比例,如10%,将流程执行时间最长的异常比例内的流程标记为超期异常流程。

s14、基于每一历史流程中每一活动的执行时间和每一历史流程的是否超期异常的标记训练基于监督学习的分类器。

使用监督学习中直接高效的逻辑回归算法作为分类器的基本模型,综合采样的smote+tomek算法缓解样本不均衡问题。

s15、将待预测流程输入至训练好的分类器中以预测出该待预测流程是否属于超期异常流程。

行为异常预测流程以下步骤:

s21、从历史流程日志中查找出与当前正在执行的待预测流程相同的所有历史流程。

s22、计算查找出的每一历史流程中每一活动的执行时间。

s23、基于每一活动的执行时间训练基于非监督学习的离群点检测算法,将每一历史流程中活动的执行时间序列相邻项相除得到活动时间比例,使用离群点检测算法找出历史流程中活动时间比例与众不同的流程判定为行为异常流程。

在步骤s23中,使用孤立森林算法模型,通过活动执行时间比例中找出离群点以鉴别待预测流程是否为行为异常的流程。

s24、将待预测流程输入至训练好的离群点检测算法中以预测出该待预测流程是否属于行为异常流程。

业务流程异常预测方法的伪代码如algorithm1所示。将待预测流程的活动执行时间序列记为t,将其时间比例序列记为r,同数据预处理中得到的历史流程的执行时间和比例数据集t,r,tcv作为输入。第一步,将活动执行时间和比例的训练数据集和测试用例数据传入监督学习的分类算法中,得到超期异常预测结果。第二步,将活动时间比例的训练集和测试用例传入无监督学习异常检测算法,得到行为异常预测结果。第三步,用两个预测结果访问ensbpap分类结果矩阵,并返回最终的分类结果。

超期异常检测算法如algorithm2所示。第一步,将执行时间和比例数据t,r合并成训练集x,训练目标为tcv,t,r合并成测试样本x。第二步,smote+tomek算法均衡训练样本。第三步,对每个特征做归一化消除数据量级的影响。第四步,初始化算法模型、超参数空间、最佳参数。第五步,通过若干次迭代随机生成超参数、参考交叉验证法评估当前超参数下的性能、更新最佳超参数。第六步,使用最佳超参数拟合算法模型,预测测试样本类型,并返回。

行为异常检测算法的目标是通过活动执行时间比例中找出离群点以鉴别待预测流程是否为行为异常的流程。算法步骤如algorithm3所示。第一步,初始化算法模型。第二步,拟合历史数据得到孤立森林模型。第三步,预测测试样本并返回。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1