挖掘最大频繁项集的朴素蚁群优化算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Simple ant colony optimization for mining maximal frequent itemsets
HUANG Hong-xing, JING Lin, HUANG Xi-pie
(College of Computer and Information, Fujian Agriculture and Forestry University, Fuzhou 350002, China)
[10] [1]
1
最大频繁项集的数学模型
设最大频繁项集的数学模型为 = ( , , , ): 输入 : = ( , ), 是所有项组成的顶点集合, 即 ={ 1 ,
2
,…, ,…, }。 相邻顶点 与 +1 之间有两条边, 分别称为 “0” 边
和 “1” 边, 是所有边的集合。 解空间 :={ 1, 2,…, ,…, } 是一组 个离散变量的集合, = {0,1} 是变量 的值域。若 =1, 表示项 在当前所考虑的顶 点集合中; 若 = 0, 表示项 不在当前顶点集合中。一个可行 解是满足约束条件的 , 解空间则是所有可行解构成的集合, 即 ={ | , 满足约束条件,= 1, 2,…, }。 约束条件 : 根据频繁项集的定义 [1], 对于频繁 2- 项集, 若 = 1, = 1, 则 Support{ , }≥mins_s。依次类推。 目标函数 : 是一个可行解集合到正整数集合的映射 :
收稿日期:2010-01-09;修订日期:2010-08-06。 作者简介:黄红星 (1979-),男,湖北红安人,硕士,讲师,研究方向为智能计算方法及其应用; 景林 (1957-),男,辽宁本溪人,教授,研 究方向为林业信息系统; 黄习培 (1977-),男,福建永泰人,硕士,讲师,研究方向为数值计算与图像处理等。E-mail:hhx825@126.com
302
2011, Vol.32, No.1
= 。
计算机工程与设计 Computer Engineering and Design
算法最开始的雏形, 简化了计算。这样, 与每个项关联的信息 素是两个边, 即每个节点有两个信息素, 通过这种特殊而朴素 信息素机制, 将边与点紧密关联起来, 既构建了蚁群的路径, 又与问题的解相关联。
为了说明应用 蚁群优化算法求 解 MFI 与 求解 TSP 的 不
刻位于节点 的蚂蚁数, 则 刻, 将 息素相等, 令
只蚂蚁随机地放到 个节点上, 此时节点 ( 项 ) 上的信 0 = 0.5, 使得初始两条边以等概率被选。蚂 表示
同之处, 下面 以 TSP 为例, 介绍基本蚁群优 化算法的原理 及 其模型 [2]。 设 = { 1, 2,…, } 是 个城市的集合, = { , 离, = , , }是 集合 中元素 ( 城市 ) 两两连接的集合, 是 , 的 Euclidean 距 是一个有向图, TSP 的目的是从 中寻找长度最短 的 Hamilton 圈, 即找出对 = { 1, 2,…, } 中 个城市访问且只访 问一次的最短的一条封闭曲线。 设 表示蚁群中蚂蚁的总数, 位于城市 的蚂蚁数, 则 =
3
3.1
求解 MFI 的朴素蚁群优化算法
信息素
信息素 = { 若 = 1 则项 被选,1 表示与 | = 1,2,…, },
节点 关联的 “1” 边上信息素; 若 = 0 则项 没有被选,0 表示 与节点 关联的 “0” 边上信息素。 这种 信 息 素释 放 机制 来 源 于蚁 群 算法 产 生 启蒙 阶 段 的 “双桥实验” ,之所以命名为朴素蚁群算法是因为这是蚁群
计算机工程与设计 Computer Engineering and Design 黄红星,景林,黄习培:挖掘最大频繁项集的朴素蚁群优化算法
2011, Vol. 32, No.1
301
挖掘最大频繁项集的朴素蚁群优化算法
黄红星, 景
摘
林, 黄习培
( 福建农林大学 计算机与信息学院,福建 福州 350002)
3.4
局部搜索
, +1 —— 第 只 蚂 蚁 在 本 次 循 环 中 留 在 路 径 , +1 表示本次循环中路径 ( , ) 上 0 = 0。
这里采取朴素的局部贪心搜索机制, 即当蚂蚁构造完一个 { 局部最大频繁项集后, 逐步检验其解 = 1, 2,…, ,…, }。若 = 1, 跳过; 若 = 0, 则令 = 1, 并判断是是否满足问题的所有约束。 如果满足, 则继续检查下一项; 否则, 仍置 = 0, 然后继续检查 下一项。 事实上证明, 采取局部搜索机制的蚁群算法可得到与 使用启发式信息性能完全一样好的解, 而且减少计算量。
城市都加入到
所走过的路径便是 TSP 的一个可行解,
蚂蚁 下一步允许选择的所有城市。 为信息素启发式因子, 表示轨迹的相对重要性;为期望启发式因子,表示能见度的 相对重要性; 为启发函数,通常取城市 , 之间距离 的倒 数, 表示从城市 到城市 转移的期望程度。 当所有的蚂蚁完成一次循环, 各路径上的信息素根据以 下公式更新 +1 = 1 , +1 =
要: 为了挖掘大 型数据库中的最 大频繁项集, 为 其建立了非线性 优化模型, 并给 出一种朴素蚁群 算法求解。该算法 只需 要扫 描一次数据库,不使用 启发式信息而 采用朴素信息素 模型,即信息素释放在 与每个项关联 的有两个边上,从而将 边与 项紧 密联系起来,既构建了 蚁群的路径,又挖掘最 大频繁项集。 采用与问题紧密 相关的局部更 新、全局 更新和局部搜 索机 制。 理论分析和对比 实验结果表明 了该算法的有效 性。 关键 词 : 数据挖掘 ; 最大频繁项集 ; 非线性优化 ; 蚁 群优化 中图 法分类号 : TP301 文献标 识码 : A 文章编号 : 1000-7024 (2011) 01-0301-04
Abstract:To mining maximal frequent itemsets in large database, a non-linear optimization model is established and then applied a simple ant colony algorithm to solve it. The proposed algorithm scans the database only once. It has no heuristic information but adopt a simple information pheromone model. The pheromones are laid on two edges associated with each item and thus both the tour graph is constructed and the maximum frequent itemsets are mined. The local update, global update and local search mechanism which closely related with the problem is given. Theoretical analysis and comparison results show the effectiveness of the algorithm. Key words:date mining; maximum frequent itemsets; non-linear optimization; ant colony optimization
——选择 “0” 边到达节点 的概率,1
0 1
——选择 “1”
显然 边到达节点 的概率,
。其中, 为信息素启
上的信息素。在算法的初始时刻, 将 只蚂蚁随机地放到 座 城市上, 此时各路径上的信息素相等, 即 下一个城市。 转移概率 = 其中,
0
发式因子, 表示轨迹的相对重要性;为期望启发式因子, 表示 能见度的相对重要性。在本算法中, 取 =1,=0。即不使用启 从而式 (1) 简化为 发式信息。由于 0 + 1 = 1, = (2) 得到一个解
每只蚂蚁根据路径上残留的信息素和启发式信息独立地选择 表示 时刻蚂蚁 从城市 转移到城市 的状态
3.3
信息素更新
(1) 局部信息更新: 当一个蚂蚁 经历时间
0, 否则 ( = 1,2,…, ) 记录蚂蚁 所走过的城市, 当所有 个 中时, 蚂蚁 便完成了一次循环, 此时蚂蚁 = 表示
{
, 如果
={ 1, 2,…, ,…, },与之对应构造的一个局部最大频繁项集 后, 算法进行信息素局部更新。即衰减与最大频繁项 集相关联边的信息素, 目的是为了增加算法解的多样性, 从而 间接的指导后继蚂蚁选择那些尚未选择的顶点,搜索尚未探 索的解空间区域。更新公式为 1 + 0, 若 , 0,1 + = , 否则 (2) 全局信息素更新: 当某次迭代所有的蚂蚁 经历时间
=1
{
都分别构造完一个最大频繁项集 局信息素更新。设本次迭代最大频繁项集为 局最大频繁项集为 + = 1 = 1+ 0, 。更新公式为 + 1 ,+ ,
后, 算法进行全 , 迄今全 0,1 ,若 否则
+
, +1 , +1 表示信息素 ,+
{
式中: (0,1) ——路径上信息素挥发因子, 则1 残 留因 子 ; ( , ) 上的信息素的量, 则 的信息素增量, 且初始时刻
0
引
言
最大频繁项集 (maximal frequent itemsets, MFI ) 挖掘用于发 现频繁地出现在数据集中的最大子集。根据 2004 年频繁项 集挖掘实现会议 , 性能较好的两个最大频繁项集挖掘算法是 FPMax 和 MAFIA。但是这些精确型算法往往使用复杂的数 据结构, 然后遍历该结构; 产生大量的候选集, 然后进行剪。 算法复杂度高, 不具有可伸缩性, 当数据稠密时消耗的时间和 空间是不可承受的, 并且最终容易导致无意义的关联规则。 因此设计发一种既能提高算法效率, 又能找到有意义的关联 规则的智能算法, 具有重大意义。 蚁群优化 (ant colony optimization, ACO)[2]算法是通过模拟 蚁群部落的群体行为而得出的一种仿生算法, 并成功用于求 解旅行商问题等经典组合优化问题。 蚁群算法应用于关联规 则还是一个非常新的课题, 目前已有一些蚁群算法挖掘关联 规则, 主要分为两类: 一种是借鉴蚁群算法挖掘分类规则的方 法直接挖掘关联规则, 如文献 [3-9], 然而, 关联规则与分类规 则是不同的 。另外一种方法是先挖掘频繁项集后产生关联 规则, 由于产生关联规则的方法是确定的, 所以应用蚁群算法 挖掘频繁项集成为关键。文献 [12] 首次给出了挖掘最大频繁 项集的蚁群算法 ACS-MFI, 有效的提高了挖掘的效率。 但是,
=1
蚁无需具有记忆功能, 每只蚂蚁只需根据面对的两条边留下 的信息素和启发信息大小独立地选择下一个节点。 边, 所以 =
0 0
时刻蚂蚁 选择节点 的概率, 由于与节点 关联的只有两条
+ =1
(1)
1 1
( = 1,2, …, ) 表示 时刻 。 表示 时刻路径 , 0 = ( 0 为常数 )。
式中:0
→ +, 对于给定可行解 ,
即 ∈ 最优解 *:* 是是有着最大目标函数值的可行解, , *≥ 。 这样, 实际上将最大频繁项集问题转化非线性优化问题, 下面应用朴素蚁群算法求解。
3.2
Байду номын сангаас
项集选择
设 表示蚁群中蚂蚁的总数, =
=1
= 1, 2,…, ) 表示 时 。在算法的初始时
2
求解 TSP 的基本蚁群优化算法
[13]
4
算法的性能分析
对于给定数据库 = { 1, 2,…, ,…, } 和项集 = { 1 , 2 ,…, ,…, , 蚂蚁数 , 上述算法的时间复杂度和
该算法将信息素放在项上, 没有路径的概念, 而且采用的仍然 是传统蚁群算法模型,特别是定义的动态启发式信息和信息 素更新计算量大, 需要经过多次迭代才能找到最大频繁项集, 并且提取率往往不高。 因此, 本文首先建立最大频繁项集挖掘的数学模型, 然后 给出求解该问题的信息素模型和更新机制。最后从理论和实 验两方面说明该算法挖掘最大频繁项集的效率和智能。