EN
返回档案库

案例库 · 研发与科研 · 技术决策 · 1994

IBM的Apriori通过剪枝不可能的候选项来挖掘顾客一起购买的商品

Agrawal和Srikant在1994年提出的Apriori算法利用子集规则提前剪枝,从海量交易日志中找出频繁项集。

IBM阿尔马登研究中心

那一手

零售商想知道哪些商品会被一起购买,但随着商品种类(SKU)的增加,可能的商品组合数量呈指数级爆炸。

1994年发表的Apriori算法利用了这样一个性质:任何不频繁项集的超集也必然不频繁。它先统计单品数量,保留频繁项,将它们组合成对并重复,因此绝不会计算那些父项已失败的候选。

这一技巧将原本迅速变得难以管理的搜索,转化为只触及频繁集合的小前沿。它让购物篮分析变成了一种实用的数据库查询。

为什么管用

  • 向下封闭性在搜索增长之前就进行了剪枝,因此运行时间与频繁集相关,而非全部集合。
  • 每层扫描数据库,使内存仅受候选集限制。
  • 它给出精确的频繁集,而非启发式或抽样近似。
  • 同样的剪枝方法可推广到序列和模式挖掘,不仅限于购物篮。
值了多少如果一个集合是稀有的,那么它的所有超集也是稀有的聪明

可以搬走什么

在搜索巨大空间之前,寻找一个单调性质,让你能一次丢弃整个分支。一条能排除区域的规则,能将搜索从指数级缩减至线性。

后来呢

Apriori成为经典的关联规则算法和数据挖掘的标准课程。它催生了推荐、品类和交叉销售分析等领域,后来FP-Growth等方法进一步减少了扫描次数。

资料来源

发现哪里写错了?告诉我们。

同一路聪明