基于机器学习的改进型物联网服务信任模型
2022-05-23何超勋彭伟锋李燕飞陈海彪
何超勋,彭伟锋,李燕飞,陈海彪,2
(1.广东电网有限责任公司汕尾供电局 信息中心,广东 汕尾 516600; 2.华南理工大学 计算机科学与工程学院,广州 天河 510641)
0 引 言
在物联网(IOT)基础设施中,数以十亿计的电子设备连接到互联网,它们可以观察或监测现实世界中人类生活的各个方面,以支持更普遍和智能的服务[1-3]。现代物联网生态系统包括物理设备和网络组件之间的联网以及它们之间的社交互动。这本质上是从信息物理系统(CPS)到社会物理信息系统(CPSS)的飞跃[4]。然而,由于人与对象之间的异构交互,这提出了对风险、隐私、安全在系统和社会层面上的新关注。未来物联网服务的目标是在没有人为干预的情况下自主决策,所以信任被认为是处理数据以及满足服务、业务和客户需求的关键。因此,ITU-T在发布了第一条建议之后,基于通信组的信任活动,一直在制定相关的信任提供标准[5-7]。但这些方案都存在着一些缺点:如缺乏关于通用框架细节的信息,方案在应用领域和目标领域都缺乏通用性等。
为了弥补这些不足,本文在文献[6]的基础上进行了改进,对结构设计模型、特征提取方法和智能算法等方面的扩展,在不需要人为干预的情况下分析特征并自动评估信任值。该方案的架构主要是基于一个真实数据集的多个特征,提出了一个信任评估方案。同时在该方案中,为了使方案更加有效和健壮,在方案中还结合了机器学习相关知识。
本文的主要的创新点是:①提出了一个完整的信任框架模型,该模型规定了从原始数据到最终信任值之间的信任关系;②提供了一种评估数据和评估每个信任特征的分析方法;③提出了一种聚类算法来标记提取的信任特征;④提出了一种基于多类分类算法的智能模型,结合测量的信任度量建立信任评估模型;⑤在仿真环境中对评估结果的有效性进行了评估。
1 通用信任管理框架
信任影响了物联网生态系统中一个对象与另一个对象进行交易的决策,在该系统中,所有参与对象必须基于信任做出决策,以便向其他对象提供/接收服务。然而,在物联网中建立信任要困难得多,因为机器对象无法产生对周围其他对象的感知。此外,很难精确地量化对象的确切可信赖度值。因此,必须建立一个通用框架,定义信任管理过程的方案,同时考虑到信任特征的多样性,从而赋予对象选择最佳和实际措施的灵活性。为了澄清信任的模糊性和定义,所以在网络世界的背景下使用了以下定义[8]:
定义1 信任:它是受托人的一种定性或定量的财产,由委托人以主观或客观的方式,在特定的背景下,在特定的时间段内,对给定的任务,作为一种可测量的信念进行评估。
定义2 信任模型:它包括3个方面:知识、经验和声誉。每个信任度量(trust metrics,TM)可以表示为包含多个信任属性(trust attributes,TAs)的集合。每个TA代表受托人的可信特征。
在信任模型中,信任的获取、评估和表示的相关过程,如图1所示。
图1 通用信任模型
1.1 知识信任度量
知识的信任度量涵盖了直接信任评估的所有方面,在交互之前提供对受托人的感知。所以,必须向委托人提供多个属性的多组相关数据,供其评估。如果一个数据特征可以用定量测量来表示,那么结果就是一定范围内的数值。整个知识的构成如图2所示。
图2 知识构成
图2中TAs的关系定义了委托人和受托人之间的相互关系。如果两个对象之间关系是非常好的,那么可以期望它们之间有更高的可信度。另外,图2中可信度下的合作表示从受托人到委托人的社会协作水平。协作性越高,意味着物联网生态系统中的信任水平越高。此外,在物联网生态系统中,服务的供应是基于其社会关系,而不完全依赖于底层系统级信息。因此,识别TAs是至关重要的,它决定了协作对象的社会邻近性。
1.2 经验和声誉信任度量
在通过知识TM获得足够的受托人证据后,委托人可以基于已经获得的感知与选定的受托人发起合作。然而,这些互动的结果可能不同于感知,因此,记录每个个体的经验,以便在未来的互动中使用是至关重要的。通过在相应的上下文、任务和时间中积累这些经验,与知识TM相比,委托人可以建立更多的智能。
为进一步提高对委托人的认识,其他对象可应委托人的要求,分享其使用受托人的经验,在此将其认定为声誉或受托人的全局观点。
总而言之,经验TM是个人观察,只考虑了委托人与受托人之间的互动,而声誉TM则反映了受托人的全局观点。然而,知识TM是经验和声誉的基石,因此本研究的重点是基于ML技术产生知识TM的量化结果。
2 计算模型
尽管物联网环境产生了大量数据,但有多少数据可以直接用于可信的评估过程还是值得怀疑的。因此,通过扫描社交和系统级交互日志来提取信任特征并将其存储在数据存储库(DR)中以供进一步分析是至关重要的。因此,本文提出了一个能够提取基本特征的数值模型。
2.1 同地关系(CLR)
物联网生态系统允许用户与附近的设备共享他们的资源、想法、情况和感兴趣的服务。在这种情况下,如果委托人和受托人都很接近并且已经在平台中订阅了DR,则委托人可以方便地从所选的受托人处获取所需的信息,与远离场景的其他对象相比,所选的受托人在物理位置上是可信的。然而,在物联网模型中,对象总是与其所有者相关(owner object relationship,OOR),因此OOR的静态或动态性质总是影响CLR[9]。为了避免对象离开物理位置,考虑基于与委托人的距离(如,基于GPS数据)和在此决策边界内花费的时间的决策边界。然后,在该距离边界内且超过该区域内的最小时间阈值的对象被选为受信者的潜在候选对象。一旦候选被过滤,它们与信任者的CL关系可以计算如下
(1)
2.2 合作关系(CWR)
在公共物联网应用中协作的对象可以被描述为CWR。在这种情况下,更多的焦点将放在特定服务领域的工作关系上,而不是它们的物理邻近性上。为了将CWR作为一个数值来衡量,这里比较了信任方和受信方之间的组播交互,计算如式(2)
(2)
2.3 合作性、频率和持续时间(CFD)
在协作环境中,每个对象都必须履行其承诺,以提高整个服务提供过程的结果水平。例如,考虑一个恶意代理,该代理为特定服务提供假评级。在这种情况下,很明显,该代理故意试图操纵服务信息的真实性,而无意使用该信息。因此,合作性TA对于保持上述内容的稳定性,从而根据委托人的要求为其提供可信的服务至关重要。此外,可以预期,对象之间的交互越频繁、时间越长,各方的协作就越多。在此基础上,推导了合作度、频率和持续时间的数值模型。
在此考虑一组相互作用,c1,c2,…,cn, 在委托人有利害关系的期间内,委托人i和受托人j之间的信任级别计算如下
(3)
式中:n是交互次数,表示它们之间的交互频率。对于m-th成功交互,cm是委托人和受托人之间交互的长度,tm是受托人的总交互长度。系数cm/tm评估受托人与委托人互动的持续时间属性,相对于受托人的总活动时间。E(cm) 是二元熵函数,用于测量交互作用或协作性中的平衡,其计算公式如式(4)所示[10]
E(cm)=-plogp-(1-p)log(1-p)
(4)
其中,p是委托人和受托人之间交互作用的分数。E(cm) 遵循文献[11]中所述的二元分布。很明显,只有当p=0.5为各方贡献的50%时,才能达到最大熵(即E(cm)=1)。
2.4 奖励制度(RS)
任何服务提供系统的重要组成部分都需要有奖惩机制或反馈模型,以评估委托人和受托人之间的历史服务体验。将社会关系保持在最大可信水平总是至关重要的,因此使用式(5)中所示的指数降级公式来实现这一目的
(5)
这里,C是在t期间发生的交互的总数,Cp是不成功或可疑的交互的总数。为了更严厉地惩罚不当行为,与标准指数分布相比,分布的斜率增大。因此,恶意交互次数越多,奖励值越低。
2.5 相互性和中心性(MC)
在物联网生态系统中,服务发现和提供很大程度上取决于参与对象之间的社会关系。在这方面,相互性和中心性TAs定义了社会世界中受托人相对于委托人的位置。另一方面,可以很直观地假设,更多的共同对象意味着他们的社会概况之间更高的相似性。但是,由于共同朋友的数量与每个对象的朋友数量成正比,因此不能将共同性单独用作TA。也就是说,与最近加入网络但可信度更高的对象相比,具有更多好友的对象会获得额外的优势。为了避免这种情况,考虑了一个相对的共同关系的衡量标准,与朋友总数相比。这本质上是受托人的中心属性,计算如式(6)
(6)
其中,Mij是i和j之间的一组普通朋友,Ni是受托人的一组朋友。
2.6 利益共同体(CoI)
(7)
在使用式(1)~式(7)提取所有TAs后,下一步是计算受托人的最终信托价值。一种众所周知的方法是通过一个线性方程将每个TA与权重因子结合起来,如式(8)所示
(8)
然而,这种方法有许多缺点,包括:①缺乏信息,在估计权重因子时有无限的可能性;②基于阈值的系统不适合检测特定受托人的可信度;③无法确定在特定情况下哪个TA对信托的影响最大。因此,将在下一节中提出信任评估过程的新方法。
3 基于机器学习的模型
为了克服前面讨论的TA组合的不足,在这里提出了一个基于ML的模型来分析之前提取的TA,并基于训练后的模型来预测预期交易的可信度。为了达到这一目的,首先使用无监督学习算法来识别两个不同的簇或标签,即可信和不可信。在有监督方法上使用无监督学习的主要原因是基于信任关系的标记训练集不可用。
然后利用支持向量机(SVM)等多类分类技术对ML模型进行训练,以确定区分可信交互的最佳阈值水平。在这项研究中,主要目标是以最大边界分离和最小离群值来区分恶意交互和可信交互,而不是分类本身。因此,不必使用其它算法,如随机森林算法,特别是与本文中使用的样本大小相比,使用低维数据集时。但是,根据数据集、维数、所需分类数和样本的噪声水平,可以执行模型比较,以找出针对每个单独情况的最佳可能算法。像这样训练有素的模型可以比线性加权方法[12,13]更有效地区分两个或多个对象之间的传入交互,并且在决策过程中更为有益。
图3 整个模型流程
3.1 第一部分:聚类和标记
在这一部分中,开发了一个基于K-均值聚类技术的算法,算法1中详细说明了该技术,以便基于上述特征对交互进行分组,从而将每个交互标记为可信或不可信[14]。K-means算法需要定义两个初始条件:簇数(k)和每个相互作用被分配到的初始质心位置(μ)。由于在算法开始时无法找出这些值,因此随机分配一系列簇大小的初始质心位置,例如从k=1到k=5。 之后,重复步骤,直到聚类点μ不再改变。然后,利用肘部法则求出K-平均代价函数J(c,μ) 的最小值,其中c是簇质心的指数,m是簇质心的坐标,其维数为K[14]。
算法1: 数据聚类和标记
输入: 征矩阵X
输出: 训练样本的标签y
fork=1 to 5do
重复直到收敛: {
fori=1 tomdo
μk=分配给簇的点的均值位置k
endfor
}
J(k)(c,μ)=argminkJ(c,μ)
endfor
优化k←肘部法则←plotJ(k)vsk
fori=1 tomdo
ifc(i)接近(0,0)
y(i)=0
else
y(i)=1
endif
注意,算法的初始输入在[0,1]之间进行了规范化,其中0表示不可信,1表示最可信。因此,在簇化步骤之后,将接近0的点标记为不可信是合乎逻辑的,反之亦然。因此,在执行完肘部法则后,靠近N维空间原点(即所有零点)的簇被标记为0或不可信,远离原点的簇被标识为可信区域。为了同时检查所有n个特征的影响,在应用算法1之前,应用基于奇异值分解(SVD)的主成分分析(PCA)算法将n个维度降为2个维度,以便可视化[15]。尽管可以用正则化扩展算法1对n个特征,但可以观察到PCA方法相对于正则化无监督学习的计算复杂度更有效。
PCA算法如算法2所示,其第一步是计算具有n×n维数的协方差矩阵∑。使用SVD函数计算两个主分量U和V,每个主分量的维数与∑相同[15]。作为本研究的意图,这里将主矩阵U的维数从5降为2,主矩阵U的维数设为2。最后,步骤4计算对应于五维向量X的二维特征向量Z。
算法2:PCA算法
(1)计算点积矩阵: ∑=XTX
(2)计算特征向量: [U,S,V]=SVD(XTX)
(3)指定所需的维数,d∶Ud=[u1,…,ud]
3.2 第二部分:分类模型
在算法3中,使用了径向基函数核(RBFK),这是因为与训练集样本(m)相比,特征数(n)更少。此外,为了优化计算资源,使用LIBSVM库运行RBFK核[14]。首先,对正则化参数和方差的多个实例运行RBFK核,以便为算法3的步骤4~步骤7所示的学习算法找到最佳参数。作为一个例子,c和γ作为一个几何级数而变化(例如,0.01,0.03,0.09…30)节省时间和计算资源。然后选取预测误差最小的参数作为支持向量机模型的优化因子。此外,必须提高最终ML模型的精度,并抑制由先前的聚类算法产生的任何噪声。因此,在算法3的训练过程中,使用正则化技术来避免这些问题。
然后,使用算法3对所有训练数据样本进行算法训练,并记录模型参数,根据输入的特征统计量估计未来的信任值。在LIBSVM库中定义函数svmtrain,根据支持向量机技术计算基于RBFK核的决策边界。与算法1相似,首先考虑两个信任特征,研究信任边界。然后,利用PCA算法得到的特征,研究了这5个特征对信任边界的影响。
算法3:分类模型
输入:X,y,Xval,yval
输出:权重和决策边界
(1)forc,γ=0.01(multiple of 3) 30do
(2)model=svmtrain(y,X,RBFK,c,γ)
(3) prediction=svmtrain(yval,Xval,model)
(4)error[c,γ]=predictions≠yval
(5)endfor
(6)Choosec,γ←minimum[error]
(7)[weight,accuracy,decisionvalues]=svmtrain(y,X,RBFK,c,γ)
4 实验与评估
4.1 实验设置
本文实验是在一台处理器为英特尔I7处理器,内存为16 GB,显卡为英伟达2080Ti的电脑上完成的。数据来源于CRAWDAD[16]在SIGCOMM-2009上采集的信息,这些信息包含有关设备接近度、活动日志、友谊信息、感兴趣的组、应用程序级消息日志和数据层传输日志的信息。然后为了满足本文实验要求,在这里将原始数据映射为一组与物联网相关的特征:CWR、CFD、RS、MC和CoI。数据集中80%的数据为训练样本,20%的数据为测试样本。具体参数设置见表1。在76个节点中,每对节点之间至少有一个交互被称为对象。社群即属于相同的组别。信息即节点之间传输的信息。
表1 实验参数设置
4.2 结果与评估
基于第2节中定义的数值模型的仿真结果如图4和5所示。
图4 每个特征的可信度分布
图5 对象45号的可信度分布
值得注意的是,如图4所示,CLR特性中的可信度值的分布接近1,这是因为数据是从速度非常快的设备收集的。注意,只有一小部分对象对在5776个对象之间有CLR关联,因为数据点表示那些至少有一个事务的对象。此外,信任值被规范化为介于0和1之间。1表示100%可信的交互,零表示不可信的交互。
另一方面,图4中所示的CWR关联的分布显示出与CLR情况相比较弱的关联,即使它们紧密地协同工作。每个节点的不同意图可能是导致这种行为的原因之一。此外,由于无线电频率(RF)通信通常限于非对称类型的交互以及短时间的消息交换,可信赖度值相对于其协作性、交互的频率和持续时间的变化被分布到图的低端。然而,基于CoI和中心度的信任值在图中的0.3到0.8范围内分布,显示了节点之间的一些轮廓相似性。此外,每个互动的奖励值都偏向于量表的低端。这主要是由于过去的交往中不成功或不良行为造成的。
类似地,图5示出了每个对象(受托人)相对于一个特定对象(委托人)的可信度的分布。为了得到这些结果,随机选择了45号对象。此图清楚地显示了在前面章节讨论的特性的其它相邻对象上的委托人视图的解释。以委托对象34号为例,与其它特征相比,对象34号与委托人具有高度的同地关系,MC、CFD和奖励分别约为0.4、0.15和0.16。因此,由于MC和CFD值较低,委托人有可能在未来的交互中与受托人进行基于位置的服务,但会限制其与协作服务相关的交互。
4.2.1 聚类和标记
随着信任特性的成功抽象,下一步是研究如何将它们结合起来生成最终的信任值。为了从不可信的交互中过滤出最可信的交互,应用第3节中说明的算法,得到的结果如图6所示。
图6 基于不同特征的K-means聚类
为了确定最佳簇数,如图7所示,使用肘部法则。在某些特征组合中,该算法能够将交互分为可信、中立和不可信3类。肘部法则给出k=3的实例代表了这种情况。结果清楚地显示了与图6所示的不可信交互作用分离的边界。
图7 利用肘部法则确定最佳簇数
图6(a)显示了信任值相对于中心性和社区利益的分布。可以观察到,就这两个特征而言,MC=6和CoI=6以上的区域是值得信赖的区域。同样,如图6(b)到图6(g)显示了可信区域和不可信区域之间的清晰边界。然而,图6(h)和6(i)显示的结果与其他人略有不同。在这两个图中,可信赖性的界限都有一个共同的特征:名誉。从图6(h)和6(i)可知,当名誉值较低时,该算法的信任值较低,即使CFD或CWR的信任值较高。所以当涉及到诚信评估过程时,名誉是一个关键因素。
在这里首先运行算法从而成对生成视觉结果,然后组合所有5个特征以找出如图8所示的可信区域,其中PCA用于将特征维度从5D减少到2D以使结果可视化。为了使新的维数在0和1的范围内,实现了特征规范化。可以清楚地观察到,在第一个维度上超过0.5的值和在第二个维度上超过0.7的值显示了可信和不可信交互之间的边界。
图8 利用PCA对结果进行特征提取
4.2.2 分类模型
在调查了哪些交互属于值得信任的区域之后,使用这些信息来标记数据集。例如,考虑图6(a)中的相同情况。不可信区域的簇质心周围的点在标签向量y中标记为不可信或0,而不可信质心外部的点则标记为可信或1。
然后,使用标记的数据,训练一个模型,该模型可以清楚地识别传入的交互是否值得信任。为了估计最佳边界,必须计算上述每种情况下的最佳正则化参数c和γ,以避免数据过度拟合。为此,使用部分训练样本作为交叉验证集,通过训练模型获得的结果如图9所示,清楚地说明了可信区域和不可信区域之间的决策边界。
此外,图10示出了对所有5个特征应用降维后的结果。现在需要将这个模型应用到新的数据流中,以区分哪些交互属于值得信任的区域,反之亦然,而无需任何权重或阈值计算。这不仅降低了计算复杂度和冗余工作,而且节省了处理时间。
有了这些被验证的结果,现在很明显,系统不需要依赖于传统的加权因子和阈值来决定可信区域。然而,本研究的主要假设是信任计算平台的集中性。特别地,假设考虑中的每个对象都订阅了一个集中式DR来发布其数据,这样信任计算平台就可以访问数据、训练模型并将信任值发布回DR中,供信任者使用。
图9 算法第二部分在不同特征上的应用
图10 PCA对结果的特征提取
为了验证提出的方法比最常用的方法(如TAs的线性聚合)的有效性,考虑了混淆矩阵方法。分类精度通常会产生误导性的结果,并且隐藏了诊断模型性能所需的细节,特别是当每个类中的观测值的数量与本文的数据集中的不同时。另一方面,混淆矩阵显示了算法在哪一点产生错误或混淆,重要的是所产生的错误类型,这对于研究算法在预期结果上的适用性是至关重要的。为了进行比较,考虑了文献[12,13]中描述的线性算法和文献[17]中描述的非线性算法。所得结果见表2。
表2 不同方法比较结果
从表2可知,本文提出的方法在可信和不可信预测中,都有较好表现,既没有线性方法在不可信预测中出现可信结果,也没有非线性方法在可信预测中出现大量不可信结果。综合考虑,本文的方法比线性和非线性方法都要好。根据表2的结果,定义每个算法性能的参数见表3。
表3 算法性能对比
在分类中,召回率对于与错误预测数量相关的分类性能提供了重要的见解。根据模拟结果,提出的算法显示100%的召回率或真正例率(TPR),而线性方法显示的是98.13%。由于数据集相对较小,因此在每秒发生数十亿事务的实际应用程序部署中,该算法的性能提高2%将非常关键。这再次被假负例率(FNR)所证实,该算法显示0%的假负例预测,而线性方法显示1.8%的假预测。请注意,TPR在所提出的方法和非线性方法中都是相似的,因为非线性方法仅取代了所提出算法的第二部分。但是,与逻辑回归相比,该方法具有较低的负正例率(FPR)和较高的真负例率(TNR),因而优于非线性方法,表明该方法对不可信对象具有很强的性能。
此外,当使用线性加权求和方法聚集多个TA时,存在无限的可能性。然而,在这种比较中,在线性算法中使用了由聚类算法给出的相同权重因子来计算最终得分。由于这个原因,提出的和逻辑回归方法与线性方法相比得分相对较低。然而,在实际情况下,如果没有一个合适的聚类算法,很难估计这些权重因子,因此与提出的方法相比,精度将严重降低。另一方面,用于管理过拟合数据的正则化因子和用于寻找特征最佳参数的优化算法可能会对这一原因产生重大影响。因此,通过观察学习曲线,同时根据数据集调整该正则化因子,可以提高两个模型的精度。
此外,本文中描述的算法可以被聚类,以便终端设备可以执行部分分析,并获得与之前相同的结果。在类似物联网的环境中,这是非常有益的,可扩展性和协作性是重要因素。为了建立一个分布式平台并解决可伸缩性问题,在未来的工作中,诸如地图缩减和数据并行等方法将被视为强有力的候选技术。
5 结束语
本文针对传统的加权求和方法,提出了一种基于物联网环境下的信任特征来判断输入交互是否可信的算法。首先,提出了一个通用的信任计算模型和一种适用于物联网中任何服务场景的特征提取方法。然后,基于无监督学习技术实现了一种基于数据可信度的数据标注方法,这是任何系统识别哪些交互是可信的重要第一步。在此标记过程的基础上,提出了一种基于支持向量机模型的信任预测模型,该模型能够正确识别任何交互的信任边界,并学习最佳参数组合每个TA以获得最终的信任值。仿真结果表明,该算法在识别可信交互方面具有良好的性能和准确性。