用蚁群算法用于数据挖掘
蚁群算法在数据挖掘中的应用研究

挖掘是多学科领域, 其核心学科涉及机器学习、 统计学和数据 库。数据挖掘强调的是发现知识, 获得的知识类型包括关联规 则, 分类、 回归、 聚类、 依赖模型等。 大型数据库为知识的产生和 验证提供了丰富的相对可靠的数据资源, 从数据库中发现的知 识更有助于决策支持和过程控制。 是由意大利 学 者 3+/04.+ , 蚁群算法 ( ’() *+,+(- ’,.+/0)12)
!$!
基于蚂蚁觅食原理的聚类分析
蚂蚁的觅食过程可分为搜索食物和搬运食物两个环节。 每
个蚂蚁在运动过程中都会在其经过的路径释放信息素, 蚂蚁能 够感知信息素的存在及其强度。 经过蚂蚁越多的路径其信息素 越强, 同时信息素自身也会随着时间的流逝而挥发。蚂蚁倾向 于朝着信息素强度高的方向移动,某一路径上走过的蚂蚁越 多, 后者选择该路径的概率就越大, 整个蚁群的行为表现出信 息正反馈现象。基于蚂蚁信息素痕迹的聚类分析基本思想如 下: 将数据视为具有不同属性的蚂蚁, 聚类中心既是蚂蚁所要 寻找的 “食物源” , 那么数据聚类过程就可以看作是蚂蚁寻找食 (+#’, …, , 物源的过程。假设数据对象为 ) &1) 2) #* +#!, +#,) #&’ , !, 算法首先进行初始化, 将各个路径的 信 息 素 !( …, -3, &" 置 #. " ) 设置簇半径 /, 统计误差 " , 代表对象 0 等参数。计算对象 为 ",
其中, …, …, 大于 4&1) 32’3."/, 3 &’ , !, ., .%’ , -3。如果 !( #. 1 ) 阈值 ! ", 那么将 ) # 合并到 ) . 的领域。 上述聚类方法中代表对象 0 对运行效率和聚类 结 果 影 响 较大, 代表对象的选择方法也比较多, 可以根据情况尝试不同 的方法避免算法陷于局部最优。 算法虽然不需要事先给定聚类 的个数, 但由于簇半径是预置的, 所以聚类的规模受到限制。 这两种方法的不同之处主要在于蚂蚁个体间的通信介质 不同。在第一种方法中, 蚂蚁之间是通过对象的空间分布状态 达到相互作用的目的; 而在第二种方法中, 蚂蚁的通信介质是 其在所经路径上留下的信息素。另外, 文献 4#5在蚁堆聚类的基
数据挖掘中的群体智能算法

数据挖掘中的群体智能算法数据挖掘是一项重要的技术,旨在从大量数据中发现有价值的信息和模式。
在数据挖掘的过程中,群体智能算法起着至关重要的作用。
群体智能算法是一种仿生算法,通过模拟自然界中群体行为来解决复杂问题。
在数据挖掘中,群体智能算法能够有效地发现隐藏在数据背后的规律和趋势。
群体智能算法的核心思想是将个体的局部知识和经验进行共享和合作,从而实现全局最优解。
其中最具代表性的算法之一是粒子群优化算法(Particle Swarm Optimization,PSO)。
PSO模拟了鸟群觅食的行为,通过不断调整粒子的速度和位置来搜索最优解。
在数据挖掘中,PSO算法可以应用于聚类分析、关联规则挖掘等任务中。
另一个常用的群体智能算法是遗传算法(Genetic Algorithm,GA)。
遗传算法模拟了生物进化的过程,通过选择、交叉和变异等操作来搜索最优解。
在数据挖掘中,遗传算法可以用于特征选择、参数优化等问题。
通过不断迭代和演化,遗传算法能够找到最优的解决方案。
除了PSO和GA,还有许多其他的群体智能算法可以应用于数据挖掘中。
例如,蚁群算法(Ant Colony Optimization,ACO)模拟了蚂蚁寻找食物的行为,通过信息素的传递和蒸发来搜索最优解。
在数据挖掘中,蚁群算法可以用于图像分割、路径规划等任务中。
另外,人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)模拟了鱼群觅食的行为,通过觅食和追随等策略来搜索最优解。
在数据挖掘中,人工鱼群算法可以用于聚类分析、优化问题等。
群体智能算法在数据挖掘中的应用不仅限于单一算法的使用,还可以通过组合多个算法来提高挖掘效果。
例如,可以将PSO和GA相结合,利用PSO的全局搜索能力和GA的局部搜索能力来寻找更优的解决方案。
此外,还可以将多个群体智能算法构建成一个层次结构,通过不同层次的合作和竞争来搜索最优解。
群体智能算法在数据挖掘中的应用还面临一些挑战和问题。
蚁群算法在大数据分析中的应用研究

蚁群算法在大数据分析中的应用研究随着大数据时代的到来,大数据分析已成为一个重要的研究领域。
如何高效地处理和分析庞大的数据集已成为大数据分析中的重要问题之一。
在这样的背景下,蚁群算法在大数据分析中的应用越来越受到研究者的重视。
蚁群算法最初是由马科夫尼克和迪特里希等人在1991年提出的,它是一种基于模拟蚁群行为的智能优化算法。
该算法模仿了蚂蚁在寻找食物时的行为,采用"正反馈机制"和"随机行走"等策略,寻找到最佳的路径。
蚂蚁在寻找食物时,不断释放信息素,其他蚂蚁也可以通过检测信息素的浓度来了解到已经发现了哪些路径。
当一条路径上信息素的浓度越高,其他蚂蚁会更倾向于走这条路径,进而形成更多的信息素,从而形成一种"自组织"的行为,得到最优解。
蚁群算法在大数据分析中的应用主要体现在以下三个方面:一、数据聚类数据聚类是指在大数据集中找出相似的数据集合,并将其分为多个簇。
传统的数据聚类算法,如K-Means、DBSCAN等,需要对所有数据点进行聚类,计算量很大,当数据点数量大到一定程度时,时间成本和计算成本将大大增加。
而蚁群算法则采用"正反馈机制"和"随机行走"等策略,不断搜索所有可能的方案,进而形成一个或多个聚簇。
蚁群算法具备自适应的移动能力,可以有效地解决大数据集聚类问题。
二、数据挖掘数据挖掘是指在大数据集中找出隐藏在数据背后的规律、趋势和信息。
传统的数据挖掘算法,如关联规则挖掘、分类、聚类等,需要对大量的数据进行计算和分析。
而蚁群算法的优势在于可以对数据进行深度搜索和二叉决策树建立。
蚁群算法通过模拟蚂蚁工作原理,实现对海量数据的快速、高效挖掘,挖掘出数据集中蕴含的更多规律和信息。
三、机器学习机器学习是指通过对数据集中数据的学习,自动提取出数据的规律和特征,实现对数据的准确预测和智能分析。
传统的机器学习算法,如支持向量机、随机森林等,需要先进行特征选择,再进行模型构建和训练。
蚁群算法及其应用研究进展

一、蚁群算法概述
ห้องสมุดไป่ตู้
蚁群算法是一种通过模拟蚂蚁寻找食物过程中的行为规律,实现问题最优解的 算法。蚂蚁在寻找食物的过程中,会在路径上留下信息素,后续的蚂蚁会根据 信息素的强度选择路径,并且也会在路径上留下信息素。随着时间的推移,信 息素会不断累积,最优的路径上的信息素会越来越多,最终导致所有的蚂蚁都 选择这条路径。
在理论方面,蚁群算法的数学基础已经日渐完善。一些学者通过数学模型和仿 真实验来研究蚁群算法的收敛性和鲁棒性,并对其参数进行优化。同时,蚁群 算法的并行处理研究也取得了很大的进展,提高了算法的求解速度和效率。
在应用方面,蚁群算法已经成功地应用于多个领域。例如,在解决旅行商问题 (TSP)和车辆路径问题(VRP)等组合优化问题时,蚁群算法表现出了良好 的性能和效果。此外,蚁群算法在信息检索、数据挖掘、机器学习等领域也有 广泛的应用,成为人工智能领域的一个研究热点。
未来研究应这些问题,以提高蚁群算法的性能和稳定性,并拓展其应用范围。 结合其他优化技术和机器学习方法的混合优化方法将是未来研究的一个重要方 向。随着大数据时代的到来,如何高效地处理大规模数据集将成为研究的另一 个重点。总之,蚁群算法在未来的领域中具有广阔的发展前景和挑战。
谢谢观看
5、大数据处理:利用蚁群算法处理大规模数据集,需要研究如何提高算法的 效率和处理大规模数据的能力。
五、结论
蚁群算法作为一种优秀的自然启发式优化算法,在解决一系列组合优化问题中 表现出良好的性能和效果。本次演示对蚁群算法的基本概念、研究现状、应用 领域及未来发展趋势进行了全面的概述。从现有的研究来看,虽然蚁群算法在 诸多领域已取得了显著的成果,但仍存在一些问题需要进一步研究和改进,如 收敛速度和参数敏感性问题等。
数据分析知识:数据挖掘中的蚁群算法

数据分析知识:数据挖掘中的蚁群算法蚁群算法是一种模拟蚂蚁觅食行为的启发式算法。
它是一种基于群体智能的方法,能够有效地用于数据挖掘和机器学习领域。
本文将介绍蚁群算法的基本原理和应用案例。
一、蚁群算法的基本原理蚁群算法受到了蚂蚁觅食行为的启发。
蚂蚁在觅食过程中会遵循一定的规则,例如在路径上释放信息素,吸引其他蚂蚁前往同一方向;在路径上的信息素浓度较高的路径更容易选择。
蚁群算法利用了这些规则,以一种群体智能的方式搜索解空间。
具体来说,蚁群算法由以下几个步骤组成:1.初始化:定义问题的解空间和初试信息素浓度。
解空间可以是任何基于排列、图形或其他对象的集合,例如TSP问题中的城市序列集合。
信息素浓度矩阵是一个与解空间大小相同的矩阵,用于反映每个解的吸引力。
2.移动规则:蚂蚁在解空间中移动的规则。
通常规则包括根据当前解和信息素浓度选择下一步解以及更新当前解的信息素浓度。
3.信息素更新:蚁群中的蚂蚁经过路径后,更新路径上的信息素浓度。
通常信息素浓度的更新涉及一个挥发系数和一个信息素增量。
4.终止条件:确定蚁群算法的运行时间,例如最大迭代次数或达到特定解的准确度。
蚁群算法是一种群体智能的方法,每只蚂蚁只能看到局部的解。
通过信息素的释放和更新,蚁群最终能够找到全局最优解。
二、蚁群算法的应用案例蚁群算法最常用于解决组合优化问题,例如TSP问题、车辆路径问题和任务分配问题。
下面将介绍蚁群算法在TSP问题和车辆路径问题中的应用。
1. TSP问题TSP问题是一个NP难问题,是指在旅行时,如何有效地走遍所有篮子,使得总的旅行距离最小。
蚁群算法是适用于TSP问题的一种有效的算法。
在每一代,蚂蚁会在城市之间移动,假设当前城市为i,则下一个选择的城市j是基于概率函数计算得到的。
概率函数考虑了当前城市的信息素浓度以及城市之间的距离。
每条路径释放的信息素浓度大小根据路径长度而定。
这样,蚂蚁可以在TSP问题上找到最优解。
2.车辆路径问题车辆路径问题是指在有限时间内如何合理地分配车辆到不同的客户,以最小化送货时间和车辆的旅行距离。
蚁群算法理论、应用及其与其它算法的混合

基本内容
蚁群算法是一种基于自然界中蚂蚁觅食行为的启发式优化算法,被广泛应用 于解决各种优化问题。该算法具有鲁棒性、并行性和自适应性等优点,但同时也 存在一些局限性,如易陷入局部最优解等问题。本次演示将详细介绍蚁群算法的 基本理论、应用场景以及与其它算法的混合使用。
蚁群算法的实现包括两个关键步骤:构造解和更新信息素。在构造解的过程 中,每只蚂蚁根据自己的概率选择下一个节点,这个概率与当前节点和候选节点 的信息素以及距离有关。在更新信息素的过程中,蚂蚁会在构造解的过程中更新 路径上的信息素,以便后续的蚂蚁能够更好地找到最优解。
蚁群算法在许多领域都得到了广泛的应用。在机器学习领域,蚁群算法被用 来提高模型的性能和效果。例如,在推荐系统中,蚁群算法被用来优化用户和物 品之间的匹配,从而提高推荐准确率;在图像处理中,蚁群算法被用来进行特征 选择和图像分割,从而提高图像处理的效果。此外,蚁群算法在数据挖掘、运筹 学等领域也有着广泛的应用。
结论本次演示介绍了蚁群优化算法的理论研究及其应用。通过分析蚁群优化 算法的组成、行为和优化原理,以及其在不同领域的应用案例,本次演示展示了 蚁群优化算法在求解组合优化、路径规划、社会优化和生物信息学等领域问题的 优势和潜力。本次演示展望了蚁群优化算法未来的发展方向和可能挑战,强调了 其理论研究和应用价值。
总之,蚁群算法是一种具有广泛应用价值的优化算法,它通过模拟蚂蚁的觅 食行为来实现问题的优化。未来可以通过进一步研究蚁群算法的原理和应用,以 及克服其不足之处,来提高蚁群算法的性能和扩展其应用领域。
基本内容
理论基础蚁群优化算法由蚁群系统、行为和优化原理三个核心要素组成。蚁 群系统指的是一群相互协作的蚂蚁共同构成的社会组织;行为则是指蚂蚁在寻找 食物过程中表现出的行为模式;优化原理主要是指蚂蚁通过信息素引导和其他蚂 蚁的协同作用,以最短路径找到食物来源。
群体智能算法的应用与发展

群体智能算法的应用与发展随着人工智能的不断发展,越来越多的领域开始采用群体智能算法来解决实际问题。
群体智能算法是一种基于群体智慧原理的计算方法,主要包括蚁群算法、粒子群算法、遗传算法、神经网络等。
这些算法广泛应用于数据挖掘、机器学习、图像处理、智能交通等领域。
本文将围绕群体智能算法的应用与发展进行探讨。
一、群体智能算法的应用1. 数据挖掘数据挖掘是将大量数据转化为有用信息的过程。
基于群体智能的数据挖掘算法可以有效地发现数据中的模式和规律。
例如,通过遗传算法可以对数据进行分类、聚类和推理。
2. 机器学习机器学习是指让机器通过学习和经验改进来实现某个任务。
群体智能算法可以用来提高机器学习的准确性和性能。
例如,在人工神经网络中,群体智能算法可以帮助优化神经元之间的连接权重,从而提高预测的精度。
3. 图像处理图像处理是指对图像进行复杂处理的过程,包括图像采集、图像表示和图像分析等。
基于群体智能的算法可以对图像进行匹配、分析、优化和重构。
例如,蚁群算法可以用来进行图像分割和图像跟踪。
4. 智能交通随着城市化和人口增长,交通问题越来越突出。
基于群体智能的算法可以用来解决交通拥堵、交通流调度和道路优化等问题。
例如,粒子群算法可以用来优化信号灯的调整,从而缓解交通拥堵。
二、群体智能算法的发展1. 集成学习集成学习是指将多个分类器集成在一起,从而提高分类性能的方法。
群体智能算法也可以集成在一起,达到更好的性能。
例如,通过蚁群算法和粒子群算法的集成,可以产生更好的分类结果。
2. 深度学习深度学习是机器学习的一种分支,它通过多层神经网络进行训练和学习。
群体智能算法也可以嵌入到深度学习中,从而提高模型的性能和效率。
例如,遗传算法可以用来优化深度神经网络的结构和参数。
3. 人工智能人工智能是群体智能算法的一种应用,它可以让机器像人类一样进行思考和决策。
随着群体智能算法的发展,人工智能也将变得越来越智能化、多样化和普及化。
蚁群算法在大数据处理中的应用研究

蚁群算法在大数据处理中的应用研究第一章引言随着信息技术的快速发展,数据已经成为现代社会的重要资源。
大量的数据涌现出来,如何有效地处理和分析这些数据已成为当今面临的重要挑战。
蚁群算法作为一种新兴的优化算法,已经被广泛地应用于大数据处理中。
本文将围绕蚁群算法在大数据处理中的应用进行探究,分析其优势和不足,为相关研究和实践提供参考。
第二章蚁群算法的基本原理蚁群算法(Ant Colony Optimization,ACO)是模拟蚂蚁群体行为的一种算法。
它的基本思想是通过模拟蚂蚁的觅食行为,寻求目标的最优解。
蚂蚁在寻找食物的过程中,会释放一种化学物质,称之为信息素,用于引导其他蚂蚁找到食物。
如果某一条路径上的信息素浓度较高,就说明这条路径被更多的蚂蚁选择,因此这条路径更有可能是通向食物的最短路径。
在算法中,优良路径上所留下的信息素会不断积累,也就是说,越优秀的路径上的信息素浓度就会越高,因此更可能成为优选路径。
第三章蚁群算法在大数据处理中的应用3.1 数据挖掘蚁群算法可以被用来解决数据挖掘中所遇到的诸多问题。
例如,在社交网络中找到关键人物,蚁群算法可以对这个网络进行建模,然后找到一组最有可能的“关键节点”,这些节点可以使网络中的信息传输更加高效。
3.2 任务调度在大规模分布式系统中,任务调度是一个非常重要的问题。
蚁群算法可以被用来解决这个问题。
例如,如果一个任务在某一节点上运行时间过长,蚂蚁就会认为这个节点不是很好的选择,并寻找其他节点来运行这个任务。
3.3 图像处理在图像处理中,常见的问题是如何对图像进行分割。
蚂蚁算法可以被用来解决这个问题。
在图像中,每个像素可以被看作是一个蚂蚁。
蚂蚁可以通过“留下信息素”来标记图像中的不同区域,直到找到最佳的分割点。
第四章蚁群算法的优势和不足4.1 优势蚁群算法有多种优势,其中最突出的是它的适应性。
蚁群算法能够根据当前解的优劣度调整搜索策略。
此外,蚁群算法还能进行并行计算,这使它能够应对大数据处理中的实时性和效率问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用蚁群算法用于数据挖掘一.数据挖掘背景介绍:数据挖掘和知识发现(Date Mining and Knowledge Discovery,简称DMKD)技术是指从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中提取隐含的、未知的、潜在的、有用的信息的过程。
随着计算机技术迅速发展,数据库技术也得到了广泛的应用。
现在的数据库系统可以高效地实现数据的录入、查询、统计计算等功能。
如果用数据库管理系统来存储数据,用机器算法来分析数据,挖掘数据背后的知识,这样就产生了数据库中的知识发现(即KDD)和数据挖掘(即DM)。
KDD和DM是指识别出存在于数据库中有效的、新颖的、具有潜在效用的、最终可理解的模式的非平凡过程。
数据挖掘的任务分成很多种,包括数据描述(characterization)、数据分类(classification)、数据关联(association)、区别分析(discrimination)、数据回归、数据聚类(clustering)、数据预测(prediction)。
我们这里要用蚁群算法解决的是数据分类这样一个问题:我们预先定义一组类,然后把数据系中的每一个数据根据该数据的属性,归入这些类中的一个。
比如说病情诊断:在医院里,病人感觉不适,进行检查,并且医生对一些以前的状况进行询问,可以得到很多各种方面的参数,比方对于SARS病情,可以得到的一些相关参数:体温,咳嗽,肺部X照射是否有阴影,以及各种症状持续时间,病人前一段时间接触过何种人群等等,这些大量的数据比较容易得到,但是如何根据这些大量的病人的病情参数来判断是否确实为SARS病症并不是一件很简单的事情,这就是我们的数据分类工作要做的事情。
我们要对数据进行分类,首先要有进行分类的规则,我们把判别规则表示为如下形式:IF < conditions > THEN < class >其中判别规则的前导部分(IF 部分)是一个条件项的集合.条件项就是一个只有<属性,关系符,属性取值>三个元素的简单的条件。
不同的条件项用逻辑运算符连接,一般是AND。
所以规则的前导部分就是一个由许多简单的条件由逻辑连接而成的复合条件。
符合这个条件的数据将被纳入规则后部的class中。
从规则有意义和可理解性来考虑,简单条件不能太多,而属于规则的数目也不能太多。
二.蚁群算法简单介绍:蚁群算法的几个要点:1.要把每一个蚂蚁寻的路和原问题的一个解对应;2.每个蚂蚁在它走过的路上留下的信息量正比于路的好坏,好的路有更大的信息量,才会吸引以后的蚂蚁选择这条路,因此是一个在计算过程中不断进行自适应调控的过程;3.当蚂蚁在走出每一步前,它选择怎样的走法,决定于当前它可以走的各条路的信息量分布。
由每条路的信息量的大小,来决定选择这条路的概率,信息量大的路有更大的被选择的机会,也代表着前面的蚂蚁选出的较优路径。
对一个实际问题采用蚁群算法的几个比较关键的地方:1.正确的把问题数学模型化,将问题的解对应于蚂蚁的路;2.寻找构造可行解的方法;3.解的评价函数;4.建立选择下一步的启发式规则;5.更新信息量的规则(自我调整);6.适当的终止条件。
三.蚁工——蚁群算法在数据挖掘上的改进:通过对蚁群算法作适合数据挖掘的改进,得到了蚁工算法,下面根据蚁群算法的几个关键的地方对蚁工算法进行介绍:1.确的把问题数学模型化,将问题的解对应于蚂蚁的路;a.规则表示为如下形式:IF< term1 AND term2 AND … > THEN < class >规则的IF部分由很多term组成,每个term是一个三元组<attribute,operate,value>三个元素的简单的条件,如果属性的取值是连续的,在程序运行前,必须先对其作离散和分级预处理。
条件项之间由AND逻辑连接而成的规则的IF部分。
符合这个条件的数据将被纳入规则后部的class中。
并且规定每种属性只能出现在一个条件项中,一定不允许出现诸如:“IF(Sex=male)AND(Sex=famale)”。
这样,可以把蚂蚁走过的路和一个这样的规则联系起来,每个属性可以作一个结点,蚂蚁可以每次选择一个结点作为它的行进方向,选择一条到达该结点费用最小的路。
这样,最后的解就和一条连接部分结点的路联系起来了。
2.寻找构造可行解的方法;按照上面的方式生成的解,每次生成的解必然是可行解;解形式:把一旦一个具体问题给出,我们就知道问题的属性数目和每种属性的取值分类数目,然后记录改种属性是否已经包含在条件项内了,而且取的是哪个数值,可以用一个一维数组表示,每个项表示一个属性而每项的数据写成二进制形式,就是表示对数值的选择,如:000100,表示有6个可取数值,取其中的第三个等级。
而每个蚂蚁当前的路径表如下:route[k]={0,4,0,0,8,1,0,0,0,0};这样一个解表示了一共有10个属性,其中已经选择除了第2,5,6个属性,并且第2个属性取自己的离散定义域第3个数值,第5个属性取第4个数值,第6个数值取第1个数值。
3.解的评价函数;一旦构建起一个规则,需要对规则的性能进行评价,这里我们采用评价函数:TNFP TN FN TP TP Q +⋅+= 其中:TP :true positives 属于该类的待检验数据被判断为该类的数目;TN :true negatives 属于该类的待检验数据被判为不属于该类的数目;FP :false positives 不属于该类的待检验数据被判为不属于该类的数目; FN :false negatives 不属于该类的待检验数据被判为属于该类的数目。
可以看出,Q 的数值一定在[0,1]之间,而且Q 的数值越接近1,则表面规则对该类的判断越准确。
FNTP TP +:敏感度(sensitivity),代表该规则判断为属于该类的待检验数据中确实属于该类的比例;TNFP TN +:明确度(specificity),代表该规则判断为不属于该类的待检验数据中确实不属于该类的比例。
这是对一个完整的规则的评价函数,如果需要对一个条件项(三元组)进行评价,那么就是对加入条件项前后规则的性能进行比较,如果加入后形成的性能参数改变量的符号和大小就相当于该条件项的性能参数。
这个评价是针对训练集进行的,也说明了蚁工算法也是一种需要预先进行学习的智能算法。
4.建立选择下一步的启发式规则;蚂蚁的每一步都是在增加一个三元条件项进入规则,并且按照一下原则选择条件项和判定是否将条件项加入。
1).任何一个加入的条件项必须不能使得整个规则覆盖的待检验数据数少于最小的每规则数据数(Min_cases_per_rule );2).每个属性只能出现在一个条件项中,一定不允许出现诸如:“IF(Sex=male)AND(Sex=famale)”选择概率的函数表达式:∑∑==⋅⋅⋅=a i b j ij ij iij ij ij i t x t P 11))(()(τητη 其中:ij η表示每个条件项得启发式参数值,针对数据挖掘得分类问题得每个实例而不同,一旦确定实例,就可以算出这个参数,这个参数得计算可以和连续属性得离散化放在一起作预处理。
参数得计算式根据信息理论;)(t ij τ表示每个条件项在t 时刻的信息量。
这个参数在算法执行过程中是不断更新的,每次的更新量与该条件项是否包括在当前得到规则中有关,如果包含在规则中,则信息量增加,否则信息量减少;并且改变量与当前规则的性能有关,性能越好,变化量越大;a 表示属性的总个数;i x 如果属性i 的任何一个条件项都不在规则中,则置为1,表示可以对该条件项进行选择,否则置为0。
这样可以保证当前蚁工可以选择的所有下一条件项的概率和为1;i b 第i 个属性的取值域中可取值的个数。
5.更新信息量的规则(自我调整);每只蚂蚁走完后,将根据它搜索到的规则的性能优劣来更新所有节点的信息量,增加它走过路的信息量,同时减少没有选择到的路的信息量。
这样,下一只蚂蚁将再新的信息量分布下开始它的规则构建(寻路)。
算法开始的时候,设置:∑===a i i ij bt 11)0(τ也就是说,对于所有的可以选择的条件项,信息量都是均匀分布的。
一旦一个规则建立后,具体的更新过程如下:第一步:R j i Q t t t ij ij ij ∈∀⋅+=+),(,)()()1(τττ;这里的R 是当前规则中所有包含的条件项。
这一步使得被选中的三元组的信息量增加。
第二步:D j i t t C t a i b j ijij ij i ∈∀⋅=+∑∑==),(,)()()1(11τττ 其中C 是一个常数,D 是所有条件项的集合。
这一步使得所有三元组的信息量之和为一个不变的常数,并且减少了没有被选中的三元组的信息量。
6.适当的终止条件。
1).REPEAT 次数超过最大数目,(已经有足够的蚁工挖掘);2).连续n 次得到相同的规则,n =No_rules_converg ,表示算法已经收敛,不需要继续了。
7.其他一些关键部分:a . 规则精简:每走出一步后,对规则中的条件项逐个检验性能,看去掉该条件是否可以使得规则的性能更好,直到只留下一个条件项或者任何一个条件项去掉都不能使得规则有更高的性能。
从而能够使的蚁工算法得到的规则是最简洁和清晰的规则。
b .启发式参数的计算:每一个条件项都有一个相关的ij η的值,这个值代表对该条件项的信息熵的量度,根据信息理论,如果ij term 代表ij i V A =,其中i A 是第i 个属性,而ij V 是该属性值域中的第j 个取值,那么这个条件项的熵值为:∑==⋅=-==kw ij i ij i ij i V A w P V A w P V A W H 12))(log )(()(这里W 是一个类属性,k 是类的数目,)(ij i V A w P =如果ij i V A =,那么判断该数据属于第w 个类的经验概率。
因为我们是采用训练集的方式,所以这个概率可以通过对训练集得到统计数字。
然后得到ij η:∑∑===-=-=a i b j ij i i ij i ij i V A W H k x V A W H k 1122))|((log )|(log η这里的a 、i x 和i b 与前面的◎式有相同的含义。
我们对这个式子作一个直观的理解:)(ij i V A W H =越大,说明这个条件项对于类的不确定度越大,这个属性i A 取ij V 在各个类分布的更加均匀,所以ij i V A =对类的确定的贡献很小,于是就希望以比较小的概率取到这个条件项,所以在ij η的表达式中要用)|(log 2ij i V A W H k =-作分子,并且用所有项的和作分母,使得概率和为一,并且)(ij i V A W H =,被选中的可能越小。