- 莫妮卡住了
-
贝叶斯分类是统计学分类方法。它们可以预测类成员关系的可能性,如给定样本属于一个特定类的概率。
朴素贝叶斯分类[2]假定了一个属性值对给定类的影响独立于其它属性的值,这一假定称作类条件独立。
设定数据样本用一个 n 维特征向量X={x1,x2,,xn}表示,分别描述对n 个属性A1,A2,,An样本的 n 个度量。假定有m个类 C1,C2,,Cm 。给定一个未知的数据样本 X(即没有类标号),朴素贝叶斯分类分类法将预测 X 属于具有最高后验概率(条件 X 下)的类,当且仅当P(Ci | X)> P(Cj | X),1≤j≤m,j≠i 这样,最大化P(Ci | X)。其中P(Ci | X)最大类Ci 称为最大后验假定,其原理为贝叶斯定理:
公式(1)
由于P(X) 对于所有类为常数,只需要P(X | Ci)P(Ci)最大即可。并据此对P(Ci| X)最大化。否则,最大化P(X | Ci)P(Ci)。如果给定具有许多属性的数据集,计算P(X | Ci)P(Ci)的开销可能非常大。为降低计算P(X| Ci )的开销,可以做类条件独立的朴素假定。给定样本的类标号,假定属性值相互条件独立,即在属性间,不存在依赖关系,这样,
公式(2)
概率,可以由训练样本估值:
(1) 如果Ak是分类属性,则P(xk|Ci)=sik/si其中sik是Ak上具有值xk的类Ci的训练样本数,而si是Ci中的训练样本数。
(2) 如果Ak是连续值属性,则通常假定该属性服从高斯分布。因而
公式(3)
其中,给定类Ci的训练样本属性Ak的值, 是属性Ak的高斯密度函数,而 分别为平均值和标准差。
朴素贝叶斯分类算法(以下称为NBC)具有最小的出错率。然而,实践中并非如此,这是由于对其应用假定(如类条件独立性)的不确定性,以及缺乏可用的概率数据造成的。主要表现为:
①不同的检测属性之间可能存在依赖关系,如protocol_type,src_bytes和dst_bytes三种属性之间总会存在一定的联系;
②当连续值属性分布是多态时,可能产生很明显的问题。在这种情况下,考虑分类问题涉及更加广泛,或者我们在做数据分析时应该考虑另一种数据分析。
后一种方法我们将在以下章节详细讨论。
3 朴素贝叶斯的改进:核密度估计
核密度估计是一种普便的朴素贝叶斯方法,主要解决由每个连续值属性设为高斯分布所产生的问题,正如上一节所提到的。在[3]文中,作者认为连续属性值更多是以核密度估计而不是高斯估计。
朴素贝叶斯核密度估计分类算法(以下称K-NBC)十分类似如NBC,除了在计算连续属性的概率 时:NBC是使用高斯密度函数来评估该属性,而K-NBC正如它的名字所说得一样,使用高斯核密度函数来评估属性。它的标准核密度公式为
公式(4)
其中h=σ 称为核密度的带宽,K=g(x,0,1) ,定义为非负函数。这样公式(4)变形为公式(5)
公式(5)
在K-NBC中采用高斯核密度为数据分析,这是因为高斯密度有着更理想的曲线特点。图1说明了实际数据的概率分布更接近高斯核密度曲线。
图1 两种不同的概率密度对事务中数据的评估,其中黑线代表高斯密度,虚线为核估计密度并有两个不同值的带宽朴素贝叶斯算法在计算μc和σc时,只需要存储观测值xk的和以及他们的平方和,这对一个正态分布来说是已经足够了。而核密度在训练过程中需要存储每一个连续属性的值(在学习过程中,对名词性属性只需要存储它在样本中的频率值,这一点和朴素贝叶斯算法一样)。而为事例分类时,在计算连续值属性的概率 时,朴素贝叶斯算法只需要评估g一次,而核密度估计算法需要对每个c类中属性X每一个观察值进行n次评估,这就增加计算存储空间和时间复杂度,表1中对比了两种方法的时间复杂度和内存需求空间。
4 实验研究与结果分析
本节的目标是评价我们提出核密度评估分类算法对入侵审计数据分类的效果,主要从整体检测率、检测率和误检率上来分析。
表1 在给定n条训练事务和m个检测属性条件下,
NBC和K-NBC的算法复杂度
朴素贝叶斯 核密度
时间 空间 时间 空间
具有n条事务的训练数据 O(nm) O(m) O(nm) O(nm)
具有q条事务的测试数据 O(qm) O(qnm)
4.1 实验建立
在实验中,我们使用NBC与K-NBC进行比较。另观察表1两种算法的复杂度,可得知有效的减少检测属性,可以提高他们的运算速度,同时删除不相关的检测属性还有可以提高分类效率,本文将在下一节详细介绍对称不确定方法[4]如何对入侵审计数据的预处理。我们也会在实验中进行对比分析。
我们使用WEKA来进行本次实验。采用 KDDCUP99[5]中的数据作为入侵检测分类器的训练样本集和测试样本集,其中每个记录由41个离散或连续的属性(如:持续时间,协议类型等)来描述,并标有其所属的类型(如:正常或具体的攻击类型)。所有数据分类23类,在这里我们把这些类网络行为分为5大类网络行为(Normal、DOS、U2R、R2L、Probe)。
在实验中,由于KDDCUP99有500多万条记录,为了处理的方便,我们均匀从kddcup.data.gz 中按照五类网络行为抽取了5万条数据作为训练样本集,并把他们分成5组,每组数据为10000条,其中normal数据占据整组数据中的98.5%,这一点符合真实环境中正常数据远远大于入侵数据的比例。我们首
先检测一组数据中只有同类的入侵的情况,共4组数据(DOS中的neptune,Proble中的Satan,U2R中的buffer_ overflow,R2l中的guess_passwd),再检测一组数据中有各种类型入侵数据的情况。待分类器得到良好的训练后,再从KDD99数据中抽取5组数据作为测试样本,分别代表Noraml-DOS,Normal-Probe,Normal-U2R,Normal-R2L,最后一组为混后型数据,每组数据为1万条。
4.2 数据的预处理
由于朴素贝叶斯有个假定,即假定所有待测属性对给定类的影响独立于其他属性的值,然而现实中的数据不总是如此。因此,本文引入对称不确定理论来对数据进行预处理,删除数据中不相关的属性。
对称不确定理论是基于信息概念论,首先我们先了解一下信息理论念,属性X的熵为:
公式(6)
给定一个观察变量Y,变量X的熵为:
公式(7)
P(xi )是变量X所有值的先验概率,P(xi|yi )是给定观察值Y,X的后验概率。这些随着X熵的降低反映在条件Y下,X额外的信息,我们称之为信息增益,
公式(8)
按照这个方法,如果IG(X|Y)>IG(X|Y),那么属性Y比起属性Z来,与属性X相关性更强。
定理:对两个随机变量来说,它们之间的信息增益是对称的。即
公式(9)
对测量属性之间相关性的方法来说,对称性是一种比较理想的特性。但是在计算有很多值的属性的信息增益时,结果会出现偏差。而且为了确保他们之间可以比较,必须使这些值离散化,同样也会引起偏差。因此我们引入对称不确定性,
公式(10)
通过以下两个步骤来选择好的属性:
①计算出所有被测属性与class的SU值,并把它们按降序方式排列;
②根据设定的阈值删除不相关的属性。
最后决定一个最优阈值δ,这里我们通过分析NBC和K-NBC计算结果来取值。
4.3 实验结果及分析
在试验中,以记录正确分类的百分比作为分类效率的评估标准,表2为两种算法的分类效率。
表2 对应相同入侵类型数据进行检测的结果
数据集
算法 DOS
(neptune) Proble
(satan) R2L
( guess_passwd) U2R
(buffer_overflow)
检测率 误检率 整体检测率 检测率 误检率 整体检测率 检测率 误检率 整体检测率 检测率 误检率 整体检测率
NBC 99.5 0.2 99.79 98.3 0.1 99.84 97.3 0.8 99.2 95 1.8 98.21
K-NBC 99.5 0.2 99.96 98.3 0 99.96 97.3 0.2 99.81 71 0.1 99.76
SU+NBC 99.5 0 99.96 98.3 0.1 99.85 98 0.7 99.24 9 1.1 98.84
SU+K-NBC 99.5 0 99.96 98.3 0 99.96 98.7 0.2 99.76 85 0.1 99.81
根据表2四组不同类别的入侵检测结果,我们从以下三个方面分析:
(1)整体检测率。K-NBC的整体检测率要比NBC高,这是因为K-NBC在对normal这一类数据的检测率要比NBC高,而normal这一类数据又占整个检测数据集数的95%以上,这也说明了在上一节提到的normal类的数据分布曲线更加接近核密度曲线。
(2)检测率。在对DOS和PROBLE这两组数据检测结果,两个算法的检测率都相同,这是因为这两类入侵行为在实现入侵中占绝大部分,而且这一类数据更容易检测,所以两种算法的检测效果比较接近;针对 R2L检测,从表2可以看到,在没有进行数据预处理之前,两者的的检测率相同,但经过数据预处理后的两个算法的检测率都有了提高,而K-NBC的效率比NBC更好点;而对U2R的检测结果,K-NBC就比NBC差一点,经过数据预处理后,K-NBC的检测率有一定的提高,但还是比NBC的效果差一些。
(3)误检率。在DOS和Proble这两种组数据的误检率相同,在其他两组数据的中,K-NBC的误检率都比NBC的低。
根据表3的结果分析,我们也可以看到的检测结果与表2的分组检测的结果比较类似,并且从综合角度来说,K-NBC检测效果要比NBC的好。在这里,我们也发现,两种算法对R2L和U2L这两类入侵的检测效果要比DOS和Proble这两类入侵的差。这主要是因为这两类入侵属于入侵行为的稀有类,检测难度也相应加大。在KDD99竞赛中,冠军方法对这两类的检测效果也是最差的。但我们可以看到NBC对这种稀有类的入侵行为检测更为准确一点,这应该是稀有类的分布更接近正态分布。
从上述各方面综合分析,我们可以证明K-NBC作为的入侵检测分类算法的是有其优越性的。
表3 对混合入侵类型数据进行检测的结果
数据集
算法 整体检测 分类检测
Normal Dos Proble R2L U2R
检测率 误检率 检测率 误检率 检测率 误检率 检测率 误检率 检测率 误检率 检测率 误检率
NBC 98.14 1.8 98.2 0.8 99.8 0 99.8 0 90 0 86.7 1.8
K-NBC 99.78 0.2 99.8 2.3 99.8 0 99.8 0 96 0 73.3 0.1
SU+NBC 97.99 2.0 98 0.8 99.8 0 99.8 0 90 0 86.7 1.9
SU+K-NBC 99.79 0.2 99.8 1.9 99.8 0 99.8 0 96 0 80 0.1
5 结论
在本文中,我们用高斯核密度函数代替朴素贝叶斯中的高斯函数,建立K-NBC分类器,对入侵行为进行检测,另我们使用对称不确定方法来删除检测数据的中与类不相关的属性,从而进一步改进核密度朴素贝叶斯的分类效率,实验表明,对预处理后的审计数据,再结合K-NBC来检测,可以达到更好的分类效果,具有很好的实用性。同时我们也注意到,由于入侵检测的数据中的入侵行为一般为稀有类,特别是对R2L和U2R这两类数据进行检测时,NBC有着比较理想的结果,所以在下一步工作中,我们看是否能把NBC和K-NBC这两种分类模型和优点联合起来,并利用对称不确定理论来删除检测数据与类相关的属性中的冗余属性,进一步提高入侵检测效率。
- 真颛
-
贝叶斯 Thomas Bayes,英国数学家.1702年出生于伦敦,做过神甫。1742年成为英国皇家学会会员。1763年4月7日逝世。贝叶斯在数学方面主要研究概率论。他首先将归纳推理法用于概率论基础理论,并创立了贝叶斯统计理论,对于统计决策函数、统计推断、统计的估算等做出了贡献.1763年发表了这方面的论著,对于现代概率论和数理统计都有很重要的作用。贝叶斯的另一著作《机会的学说概论》发表于1758年。贝叶斯所采用的许多术语被沿用至今。
贝叶斯决策理论是主观贝叶斯派归纳理论的重要组成部分。
贝叶斯决策就是在不完全情报下,对部分未知的状态用主观概率估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策。
贝叶斯决策理论方法是统计模型决策中的一个基本方法,其基本思想是:
1、已知类条件概率密度参数表达式和先验概率。
2、利用贝叶斯公式转换成后验概率。
3、根据后验概率大小进行决策分类。
他对统计推理的主要贡献是使用了"逆概率"这个概念,并把它作为一种普遍的推理方法提出来。贝叶斯定理原本是概率论中的一个定理,这一定理可用一个数学公式来表达,这个公式就是著名的贝叶斯公式。 贝叶斯公式是他在1763年提出来的:
假定B1,B2,……是某个过程的若干可能的前提,则P(Bi)是人们事先对各前提条件出现可能性大小的估计,称之为先验概率。如果这个过程得到了一个结果A,那么贝叶斯公式提供了我们根据A的出现而对前提条件做出新评价的方法。P(Bi∣A)既是对以A为前提下Bi的出现概率的重新认识,称 P(Bi∣A)为后验概率。经过多年的发展与完善,贝叶斯公式以及由此发展起来的一整套理论与方法,已经成为概率统计中的一个冠以“贝叶斯”名字的学派,在自然科学及国民经济的许多领域中有着广泛应用。
[编辑本段]【贝叶斯公式】
设D1,D2,……,Dn为样本空间S的一个划分,如果以P(Di)表示事件Di发生的概率,且P(Di)>0(i=1,2,…,n)。对于任一事件x,P(x)>0,则有:
n
P(Dj/x)=p(x/Dj)P(Dj)/∑P(X/Di)P(Di)
i=1
贝叶斯公式
[编辑本段]【贝叶斯决策理论分析】
(1)如果我们已知被分类类别概率分布的形式和已经标记类别的训练样本集合,那我们就需要从训练样本集合中来估计概率分布的参数。在现实世界中有时会出现这种情况。(如已知为正态分布了,根据标记好类别的样本来估计参数,常见的是极大似然率和贝叶斯参数估计方法)
(2)如果我们不知道任何有关被分类类别概率分布的知识,已知已经标记类别的训练样本集合和判别式函数的形式,那我们就需要从训练样本集合中来估计判别式函数的参数。在现实世界中有时会出现这种情况。(如已知判别式函数为线性或二次的,那么就要根据训练样本来估计判别式的参数,常见的是线性判别式和神经网络)
(3)如果我们既不知道任何有关被分类类别概率分布的知识,也不知道判别式函数的形式,只有已经标记类别的训练样本集合。那我们就需要从训练样本集合中来估计概率分布函数的参数。在现实世界中经常出现这种情况。(如首先要估计是什么分布,再估计参数。常见的是非参数估计)
(4)只有没有标记类别的训练样本集合。这是经常发生的情形。我们需要对训练样本集合进行聚类,从而估计它们概率分布的参数。(这是无监督的学习)
(5)如果我们已知被分类类别的概率分布,那么,我们不需要训练样本集合,利用贝叶斯决策理论就可以设计最优分类器。但是,在现实世界中从没有出现过这种情况。这里是贝叶斯决策理论常用的地方。
问题:假设我们将根据特征矢量x 提供的证据来分类某个物体,那么我们进行分类的标准是什么?decide wj, if(p(wj|x)>p(wi|x))(i不等于j)应用贝叶斯展开后可以得到p(x|wj)p(wj)>p(x|wi)p(wi)即或然率p(x|wj)/p(x|wi)>p(wi)/p(wj),决策规则就是似然率测试规则。
结论:对于任何给定问题,可以通过似然率测试决策规则得到最小的错误概率。这个错误概率称为贝叶斯错误率,且是所有分类器中可以得到的最好结果。最小化错误概率的决策规则就是最大化后验概率判据。
[编辑本段]【贝叶斯决策判据】
贝叶斯决策理论方法是统计模式识别中的一个基本方法。贝叶斯决策判据既考虑了各类参考总体出现的概率大小,又考虑了因误判造成的损失大小,判别能力强。贝叶斯方法更适用于下列场合:
(1) 样本(子样)的数量(容量)不充分大,因而大子样统计理论不适宜的场合。
(2) 试验具有继承性,反映在统计学上就是要具有在试验之前已有先验信息的场合。用这种方法进行分类时要求两点: 第一,要决策分类的参考总体的类别数是一定的。例如两类参考总体(正常状态Dl和异常状态D2),或L类参考总体D1,D2,…,DL(如良好、满意、可以、不满意、不允许、……)。
第二,各类参考总体的概率分布是已知的,即每一类参考总体出现的先验概率P(Di)以及各类概率密度函数P(x/Di)是已知的。显然,0≤P(Di)≤1,(i=l,2,…,L),∑P(Di)=1。
对于两类故障诊断问题,就相当于在识别前已知正常状态D1的概率户(D1)和异常状态0:的概率P(D2),它们是由先验知识确定的状态先验概率。如果不做进一步的仔细观测,仅依靠先验概率去作决策,那么就应给出下列的决策规则:若P(D1)>P(D2),则做出状态属于D1类的决策;反之,则做出状态属于D2类的决策。例如,某设备在365天中,有故障是少见的,无故障是经常的,有故障的概率远小于无故障的概率。因此,若无特B,j明显的异常状况,就应判断为无故障。显然,这样做对某一实际的待检状态根本达不到诊断的目的,这是由于只利用先验概率提供的分类信息太少了。为此,我们还要对系统状态进行状态检测,分析所观测到的信息。
- LuckySXyd
-
贝叶斯 Thomas Bayes,英国数学家.1702年出生于伦敦,做过神甫。1742年成为英国皇家学会会员。1763年4月7日逝世。贝叶斯在数学方面主要研究概率论。他首先将归纳推理法用于概率论基础理论,并创立了贝叶斯统计理论,对于统计决策函数、统计推断、统计的估算等做出了贡献.1763年发表了这方面的论著,对于现代概率论和数理统计都有很重要的作用。贝叶斯的另一著作《机会的学说概论》发表于1758年。贝叶斯所采用的许多术语被沿用至今。
贝叶斯决策理论是主观贝叶斯派归纳理论的重要组成部分。
贝叶斯决策就是在不完全情报下,对部分未知的状态用主观概率估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策。
贝叶斯决策理论方法是统计模型决策中的一个基本方法,其基本思想是:
1、已知类条件概率密度参数表达式和先验概率。
2、利用贝叶斯公式转换成后验概率。
3、根据后验概率大小进行决策分类。
他对统计推理的主要贡献是使用了"逆概率"这个概念,并把它作为一种普遍的推理方法提出来。贝叶斯定理原本是概率论中的一个定理,这一定理可用一个数学公式来表达,这个公式就是著名的贝叶斯公式。 贝叶斯公式是他在1763年提出来的:
假定B1,B2,……是某个过程的若干可能的前提,则P(Bi)是人们事先对各前提条件出现可能性大小的估计,称之为先验概率。如果这个过程得到了一个结果A,那么贝叶斯公式提供了我们根据A的出现而对前提条件做出新评价的方法。P(Bi∣A)既是对以A为前提下Bi的出现概率的重新认识,称 P(Bi∣A)为后验概率。经过多年的发展与完善,贝叶斯公式以及由此发展起来的一整套理论与方法,已经成为概率统计中的一个冠以“贝叶斯”名字的学派,在自然科学及国民经济的许多领域中有着广泛应用。
[编辑本段]【贝叶斯公式】
设D1,D2,……,Dn为样本空间S的一个划分,如果以P(Di)表示事件Di发生的概率,且P(Di)>0(i=1,2,…,n)。对于任一事件x,P(x)>0,则有:
n
P(Dj/x)=p(x/Dj)P(Dj)/∑P(X/Di)P(Di)
i=1
贝叶斯公式
[编辑本段]【贝叶斯决策理论分析】
(1)如果我们已知被分类类别概率分布的形式和已经标记类别的训练样本集合,那我们就需要从训练样本集合中来估计概率分布的参数。在现实世界中有时会出现这种情况。(如已知为正态分布了,根据标记好类别的样本来估计参数,常见的是极大似然率和贝叶斯参数估计方法)
(2)如果我们不知道任何有关被分类类别概率分布的知识,已知已经标记类别的训练样本集合和判别式函数的形式,那我们就需要从训练样本集合中来估计判别式函数的参数。在现实世界中有时会出现这种情况。(如已知判别式函数为线性或二次的,那么就要根据训练样本来估计判别式的参数,常见的是线性判别式和神经网络)
(3)如果我们既不知道任何有关被分类类别概率分布的知识,也不知道判别式函数的形式,只有已经标记类别的训练样本集合。那我们就需要从训练样本集合中来估计概率分布函数的参数。在现实世界中经常出现这种情况。(如首先要估计是什么分布,再估计参数。常见的是非参数估计)
(4)只有没有标记类别的训练样本集合。这是经常发生的情形。我们需要对训练样本集合进行聚类,从而估计它们概率分布的参数。(这是无监督的学习)
(5)如果我们已知被分类类别的概率分布,那么,我们不需要训练样本集合,利用贝叶斯决策理论就可以设计最优分类器。但是,在现实世界中从没有出现过这种情况。这里是贝叶斯决策理论常用的地方。
问题:假设我们将根据特征矢量x 提供的证据来分类某个物体,那么我们进行分类的标准是什么?decide wj, if(p(wj|x)>p(wi|x))(i不等于j)应用贝叶斯展开后可以得到p(x|wj)p(wj)>p(x|wi)p(wi)即或然率p(x|wj)/p(x|wi)>p(wi)/p(wj),决策规则就是似然率测试规则。
结论:对于任何给定问题,可以通过似然率测试决策规则得到最小的错误概率。这个错误概率称为贝叶斯错误率,且是所有分类器中可以得到的最好结果。最小化错误概率的决策规则就是最大化后验概率判据。
[编辑本段]【贝叶斯决策判据】
贝叶斯决策理论方法是统计模式识别中的一个基本方法。贝叶斯决策判据既考虑了各类参考总体出现的概率大小,又考虑了因误判造成的损失大小,判别能力强。贝叶斯方法更适用于下列场合:
(1) 样本(子样)的数量(容量)不充分大,因而大子样统计理论不适宜的场合。
(2) 试验具有继承性,反映在统计学上就是要具有在试验之前已有先验信息的场合。用这种方法进行分类时要求两点: 第一,要决策分类的参考总体的类别数是一定的。例如两类参考总体(正常状态Dl和异常状态D2),或L类参考总体D1,D2,…,DL(如良好、满意、可以、不满意、不允许、……)。
第二,各类参考总体的概率分布是已知的,即每一类参考总体出现的先验概率P(Di)以及各类概率密度函数P(x/Di)是已知的。显然,0≤P(Di)≤1,(i=l,2,…,L),∑P(Di)=1。
对于两类故障诊断问题,就相当于在识别前已知正常状态D1的概率户(D1)和异常状态0:的概率P(D2),它们是由先验知识确定的状态先验概率。如果不做进一步的仔细观测,仅依靠先验概率去作决策,那么就应给出下列的决策规则:若P(D1)>P(D2),则做出状态属于D1类的决策;反之,则做出状态属于D2类的决策。例如,某设备在365天中,有故障是少见的,无故障是经常的,有故障的概率远小于无故障的概率。因此,若无特B,j明显的异常状况,就应判断为无故障。显然,这样做对某一实际的待检状态根本达不到诊断的目的,这是由于只利用先验概率提供的分类信息太少了。为此,我们还要对系统状态进行状态检测,分析所观测到的信息。
he
- kikcik
-
高人,鸟闪了
- Mugen-Hive
-
已知已经标记类别的训练样本集合和判别式函数的形式,那我们就需要从训练样本集合中来估计判别式函数的参数