流程挖掘学习记录

什么是流程挖掘?

        流程挖掘是一种将专业算法应用于事件日志数据的方法,用以确定有关流程如何展开的趋势、模式和详细信息。它结合了数据挖掘和流程分析,通过从信息系统中挖掘日志数据,了解流程的性能,揭示瓶颈和需要改进的领域。

主要类型

        流程挖掘主要包括三种类型:流程发现、一致性检查和流程改进。

  • 流程发现

流程发现是从事件日志中构建流程模型的技术,不需要任何先验知识。常见的流程发现算法包括Alpha Miner、Heuristic Miner、Genetic Miner等。例如,Alpha Miner通过定义活动间的关系来发现流程模型,但它不能处理噪声和不完整的事件日志。

  • 一致性检查

一致性检验是将现有的流程模型与事件日志进行比较,以检验实际流程是否与模型一致。它可以用来侦查、定位与解释偏差,并测量这些偏差的严重程度。

  • 流程改进

流程改进是利用实际流程记录的事件日志来扩展或改进现有流程。改进可以是修复(修改模型以更好反映现实)或扩展(为流程模型添加新的视角,如时间、资源等

 流程建模语言

        流程的控制流可用不同的流程模型语言来描述,如Petri net,WF-nets(工作流网),C-net(因果网),BPMN(业务流程建模与标记),Process Trees(流程树)等。每类挖掘算法使用不同的流程模型语言,例如:系列挖掘算法使用WF-net,启发式挖掘算法使用C-net,遗传挖掘系列算法采用Petri net或者Process Tree。挖掘算法使用的流程模型语言具有各种的偏好。

        从结构上看,除了Process Trees是树形结构表示外,其他建模语言使用图表示、并且增加了较多的符号以表达更多和更强的语言。

        Petri net是提出的最早能够处理并发的建模语言,得到了广泛深入的研究,出现了多种扩展。Petri net更多运用在系统建模上,而不是流程挖掘。

        工作流网WF-net是Petri网的一种特殊形式,在其上的合理性要求使得它适用于业务流程上(要求一个开始库所和一个结束库所),并且能够通过流程发现技术(α算法)来挖掘事件日志的工作流网。

        YAWL、BPMN和EPC这类建模语言强化了建模符号,可以表达更多的语义,也具备处理并发的能力,甚至包含了数据视角(YAWL的数据驱动);但是在建模时也有一些困境,存在恶性循环这类现象;在流程挖掘技术上,我们也可以挖掘事件日志的BPMN模型;

        因果网是为流程挖掘技术量身定做的一种建模符号,与上面的建模语言不同(关注状态及其连接),它关注流程的活动,流程的状态只有绑定来确定,而不具体去描述流程的状态;而事件日志一般也存储流程中活动的发生及其产生的数据,因此因果网适用于流程发现。

        流程树也是为流程发现量身定做的,适用在归纳流程发现技术上,它本身的结构就具备了合理性。

流程模型质量评价

        通常从四个方面来评价流程模型的质量: 重现度、精确度、通用性和简单性。

  • 重现度

        指流程模型对日志中执行实例的可重现程度。给定一个流程模型和一个执行实例,如果执行实例可通过执行该流程获得, 则称该流程可重现该实例。流程模型可重现的执行实例越多, 对日志的重现度就越高。

  • 精确度 

        如果通过执行流程模型可以产生许多日志中不包含的实例, 那么该流程模型的精确度就较低, 称为弱拟合。

  • 通用性

        与精确度相反, 通用性指流程模型不仅反映日志中的行为, 还允许日志以外的正确行为。这是因为实际应用中, 日志通常是不完整的。好的流程模型应当有这样的“预见性”使得新的执行实例符合流程模型的规范。如果通用性过低, 称流程模型过拟合。

  • 简单性

        在保证其他三个指标的情况下, 流程模型越简单越好。可从模型中节点的数量或节点的出入度等方面来评价。

        精确度和通用性存在一定程度的对立,精确度较高的流程模型,通用性往往较差,反之亦然。简单性与精确性和通用性也有一定的关系,通常通用性较高的模型结构较简单,而精确性较高的模型结构较复杂。如何使流程模型质量在这四个方面达到一种平衡,或者能够控制这四个方面的不同需求也是流程算法应该解决的问题。

  流程挖掘算法

  • 直接算法

        直接算法的思想是首先扫描日志中所有的实例,抽象出活动之间的基本关系,然后构建流程的控制结构,这类算法主要代表为α及扩展算法:α,α+,α++,α*,α#等。

        其算法基于日志定义了四种活动间的次序关系(以同一种日中L的活动为a和b为例),分别是:

  1. 紧邻关系a>b;
  2. 因果关系a->b(当且仅当a>b且非b>a);
  3. 并行关系a||b(当且仅当a>b且非b>a);
  4. 无关关系a#b(当且仅当非a>b且b>a);

接着根据四种关系进一步构造五种控制流结果,分别是:

  1. 顺序模式;
  2. 选择分叉模式;
  3. 选择合并模式;
  4. 并行分叉模式;
  5. 并行合并模式;
  • 启发式算法

        其算法为解决流程挖掘中的日志噪声问题, 研究人员提出了启发式算法。

  1. 噪声日志是指出现频次明显低于其他行为的特定行为,这是基于流程运行的稳定性的一种假设, 即噪声日志在正确日志中所占比例很小
  2. 启发式算法的基本思想是基于此基本假设, 在挖掘事件日志时, 考虑流程实例出现的频率, 从概率统计的角度识别噪声, 通过设定阈值, 将低频实例作为噪声过滤掉
  3. 启发式挖掘算法, 其基本思想是在挖掘事件日志时, 使用频率来刻画一对活动之间因果关系的强度,并以依赖度度量, 通过事件日志中不同活动之间的连接数计算得到依赖度, 依赖度低于某个阈值的日志即视为噪声, 将之过滤后输出相应的控制流结构形成流程模型。
  •  遗传算法

        传统挖掘算法都要求日志是完备的,除了启发式挖掘算法有一定的去除噪声能力,其他算法不具备去除噪声能力。并且启发式挖掘算法在去除噪声过程中有可能删除低频有效行为。

        遗传挖掘算法能够有效解决噪声问题,同时不需要进行人为适应性调参,在实际应用中更具备可用性。

        遗传算法挖掘主要动机是算法执行的全局搜索中获益。通过选择支持这些结构的内部表示来解决这些非平凡的结构。噪声问题自然由遗传算法解决,因为根据定义,这些算法对噪声具有鲁棒性。

        遗传方法的主要挑战是定义一个好的适应度度量,因为它指导遗传算法执行的全局搜索。由于搜索空间不受限制,所以遗传算法可以同时处理各种控制流结构。

        基于遗传算法的流程挖掘的关键是: (1)流程模型的表示方式; (2)评价流程模型的适应值函数;(3)遗传算子(杂交、变异)

  • 日志分类算法

            日志的多样性导致已有的流程挖掘算法得到的流程结构错综复杂,难以理解。为了解决这个问题,一种方法是对日志中的执行实例进行聚类,将其划分成多个子日志,然后对各子日志施用已有的挖掘算法。这种方法的关键在于如何对执行实例进行聚类。聚类的好坏将影响最终的挖掘结果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值