第七讲-流程挖掘(Process Mining)学习日志之α算法存在的问题

第七讲-流程挖掘(Process Mining)学习日志之α算法存在的问题

在现实中,我们往往不知道“真正的”模型是什么样的。事实上,不存在所谓描述一个过程的模型,在应用中可能同时存在多个模型(即同一件事情的不同视图),同时在发现的过程中模型可能 发生了许多变化。


参考:PROCESS MINING:Discovery,Conformance and Enhancement of Business Processes


7.1 基本思想

在这里插入图片描述

图5.17的起点是一个过程模型,例如一个工作流网 N。基于这个模型我们可以运行多个仿真实验并将仿真事件记录在一个事件日志中。假设事件日志关于某些标准是完备的,例如,若在N 中 x 可以紧跟 y, 那么在日志中至少发生一次x 紧跟 y。通过将完备的事件日志作为过程发现算法(如α算法)的输入,我们可以得到一个新的模型。现在的问题是:“发现的模型N’与原始模型N有什么相似之处?它们是否等价?”。等价性可以从不同的角度来观察,例如,希望发现算法能够重构模型布局是不合理的,因为布局信息并没有出现在日志中,并与过程的行为无关。基于同样的原因,希望发现工作流网的 原始库所名称也是不合理的。α算法生成名为p(A,B)的库所,而并不意味着与原始的库所名称匹配。因此,在比较发现的模型N’与原始模型N 时,我们需要将关注点放在行为(而不是布局和语法)上。


7.2 α算法面临的挑战

α算法是最早的能够适当捕捉并发的过程发现算法之一。如今,已经存在能够克服α算法缺点的更好算法,它们有的是α算法的变体,有的则使用完全不同的方法,例如遗传挖掘或者基于区域的综合分析。下一篇文章中,我们将讨论这些不同的方法。在展示这些新的过程发现技术之前,我们先说明主要的挑战。首先讨论表示偏好带来的影响,然后讨论输入事件日志含有噪声或不完备的相关问题。同时会讨论4种质量标准:拟合度、精确度、泛化度和简洁度。最后会再次强调发现的模型仅仅是现实中的一个视图,因此模型有多大的用处很大程度上取决于要解决的问题是什么。

7.2.1 表示偏好

在第六讲中我们将关注点放在生成工作流网的挖掘算法上,也就是说,我们假设可以使用一个工作流网来适当地描述潜在过程。所有的发现技术都需要这样的表示偏好 (representational bias)。举例来说,用于学习决策树的算法对结果树的结构做出了相似的假设,例如,大部分决策树,学习者在树中的每条路径上都只能在一个属性上分裂一次。

在讨论α算法的时候,我们假设要发现的过程是一个合理的工作流网。具体来说,我们假设潜在过程能够被一个工作流网描述,并且这个工作流网的每个变迁具有独一无二的可见标签。在这样的工作流网中,不可能存在两个具有相同标签的变迁(即1(t₁)=|(t₂)) 意味着 (t₁=t₂) 或者发生不可见的变迁 (即不包含无声变迁,对于所有变迁都有 l(t)≠ τ \tau τ) 。这些假设也许看起来无害,但是它们对能够发现的过程模型类型具有显著的影响。下面通过两个例子来展示这一表示偏好的影响。

对于一个类似 L10=[<a,a>55] 的事件日志,也就是说在所有实例中,严格执行了两个a。理论上来说,我们希望发现图5.20中的工作流网。但不幸的是,α算法的表示偏好导致这个过程模型不会被发现。此时不存在一个工作流网能够在不含有重复标签和 τ \tau τ标签的情况下拥有期望的行为,但是α算法却只能发现这样的工作流网(即每个变迁都必须具有独一无二的可见标签)。

在这里插入图片描述
现在让我们考虑事件日志L11=[<a,b,c>20,<a,c>30] 。 图5.21 (a) 很好地描述了潜在的过程:通过执行 τ \tau τ变迁可以跳过活动 b 。图5.21 (b) 展示了另一个可能的工作流网,它使用两个 a 变迁,而不使用 τ \tau τ变迁。这两个模型是轨迹等价的(它们不是分支模拟的,因为做出选择的时刻不同)。然而,不可能构造一个与这两个模型轨迹等价,同时不含有重复标签和 τ \tau τ标签的工作流网。图5.21 © 展示了α算法得到的模型。由于存在表示偏好,α算法注定会在这个日志上失败。图5.21 © 中的工作流网只能重演轨迹<a,b,c>, 但不能重演<a,c>,

事件日志 L10 和 L11 说明了表示可能带来的影响。然而,从α算法的角度来看,选择不考虑重复标签和 τ \tau τ变迁是明智的。 τ \tau τ变迁不会被记录在日志中,因此任何算法都会在重构它们的行为时产生问题。多个带有相同标签的变迁在事件日志中是无法区分的,因此任何算 法在将对应的事件与其中一个变迁相关联时都会产生问题。

上述问题出现在很多过程发现算法中。例如图5.1中,并发执行 b 和 c 或者仅执行e 的这一选择就令很多算法无法处理。大多数算法不允许并发和选择结合的非自由选择结构。 Petri 网领域中很好地定义了自由选择网(free-choice nets) 这一概念。一个 Petri 网是自由选择的,如果任意两个分享同一个输入库所的变迁拥有相同的输入集合,即对任意t₃t₂∈T,·t₁∩·t₂≠φ 意味着·t₁=·t₂ 。关于自由选择网的大多数分析问题(例如合理性) 都能够在多项式时间内得到解答。此外,许多过程建模语言是天生的自由选择,因此自由选择网变成了一个有趣的子类。不幸的是,现实中的过程倾向于非自由选择。图5.1中的例子说明α算法有时能够处理非自由选择结构,但是有很多非自由选择过程是α算法无法发现的。非自由选择结构仅仅是现存的过程挖掘算法存在问题的结构之一,其他的例子还有任意嵌套循环、取消、失衡的分裂与合并,以及部分同步。 在这样的背景之下,观察在定义中目标语言的表达能力,即表示偏好所限制的过程发现是很重要的。
在这里插入图片描述表示偏好可以帮助我们限制候选模型的搜索空间,这使得发现算法更加有效率。然而,它也会导致算法优先选择特定类型的模型。现有的方法能够通过选择一个更合适的表示偏好而受益。例如α算法可能会得到含有死锁或活锁的模型,此时可以使用表示偏好来限制搜索空间,使得结果只能是合理的模型(没有死锁和其他异常结构)。不幸的是,目前通常只能通过严格限制建模语言的表达能力或者使用更加花费时间的分析技术来达到这一目的。以块状 (block-structured) 过程模型为例,如果一个模型满足一系列语法要求,使它保证自己的合理性,那么这个模型是块状的。其中多数定义要求分裂和合并结构之间有一一对应的关系,例如,由 AND-split 创建的并发路径必须由对应的 AND-join 来同步。由于许多现实生活中的过程都不是块状的,我们需要小心避免对表达能力进行过多的限制。需要注意的是,将不规则模型转换为块状过程模型的技术倾向于引入很多重复或者沉默的活动,因此这样的转换无法缓解核心问题。

7.2.2 噪声和不完备性

为了发现合适的过程模型,需要假设事件日志包含了行为的代表性样本。除相互关联的事件和日志范围之外,还有两个相关现象可能会导致一个事件日志对被研究模型的代表性降低:

  • 噪声(Noise): 事件日志包含罕见和不频繁的行为,它们并不代表过程的典型行为。
  • 不完备性 (incompleteness): 事件日志包含的事件过少,导致无法发现一些潜在的控制流结构。

7.2.2.1 噪声

此处所定义的噪声并不是指错误的日志记录。在从各种各样的数据源中抽取事件日志时,我们需要尽可能早地定位数据问题。尽管如此,在某些阶段我们需要假定事件日志包含的是真实发生的信息。发现算法不可能从异常事件中区分出错误的日志记录,这需要人工判断以及日志的预处理和后处理。因此,我们使用“噪声”这个词来指代罕见和不频繁的行为(离群点),而不是指与事件记录相关的错误。对过程挖掘而言,过滤掉噪声是很重要的,有一些过程发现方法专门处理噪声,例如启发式挖掘、遗传挖掘以及模糊挖掘。

回忆我们在学习关联规则时定义的支持度 (support) 和置信度 (confidence) 标准。规则X→Y的支持度代表它的适用性,也就是使前提和结论同时成立的例子所占的比例。规则 X→Y 的置信度代表它的可靠程度。如果规则 tea∩latte→muffin 拥有0.2 的支持度和 0.9的置信度,那就意味着20%的顾客同时点了茶、拿铁咖啡和松饼,同时,在点了茶和拿 铁咖啡的顾客中有90%也点了松饼。在学习关联规则时,我们为支持度和置信度分别定义了阈值,也就是说,支持度或置信度低于阈值的规则会被认为是噪声。

让我们非形式化地把支持度和置信度的概念运用到基本的α算法上。α算法的出发点是>L关系,a>Lb 当且仅当L中有一个轨迹,其中b 直接跟在a 之后。现在我们可以基于<…, a,b, …> 这一模式出现在日志中的次数来定义a>Lb的支持度,即该模式出现的案例所占的比例。随后,我们可以使用一个阈值来清理>L 关系。a>Lb 的置信度可以被定义为<…,a, b,…> 模式在日志中出现的次数除以a 和 b 的发生次数所得到的值。例如,假设a>Lb 拥有 一个合理的支持度,如模式<…,a,b,…> 在日志中出现了1000次,同时a 发生了1500次, b 发生了1200 次,显然a>Lb 拥有一个不错的置信度。然而,如果模式<…,a,b,…>发生了1000 次而 a 和 b 非常频繁,都发生了超过100000次,那么a>Lb的置信度会变得非常低。>关系是足迹矩阵的基础,因此通过移除有噪声的a>Lb 规则,我们能够获得更加具有代表性的足迹,同时给予α算法一个更好的起点(在移除噪声时会遇到一些困难,但是基本思想应该很清楚)。上面简单地讨论展示了在发现过程模型时如何量化和识别噪声,再后面讲述启发式挖掘时我们将再次讨论这一话题。

在研究噪声时,我们也可以应用80/20 模型。通常我们感兴趣的是能够描述日志中反映行为的80%的过程模型,这个模型通常比较简单,因为日志中剩下的20%能够反映模型 80%的变化。

7.2.2.2 不完备性

在过程挖掘中,完备性 (completeness) 的概念是很重要的。它与噪声相关,但是当噪声指代日志中含有过多数据(描述罕见行为)这一问题时,完备性就代表着日志中含有的数据过少这一问题。
正如在任何数据挖掘或者机器学习上下文中一样,我们无法假设在训练材料(即手头的事件日志)中能够看到所有可能的事实。对于图5.1中的工作流网 N₁和事件日志L=[<a,b,c,d>³,<a,c,b,d>²,<a,e,d>] 而言,日志中出现的可能轨迹恰好是模型的可能轨迹集合。
但是一般来讲并没有这么巧,例如轨迹<a,b,e,c,d> 是可能的,但是却并没有出现在日志中。 过程模型通常允许指数甚至无穷个不同的轨迹(有循环的情况)发生,同时部分轨迹发生的概率远低于其他轨迹。因此,认为所有可能的轨迹都出现在事件日志中是不切实际的。

α算法使用一个相对弱的完备性概念来避免这一问题。尽管 N₃ 拥有无数个可能的发生序列,但一个简单的日志如 L₃=[<a,b,c,d,e,f,b,d,c,e,g>,<a,b,d,c,e,g>²,<a,b,c,d,e,f,b,c,d,e,f,b,d,c,e,g>]就可以用于构建N₃。a 算法使用一个基于>L的局部完备性概念,即如果存在两个活动 a 和 b, 并且b可以直接跟在 a 后发生,那么它在日志中应该至少能够被观察到一次。

举例说明,考虑一个过程,它含有能够并发执行的10个活动,对应这个过程的日志包含10000个案例的信息。在这个模型中,10个并发活动可能产生的交织数是10!=3628800, 而日志中仅有10000 个案例,因此不可能所有的交织都出现在日志中。即使日志中有 3628800个案例,所有交织都出现的可能性也是极小的。为了说明这一点,考虑一个类似的情景:在365个人中每个人的生日都不同几乎是不可能的,其概率是365!/365365 ≈ 1.454955×10~157≈0,极小。通常估计宇宙中原子的数量大约为1079,因此从整个宇宙 中选出一个特定原子的概率比365天都被覆盖到的概率高得多。类似地,任意具有一定复杂度的过程的所有可能轨迹都发生是不太可能的,因为大多数过程拥有超过365个可能的执行路径。事实上,由于一些序列通常比其他序列发生的可能性更小,所以找到所有轨迹的概率更低。为此,我们需要较弱的完备性概念。对于含有能够并发执行的10个活动的过程,局部完整性可以急剧降低需要的观察次数。例如,对α算法来说,只需要10×(10-1)=90次不同的观察就可以构建出模型,而不是3628800 次。

7.2.2.3 交叉验证

前面关于噪声和完备性的讨论告诉我们,交叉验证 (cross-validation) 。事件日志可以被分割成训练日志和测试日志两部分,训练日志用于学习过程模型,而测试日志则基于未知的案例来评估这个模型。第7章将介绍基于事件日志评估模型质量的具体技术,举例来说,如果测试日志中的许多轨迹都与基于训练日志发现的工作流网的可能发生序列不符,那么可以认定这个模型的质量较低。

同样,可以使用 k 折交叉验证,以 k=10 为例,即把事件日志分成 k 个相等的部分。这样就可以进行 k 次测试,在每一次测试中,取其中一个部分作为测试日志,另外 k-1 个部分都作为训练日志。

交叉验证的问题之一是缺少反例,也就是说,日志只提供可能发生的行为例子,并不明确提供不可能发生的例子,这使得交叉验证变得复杂。 一种可能的解决方案是插入人工生成的反面事件,其基本思想是,一方面使用含有真实行为的测试日志评价结果模型的质量;另一方面使用含有随机行为的测试日志评价结果模型的质量,然后比较两方面的结果。理想的情况下,使用含有真实行为的日志评价得到的分数应该比使用含有随机行为的日志评价所得到的分数要高得多。

交叉验证也可以被应用在足迹矩阵这一较低的行为层次上。将事件日志简单地分割成 k 个部分,然后为每个部分构建足迹矩阵。如果得到的 k 个足迹矩阵差异很大(即使 k 值很小),那么我们可以肯定这个事件日志不满足α算法假定的完备性要求。可以在构建过程模型之前进行这一验证,假如结果明确显示>L很不完备,那么就需要使用高级的过程挖掘技术,同时挖掘结果需要谨慎解释。

7.2.3 四个相互竞争的质量标准

噪声和不完备性与事件日志的质量相关,并没有过多地探讨结果模型的质量。判定一 个过程挖掘结果的质量并不容易,需要从不同维度来描述。在本书中,我们提到4个主要的质量维度:拟合度 (fitness) 、 简洁度 (simplicity) 、 精确度 (precision) 和泛化度 (generalization) 。在这一节中,我们会回顾这4个维度,但并不涉及具体的标准,其中的某些维度还会在后面的章节中进行详细的讨论。无论如何,在读完本节之后,应该清楚地明白这些维度确实是可以量化的。

图5.22从高层次描述了这4个质量维度。 一个拟合度好的模型允许事件日志所反映的行为发生。如果模型可以从头到尾重演日志中的所有轨迹,那么这个模型的拟合度是非常理想的。定义拟合度有很多种不同的方式。可以在案例层面上定义,如定义为模型能够完 整重演的轨迹在日志中所占的比例。也可以在事件层面上定义,即定义为在模型中可能发生的事件在日志中所占的比例。在定义拟合度时,需要做出很多设计上的决定,例如跳过一步以及重演完成之后工作流网中仍有令牌残留需要付出什么代价。稍后我们会给出拟合度的具体定义。

在这里插入图片描述
错误率、准确率、真正例率、假负例率、精度、召回率和 F1 值等性能指标。召回率,即真正例率度量正面例子被正确分类的比例 (tp/p) 。 日志中的轨迹就是正面例子,当这个例子能够被模型重演时,就意味着这个例子被正确分类了。因此,不同的拟合度概念可以被看作各种各样的召回率度量。3.6.1节中的多数概念不能被使用,因为此处不存在反例,也就是说,fp 和 tn 是未知的。事件日志不包含在特定时间点不能发生的事件信息,因此我们需要其他概念。

简洁度标准指的是奥卡姆剃须刀原则。在过程挖掘中,这一原则意味着最好的模型是能够解释日志中所见行为并且最简单的模型。可以使用图中结点和弧的数量来定义模型复杂度,也可以使用更加复杂的标准,比如考虑模型结构性和熵的标准。去定义一种以经验为依据的模型复杂度评价标准,我们也提到过使用最小描述长度原则来实施奥卡姆剃须刀原则。

仅仅使用拟合度和简洁度是不够的,这一点可以从图5.23中的花型 Petri 网看出来。花型 Petri 网允许从start 开始,结束于end,并且中间包含任意顺序活动的任意序列发生。显然,这一模型允许用于基本α算法的所有事件日志。图5.23中加入的 start 和 end 活动只是为了将花型模型转化为一个工作流网。令人惊讶的是,这个模型能够重演至今看到的所有事件日志 (L1,L2,…,L11),这说明该模型的用处不大。事实上,花型模型仅仅包含事件日志中的活动信息,除此之外别无其他。仅仅基于活动的发生,就可以构建出花型模型。 这一模型是简单的,并且具有很好的拟合度,基于拟合度和简洁度这两个质量标准,花型模型是可以接受的。这说明拟合度和简洁度标准是必要的,但是并不充分。

在这里插入图片描述
如果说花型模型是一个极端,那么枚举模型就是另外一个极端。关于一个日志的枚举模型简单地列出所有可能的序列,也就是说,对于日志中的每一个轨迹,模型中都有对应的独立连续过程片段。在模型开始处有一个大的XOR-split, 用于选择序列中的一个,在模型结束则有一个大的 XOR-join, 用于合并这些序列。如果使用 Petri 网表示这个模型并且所有的轨迹都是独一无二的,那么变迁的个数等于日志中的事件个数。枚举模型是日志的简单编码,这个模型是复杂的,但与花型模型类似,它们都有非常理想的拟合度。

花型模型(一切情况皆有可能)和枚举模型(仅日志中的情况是可能的)等极端模型的存在告诉我们,需要另外的两个维度。一个模型是精确的 (precise), 如果它不允许“过多”行为。显然,花型模型是不精确的。 一个不精确的模型是欠拟合的,欠拟合问题是指 模型过度泛化了日志中的例子行为,也就是说,这个模型允许与日志中所见行为差异较大的行为发生。

一方面模型应该泛化 (generalize) 日志中的例子行为,另一方面,模型不能够局限于日志中所见的例子行为(类似枚举模型)。不进行泛化的模型是过拟合的,过拟合问题是指 生成了一个非常特殊的模型,这个模型只允许日志中的例子行为,也就是说它只能解释这一个样例日志,同一过程的另一个样例日志会生成一个完全不同的过程模型。

过程挖掘算法需要在过拟合和欠拟合之间求得平衡。如果一个模型不进行泛化,而仅仅允许日志中记录的行为发生,那么这个模型是过拟合的,这意味着对应的挖掘技术使用了一个很强的完备性概念:“如果一个序列在事件日志中不存在,那么它是不可能发生的!” 一个欠拟合的模型过度泛化了日志中的信息,也就是说,它允许更多额外的行为,即使日志中并没有任何迹象表明这些行为可能发生(类似图5.23 中的情况)。

现在让我们来看一些例子,这些例子将会告诉我们在过度泛化和过度特殊之间取得平衡是很困难的。例如,图5.6中的工作流网N₄和图5.14中的工作流网 N9, 两个网都能够产生日志L9={<a,c,d>45,<b,c,e>42},但是只有 N₄ 能够产生L₄=[<a,c,d>45,<b,c,d>42,<a,c,e>38,<b,c,e>22]。 显然, N₄ 是 L₄ 的合理选择。此外,尽管两个网都能够产生L9, 但很明显对于L₉ 而言,N₉ 是一个更好的模型,因为87个案例都不遵循两条附加路径(<b,c,d>和<a,c,e>) 。 现在考虑日志L12=[<a,c,d>99,<b,c,d>¹,<a,c,e>²,<b,c,e>98],可以认为对L₁₂而言N₄ 是较好的模型,因为所有的轨迹都能被重新生成,但是,200个轨迹中有197个能够被更加精确的模型 N9 解释,如果这3个轨迹被看作噪声,那么N9捕捉到了主要行为,而不是N₄ 。这些考虑因素告诉我们在过拟合和欠拟合之间存在着微妙的平衡,因此,选出 “最好的” 模型是非常困难的(即便不是不可能的)。

图5.24使用第1章中的例子说明了前面的讨论。假设图中4个模型都是基于图中描述的事件日志发现的,日志中有1391个案例,其中455个案例遵循轨迹<a,c,d,e,h> 。第二频繁的轨迹是<a,b,d,e,g>, 有191个案例遵循它。

如果我们将α算法应用到这个事件日志上,可以得到图5.24中的模型 N₁。比较工作流网 N₁ 和日志,可以发现这个模型很好:它是简单的,并且具有很好的拟合度。此外,它在过拟合和欠拟合之间取得了平衡。

图5.24中的另外3个模型在一个或多个质量维度上存在问题。工作流网 N₂ 只建模了最频繁的轨迹,也就是说它仅允许序列<a,c,d,e,h>。因此,它不适应另外1391-455=936 个轨迹。此外,模型N₂ 没有进行泛化,它是过拟合的。

工作流网N₃ 是花型模型的一个变体,它只是很好地捕捉到了start 和 end 变迁。N₃ 拟合度好、简单并且没有过拟合。但是,N₃ 缺少精确度,它是欠拟合的。举例来说,在 N₃ 中轨迹<a,b,b,b,b,b,b,f,f,f,f,f,g> 是可能的,但是这一行为看起来与日志中的轨迹差异很大。

图5.24只展示了工作流网 N₄的一部分,这个模型简单枚举了事件日志中出现的21个 不同轨迹。模型N₄ 精确而且拟合度好,但是它过度复杂并且是过拟合的。

图5.24中的4个模型举例说明了4个质量维度。4个质量维度中的 每一个都可以被量化。它可以将拟合度量化,得到的结果在0(很差的拟合度)和1(理想的拟合度)之间。考虑简洁度维度时,可以使用一个名为结构适当性(structural appropriateness)的概念对模型进行分析,看它是否在结构上最小化。 另一个名为行为适当性 (behavioral appropriateness) 的概念可以用于分析过拟合和欠拟合 之间的平衡。有许多不同的方法来测量图5.22中的4个质量维度。根据表示偏好和分析目标,可以定义不同的度量标准。

在这里插入图片描述

  • 36
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值