模糊数据挖掘及遗传算法在IDS中的应用研究
- 格式:doc
- 大小:36.00 KB
- 文档页数:6
遗传算法及几个例子遗传算法是一种模拟自然选择和遗传机制的优化算法。
它是由约翰·霍兰德(John Holland)于1975年首次提出的。
遗传算法通过模拟生物的进化过程,利用适者生存的原则来问题的最优解。
遗传算法的主要应用领域包括优化问题、机器学习、组合优化、图像处理等。
本文将介绍遗传算法的工作原理及几个应用实例。
首先,遗传算法的工作原理是模拟自然界的进化过程。
它由三个基本操作组成:选择、交叉和变异。
选择操作是指根据适应度函数选择出优秀个体,将它们作为父代参与下一代的繁衍。
适应度函数是用来评估个体在问题空间中的优劣程度的函数。
交叉操作是指将两个父代个体的染色体进行交换,产生子代个体。
交叉操作可以通过染色体的交叉点位置进行分类,如一点交叉、多点交叉、均匀交叉等。
变异操作是指对个体的部分基因进行突变,以增加空间的多样性。
变异操作在遗传算法中起到"探索"新解的作用。
下面是几个遗传算法的应用实例:1. 旅行商问题(Traveling Salesman Problem,TSP)旅行商问题是指在给定的一系列城市中,找到一条路径使得旅行商遍历每个城市且每个城市仅访问一次,最终回到起点城市。
遗传算法可以通过优化路径找到满足条件的最短路径。
2.集装箱装载问题集装箱装载问题是指如何在给定的一系列货物和一些规定的集装箱中,找到一种最佳的装载方案,以使得尽可能多的货物被装载到集装箱中。
遗传算法可以通过调整货物装载顺序和集装箱布局等来解决这个问题。
3.入侵检测系统入侵检测系统(Intrusion Detection System,IDS)用于检测计算机网络中的恶意入侵行为。
遗传算法可以通过学习适应网络环境的特征和规则,以准确地识别出正常和异常的网络流量。
4.机器学习中的特征选择和参数优化在机器学习任务中,特征的选择和参数的优化对于模型性能的提升非常重要。
遗传算法可以通过优化特征子集的选择和调整模型参数的取值,来提高机器学习模型的性能。
遗传算法在信息科学中的应用研究遗传算法(Genetic Algorithm,GA)是一种模拟自然选择和遗传机制的计算方法,是通过模拟自然界的进化过程来不断优化问题的解。
遗传算法的基本思想来自于达尔文的进化论,通过遗传、交叉和变异等操作,逐步优化解空间,最终找到最优解。
在信息科学领域,遗传算法被广泛应用于解决复杂优化问题。
它具有全局搜索能力、并行搜索能力和自适应搜索能力,能够有效地寻找到复杂问题的最优解。
下面就具体介绍一些遗传算法在信息科学中的应用研究。
一、遗传算法在机器学习中的应用机器学习是信息科学中一个重要的领域,目的是让计算机通过学习数据和模式,自动提高性能。
遗传算法可以用来优化神经网络的参数,通过不断迭代调整权重和偏置,使神经网络的性能得到提升。
而且在强化学习中,遗传算法还可以用于优化智能体的策略,实现更高效的决策。
二、遗传算法在数据挖掘中的应用数据挖掘是从大量数据中挖掘出有用信息和模式的过程。
遗传算法可以用来发现数据之间的联系、规律和趋势,从而帮助人们做出更准确的决策。
例如,可以利用遗传算法来优化聚类算法的参数,提高聚类的准确度和效率。
三、遗传算法在图像处理中的应用图像处理是一项重要的信息科学技术,涉及图像数据的获取、分析和处理。
遗传算法可以用来优化图像处理算法的参数,改善图像的质量和清晰度。
例如,在图像压缩领域,可以利用遗传算法来找到最优的压缩方案,使图像在保持清晰度的同时减少存储空间。
四、遗传算法在智能优化中的应用智能优化是利用计算机算法来解决复杂优化问题的方法。
遗传算法作为一种智能优化算法,在解决各种复杂问题上表现出色。
例如,在城市规划中,可以使用遗传算法来优化城市交通网络的设计,提高交通效率和减少拥堵。
五、遗传算法在生物信息学中的应用生物信息学是通过生物学、计算机科学和数学手段来研究生物信息的跨学科领域。
遗传算法可以用来模拟生物进化过程,帮助科学家研究基因组序列、蛋白质结构等生物信息学问题。
遗传算法在计算机科学中的应用随着计算机科学的快速发展,人工智能在日常生活中的应用越来越广泛。
遗传算法是一种新的计算机科学中的算法,它可以通过模拟生物进化来优化问题的解决方案。
本文将介绍遗传算法在计算机科学中的应用情况。
一、遗传算法的基本原理遗传算法是一种基于进化论的算法,其核心原理是模拟自然选择和遗传现象,从而不断地寻找最优解。
遗传算法的基本流程包括:1. 生成初始群体:将问题的解决方案表示为一个个个体,随机生成一组初始个体作为初始群体。
2. 适应度函数的定义:根据问题的具体情况,定义一个适应度函数来衡量每个个体的解决方案是否优秀。
3. 繁殖:以某种随机的方式将群体中的个体进行交叉和变异,生成新的个体,这些新个体在部分基因上要由父母个体中的基因传递下来。
4. 筛选和淘汰:根据适应度函数的计算结果,筛选出最优秀的个体,并淘汰掉不优秀的个体。
5. 迭代循环:按照以上步骤不断迭代,直到找到满意的解决方案或达到预定的终止条件。
二、遗传算法的应用1. 机器学习遗传算法是机器学习领域中的重要算法之一,可以通过对大量训练数据的学习,快速找到最优的分类准则。
例如,在图像分类问题中,使用遗传算法可以找到最优的特征提取算法,从而提高识别率。
2. 优化问题遗传算法在优化问题方面的应用也非常广泛,例如在物流配送、资源调度、作业调度等领域都有广泛的应用。
例如,在物流配送问题中,可以使用遗传算法优化车辆的路径,从而最大程度地降低运输成本。
3. 游戏AI遗传算法也可以应用在游戏AI上,通过不断地模拟和学习,使AI的游戏水平不断提高。
例如,在象棋游戏中,AI可以通过使用遗传算法来寻找最优的决策方案,从而与人类玩家进行更加紧张刺激的对决。
4. 数据分析遗传算法在数据挖掘和分析方面也广泛应用。
例如,在基因序列分析中,可以使用遗传算法来寻找与生物系统相关的基因序列。
这有助于疾病治疗和环境修复等研究领域。
总之,随着计算机科学技术的进步,遗传算法在多个领域的应用越来越广泛,并且在解决各种问题方面取得了显著的成效。
标题:学术研究中的优化算法应用随着科学技术的发展,优化算法在学术研究中的应用越来越广泛。
这些算法在许多领域,如计算机科学、经济学、生物学等,都有重要的应用价值。
本文将介绍几种常见的优化算法及其在学术研究中的应用。
一、线性规划线性规划是一种广泛应用于多目标、多约束条件的最优化问题求解的数学方法。
其基本思想是将实际问题转化为数学模型,利用线性方程组进行求解。
在学术研究中,线性规划常被用于资源分配、生产调度、物流优化等领域。
例如,在图书馆管理系统优化中,可以通过线性规划算法对借书还书流程进行优化,提高图书馆的管理效率。
二、遗传算法遗传算法是一种模拟生物进化过程的优化算法。
其基本思想是通过模拟自然选择和遗传学原理,从一组可能的解中选择出最优解。
在学术研究中,遗传算法常被用于机器学习、数据挖掘、图像处理等领域。
例如,在图像分割中,可以通过遗传算法对图像像素进行分类和聚类,提高图像分割的准确性和效率。
三、蚁群优化算法蚁群优化算法是一种基于蚂蚁群体寻优的优化算法。
其基本思想是通过模拟蚂蚁寻找食物过程中的信息传递机制,寻找最优解。
在学术研究中,蚁群优化算法常被用于路径规划、物流分配、网络路由等领域。
例如,在城市交通规划中,可以通过蚁群优化算法对交通流量进行优化,提高交通效率。
四、粒子群优化算法粒子群优化算法是一种基于群体智慧的优化算法。
其基本思想是通过模拟鸟群觅食过程中的行为,寻找最优解。
在学术研究中,粒子群优化算法常被用于函数优化、控制系统设计、神经网络训练等领域。
例如,在机器学习模型训练中,可以通过粒子群优化算法对数据进行分类和聚类,提高模型的准确性和泛化能力。
五、深度强化学习深度强化学习是一种结合了深度学习和强化学习的交叉学科。
其基本思想是通过深度神经网络模拟人类的决策过程,从而实现对复杂环境的自适应学习。
在学术研究中,深度强化学习被广泛应用于游戏AI、自动驾驶、智能控制等领域。
例如,在自动驾驶中,可以通过深度强化学习算法对车辆的行驶路径进行优化,提高行驶的安全性和效率。
遗传算法在企业决策中的应用研究随着人工智能和大数据技术的发展,越来越多的企业开始使用数据挖掘和机器学习算法来帮助他们做出更聪明的商业决策。
其中一种被广泛应用于解决企业决策问题的算法是遗传算法。
接下来,将探讨遗传算法在企业决策中的应用研究。
什么是遗传算法?遗传算法是一种模拟自然选择和遗传学机制的优化方法。
它通过使用一组编码参数的个体来解决问题,然后将这些个体组合起来,以生成下一代个体。
这一过程中,通过不断地进化和淘汰来实现最佳适应度的个体。
在遗传算法中,每个个体都有一个基因组,而每个基因则代表解决问题的一个方面。
这些基因被组合在一起,以生成一个完整的个体,他们通过适应度函数进行评估。
这个适应度函数可以根据问题而变化。
随后通过选择、交叉和突变等方式创造出下一代的个体,这一过程循环往复,直到找到解决问题的最佳方案。
遗传算法在企业决策中的应用遗传算法可以用于解决多种企业决策问题。
例如,它可以用于在股票市场中寻找最佳买卖策略,以及优化生产流程、物流和供应链等问题。
下面将探讨几个遗传算法在企业决策中的应用领域。
1. 股票交易股票市场表现受多种因素影响,包括公司财务状况、宏观经济形势、政治稳定等。
这也意味着无法预测股票市场的走势,许多投资者都想通过技术分析来帮助他们做出决策。
而遗传算法正是一种在股票交易中优化策略的方法。
在股票交易中,遗传算法可以使用一组参数来生成股票交易策略。
例如,通过分析股票数据,遗传算法可以选择一组适当的指标,例如移动平均线、历史波动率、RSI等。
然后,基于这些指标,它可以优化买卖规则,例如何时买入、何时卖出、持有时间等。
通过不断地进化,遗传算法可以找到最佳适应度的策略,从而帮助企业做出更好的投资决策。
2. 生产流程生产流程可以通过使用遗传算法来优化。
生产过程的优化一直是制造业最重要的问题之一,因为优化生产流程可以显着减少成本和提高效率。
遗传算法可用于发现最佳设备布局、时间安排、供应链合作和工厂优化等问题。
基于遗传算法的数据挖掘技术及应用常丽【摘要】本文主要分析了数据挖掘的相关概念及其过程,介绍了关联规则的提取方法、遗传算法的基本要素、操作技术、基本步骤等。
最后结合相关实例提出了在遗传算法当中进行关联规则的数据挖掘方法。
%This paper mainly analyzes the relevant concepts and process of data mining, discuss the extraction methods of association rules, the basic idea , procedures and basic step of the genetic algorithm, Finaly ,This paper gives the algorithms and program of data mining association rule based on genetic algorithms.【期刊名称】《荆楚学刊》【年(卷),期】2012(000)002【总页数】2页(P113-114)【关键词】数据挖掘;关联规则;遗传算法【作者】常丽【作者单位】山西工程职业技术学院,山西030009【正文语种】中文【中图分类】TP312随着互联网技术的不断发展,越来越多的科研人员开始研究数据挖掘技术,现在该技术已经成为了一个非常重要的科学研究领域。
数据挖掘[1](Data Mining)是指从大量不完全的、随机的、模糊的、有嗓声的实际数据资料当中发现规律性的、隐含的、人们之前并不知道的,但又确实有用的且最终能让人理解并接受的信息和知识的基本过程。
数据挖掘的功能是帮助企业决策者能够查找出数据间内在的、不为人知的关联,而这些关联对预测市场趋势、决策经营行为是有很大用处的。
数据挖掘技术通常多数用于处理一些大型商业信息系统中的数据,逐个对这些业务数据进行信息的收集、抽取、分析和处理,从中提取出有用的知识,用来帮助商业决策,即从大量的数据库中发现有价值的商业模式。
目录摘要 (1)Abstract(英文摘要) (2)第一章绪论§1.1 引言 (3)§1.2 国内外研究现状 (3)第二章数据挖掘概述§2.1 数据挖掘的发展历史 (5)§2.2 数据挖掘的定义 (5)§2.3 数据挖掘的目的、任务和对象 (6)2.3.1 数据挖掘的目的 (6)2.3.2 数据挖掘的任务 (6)2.3.3 数据挖掘的对象 (7)§2.4 数据挖掘的特点 (8)§2.5 数据挖掘的常用方法 (8)2.5.1 归纳学习方法 (8)2.5.2 公式发现 (9)2.5.3 统计分析方法 (9)2.5.4仿生物技术 (9)2.5.5可视化技术 (10)§2.6 数据挖掘的基本步骤 (10)第三章关联规则基本理论§3.1 关联规则的定义及性质 (12)§3.2 关联规则的挖掘过程 (13)§3.3 衡量规则的价值 (14)第四章遗传算法概述§4.1 遗传算法的发展历史 (15)§4.2 遗传算法的特点 (15)§4.3 基本遗传算法的主要思想及术语 (16)§4.4 基本遗传算法的描述与形式化定义 (17)§4.5 遗传算法的基本实现技术及设计步骤 (17)4.5.1 编码方法的选取 (17)4.5.2 适应度函数的设计 (18)4.5.3 遗传算法的设计步骤 (18)第五章基于遗传算法的关联规则挖掘模型 (19)参考文献 (21)致谢 (22)摘要随着人们对数据库技术逐步深入的研究, 数据挖掘技术应运而生. 最初, 商业活动中的各种数据仅仅是存储在计算机的数据库中, 然而为了人们对数据库管理的需求, 我们开始能够查询并访问计算机的数据库, 从而实现了数据库的即时遍历. 数据挖掘技术甚至将数据库技术推动到了一个更为高级的阶段, 自此这项技术不仅能够查询和遍历过去的数据, 并且能够识别数据之间潜在的联系, 从而对信息的传递起到相当的促进作用. 作为一门典型交叉学科, 数据挖掘具有计算机科学、统计学的学术背景,其为当下数据库系统研究及应用领域的热门研究方向, 吸引了学术界和业界的广泛关注.首先,本文对数据挖掘技术做了概述, 以明确其定义、目的、任务、对象及主要过程、基本方法. 其次, 我们对关联规则的定义、性质及种类等概念作初步介绍. 再次, 重点介绍著名的优化搜索算法——遗传算法, 在回顾遗传算法的发展历史以及主要理论之后, 给出了基本遗传算法和算法描述以及算法的基本实现技术. 基于以上本文提出一种基于遗传算法的关联规则提取方法, 并从编码方法及适应度函数等方面详细讨论. 最后,本文给出遗传算法在关联规则挖掘中的应用模型.关键词:数据挖掘;遗传算法;关联规则;适应度函数AbstractData mining is a result of long-term research on database technology. Initially the data used on the business occasions were only stored incomputer’s database,whose inquiries and visits is later on developed then real-time database inquiries is further on so developed. Data mining pushed database technology to an even more advanced stage. It can not only inquire old data butalso identify the potential relationship between them, thusbenefit the information spreading. As a typical cross-discipline,data mining is a popular area for the current research on database system and its applications,ithas a double academic backgrounds on computer science and statistics, and it hasalsocaught the attentions from industrial fields.Firstly in this paper we give data mining an overview, as well as clarify its definition, purpose, mission andobjects, further we shall talk about the main processand techniques involved in data mining. Secondly weintroduce its definition, nature, typesof the associated rules. Witha huge significance weintroducegenetic algorithm,which is widely applied in data mining practices. We make a briefing on history and main theory of genetic algorithm, then give the basic genetic algorithms and its descriptionsalong with several basic implementation technologies. Last but not least, webring forward a mining method for association rules which is mainly based on genetic algorithms. At the same time, we would like to discussthe genetic algorithms fromthe aspects such as coding method, fitness function andgenetic operators.As the ending of the paper, we give the application model of the association rules mining based on genetic.Key Words: Data Mining;Genetic Algorithm; Fitness Function; Association Rules第一章绪论§1.1引言计算机科学及现代通信技术的迅猛发展已将人类带入了信息时代, 近几十年应由社会与经济发展的需求, 计算机的数据库存储的数据剧增, 人们掌握有大量的数据得以提取所需要的信息, 而这些数据所提供的信息在给人们带来方便的同时也对原有数据库技术提出了新的挑战. 现代社会的信息爆炸程度已远远超出了人们掌握和理解数据的能力, 这为正确地利用数据带来了困难. 人们开始逐渐意识到, 那些能够描述事物整体特征、预测未来发展趋势的信息往往是隐藏在大规模的数据背后更深层次的内容, 这些潜在信息对于人们做出决策具有重要的参考价值.那么如何透过巨量的数据信息获取这些有用的“知识”呢?计算机科学与统计学的最新研究给出回答:数据挖掘. 数据挖掘汇集了数据库、数理统计、人工智能、并行计算、可视化等诸多领域的研究者及业界的工程师,通过对数据库进行从微观到宏观的统计分析与综合推理, 以发现数据之间的相互关联, 乃至利用已有数据对未来进行预测, 从而针对实际问题为人们提供决策支持.§1.2国内外研究现状数据挖掘技术在诸多方面已得到广泛之应用, 但就其目前的研究状况来看, 这一技术还未能称得上成熟, 故在应用上有很大局限. 局限其一, 即挖掘对象之局限, 面对维数更高、各属性之间更为复杂的超大型数据库, 现有数据挖掘技术处理如此巨量数据不免捉襟见肘;局限其二, 大部分数据库在知识发现的过程中可能存在数据或属性丢失的问题;局限其三, 目前数据挖掘工具一般仅能处理特定数值型的结构化数据. 反而思之, 正是由于这些局限的存在, 方才能不断推动数据挖掘技术有着更为长足的发展.遗传算法作为全局并行优化搜索算法的有效性为人称道, 其在解决具有混沌、随机和非线性等典型特性的复杂问题中提供一种新的计算模型, 克服了由大量数据嘈杂无序造成的难题. 这一模拟自然界进化过程的通用全局搜索算法, 有效避免搜索过程中出现的局部最优, 有望在规则发掘中大施拳脚. 遗传算法自诞生至今虽已经过历次改进, 但仍有待进一步深入研究的必要. 其一, 算法的理论研究相对滞后, 遗传算法提出之灵感源于一种仿生的思想, 故其尽管在实践中被证明极为有用, 然而在理论证明上却遇到瓶颈;其二, 算法的参数设置仍无明确标准, 之前的应用中采用的均为过往的经验数值, 而不同编码与遗传技术将对遗传参数的选取产生影响, 这无疑制约了算法的通用性;其三, 算法对于约束化问题的处理缺乏足够的有效性.近年对关联规则挖掘的研究主要可分为四个方面. 一是改进由R. A g rawal等提出的Apriori算法, 这些工作主要集中在有效地生成最大项目集并改善该算法效率;二是对关联规则的阈值进行调整, 增强所挖掘规则的关联性与有效性使之更为符合人们的需求;三是提出用于关联规则发掘的并行算法;四是扩展关联规则发掘中的二级问题, 诸如多层/广义关联规则、循环关联规则、定量关联规则等.因遗传算法简单通用且适于并行处理之特性, 使其在数据挖掘技术占用举足轻重的地位. 目前, 对以遗传算法为基础的数据挖掘研究主要在分类系统方面, 而在关联规则提取方面的应用仍未常见. 本文提出用遗传算法辅助对关联规则进行挖掘, 便是希望能在这方面进行新的尝试.第二章数据挖掘概述§2.1数据挖掘的发展历史1989年8月, 于底特律召开的第十一届国际人工智能联合会议的专题讨论中首次提出KDD(Knowledge Discovery in Database)这一术语. 随后, 首届知识发现和数据挖掘国际学术会议于1995年在加拿大蒙特利尔召开. 亚太地区则于1997年在新加坡召开了第一届亚太知识发现和数据挖掘国际会议, 欧洲也于1998年召开了第一届欧洲知识发现和数据挖掘学术会议.知识发现和数据挖掘长期作为数据库和机器学习的分支, 直到1998年6月ACM(AssociationofComputingMachinery)成立SIGKDD(SpecialInternetGrouponKnowledgeDiscoveryandDataMining), 才使其正式脱身为一门独立学科.METAGroup有评论如下, “全球重要的企业及各类组织将会发现, 在二十一世纪, 数据挖掘技术将在决定其在商业经营中成功与否产生至关重要的影响”. IBM在之后几年随即发布IBMDB2智能挖掘器积分服务, 这一服务基于标准的数据挖掘技术, 提供个性化解决方案. 统计软件SPSS与SAS亦分别推出数据挖掘工具Clementine和EnterpriseMiner.§2.2数据挖掘的定义数据挖掘, 即从大量不完全并且模糊有噪声的随机数据中提取隐含其中事先未知却潜在有用的信息和知识的过程. 这一表述具有若干层次含义, 其一, 数据挖掘中原始数据真实、大量且含噪声;其二, 数据挖掘专注于发现人们感兴趣、有价值的知识;其三, 数据挖掘着力于发现直觉无法发现乃至有悖直觉的知识, 其越是出人意料, 便可能越有价值;其四, 潜在有用性是指数据挖掘发现的知识对于所讨论的业务或研究领域具有实用价值, 诸如常识性的结论、已掌握的事实及无法实现的推论均视作无意义;其五, 数据挖掘发现的知识须可为人们所接受、理解并运用于解决实际问题;其六, 数据挖掘并非要发现那些放之四海皆准的真理抑或全新的自然科学定理, 所有被发现的知识都具有特定约束条件或面向特定领域.目前来说, 学术界对数据挖掘仍未形成统一的精确定义, 在不同的文献中, 不同的应用领域里有着不同侧重的定义表述. 常见的如Ferruzza定义数据挖掘为于知识发现过程用以辨识存在数据间未知关系和模式的方法;Zekulin定义数据挖掘为从大型数据库中提取未知的、可理解的、可执行的信息并利用其辅助商业决策的过程;Parsaye 则认为数据挖掘是为获取未知的信息模式而研究大型数据集合的决策支持过程.§2.3数据挖掘的目的、任务和对象2.3.1数据挖掘的目的随着数据库及信息系统技术逐步深入的应用, 面对长时间积累所形成的海量数据人们常无所适从, 以至淹没在数据的海洋中却缺少“知识”. 我们开始考虑尝试发现数据中存在的关系和规则并根据已有数据预测未来发展趋势, 从而做到不被信息淹没, 提高信息利用率. 现在, 数据挖掘分析海量数据并发现其中的潜在联系.2.3.2数据挖掘的任务数据挖掘有关联分析、时间序列模式、聚类、分类、偏差检测及预测六项基本任务.我们先讨论关联分析. 当若干数据项取值出现重复, 这之间即有某种关联, 从而可建立关联规则. 我们常用“可信度”与“支持度”对其进行筛选.时间序列模式即根据时间序列搜索重复发生概率较高的模式. 我们需要在时序模式中找出在某个最小时间段内出现概率高于阈值的规则, 当然, 随着形式的变化我们将对规则做出适当的调整.聚类, 即根据意义之不同对数据库中的数据划分一系列子集, 即类. 人们通过聚类以建立宏观概念,统计分析、机器学习和神经网络均是常见方法.分类作为数据挖掘中应用最多的任务, 描述一个类别的概念以代表这类数据的整体信息, 称为其内涵描述, 一般用规则或决策树表示. 分类可将数据库中元组影射到给定类别的某一个中. 分类通常是基于训练样本集(已知数据库元组及类别所组成的样本)通过相关算法求得.然后是偏差检测. 数据库中数据往往存在诸多异常, 偏差检测便是寻找观察结果与参照之间的差别. 观察结果一般为一个或多个域的值的汇总, 参照则通常是给定模型的预测结果、外界提供的标准或另一个观察结果.最后我们讨论预测. 预测, 顾名思义, 从历史数据中寻找变化规律以建立模型, 并基于此预测未来. 主流的预测方法有回归分析和神经网络, 回归分析用于预测连续数值, 而神经网络预测则连续、离散皆适用.2.3.3数据挖掘的对象理论上, 在任何类型的数据存储上均可进行数据挖掘, 包括关系数据库、事务数据库、数据仓库等. 这里我们对主要的数据挖掘对象予以介绍.首先是关系数据库. 关系数据库是表的集合, 每个表命名唯一, 其中包含一组属性用于存放大量元组. 关系中每一元组代表一个被唯一关键字标识的对象, 并由一组属性值所描述. 关系数据库可通过数据库的结构化查询语言访问. 关系数据库拥有完备的数学理论基础且具有相当高的普及度, 是当下数据挖掘最为丰富的数据源之一.其次, 我们讨论事务数据库. 一般地, 事务数据库由一个文件组成, 每一个事物由其中一个记录所代表. 通常, 一个事务有唯一的事务标识号和一个组成项列表(部分包含事务的处理时间). 事务数据库常应用于“购物篮数据分析”, 其对关联规则的数据挖掘十分有效.再次, 我们介绍数据仓库. 数据仓库的创始人WilliamH.Inmon对数据仓库定义如下:数据仓库是面向主题的(Subject-Oriented)、集成的(Integrated)、随时间而变化的(Time-Variant)、稳定的(Non-V olatile)数据集合. 从辨证的角度来看, 从关系数据模型到数据仓库的诞生, 数据仓库的出现与广泛为人们所接受实质上是数据管理螺旋式的上升.数据仓库技术的逐步成熟很大程度上推动了数据挖掘技术的繁荣.近年来, 数据库技术发生了翻天覆地的变化, 其已由最初单一的关系数据库逐步发展为面向对象数据库、事物数据库、空间数据库、对象-关系数据库、多媒体数据库等新的数据库系统, 与此同时, 数据挖掘的数据来源也更多地取自于新型的高级数据库系统.§2.4数据挖掘的特点数据挖掘的特点可初步归纳为五个方面. 其一, 数据挖掘所处理的数据规模十分庞大;其二, 数据库查询一般是即时的随机查询, 因不能有精确查询要求, 数据挖掘技术则可辅助寻找用户感兴趣的知识;其三, 在一些应用中数据在很短时间内即有较大变化, 数据挖掘技术能够在这种情况下快速反应以提供决策支持;其四, 数据挖掘不仅要发现潜在规则, 而且要管理、维护规则, 规则往往不是一成不变的, 随着数据的不断更新, 规则亦需随之而变;其五, 数据挖掘是基于大样本统计规律发现规则, 这未必适用于全部数据, 当达到某一阈值时即可认为此规则成立.§2.5数据挖掘的常用方法2.5.1归纳学习方法归纳学习方法从技术上分为两类:信息论方法与集合论方法.我们先讨论前者. 信息论方法主要基于信息论原理建立决策树, 由于最终将以决策树的形式表示知识, 故文献中经常称其为决策树方法. 这里我们介绍两种较有特色的信息论方法. 一是ID3等系列方法, 其利用信息增益寻找包含最大信息量的字段以建立树的结点, 由不同字段取值建立分枝, 再对数据子集重复以上过程, 最终建立决策树. 对愈为庞大的数据库, 这一方法愈为有效;还有一种方法我们称为IBLE(Information-BasedLearningfromExamples)方法, 其根据信息量大小寻找各字段取值建立树的结点, 并将结点中指定字段值的权值和与阈值比较, 建立三个分枝, 再对各分枝子集重复以上过程, 最终建立决策树.再说集合论方法.这类方法广为人知的有覆盖正例排斥反例的方法、概念树方法和粗糙集(RoughSet)方法.概念树方法则是将数据库中的属性字段根据归类方式进行合并, 以此建立的层次结构称为概念树;最后介绍粗糙集方法, 我们将数据库中的行元素看作对象, 列元素看作属性(分为条件属性与决策属性). 定义等价关系R为不同对象某一个或多个属性具有相同取值, 称满足同一等价关系的对象所组成的集合为该等价关系的等价类. 条件属性上等价类E与决策属性上等价类Y之间有三种关系, 分别是下近似(Y包含E)、上近似(Y和E的交非空)和无关(Y和E的交为空). 我们对下近似建立确定性规则, 对上近似建立不确定性规则, 而无关情况下则不存在规则.2.5.2公式发现公式发现的含义即是对工程或科学数据库中的若干数据项进行数学运算并求相应的数学公式. 这里举两个典型的例子. 一是经验公式发现系统FDD, 其基本思想是对两个数据项交替取初等函数后再与另一数据项进行线性组合, 若组合结果为直线, 就得到由数据项的初等函数表示的线性组合公式;二是物理定律发现系统BACON, 其基本思想很简单, 就是对数据项进行初等数学运算以形成组合数据项, 若值为常数, 就得到组合数据项等于常数的公式.2.5.3统计分析方法统计分析利用统计学原理分析数据库中数据从而得到其中的统计信息与知识, 已发展成一门独立的学科. 下面简要介绍六种统计分析中的基本方法. 一是常用统计, 即求最简单的统计量;二是相关分析, 即计算变量间的相关系数;三是回归分析, 即以回归方程表示变量间数量关系;四是差异分析, 即从样本统计量的出发进行假设检验;五是聚类分析, 即直接计算样本数据间的距离, 将距离小于某一阈值的归为一类;六是判别分析, 即确立一个判别标准以建立一个或多个判别函数, 据此将未知对象划归到某一类别.2.5.4仿生物技术典型的仿生物技术方法有遗传算法和神经网络方法.我们先讨论遗传算法. 遗传算法的基本思路是模拟生物进化过程, 有选择、交叉和变异三个基本遗传算子. 选择算子描述从旧种群选择出具有更强竞争力的个体产生新种群的过程;交叉算子描述两个不同个体(染色体)的部分(基因序列)进行交换并产生新个体的过程;变异算子描述个体的某些基因进行变异(1变0, 0变1)的现象. 在优化计算和分类机器学习方面遗传算法已广泛应用并证实了其显著的效果. 后文将对遗传算法做进一步介绍.再讨论神经网络方法. 神经网络方法基于MP模型与Hebb学习规则, 模拟人脑神经元结构建立三类多种神经网络模型. 一是前馈式网络, 其代表为感知机、BP反向传播模型及函数型网络. 此类网络在预测和模式识别方面有广泛应用;二是反馈式网络, 其代表是Hopfield的连续及离散模型, 分别应用于优化计算和联想记忆;三是自组织网络, 其代表为Kohonen模型和ART模型, 常用于聚类.2.5.5可视化技术可视化技术, 顾名思义, 是一种图形显示技术. 以图形显示多维数据, 可深刻揭示数据的分布规律及内在本质. 同样, 对数据挖掘过程进行可视化与人机交互可显著提高挖掘效果. D.A.Keim定义数据挖掘可视化为寻找并分析数据库以找到隐藏的有用信息的过程. 常见的可视化方法有三种, 一是提取几何图元, 在构造、仿真和分析数据分布模型上极为有效;二是绘制, 主要基于计算机图形学近年的发展成果来进行图像生成、消隐、光照效应及部件绘制;三是显示和演放, 为取得更佳显示效果, 图片组合、文件标准、着色、旋转、放大和存储等诸多功能在这一部件中均有提供.§2.6数据挖掘的基本步骤以下我们将以顺序方式列出数据挖掘的各步骤, 但数据挖掘过程并不是线性的, 需不断重复以下步骤以得到最优的结果.步骤一:确定业务对象. 首先, 对业务问题要有清晰的定义, 数据挖掘的第一步也是最为重要的一步即是认清数据挖掘的目的;步骤二:数据准备.包含数据选择、预处理与转换;步骤三:数据挖掘. 挖掘已经过转换之数据, 只需选择适当的挖掘算法, 剩下的工作可交由计算机自动完成.步骤四:结果分析. 即解释并评估结果, 用到的分析方法由数据挖掘的具体操作决定, 可视化技术通常会被应用于此.步骤五:知识的同化. 即在业务信息系统的组织结构中集成数据挖掘所得知识.第三章关联规则基本理论§3.1关联规则的定义及性质定义3.1 设{}12=, , , m I i i i 为m 个不同项目之集合, D 为事务数据库, 其中每一事务T 为一项目子集, 即T I ⊆. 称事务T 包含项目集X , 表示为XT ⊆. 关联规则为形如X Y ⇒的逻辑蕴含式, 其中X T ⊂, Y T ⊂且X Y ⋂=∅. X 称作前提, Y称作结果.定义3.2 若事务数据库中有%s 的事务包含XY ⋃, 则称规则X Y ⇒的支持度为s ;若事务数据库中包含X 的事务中有%c 也包含Y , 则称规则X Y ⇒的置信度为c .可信度表示的是一条规则可信赖的程度. 我们发现关联规则是为了找到可信赖且具有代表性的规则, 因而我们需要事先对支持度和可信度分别给定最小阈值, 所谓发现关联规则, 即是发现可信度与支持度均高于阈值的规则.性质4.1 若关联规则XZ ⇒与Y Z ⇒在D 中均成立, 规则X Y Z ⋃⇒不一定在D 中成立.性质4.2 若X Y ⋂=∅, 且D 中支持Z 的都只支持X 或Y , 则X Y Z ⋃⋃的支持度为零, 故规则XY Z ⋃⇒的可信度为零. 性质4.1-2描述了关联规则的非结合性, 因其据定义显然, 故此不复证之. 类似地, 若X Y ⇒与X Z ⇒成立, XY Z ⇒⋃不一定成立. 性质4.3 若XY Z ⋃⇒在D 中成立, X Z ⇒与Y Z ⇒不一定在D 中成立. 证 由su p p ()su p p ()X Y X Y Z ⋃≥⋃⋃与su p p ()su p p ()X Z X Y Z ⋃≥⋃⋃, 若X Y Z ⇒⋃成立, 则X Y ⇒与X Z ⇒均成立, 矛盾, 故得证.性质4.3描述的是关联规则的不可分解性.性质4.4 由XY ⇒及Y Z ⇒不能推出X Z ⇒. 证 设()()()T X T Y T Z ⊂⊂最小可信度为m in co n f , 即()()m in co n f X Y co n f Y Z co n f ⇒=⇒=由()()T X T Y ⊂, ()()/()()/()m in co n f X Y S X Y S Y S X S Y co n f⇒=⋃==由()()T Y T Z ⊂, ()()/()()/()m in co n f Y Z S Y Z S Z S Y S Z co n f ⇒=⋃== 由()()T XT Z ⊂, ()()/()()/()co n f X Y S X Z S Z S X S Z ⇒=⋃=, 又m in co n f 1<, 故2m in m in c o n f X Z c o n f c o n f ⇒=<(), 故规则X Z ⇒不成立.证毕.性质4.4描述的是关联规则的不可传递性.性质4.5 设项目集, , L A B 满足BA L ⊆⊂, 若()A L A ⇒-不满足最小可信度条件, 则()B L B ⇒-也不满足最小可信度条件.证 由子集支持性质, 设A 和B 是两个不同的项目集, 若A B ⊆, 则su p p ()su p p ()A B ≥. 又因D 中支持B 的交易一定支持A , 故su p p ()su p p ()B A ≥, 再由可信度定义有(())su p p ()/su p p ()su p p ()/su p p ()m in co n f B L B L B L A co n f -=≤<,同理, 对满足, D C L D ⊆⊂=∅的项目集, , L D C , 若()L C C -⇒成立, 则()L D D -⇒亦成立.性质4.5描述的是关联规则的可扩展性, 当项目集及支持度已确定, 可用这一性质加速规则发现的过程.§3.2关联规则的挖掘过程关联规则的挖掘一般有两个过程, 一是找出所有频繁项集,二是由频繁项集产生关联规则, 这些规则须满足可信度和支持度条件.第二个过程须在前一个的基础上进行, 工作量较小, 而过程一则决定了关联规则挖掘总体性能. 关联规则的可信度较之期望要高方才表明A 的出现对B 的出现产生促进作用, 即表明其之间在某种程度上相关. 对于给定交易集, 挖掘关联规则便是发现可信度与支持度均大于预先给定阈值的关联规则.§3.3衡量规则的价值在用数据挖掘方法发现了一些关联规则后, 系统如何得知哪些规则对于用户来说是有价值的?对这个问题常分为两个层面来考虑, 即系统客观层面与用户主观层面.我们先讨论系统客观层面. 首先, 我们需明确一点:使用前文所述的“支持度和信任度”框架可能发掘出“不正确”的规则, 即若我们人为地将阈值设置得过低, 则可能得到互相矛盾的规则, 而反之,若阈值被设置得过高, 则所得到的规则又可能不合实际. 因此只依靠可信度与支持度的阈值设定不一定能得出我们需要的规则. 于是, “兴趣度”这一概念被引入用来筛掉我们不感兴趣的规则. 在统计独立性假设下, 定义一条规则的兴趣度为真实强度与期望强度之比值.再是用户主观层面的考虑, 之前的讨论仅仅是基于系统方面, 但规则的价值判定最终仍应取决于用户, 因为有能力分辨所挖掘规则有效性与可行性的只有用户. 这里我们提出可以采用一种基于约束(Constraint-Based)的挖掘方式, 包括数据约束、维度/层次的约束乃至规则约束, 这其中的约束条件能够和算法紧密结合, 从而可以做到既提高效率, 又更加明确挖掘的目的.第四章遗传算法概述。
模糊数据挖掘及遗传算法在IDS中的应用研究
摘要:针对关联规则挖掘中存在的“尖锐边界问题”,重点研究了模糊关联规则挖掘及遗传算法在入侵检测中的应用,在隶属度的计算中采用了折中的准则。
实验结果表明该方法能有效区分正常状态和异常状态,提高入侵检测准确度。
关键词:模糊关联规则,入侵检测,遗传算法
0引言
入侵检测作为动态安全技术中最核心的技术之一,其是基于入侵者的行为与正常用户的行为存在某种程度的差异,从而定义系统正常轮廓,用这一正常轮廓与系统的暂态轮廓进行对比,来判断是否有入侵行为发生。
因此,入侵检测的关键问题就是如何确定这样一个正常轮廓值。
目前,该正常轮廓值的确定过于依赖专家经验值,导致漏报率和误报率过高。
将模糊数据挖掘运用到入侵检测中能有效地解决这个问题。
1模糊关联规则
1.1模糊关联规则挖掘
关联规则挖掘是指从同一数据库表中找出多个属性之间存在的关联,定义I={i1,i2,…,i3}是项目全集,D是事务数据库,事务T是项目子集,模糊关联规则是将特定的连续属性ij 取代为由多个属性组成的模糊集合I fuzzy=(i j1,i j2
,…i jp),及其相应的隶属函数m i j=(m i
j1,m i j2,…m i jp),同时,关联规则的形式也转化为:(x,a)→(y,b)[c,s],其中,a和b分别是与X 和Y相关联的模糊集。
令αa j[t i(x j)]为第i个记录的第j个属性在模糊集a中的隶属度,定义(x,a)→(y,b)的支持度和置信度为:
S(x,a)=[SX(]∑[DD(][]ti∈T[DD)]∏[DD(][]xi∈x[DD)]α
aj[ti(xj)][]T.count[SX)](1)
C[(x,a),(y,b)]=[SX(]∑[DD(][]ti∈T[DD)]∏[DD(][]zk∈z[DD)]αck[ti(zk)][]∑[DD(][]ti∈T[DD)]∏[DD(][]xi∈x[DD)]αaj[ti(xj)][SX)] z=x∪y ,c=a∪b(2)
1.2隶属函数
隶属函数用于表示事务属性值对模糊集合的隶属度,其一般表示为mi(k, v),表示值v对i的第k个模糊集合的隶属度。
对事务集T={T.i1,T.i2,…,T.im},则m ij(k,T.ij)即为事务T的第i个属性值对其第j个模糊集合的隶属度。
对每一项目集X(jp=cp,i p+1=c p+1 ,…,iq=cq),定义事务T(tp,t p+1,…tq)对X的隶属度为:
Ux(t)=wGx(t)+(1-w)Hx(t)(3)
其中,w为用户满意度因子
Gx(t)=min(m′x.ip(x.cp,tp),m′x.i p+1(x.c p+1,t p+1),…m′x.iq(x.cq,tq))
Hx(t)=max(m′x.ip(x.cp,tp),m′x.i
p+1(x.c p+1,t p+1),…m′x.iq(x.cq,tq))隶属函数有偏小型(Z型函数)、偏大型(S型函数)和对称型(π型函数),常用的隶属函数为:(记为F)
S(x,a,c)=[JB({][HL(2]0[]x≤a2([SX(]x-a[]c-a[SX)])2[]a≤x≤[SX(]a+c[]2[SX)]1-2([SX(]x-a[]c-a[SX)])2[][SX(]a+c[]2[SX)]≤x≤c1[]x>c[HL)][JB)](4)
z(x,a′,c′)=1-S(x,a,c)(5)
π(x,b,d)=[JB({][HL(2]S(x,b-d,b)[]x≤
bZ(x,b,b+d)[]x>b[HL)][JB)](6)
这样,问题的关键就变为如何确定最适合的隶属函数参数,一般采用遗传算法来进行优化。
2遗传算法
遗传算法的主要思想是从个体中择优汰劣,通过不断的选择、杂交与变异来产生优良的个体。
2.1编码
对隶属函数所有的参数进行编码,首先确定变元的取值区间想x[x min,x max],然后根据x确定各参数的编码长度,并分别进行编码,最后组成一个个体。
按照此方法,随机生成多个个体,形成初始群体。
2.2个体适应度
个体适应度是描述群体中个体优劣的尺度。
在入侵检测中,隶属函数优化的目标是在最大化用户正常行为规则集与正常行为框架
规则集的相似度sn的同时,最小化从含有入侵数据中所挖掘出的规则集与正常行为框架规则集的相似度sa。
因此,我们采用式(1)作为个体的适应度函数。
f=[SX(]sn[]sa[SX)] (7)
相似度的计算如下:
给定两个规则:R1:x→y,s,c,R2:x′→y′,s′,c′,其相似度为:
Similarity(R1,R2)=[JB({]0(x≠x′)∪(y≠y′)max(0,1-max([SX(]|c-c′|[]c[SX)], [SX(]|s-s′|[]s[SX)]))(x=x′)∪
(y=y′)[JB)](8)
定义两个规则集间的相似度为:
similarity(f1,f2)=[SX(]f2[]|f1|•|f2|[SX)](9)
其中f=∑[DD(][][SX(B]R1∈f1[]R2∈f2[SX)][DD)]similarity(R1,R2),|f1|,|f2|分别为规则f1,f2所包含的规则数目。
2.3遗传算子
选择、交叉和变异是遗传算法中主要的遗传算子。
选择交配组时一般采用轮盘赌方式进行选择。
交叉算子一般包括两个方面的内容:确定交叉点的位置、进行部分基因交换。
交叉方式包括单点交叉和多点交叉,在入侵检测的模糊数据挖掘中由于数据库中往往包含多个连续属性,确定隶属函数参数时编码长度较长,因此,一般采用多点交叉。
变异率用于确定个体中突变字符的个数,可以采用固定的变
异率,也可以根据需要随机选取。
对新产生的种群计算其适应度,如果满足预先规定的阈值则结束,否则开始新一轮遗传操作。
3实验分析与结论
采用Mat lab作仿真实验。
实验数据采用3秒内网
络正常状态下的网络流量Nf;受到拒绝服务攻击时的网络流量Abf1;强行登录攻击时的网络流量:Abf2。
采用“包头中含有SYN 的TCP、FN、RST的TCP包数量”3个属性作为待测属性,划分为3个模糊集合,采用1.3中的F函数作为隶属函数。
由文中理论知,整个参数集由18个参数组成,编码并随机选择7个个体组成初始种群G。
将Nf的80%作为参考数据Nf1,20%作为正常测试数据Nf2,Abf1和Abf2作为异常测试数据。
取minsup=0.30,mincon=0.70。
采用Aprior 分别挖掘出规则集R Nf1、R Nf2、R Abf1、R Abf2,分别计算它们和R Nf1的相似度及每个个体的适应度。
将适应度最小的个体用适应度最大的个体替换,对其它6个个体采用两点交换方式进行交换,交换点随机选择,交换的字符串长度为16位。
取突变概率为0.025,按照上述步骤重复循环500次得到最优个体。
图1实验结果
通过图1我们可以看出算法在最大化用户正常行为规则集与
正常行为框架规则集的相似度的同时最小化从含有入侵检测数据中所挖掘出的规则集与正常行为框架规则集的相似度,有效地将正常状态和异常状态区分开,提高了入侵检测的准确度。
参考文献:
[1]朱玉全,孙志挥.快速更新频繁项集[J].计算机研究与发展,2003(40).
[2]高翔,王敏.基于数据挖掘技术的入侵检测系统研究[J].西北工业大学学报,2003(21).
[3]肖频.基于模糊关联规则和遗传算法的入侵检测[J].计算机安全技术,2009(2).
[4]章登勇,宫蓉蓉.基于改进否定选择算法的网络入侵检测模型[J].计算机工程与设计,2009(7).。