监督模式挖掘及其在分类中的应用
1. 数据模式挖掘的替代方向
在数据挖掘中,有两种替代方向。一种是挖掘能将数据划分为具有近似相同数值的事务的模式,另一种是挖掘可作为回归函数元素的模式,该回归函数能根据事务中模式的出现输出数值结果。
对于前者,可以使用类间方差作为有趣性度量。给定一个具有数值标签的数据集 $D_Y = {(d_1, y_1), \cdots, (d_n, y_n)}$,$y_i \in R$,模式 $\pi$,数据集子集 $D_{\subseteq}$ 中的平均值 $avg(D_{\subseteq})$ 定义为:
$avg(D_{\subseteq}) = \frac{\sum_{(d_i,y_i) \in D_{\subseteq}} y_i}{|D_{\subseteq}|}$
模式 $\pi$ 的类间方差定义为:
$var(\pi) = |cov(\pi)| (avg(cov(\pi)) - avg(D_Y))^2 + |D_Y \setminus cov(\pi)| (avg(D_Y \setminus cov(\pi)) - avg(D_Y))^2$
类间方差是凸的,这意味着其值的阈值可以转换为支持值的阈值,并且可以像处理离散目标值一样使用阈值或 top - k 挖掘。
对于后者,一些研究选择了线性回归函数来权衡单个模式的贡献。基于这些权重,定义了单个模式的质量函数,并推导了上限,用于对回归模型的组成模式进行 top - k 挖掘。
2. 监督模式集挖掘
监督模式挖掘操作通常会产生大量冗余和矛盾的模式。在构建分类器时,这些冗余或无关的模式可能是不可取的。因此,文献中许多技术都包含挖掘或选择结果集子集的机制。监督模式集挖掘方法主要受机器学习技术的启发,常见的有两种广泛应用的方法:
2.1 后处理方法
- 挖掘满足特定约束的监督模式集。
- 根据特定标准从该集合中选择一些模式。
2.2 迭代模式推导集挖掘方法
- 挖掘满足特定约束的(一组)监督模式。
- 修改约束或数据。
- 回到步骤 1。
后处理方法的主要优点是效率高,只需运行一次模式挖掘算法。而迭代挖掘算法的优点是可能具有更高的准确性,并且有可能使用无参数的模式挖掘算法。
大多数模式集挖掘技术可以从模式集对数据的划分角度来理解。这里需要引入等价关系和划分的概念:
定义 3.1
:集合 $D$ 上的等价关系 $\sim$ 是一个二元关系,对于所有 $d_1, d_2, d_3 \in D$,该关系满足:
1. 自反性:$d_1 \sim d_1$。
2. 对称性:$d_1 \sim d_2 \Rightarrow d_2 \sim d_1$。
3. 传递性:$d_1 \sim d_2 \land d_2 \sim d_3 \Rightarrow d_1 \sim d_3$。
等价关系将 $D$ 划分为不相交的子集,称为等价类或块。元素 $d \in D$ 的等价类定义为 $[d] = {d’ \in D | d \sim d’}$。块的集合称为划分或商集,记为 $D / \sim$。
直观地说,如果事务之间无法区分,则它们属于同一个等价类。可以使用模式创建一个新的数据库,其中每个事务由其包含的模式列表描述。如果两个事务使用相同的模式列表描述,则在这个新表示中它们是等价的。
更正式地,单个模式 $r$ 诱导一个等价关系 $\forall d_1, d_2 \in D$,$d_1 \sim_r d_2 \Leftrightarrow match(r, d_1) = match(r, d_2)$,一组模式 $P$ 也诱导一个等价关系 $\forall d_1, d_2 \in D$,$d_1 \sim_P d_2 \Leftrightarrow (\forall r \in P : match(r, d_1) = match(r, d_2))$。
在监督设置中,区分纯块和非纯块很重要。如果一个块中的所有示例都具有相同的类标签,则该块是纯的。一个好的模式集诱导的划分应该包含大部分纯块,因为如果具有不同类标签的两个示例包含完全相同的模式集,确定性算法将无法正确预测它们。
大多数模式集挖掘技术可以总结为以下步骤:
1. 挖掘或评估(一组)模式,可能仅在数据的部分上进行。
2. 根据步骤 1 的结果修改划分,例如移除一个或多个块,或者进一步划分它们。
3. 回到步骤 1,直到满足停止标准。
这些技术的差异主要在于评估模式的块以及选择要修改的块。
2.3 局部评估、局部修改技术
这类技术是最大的一类,它在划分的某些块上局部评估或挖掘模式,然后也只修改这些块中的一部分,通常是挖掘模式的那些块。
2.3.1 分治顺序“局部 - 局部”技术
这种技术借鉴了早期规则学习器的顺序覆盖范式。它从完整数据库开始,迭代地从数据集中移除示例:
1. 在当前剩余数据上找到最佳规则。
2. 移除该规则覆盖的所有数据。
3. 回到步骤 1。
这种方法属于“局部 - 局部”类别。每个模式将其挖掘的数据划分为两个块(局部修改),后续模式仅在未覆盖的块上挖掘(局部评估)。一些早期算法如 CBA、ARC - BC 和 CMAR 使用这种方法进行后处理,作者将其称为数据库覆盖。
分治方法可以应用于后处理设置和迭代挖掘设置。后处理可以通过两种方式进行:
1. 在顺序覆盖算法的每次迭代中考虑之前挖掘的完整模式集。
2. 固定模式考虑的顺序,仅在尚未按顺序考虑的规则中搜索最佳规则。
后者的优点是每个模式只考虑一次,如果被拒绝则不再评估,并且在模式集挖掘之前就确定了哪些模式是“最佳”的,但学习算法的复杂度较低。上述提到的 CBA、ARC - BC 和 CMAR 算法按固定顺序进行。CMAR 与其他算法的不同之处在于,它在由多个规则覆盖数据实例后才移除它们,这由用户提供的参数指导。CorClass 也使用固定顺序的顺序覆盖进行后处理。还有一种变体是在字符串分类中提出的,规则按置信度顺序处理,但仅移除被当前考虑的规则正确分类的实例。
ART 算法学习多个最佳规则,将它们的覆盖范围分开,然后在未覆盖的数据上重新迭代。DDPMine 算法最忠实于原始的顺序覆盖思想,它挖掘得分最高的模式,移除所有覆盖的实例,然后递归进行。
2.3.2 分治技术
这类“局部 - 局部”技术借鉴了决策树归纳:
1. 在数据子集上找到最佳分割标准。
2. 将数据划分为对应于覆盖和未覆盖实例的两个块。
3. 在新块上递归。
这种技术的潜在优势是,一个模式的所有错误都可以由其他模式纠正,因为所有数据在后续实例中都会被重新使用以推导其他模式。此外,在整个数据上可能不有趣的模式,在移除部分数据后可能变得相关。
这种技术最常用于迭代挖掘设置,使用分支限界 top - 1 模式挖掘算法搜索最佳模式。例如 Tree2 和 MbT 算法。也可以使用后处理方法,例如先挖掘 $\delta$ - 自由模式,然后将它们组合用于决策树测试。
2.4 全局评估、全局修改技术
这种方法在整个数据集上挖掘或评估模式,并修改划分中的所有块。虽然这意味着使用最大量的信息进行模式挖掘或选择,但通常需要付出更高的计算复杂度代价,因为每次迭代都需要遍历完整数据。此外,模式关系的语义比“局部 - 局部”方法更难理解。
这类技术通常按顺序进行,无论是后处理还是逐个挖掘模式。Picker* 算法通过选择创建最平衡划分的模式并相应地分割所有块来进行后处理,它考虑所有有前景的模式。fCork 技术使用基于对应关系的度量:
定义 3.2 :给定一个标记数据集 $D_C = D^+ \cup D^-$ 上的等价关系 $\sim_P$,该划分中的对应数量计算为 $occ(P) = \sum_{[d] \in D_C / \sim_P} |[d] \cap D^+| \cdot |[d] \cap D^-|$。
fCork 技术使用这个度量进行后处理和迭代挖掘,以减少对应数量。Picker* 算法和 fCork 技术使用的标准都是次模的,这允许对贪心近似最优解的质量给出界限。
还有一些“全局 - 全局”技术不直接操作数据,例如通过奖励模式在完整数据上的类相关性并惩罚与已选模式的重叠来进行后处理。Krimp 技术也属于这一类,它评估每个模式对数据整体压缩的贡献,并按固定顺序对模式进行后处理。
另一种方法是给示例附加权重,并根据规则集的当前组成修改权重:
1. 在当前加权数据上找到最佳规则。
2. 修改数据中示例的权重。
3. 回到步骤 1。
降低示例权重的一个原因可能是已经有很多规则可以正确预测该示例,希望专注于为预测错误的示例找到规则。这种设置进行全局评估,因为每个新模式都在完整数据集上评估,并且原则上所有示例的权重都可以修改。一些算法如 [13, 33, 34, 44] 提出的方法可以用于迭代挖掘或后处理。在第一个工作中,在子组发现设置中直接调整事务权重,因为子组发现更关注挖掘统计上不同子组的良好描述,而不是准确预测,所以移除覆盖实例是不可取的。其他工作如 gPLS 和 gBoost 算法以及贝叶斯线性回归技术,通过线性分类或回归函数中模式的权重间接推导事务权重,并迭代挖掘模式。由于精确预测数值值很困难,根据函数的当前性能重新加权实例比移除实例更优。
这些技术虽然计算复杂度增加,但得到的模式集基数比“局部 - 局部”方法小,并且通常具有相当甚至更好的质量。
2.5 局部评估、全局修改技术
鉴于“局部 - 局部”方法运行时间快但模式集大,“全局 - 全局”技术操作成本高但模式集小且质量高,“局部 - 全局”算法的发展是很自然的:
1. 在数据子集上找到最佳模式。
2. 基于所有模式操作整个数据。
3. 在新块上递归。
目前,ReMine 算法是唯一以这种方式迭代挖掘监督模式的算法。
2.6 基于数据实例的选择
除了基于划分的技术,还有一种基于单个实例选择模式的范式。Harmony 算法和 CCCS 为每个训练实例保留最高置信度的规则,而 Large Bayes (LB) 技术根据要预测标签的实例选择模式。这类似于 DeEP 和 LAC,它们通过将数据投影到未标记实例包含的项目上,仅生成与要预测实例匹配的模式。
下面是这些技术的对比表格:
| 技术类型 | 评估范围 | 修改范围 | 优点 | 缺点 | 示例算法 |
| — | — | — | — | — | — |
| 局部评估、局部修改 | 部分块 | 部分块 | 运行速度快 | 模式集大 | CBA、ARC - BC、CMAR、Tree2、MbT |
| 全局评估、全局修改 | 整个数据集 | 所有块 | 模式集小、质量高 | 计算复杂度高 | Picker*、fCork、gPLS、gBoost |
| 局部评估、全局修改 | 部分块 | 整个数据集 | 结合两者优点 | 暂无成熟多种算法 | ReMine |
| 基于数据实例的选择 | 单个实例 | - | 针对性强 | - | Harmony、CCCS、Large Bayes、DeEP、LAC |
以下是模式集挖掘技术的流程图:
graph TD;
A[开始] --> B[选择挖掘方法];
B --> C{后处理方法};
B --> D{迭代模式推导集挖掘方法};
C --> E[挖掘满足约束的模式集];
E --> F[根据标准选择模式];
D --> G[挖掘满足约束的模式];
G --> H[修改约束或数据];
H --> G;
F --> I[模式集挖掘完成];
H --> I;
3. 分类器构建
在挖掘出监督模式并选择合适的子集后,接下来的问题是如何将它们用于预测目的。解决方案主要分为两类:一是直接将模式用作规则来预测未见类的标签,这类技术大量借鉴了机器学习中的规则学习方法;二是在模型中间接使用模式,此时模式通常被视为特征,应用于成熟的机器学习方法中。
3.1 直接分类
在规则学习中,有两种主要的预测方法。
3.1.1 决策列表法
规则按照某种标准排序,第一个匹配未见实例的规则进行预测。这种分类器要求规则具有较高的准确性,同时不会过度拟合训练数据。因此,某些优化质量度量的方法会更合适,例如最大化置信度或 WRAcc 比最大化信息增益或 $\chi^2$ 更适合这类分类器。CBA 和 LAC 采用这种方法,CBA 按置信度(降序)、支持度(降序)和长度(升序)对规则列表排序,LAC 按信息增益(降序)排序。
3.1.2 投票机制法
收集所有匹配未见实例的规则,每个类从这些规则中“收集投票”。这种方法不太强调单个规则的预测,与机器学习中的集成思想相关。如果预测器的误差不相关,使用多个预测器可以消除许多非系统性误差。
常见的投票方法有:
-
多数投票
:预测的类标签是多数规则预测的标签。
-
加权投票
:规则的投票可以根据其准确性、强度或在给定类中的支持度等进行加权,预测得票最强的类。许多基于模式的分类器使用这种方案,例如 CMAR 进行加权投票,根据规则与潜在最大 $\chi^2$ 得分的偏差对投票进行折扣;FitCare 和 ARC - BC 简单地将规则在每个类中的相对支持度相加;CAEP 将模式的增长率乘以其在类中的相对支持度相加;DeEP 将类中包含任何投票模式的实例比例作为该类投票的权重。Harmony 包括三种投票选项:最高置信度规则、所有规则或前 k 条规则为特定类投票,XRules 也使用不同的规则强度度量。
CTC 和 CorClass 使用了不同的选项,包括决策列表、多数投票和两种加权投票策略。
gBoost 算法在机器学习文献中对 LPBoost 提升算法进行修改,迭代地搜索模式而不是弱学习器。可以证明,在某些条件下,该算法可以找到最优的线性分类和回归模型,其中模式作为线性模型的特征。提升算法通过迭代地根据线性规划的结果修改示例的权重来操作。
一些规则集可以表示决策树。从决策树的根到叶的每条路径都可以看作是一个预测该叶标签的规则,所有规则覆盖数据的不相交部分。因此,模式也可以用于表示决策树中的路径。DL8 方法通过对在约束条件下找到的模式集进行后处理,构建了在某些条件下最优的决策树。该方法与 Tree2 的不同之处在于,DL8 中每个模式表示树中的一条路径,而 Tree2 中每个模式表示一个节点。
以下是直接分类方法的对比表格:
| 分类方法 | 原理 | 优点 | 缺点 | 示例算法 |
| — | — | — | — | — |
| 决策列表法 | 规则排序,首个匹配规则预测 | 规则准确性要求高时适用 | 对规则质量要求高 | CBA、LAC |
| 投票机制法 | 收集匹配规则投票 | 减少非系统性误差 | 依赖规则组合 | CMAR、FitCare、ARC - BC、CAEP、DeEP、Harmony、XRules |
| gBoost 算法 | 修改 LPBoost 搜索模式 | 可找最优线性模型 | 算法较复杂 | gBoost |
| DL8 方法 | 模式后处理构建决策树 | 构建最优决策树 | 依赖模式挖掘结果 | DL8 |
3.2 间接分类
间接分类有多种形式。
3.2.1 数据划分预测法
像决策树一样,将数据划分,将未见实例分类到某个块中,使用训练数据中该块实例的多数标签进行预测。Tree2 和 MbT 构建这种类型的分类器。
3.2.2 机器学习形式主义应用法
其他机器学习形式主义也可以与监督模式结合使用。例如,LB 算法使用类似朴素贝叶斯的公式,根据模式在不同类中的支持度进行预测。
以下是间接分类方法的简单列表:
1. 数据划分预测法:Tree2、MbT
2. 机器学习形式主义应用法:LB 算法
下面是分类器构建流程的流程图:
graph TD;
A[挖掘监督模式并选子集] --> B{分类方式};
B --> C{直接分类};
B --> D{间接分类};
C --> E{决策列表法};
C --> F{投票机制法};
C --> G{gBoost 算法};
C --> H{DL8 方法};
D --> I{数据划分预测法};
D --> J{机器学习形式主义应用法};
E --> K[规则排序预测];
F --> L[收集规则投票];
G --> M[修改算法找模式];
H --> N[模式后处理建树];
I --> O[划分数据预测];
J --> P[应用机器学习公式];
K --> Q[分类完成];
L --> Q;
M --> Q;
N --> Q;
O --> Q;
P --> Q;
综上所述,监督模式挖掘及其在分类中的应用涉及多种技术和方法,每种方法都有其特点和适用场景。在实际应用中,需要根据数据的特点和任务的需求选择合适的方法,以达到最佳的分类效果。
超级会员免费看

被折叠的 条评论
为什么被折叠?



