·228· 智能系统学报 第14卷 度。Algorihml和Algorihm2为算法伪代码。 理相同规模数据集的准确度和灵敏度,来验证 3 实验与分析 MR-DLOF算法的有效性。针对每种规模的数据 集,分别从KDD-CUP1999标准化处理后的数据 实验平台配置:3台PC机(通过局域网连 库中随机选取10组不同的数据集,并使所选取的 接),节点配置为VMware Workstation Pro 12.0.0for 每种规模数据集中攻击数据(即异常点)在该数 Windows下的CentOS-7,JDK为l.8版本,Ha- 据集中占比为1%2%。使用LOF算法和MR-DLOF doop为2.7.4版本。本文所有算法均采用JAVA 算法分别计算其准确度和灵敏度,并取其平均值 语言实现,eclipse编译环境。实验环境为基于云 作为评价指标,其中设定阈值0=1.2。 平台的Hadoop集群,共有3个节点:1个控制节 由图3~4可知,LOF和MR-DLOF在处理相 点和2个计算节点,控制节点内存为32GB,计算 同数据集时,MR-DLOF算法在保证其灵敏性的 节点内存为8GB。节点信息如下表1。 基础上,大大提高了其准确率。 表1节点信息 Table 1 Node information 100 IMR-DLOF 95 LOF 节点名 P地址 角色 % Master 192.168.0.120 NameNodeResourceManager 85 Slave0 192.168.0.121 DataNodeNodeManager 80 Slavel 192.168.0.122 DataNodeNodeManager 75 实验数据集:为了验证MR-DLOF算法的有 效性和高效性,本文选用网络入侵数据集KDD- 500 30000 CUP19992m,KDD-CUP1999数据集中每个连接用 数据集数量 41个特征和1个标签来表述:其中3个特征以 图3算法准确度比较 CSV格式写成。这41个特征包含7个离散变量, Fig.3 Accuracy comparison of algorithm 34个连续变量,并且第20个变量数据全为0。 LOF和MR-DLOF算法中采取距离的方法进 SDL.oF 行计算,由于每个特征属性的度量方法不同,为 了避免出现“大数吃小数”的现象,消除属性度量 90 差异对计算结果的影响,需要对数据集进行预处 5 理。本文对除去全为0变量和CSV格式变量后 80 的37个变量进行标准化处理。 75 算法的有效性验证 70 3.1 性能衡量标准:异常检测算法对正常数据与 500 异常数据的检测结果如表2所示。 数据集规模 表2数据检测结果 图4算法灵敏度比较 Table 2 Data test result Fig.4 Sensitivity comparison of algorithm 结果 被检测为正常 被检测为异常 3.2 算法的高效性验证 正常数据 TP(True Positive) FP(False Positive) 本文主要对比LOF算法和MR-DLOF算法处 异常数据 FN(False Negative) TN(True Negative) 理相同规模数据集的执行时间,来验证MR-DLOF 准确度: 算法的执行效率。如图5所示,可以看出当数据 TP+TN Accuracy =TP+TN+FP+FN (3) 量比较大时,MR-DLOF的执行效率明显优于LOF 算法。数据量少时LOF算法执行效率优于MR 灵敏度:即真正辨识率,是正确检测出异常数 LOF算法的原因是Hadoop调度Map任务和Re- 据的个数与实际异常数据个数之比。 duce任务时需要一定的时间:但当数据量比较大 TN Sensitivit=TN+FN (4) 时,将数据分块后,Hadoop会调度多个MapRe- 本文主要对比LOF算法和MR-DLOF算法处 duce并行执行任务,效率明显增加。ऎnjAlgorihm1 ֖ Algorihm2 ˝ኪก̼͡ᆉnj 3 ࠃᰍˀѫౡ ࠃᰍࣰԻᦠᎵὙ 3 Ի PC (ࡌ۪Ꭹᤋ ଋ)ὋᓫཁᦠᎵ˝ VMware Workstation Pro 12.0.0 for Windows ʽᄉ CentOS-7ὋJDK ˝ 1.8 ྟఴὋHadoop ˝ 2.7.4 ྟఴnjఴథኪกڨ᧓ၸ JAVA ឥᝒࠃဗὋeclipse ᎃដဖܑnjࠃᰍဖܑ˝۲̅̇ ࣰԻᄉ Hadoop ᬶᏅὋРథ 3 ˓ᓫཁὙ1 ˓ଌ҃ᓫ ཁ֖ 2 ˓ኪᓫཁὋଌ҃ᓫཁЮߚ ˝32 GBὋኪ ᓫཁЮߚ ˝8 GBnjᓫཁζোݟʽᛪ 1nj 㶔 1 㞮◥ԍᖛ Table 1 Node information ᓫཁՏ IP ڦڠ ᝇᓣ Master 192.168.0.120 NameNodeResourceManager Slave0 192.168.0.121 DataNodeNodeManager Slave1 192.168.0.122 DataNodeNodeManager ࠃᰍஜᬶὙ˝˿ᰍ MR-DLOF ኪกᄉథ ব֖ᰳবὋఴᤤၸᎩፎЙΥஜᬶ KDDCUP1999[22] ὋKDD-CUP1999 ஜᬶ˖ඇ˓ᤋଋၸ 41 ˓ྱड़֖ 1 ˓ಕኣᛪᤗὙФ˖ 3 ˓ྱड़̾ CSV ಪयзnjᤇ 41 ˓ྱड़Ӊդ 7 ˓ሎԪ᧙Ὃ 34 ˓ᤋ፝Ԫ᧙Ὃࣲ˄ኃ 20 ˓Ԫ᧙ஜК˝ 0nj LOF ֖ MR-DLOF ኪก˖᧓Ԩᡯሎᄉழกᤈ ᛠኪὋၿ̅ඇ˓ྱड़࡚বᄉऎ᧙ழกʿՎὋ˝ ˿ᥗБѢဗ“ܷஜՈ࠴ஜ”ᄉဗ៵Ὃ๖ᬓ࡚বऎ᧙ ࢿऩࠪኪፆ౦ᄉॕֽὋᭉ᜵ࠪஜᬶᤈᛠᮔܪ ူnjఴࠪᬓԜК˝ 0 Ԫ᧙֖ CSV ಪयԪ᧙Ր ᄉ 37 ˓Ԫ᧙ᤈᛠಕэӐܪူnj 3.1 ッ∁⮰ᰵᩴᕓ侸䃭 বᑞᛥ᧙ಕэὙऩ࣡ኪกࠪൣ࣡ஜˀ ऩ࣡ஜᄉፆ౦ݟᛪ 2 ᇧnj 㶔 2 ᢚᷬ≷㏿ Table 2 Data test result ፆ౦ ᜁ˝ൣ࣡ ᜁ˝ऩ࣡ ൣ࣡ஜ TP(True Positive) FP(False Positive) ऩ࣡ஜ FN(False Negative) TN(True Negative) эᆷऎὙ Accuracy = TP+TN TP+TN+FP+FN ༦ஏऎὙԀᄽൣᣱខညὋ௦ൣᆷѢऩ࣡ஜ ᄉ˓ஜˀࠃᬄऩ࣡ஜ˓ஜ˧ඊnj Sensitivit = TN TN+FN ఴ˞᜵ࠪඊ LOF ኪก֖ MR-DLOF ኪกܪ θ = 1.2 ူᄰՎഴஜᬶᄉэᆷऎ֖༦ஏऎὋᰍ MR-DLOF ኪกᄉథবnj᧪ࠪඇሗഴᄉஜ ᬶὋѫѾ̯ KDD-CUP1999 ಕэӐܪူՐᄉஜ ं˖ᬣᤤԨ 10 ጷʿՎᄉஜᬶὋࣲᤤԨᄉ ඇሗഴஜᬶ˖ஈѣஜ (Ԁऩ࣡ཁ) ڙឞஜ ᬶ˖ӳඊ˝ 1%~2%njၸ LOF ኪก֖ MR-DLOF ኪกѫѾኪФэᆷऎ֖༦ஏऎὋࣲԨФڨࣰϘ ͺ˝͈ૈಕὋФ˖߿Ϙ nj ၿڎ 3ᾝ4 ԺᅻὋLOF ֖ MR-DLOF ܪڙူᄰ ՎஜᬶௐὋMR-DLOF ኪกڙγФ༦ஏবᄉ ۲ᆨʼὋܷܷଡᰳ˿Фэᆷညnj ᢚ䯲䛻 ۲Ꮢ 05'/2) /2) ప 3 ッ∁۲Ꮢ℀䒯 Fig. 3 Accuracy comparison of algorithm ᢚ䯲㻰Ὅ □᩻Ꮢ 05'/2) /2) ప 4 ッ∁□᩻Ꮢ℀䒯 Fig. 4 Sensitivity comparison of algorithm 3.2 ッ∁⮰倄ᩴᕓ侸䃭 ఴ˞᜵ࠪඊ LOF ኪก֖ MR-DLOF ኪกܪ ူᄰՎഴஜᬶᄉ੯ᛠௐᫍὋᰍ MR-DLOF ኪกᄉ੯ᛠညnjڎݟ 5 ᇧὋԺ̾ᄹѢॆஜ ᧙ඊᣖܷௐὋMR-DLOF ᄉ੯ᛠည௬͕̅ LOF ኪกnjஜ᧙࠵ௐ LOF ኪก੯ᛠည͕̅ MRLOF ኪกᄉԓځ௦ Hadoop ុऎ Map ͉ҫ֖ Reduce ͉ҫௐᭉ᜵ʶ߿ᄉௐᫍͭॆஜ᧙ඊᣖܷ ௐὋ࠱ஜѫڰՐὋHadoop ͗ុऎܲ˓ MapReduce ࣲᛠ੯ᛠ͉ҫὋည௬ܘҪnj g228g ఄNJᑞNJጆNJፑNJߥNJઐ ኃ 14 ԃ