并行数据挖掘:追求质量而非速度
在数据挖掘领域,传统的并行算法往往侧重于提高计算速度,而本文提出了一种新的思路,即利用并行资源来提高算法的准确性并减少启发式偏差。下面将通过集合覆盖问题和决策树归纳两个例子来详细介绍这种方法。
集合覆盖问题
- 问题定义 :给定一个包含 $n$ 个元素的集合 $X$ 和 $m$ 个子集组成的集合 $S$,目标是找到 $S$ 的一个最小子集,使其能够覆盖 $X$ 中的所有元素。
- 贪心算法 :从空集开始,每次选择包含未覆盖元素最多的子集加入临时覆盖集,直到所有元素都被覆盖。
集合覆盖算法的调优
- 加宽集合覆盖 :并行构建 $k$ 个临时覆盖集,每次迭代为每个临时覆盖集生成 $k$ 个包含元素最多的细化方案,然后从 $k^2$ 个细化方案中选择前 $k$ 个作为新的临时覆盖集。参数 $k$ 取决于可用的计算资源,$k$ 越大,探索的选项越多,解的质量越高。
- 加深集合覆盖 :在每一步探索 $k$ 个包含元素最多的细化方案,为每个细化方案构建 $l$ 步后的“更深覆盖”,选择具有最大 $l$ 深度覆盖的细化方案作为下一次迭代的临时覆盖集。广度参数 $k$ 决定每一步探索的细化方案数量,深度参数 $l$ 决定构建未来覆盖的步数。
实验评估
为了比较贪心启发式算法和两种调优方法(加宽和加深),使用了 Rail - 507 和 Rail - 582 两
超级会员免费看
订阅专栏 解锁全文
689

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



