首页 / 专利库 / 人工智能 / 机器学习 / 半监督学习 / 基于半监督学习的推荐系统托攻击检测方法

基于半监督学习的推荐系统托攻击检测方法

阅读:707发布:2020-10-29

专利汇可以提供基于半监督学习的推荐系统托攻击检测方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于半 监督学习 的推荐系统托攻击检测方法,包括以下阶段:托攻击检测预处理阶段;通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝叶斯分类器;EM-λ 算法 阶段;通过EM-λ算法不断 迭代 获取一个稳定的分类器,最终得到未标记数据集的类型;通过函数f:U→C来预测未标记用户属于正常用户normal(N)还是托攻击用户shilling(S),完成推荐系统托攻击检测。本发明用于发现推荐系统中的托攻击用户,具有高效性、灵敏性和特效性,具有高检测率和低错误率。,下面是基于半监督学习的推荐系统托攻击检测方法专利的具体信息内容。

1.一种基于半监督学习的推荐系统托攻击检测方法,其特征在于该方法包括以下阶段:
1)托攻击检测预处理阶段;该阶段通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝叶斯分类器;
如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U;
L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标记数据集;
2)EM-λ算法阶段;该阶段通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到未标记数据集的类型;通过函数f: U→C来预测未标记用户属于正常用户normal(N)还是托攻击用户shilling(S),完成推荐系统托攻击检测。
2.根据权利要求1所述的基于半监督学习的推荐系统托攻击检测方法,其特征在于:
在托攻击检测预处理阶段定义5种托攻击检测指标,具有如下:
定义1、熵:用户模型Pu可表示为统计集合Xu={ni, i=1,2,...,rmax},其中i是评分值,ni是评分值i在Pu中出现的次数;熵H(Xu)的计算公式如式(1)所示:
(1)
为了对其他用户的预测值产生尽量大的影响,托攻击者一般利用正态分布N(μ,σ2)生成随机评分数据,因此托攻击者的随机评分变化幅度较小,而正常用户会根据自己的兴趣偏好评分,评分变化幅度较大;熵的范围是[0,log2rmax],熵越小,表示评分值变化幅度越小,当所有评分值都相等时,熵为0;当ni相等时,熵取到最大值log2rmax;
定义2、长度变化LengthVar:推荐系统中正常用户模型长度较短,而托攻击者为了与更多的用户相似,模型长度较长,因此长度变化能反映出两者的区别;定义用户模型Pu的长度记为#(Pu),用户模型的总数为N,用户u的长度变化LengthVaru如式(2)所示:
; (2)
定义3、与近邻的平均相似度ADegSim:由于托攻击者为了影响大部分用户的预测评分,需要其与很多正常用户都非常相似,定义用户u与其k近邻的平均相似度,计算公式如式(3)所示:
; (3)
定义4、 FMTD:由于分段攻击和流行攻击都是对一组项目评最高分,它们的特征是评最高分项目集合的平均分与填充项目平均分之差极大,为此定义用户模型Pu可分为PuT和PuF,PuT是用户u评最高分的项目集合,PuF是剩余的用户u评过分的项目集合,即填充项目集合;
用户u的FMTDu计算公式如下:
; (4)
定义5 、RDMA:表示用户模型评过分项目与其平均值之间的平均偏差,用户u评过分项目的数量为Nu,用户u的RDMAu计算公式如下:
(5)
其中NRi是对项目i评过分的用户数量。
3.根据权利要求2所述的基于半监督学习的推荐系统托攻击检测方法,其特征在于:
获得标记和未标记数据集的5个指标后,可以在标记数据集上初始朴素贝叶斯分类器,然后根据此分类器属于normal(N)和shilling(S)的概率,由于5个检测指标都是相互独立的,使用朴素贝叶斯分类来初始化未标记用户属于类别C的概率,其中C={S,N};
首先计算u的5个指标值,记为{x1,x2,...,x5},而用户u的第i个指标Mi符合均值为μi,标准差为σi的高斯分布, P(xi|C)表示未标记用户u的第i个指标Mi属于类C的概率,故其可用式(6)所示:
(6)
μCi 和σCi为标记数据集的第i个指标Mi属于类C的均值和标准差,然后可通过式(7)获得用户u属于类C的概率,式(7)如下所示:
(7)
通过式(6)和(7)获得未标记用户属于正常用户或托攻击用户的初始概率。
4.根据权利要求2所述的基于半监督学习的推荐系统托攻击检测方法,其特征在于:
在EM-λ算法阶段,EM算法主要包括E步骤和M步骤,通过交替使用这两个步骤,EM算法逐步调整属于N和S的参数,即均值μCi和标准差σCi,直至这两个评估参数不再改变,两步骤具体为:
E步骤:使用式(8)计算每个用户属于类C的概率P(ukÎC),式(8)如下所示:
(8)
其中P(uk)为常数,初始阶段未标记用户属于正常用户或托攻击用户的概率是相同的,所以P(S)=P(N),所以P(ukÎC)仅仅由P(uk|C)决定,而P(uk|C)可以通过式(6)和(7)来计算;
M步骤:通过E步骤获得了每个用户属于N和S的概率,则可以计算属于类C的第i个指标Mi的均值μCi,其计算公式如式(9)所示:
(9)
属于类C的第i个指标Mi的均值σCi的计算公式如式(10)所示:
(10)
公式(9)和(10)中,类别C同样是通过wu来计算,|C|的计算公式如式(11)所示:
(11)
其中|L|表示标记用户的个数,而|U|表示非标记用户的个数,而公式(9)-(11)中wu为未标记用户u属于正常用户N和托攻击用户S的概率,其公式如式(12)所示:
(12)
在EM算法的基础上引入了参数λ,其中E步骤不改变,而M步骤定义了一个权重因子Λ(u),该权重在标记用户集中为1,而在未标记用户则为λ,其公式如式(13)所示:
(13)
则公式(12)被改写为式(13)所示:
(14)
当λ等于0相当于仅仅使用朴素贝叶斯分类器,其分类结果不受未标记用户影响,当λ等于1则相当于回到了EM算法;
EM-λ算法的结束条件是均值μCi和标准差σCi不再改变,如果还在变化则继续迭代EM-λ算法,否则结束迭代,然后通过式(8)计算未标记用户u属于正常用户的概率P(ukÎN)和属于托攻击用户的概率P(ukÎS),以P(ukÎN)和P(ukÎS)比值Ω作为判断未标记用户属于正常用户和托攻击用户的依据,比值Ω的计算公式如式(15)所示:
(15)
如果比值Ω大于阈值h,则该用户为正常用户,否则为托攻击用户。

说明书全文

基于半监督学习的推荐系统托攻击检测方法

技术领域

[0001] 本发明属于信息安全领域,具体地说是一种基于半监督学习的推荐系统托攻击检测方法。

背景技术

[0002] 因特网规模和覆盖面的迅速增长带来了信息超载,我们生活在数据时代,据IDC估计2011年数据总量将达到1.8ZB (1ZB = 1,000,000PB),用户面对海量数据束手无策,难
以顺利从中找到有用的信息。推荐系统(recommender system)是信息过滤的重要手段,是
解决信息超载问题非常有潜的方法。推荐算法是整个推荐系统中最核心的部分,协同过
滤(collaborative filtering)是应用最广泛的推荐算法,在日常生活中,我们往往会利用
好朋友的推荐进行一些选择,协同过滤正是基于这一思想,即基于其他相似用户对某一对
象的评价向目标用户进行推荐。
[0003] 目前,很多著名的电子商务推荐系统都是基于协同过滤的,如亚逊网络书店、GroupLens、TiVo、Netflix、YouTube和Facebook等。然而,基于协同过滤的推荐系统极易
受到托攻击(shilling attack),托攻击者通过伪造用户模型(user profile)干预系统的
推荐结果,增加或减少目标对象的推荐频率。比如,某些恶意生产商或店主为了使自己的产
品更加畅销,利用托攻击使得推荐系统频繁推荐自己的商品,而减少或不推荐竞争对手的
商品。
[0004] 托攻击检测是捍卫推荐系统安全性的重要手段,也是近年来信息安全应用领域的一个研究热点。从机器学习度,以往的托攻击检测方法可以分为两类,第一类托攻
击检测方法是基于监督学习的,如Chirita, Burke, Mobasher等学者提出利用决策树
检测托攻击;第二类方法是基于无监督学习的,以Mehta提出的基于主元分析(principal
component analysis, PCA)的算法为代表。
[0005] 实际的推荐系统中往往存在大量无法确定身份的用户(称为无标记数据),而只有少量用户的身份可以确定(称为标记数据),比如淘宝网上好评率极高或极低的用户、黄冠
用户等的身份容易确定,大量好评率适中用户的身份难以确定。由于标记数据量非常小,基
于监督学习的托攻击检测方法的误差较大。而无监督学习则没有利用现有的标记数据集,
忽视了标记数据集对未标记数据集的影响,训练出来的结果往往很难具有强泛化的学习能
力。

发明内容

[0006] 为了克服现有的托攻击检测方法存在的问题,本发明的目的是提供一种基于半监督学习的推荐系统托攻击检测方法。该方法首先使用朴素贝叶斯分类器(Naïve Bayesian
classifier)作为初始分类器,然后使用Expectation Maximization (EM)算法来改进分类
器。本发明用于发现推荐系统中的托攻击用户,具有高效性、灵敏性和特效性,具有高检测
率和低错误率。
[0007] 本发明的目的是通过以下技术方案来实现的:一种基于半监督学习的推荐系统托攻击检测方法,其特征在于该方法包括以下阶段:
1)托攻击检测预处理阶段;该阶段通过对标记数据集和未标记数据集的数据进行预处
理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝
叶斯分类器;
如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U;
L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集
合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标
记数据集;
2)EM-λ算法阶段;该阶段通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到
未标记数据集的类型;通过函数f: U→C来预测未标记用户属于正常用户normal(N)还是
托攻击用户shilling(S),完成推荐系统托攻击检测。
[0008] 本发明提出了基于半监督学习的推荐系统托攻击检测方法,用于发现推荐系统中的托攻击用户。本发明的初始输入是用户对项目的评分矩阵,由标记数据集和未标记
数据集组成,如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U。
L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集
合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标
记数据集。本发明的托攻击检测算法通过函数f: U→C来预测未标记用户属于正常用户
normal(N)还是托攻击用户shilling(S)。
[0009] 本发明第一阶段为托攻击检测预处理阶段,该阶段主要通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数
据集上训练初始的朴素贝叶斯分类器,第二阶段通过EM-λ算法不断迭代获取一个稳定的
分类器,最终得到未标记数据集的类型。本发明两个阶段的具体内容如下:
1、 托攻击检测预处理
为了从大量的未标记用户集合中找出托攻击用户,预处理阶段需要获得标记数据集和
未标记数据集的数据结构,其数据结构如图1所示,图中UID为用户号,class是用户类型,
指标1-5是5个托攻击检测指标。其中UID为用户的唯一标记,类型class包括正常用户
和托攻击用户,对于标记数据集来说class是已知的,而未标记用户需要通过托攻击检测
算法决定未标记用户的类别。5个指标用于描述属于正常用户或托攻击用户的分类属性,是
检测托攻击的有效指标,由于单个指标无法有效的检测未标记用户类型,所以本发明定义5
种托攻击检测指标:
定义1熵:用户模型Pu可表示为统计集合Xu={ni, i=1,2,...,rmax},其中i是评分
值,ni是评分值i在Pu中出现的次数。熵H(Xu)的计算公式如式(1)所示:
(1)
为了对其他用户的预测值产生尽量大的影响,托攻击者一般利用正态分布N(μ,σ2)
生成随机评分数据,因此托攻击者的随机评分变化幅度较小,而正常用户会根据自己的兴
趣偏好评分,评分变化幅度较大。熵的范围是[0,log2rmax],熵越小,表示评分值变化幅度
越小,当所有评分值都相等时,熵为0;当ni相等时,熵取到最大值log2rmax。
[0010] 定义2:长度变化LengthVar:一般地,推荐系统中正常用户模型长度较短,而托攻击者为了与更多的用户相似,模型长度较长,因此长度变化能反映出两者的区别,所以本发
明定义用户模型Pu的长度记为#(Pu),用户模型的总数为N,用户u的长度变化LengthVaru
如式(2)所示:
(2)
定义3与近邻的平均相似度ADegSim:由于托攻击者为了影响大部分用户的预测评分,
需要其与很多正常用户都非常相似,本发明定义用户u与其k近邻的平均相似度,计算公式
如式(3)所示:
(3)
定义4 FMTD:由于分段攻击和流行攻击都是对一组项目评最高分,它们的特征是评最
高分项目集合的平均分与填充项目平均分之差极大,为此定义用户模型Pu可分为PuT和
PuF,PuT是用户u评最高分的项目集合,PuF是剩余的用户u评过分的项目集合,即填充项
目集合。用户u的FMTDu计算公式如下:
(4)
定义5 RDMA:表示用户模型评过分项目与其平均值之间的平均偏差,用户u评过分项
目的数量为Nu,用户u的RDMAu计算公式如下:
(5)
其中NRi是对项目i评过分的用户数量。
[0011] 获得标记和未标记数据集的5个指标后,可以在标记数据集上初始朴素贝叶斯分类器,然后根据此分类器属于normal(N)和shilling(S)的概率,由于5个检测指标都是相
互独立的,因此,本发明使用朴素贝叶斯分类来初始化未标记用户属于类别C的概率,其中
C={S,N}。首先计算u的5个指标值,记为{x1,x2,...,x5},而用户u的第i个指标Mi符合
均值为μi,标准差为σi的高斯分布, P(xi|C)表示未标记用户u的第i个指标Mi属于
类C的概率,故其可用式(6)所示。
[0012] (6)μCi 和σCi为标记数据集的第i个指标Mi属于类C的均值和标准差,然后可通过式
(7)获得用户u属于类C的概率,式(7)如下所示:
(7)
通过式(6)和(7)可以获得未标记用户属于正常用户或托攻击用户的初始概率。
[0013] 2、 EM-λ算法EM算法主要包括两个步骤:E步骤和M步骤,该算法是一个不断迭代的过程,通过交替
使用这两个步骤,EM算法逐步调整属于N和S的参数(均值μCi和标准差σCi),直至这两
个评估参数不再改变,两步骤分别为:
E步骤:使用式(8)计算每个用户属于类C的概率P(ukÎC),式(8)如下所示:
(8)
其中P(uk)为常数,在本发明中,初始阶段未标记用户属于正常用户或托攻击用户的
概率是相同的,所以P(S)=P(N),所以P(ukÎC)仅仅由P(uk|C)决定,而P(uk|C)可以通过式
(6)和(7)来计算。
[0014] M步骤:通过E步骤获得了每个用户属于N和S的概率,则可以计算属于类C的第i个指标Mi的均值μCi,其计算公式如式(9)所示。
[0015] (9)属于类C的第i个指标Mi的均值σCi的计算公式如式(10)所示。
[0016] (10)公式(9)和(10)中,类别C同样是通过wu来计算,|C|的计算公式如式(11)所示。
[0017] (11)其中|L|表示标记用户的个数,而|U|表示非标记用户的个数,而公式(9)-(11)中wu
为未标记用户u属于正常用户N和托攻击用户S的概率,其公式如式(12)所示。
[0018] (12)本发明在EM算法的基础上引入了参数λ,其中E步骤不改变,而M步骤定义了一个权
重因子Λ(u),该权重在标记用户集中为1,而在未标记用户则为λ,其公式如式(13)所
示。
[0019] (13)则公式(12)被改写为式(13)所示:
(14)
很显然,当λ等于0相当于仅仅使用朴素贝叶斯分类器,其分类结果不受未标记用户
影响,当λ等于1则相当于回到了EM算法。EM-λ算法的结束条件是均值μCi和标准差
σCi不再改变,如果还在变化则继续迭代EM-λ算法,否则结束迭代,然后通过式(8)计算
未标记用户u属于正常用户的概率P(ukÎN)和属于托攻击用户的概率P(ukÎS),以P(ukÎN)
和P(ukÎS)比值Ω作为判断未标记用户属于正常用户和托攻击用户的依据,比值Ω的计
算公式如式(15)所示。
[0020] (15)如果比值Ω大于阈值h,则该用户为正常用户,否则为托攻击用户。
[0021] 本发明用于发现推荐系统中的托攻击用户。首先使用朴素贝叶斯分类器(NaïveBayesian classifier)作为初始分类器,然后使用Expectation Maximization (EM)算法
来改进分类器。相对于标记数据集,未标记数据集数据量极大,未标记数据集对EM算法的
参数估计过程起到决定性作用,准确的标记数据集的作用未能得到较好的体现,本发明引
入参数λ调节未标记数据集在EM算法参数估计过程中的权重,从而提高托攻击检测器的
准确性。本发明具有高效性、灵敏性和特效性,具有高检测率和低错误率。
附图说明
[0022] 图1是预处理后用户的数据结构示意图。
[0023] 图2是本发明具体实施的流程图
[0024] 图3为3组不同规模标记数据集上Semi-SAD灵敏度随参数λ的变化图。
[0025] 图4为Semi-SAD与PCA算法针对AoP 20%和AoP 60%攻击的ROC曲线。

具体实施方式

[0026] 一种本发明所述的基于半监督学习的推荐系统托攻击检测方法,包括以下阶段:1)托攻击检测预处理阶段;该阶段通过对标记数据集和未标记数据集的数据进行预处
理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝
叶斯分类器;
如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U;
L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集
合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标
记数据集;
2)EM-λ算法阶段;该阶段通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到
未标记数据集的类型;通过函数f: U→C来预测未标记用户属于正常用户normal(N)还是
托攻击用户shilling(S),完成推荐系统托攻击检测。
[0027] 图2是本发明具体实施的流程图。在实施过程中首先需要建立标记数据集和未标记数据集,其中训练数据集为标记用户集的评分集合,该用户集的类型是已知的,而测试数
据集则是未标记用户集的评分集合,需要通过托攻击检测判断用户类型;其次根据训练数
据集获得每个训练和测试数据集的预处理数据结构,该数据结构包含了托攻击检测的5个
指标; 然后使用朴素贝叶斯分类方法得到初始的未标记用户分类器;最后根据EM-λ算法
不断迭代,修正属于N和S的均值μCi和标准差σCi,最终得到一个稳定的分类器,通过这
个分类器得出用户属于N和S的概率,完成对未标记用户类型的标记。具体实施方式如下
所示:
步骤1:建立输入数据集。输入数据由训练数据集和测试数据集组成,这两个数据集为
用户-项目评分矩阵,该矩阵由m个用户的集合U和n个项目的集合I构成一个m*n阶矩
阵R(m,n),其中Ru,i表示用户u对项目i的评分。
[0028] 步骤2:标记和未标记数据集预处理。根据建立的训练数据集,通过公式(1)-(5)获得标记用户集和未标记用户集中每个用户的5个检测指标值,其中标记用户集的用户类
型已知,而未标记用户集需要托攻击检测方法获得。
[0029] 步骤3:获取未标记用户的初始朴素贝叶斯分类器。根据标记用户集5个指标的均值μi和标准差σi,然后使用朴素贝叶斯分类器来初始化未标记用户的属于类别C的
概率,通过公式(6)计算出未标记用户u的第i个指标Mi属于类C的概率,然后通过公式
(7)获得未标记用户的属于类别C的概率。
[0030] 步骤4:调整分类器,为E步骤。使用式(8)计算每个用户属于类C的概率P(ukÎC),通过式(6)和(7)计算未标记用户属于类C的概率P(uk|C)的值。
[0031] 步骤5:调整属于类C的第i个指标的均值和标准差,为M步骤。通过公式(9)-(14)可以调整属于类C的第i个指标Mi的均值μCi和标准差σCi。
[0032] 步骤6:判断是否结束迭代。通过判断每个指标属于类C概率的均值μCi和标准差σCi是否稳定,如果稳定则结束迭代,跳到步骤7,否则跳转到步骤4继续EM-λ迭代。
[0033] 步骤7:计算每个未标记用户属于类C的概率并判断其类别。通过式(8)计算每个用户属于正常用户的概率P(ukÎN)与属于托攻击用户的概率P(ukÎS)的比值Ω,比较比
值Ω与阈值h的大小,如果大于则该用户为正常用户,否则为托攻击用户。
[0034] 为了验证算法的高效性,本发明使用了MovieLens数据集,该数据集由943个用户对1682个项目评分,评分记录超过100,000条,分值处于[0,5]区间内,评分越高表示用户
对该电影越满意。本发明按照比例(attack size)向MovieLens数据集中分别注入5种攻
击,随机选择平均分小于3分的30部电影作为目标项目集合,攻击者随机选择目标项目集
合里的一部电影作为其攻击目标,5种攻击者模型产生如表1所示。
[0035] 表1. 5种攻击模型的产生方法攻击模型 攻击者模型产生方法
随机攻击 目标项目5分;装填项目随机评分,遵从均值3.6、标准差1.1的高斯分布
平均攻击 目标项目5分;装填项目取其平均分
分段攻击 目标项目及其Top-k近邻5分;装填项目1分
流行攻击 目标项目和流行项目5分,流行项目指打分用户最多的20部电影;装填项目随机评分,遵从均值3.6、标准差1.1的高斯分布抽样攻击 根据攻击者比例拷贝评分最多的用户模型,并对目标项目评5分
为了评估本文所提出算法的有效性,本发明沿用了评估分类器的两个常用度量:灵敏
性(sensitivity)和特效性(specificity)。灵敏性和特效性的计算公式分别如式(16)和
(17)所示:
        (16)
(17)
确 其中#true positives表示将托攻击用户检测为托攻击用户的数量,而#false
negatives表示将托攻击用户检测为正常用户的数量,#true negatives表示正常用户被检
测为正常用户的数量,#false positives表示正常用户被检测为托攻击用户的数量。
[0036] 本发明首先做了两组实验对本发明(Semi-SAD)与监督托攻击检测算法(Bayesian-SAD)和无监督托攻击检测方法(PCA)进行了比较。第一组实验使用的标记用户
集为100个正常用户和50个托攻击用户,而未标记用户集则使用了943个正常用户,同时
注入了攻击比例为10%即94个攻击用户,攻击模式为平均攻击和流行攻击用户各占一半,
项目填充比例分别2%、6%、10%、20%、30%、40%和50%,比较结果如表2所示。第二组实验同样
使用的标记用户集为100个正常用户和50个托攻击用户,而未标记用户集则使用了943个
正常用户,注入了攻击比例为10%即94个攻击用户,攻击模式为5种攻击各占五分之一,项
目填充比例分别2%、6%、10%、20%、30%、40%和50%,比较结果如表3所示。通过两个表可以看
出无论是两种攻击混合还是5种攻击混合,本发明的算法Semi-SAD的灵敏性和特效性都高
于监督托攻击检测算法Bayesian-SAD和无监督托攻击检测算法PCA。
[0037] 表2. 平均攻击和流行攻击混合下三种方法的灵敏性和特效性的比较表3. 5种攻击模式混合下三种方法的灵敏性和特效性的比较
本发明然后做了另一组实验,在改组实验中引入了权重因子Λ(u),同时在不同的训
练数据集下测试引入参数λ是否能够提高EM算法的效果。在本组实验中选取了3组标
记数据集,分别为:50正常用户和25攻击用户(50N-25S),100正常用户和50攻击用户
(100N-50S),150用户和75攻击用户(150N-75S),而未标记用户集则使用了943个正常用
户,注入了攻击比例为10%即94个攻击用户,攻击模式为5种攻击各占五分之一,填充项目
比例为6%。
[0038] 图3为3组不同规模标记数据集上Semi-SAD灵敏度随参数λ的变化图。选取了3组标记用户集,分别为:50正常用户和25攻击用户(50N-25S),100正常用户和50攻击用
户(100N-50S),150用户和75攻击用户(150N-75S),而未标记用户集则包含943个正常用
户,同时注入了攻击比例为10%即94个攻击用户,攻击模式为5种攻击各占五分之一,填充
项目比例为6%。图3显示了本发明引入参数λ在3组标记数据集上灵敏度的变化情况,可
以看出引入参数λ后标记数据集的规模越小则灵敏度变化幅度越大,而且分别在λ=0.4、
λ=0.2和λ=0.6时灵敏度最高,说明参数λ起到了调节作用。
[0039] 本发明最后做了一组实验,引入了另外一种简单有效的AoP攻击模式,即在x%最受欢迎的项目集合中选择填充比例为y%的项目集合,填充方式为每个填充项目所在
列的平均值。本组实验使用ROC曲线来描述本发明算法和PCA算法的性能。ROC曲线以
1-specificity和sensitivity分别作为x轴和y轴,以P(ukÎS)与P(ukÎN)的比率作为阈
值。在本组实验中,选取的标记用户集为100个正常用户和50个托攻击用户,而未标记用
户集则使用了943个正常用户并注入了攻击比例为10%即94个攻击用户,填充项目比例为
5%,攻击模式分别为AoP 20%和AoP 60%(即分别在20%和60%最受欢迎的项目集合中选择
填充项目比例为5%的项目集合),ROC曲线如图4所示。
[0040] 图4为Semi-SAD与PCA算法针对AoP 20%和AoP 60%攻击的ROC曲线。以1-specificity和sensitivity分别作为x和y轴,以P(ukÎS)与P(ukÎN)的比率作为阈
值,选取的标记数据集为100个正常用户和50个托攻击用户,而未标记用户集则使用了943
个正常用户并注入了攻击比例为10%即94个攻击用户,其填充项目比例为5%,而攻击模式
分别为AoP 20%和AoP 60%。通过图4可以看出本发明的算法与PCA算法相比,具有高检测
率和低错误率的优点。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈