CN115309647A - 一种基于联邦学习的软件缺陷预测隐私保护方法 - Google Patents

一种基于联邦学习的软件缺陷预测隐私保护方法 Download PDF

Info

Publication number
CN115309647A
CN115309647A CN202210959874.4A CN202210959874A CN115309647A CN 115309647 A CN115309647 A CN 115309647A CN 202210959874 A CN202210959874 A CN 202210959874A CN 115309647 A CN115309647 A CN 115309647A
Authority
CN
China
Prior art keywords
model
gradient
defect prediction
software defect
department
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210959874.4A
Other languages
English (en)
Inventor
蔡奇龙
岳野
刘望舒
邵允学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Tech University
Original Assignee
Nanjing Tech University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Tech University filed Critical Nanjing Tech University
Priority to CN202210959874.4A priority Critical patent/CN115309647A/zh
Publication of CN115309647A publication Critical patent/CN115309647A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于联邦学习的软件缺陷预测隐私保护方法,基于决策树构建的随机森林模型进行软件缺陷预测,解决了依赖集中存储企业私有数据进行模型训练的隐私泄露问题。首先,构建软件缺陷预测模型,分解成对数据集进行预处理,采用Bootstrap采样策略为每个决策树创建训练集和基于这些决策树组成随机森林模型部分;其次,利用构建的模型在内部各个部门上进行预测和训练,计算损失和局部梯度;然后,对局部梯度进行梯度剪裁并加入本地差分隐私技术,得到受保护的梯度,上传服务器;最后,由服务器聚合梯度,更新全局模型参数并分发给各个部门。本发明以一种隐私保护的方式,利用大量数据进行模型训练,训练出准确无偏的软件缺陷预测模型。

Description

一种基于联邦学习的软件缺陷预测隐私保护方法
技术领域
本发明涉及一种基于联邦学习的软件缺陷预测隐私保护方法,属于软件工程中面向隐私保护的软件缺陷预测的技术领域。
背景技术
随着软件系统在我们的生活中扮演着越来越重要的角色,它们的复杂性不断增加。软件系统越来越复杂,因此很难保证其质量。因此,最近大量的研究集中在软件质量保证工作的优先级上。为了提高软件质量,软件缺陷预测领域应运而生。其隔离有缺陷的软件单元的新尝试能够消除缺陷,并能在软件开发和维护活动中更好地利用资源。软件缺陷预测目前正在考虑使用基于搜索的高精度技术进行缺陷预测。软件缺陷预测方法的实际应用对软件的生产过程有很大的用处,例如,通过软件缺陷预测,可能获得一个更加可靠的软件系统;通过对容易产生错误的模块的关注,提高软件测试过程中的准确率和速度;通过使用面向对象的方法来使得设计更加合理,确定能重构的模块;基于结果分配资源,从而使得项目整体质量得以提高。与软件缺陷预测相关的专利主要有:基于深度神经网络和概率决策森林的软件缺陷预测模型(公开号CN 109446090);一种基于数据重采样的类不平衡软件缺陷预测方法(CN 113204481 B)等。
近年来,提出了许多基于机器学习的方法和各种软件度量并将其应用于软件缺陷预测。例如,Kim等人使用机器学习分类器来预测潜在的软件缺陷;Jing等人将字典学习技术引入缺陷预测。在最近的一项研究中,大多数实证研究仅使用Promise存储库提供的数据集,这可能会对外部有效性造成威胁;软件缺陷预测模型共享是缓解这一问题的潜在解决方案,可以鼓励研究人员共享更多模型。然而,直接共享模型可能会导致隐私泄露,例如,Fredrikson等人成功地对生活方式调查的决策树和人脸识别的神经网络执行了模型反转攻击。在当前的软件缺陷预测研究中,隐私安全问题变得越来越重要。在实践中,存在大量的外部项目,这些外部项目通常可以提供更多的信息,然而,使用这些外部信息的先决条件是外部来源可用。由于隐私安全问题,大多数用户或者企业都不愿意共享他们的数据。为了促进数据共享,必须研究如何在数据所有者发布数据之前保护其隐私。在本发明中,将机器学习分类器和模型共享结合,利用联邦学习隐私保护框架和本地差分隐私技术,进行软件缺陷预测,解决了用户或者企业对隐私问题的担忧。
发明内容
本发明所要解决的技术问题是提供一种基于联邦学习的软件缺陷预测隐私保护方法,借助联邦学习隐私保护框架,打破了信息壁垒,以一种隐私保护的方式充分利用多组数据进行训练,有效提升软件缺陷预测模型的准确率。
为了解决上述技术问题采用以下技术方案:该方案用于对各部门的数据进行隐私保护,同时利用大量数据进行模型训练;包括软件缺陷预测模型构建方法,以及应用联邦学习技术对软件缺陷预测模型进行训练,针对数据,实现缺陷预测;其中,软件缺陷预测模型构建方法和模型训练过程包括如下步骤:
步骤A.选择一组由企业各部门组成的客户端,参与模型协作训练。每次训练随机选择客户端中的部门,该部门输入本地存储的源代码数据,经过软件缺陷预测模型进行预测和训练,然后进入步骤B。
步骤B.在部门本地设备中,对输入的源代码进行预处理,采用Bootstrap采样策略为每个决策树创建训练集,基于决策树分类器生成的随机森林算法,构建软件缺陷预测模型,然后进入步骤C。
步骤C.根据部门本地数据,进行软件缺陷预测和模型训练,得到预测结果yi,计算样本标签被预测为1的概率P1,训练得到二分类交叉熵损失L(u),根据损失计算局部模型梯度Gu,然后进入步骤D;
步骤D.对局部模型梯度Gu进行梯度剪裁,然后应用本地差分隐私技术,得到受保护的梯度
Figure BDA0003792300140000021
然后进入步骤E;
步骤E.大量部门客户端将受保护的模型梯度
Figure BDA0003792300140000022
上传到服务器,利用联邦学习技术,由服务器聚合所有上传的模型梯度,得到聚合梯度
Figure BDA0003792300140000023
使用聚合梯度更新服务器中维护的全局模型参数w,然后将更新的全局模型分发给部门设备,以更新其局部模型参数。重复此过程,直到模型训练收敛。
作为本发明的一种优选技术方案:所述步骤B中,基于决策树分类器生成的随机森林算法,构建软件缺陷预测模型,按如下步骤B1至步骤B3进行,得到软件缺陷预测模型;
步骤B1.对输入的源代码进行预处理;预处理主要包括两个步骤:分别是对少数实例进行过采样和对连续特征进行离散化。
实际应用当中,步骤B1分别针对数据集类不平衡的问题和数据集中隐藏的缺陷的问题,按如下步骤B1.1至步骤B1.2进行,获得预处理后的数据集。
步骤B1.1使用SMOTE算法对少数实例进行过采样;首先,对于少数类中每一个样本i,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到其k近邻;然后,根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本i,从其k近邻中随机选择若干个样本,假设选择的近邻为in;最后,对于每一个随机选出的近邻in,按照如下的公式构建新的样本:
inew=i+rand(0,1)*|i-in|
其中,rand函数用于随机选择列表序列中的一个元素输出,然后进入步骤B1.2。
步骤B1.2使用基于熵的特征离散化方法;首先,将连续特征划分为两部分,分别计算两部分的熵的和,然后在熵最小的地方划分,最后对熵最大的部分重复步骤B1.2,当熵的值小于给定阈值时,停止划分。熵的计算公式如下:
E=-∑Pxlog2Px
其中Px表示第x类在数据区间中出现的概率,然后进入步骤B2。
步骤B2.采用Bootstrap采样策略为每个决策树创建训练集;首先,将数据集随机划分为两部分,然后采用Bootstrap采样策略,从数据集采样产生多组不同的数据集,基于每个数据集,构建决策树分类器,然后进入步骤B3。
步骤B3.将生成的多个决策树分类器生成随机森林算法,构建软件缺陷预测模型,按多个树分类器投票决定最终分类结果。
作为本发明的一种优选技术方案,所述步骤C包括步骤C1至步骤C3如下:
步骤C1.对输入数据进行预测。样本真实标签yi被预测有缺陷,即取值为1的概率为:
P1=P(yi=1|xi,w)
其中,样本i由特征向量xi和权重向量w组成的预测函数,然后进入步骤C2;
步骤C2.利用二分类交叉熵损失进行训练,对于m个样本的数据集,在全部样本上的损失函数为:
Figure BDA0003792300140000041
其中,u表示选定的部门,m表示数据集中样本的个数,然后进入步骤C3。
步骤C3.根据损失函数计算模型梯度。得到的局部模型梯度为:
Figure BDA0003792300140000042
其中,w表示当前模型参数。
作为本发明的一种优选技术方案,所述步骤D包括步骤D1至步骤D2如下:
步骤D1.对梯度进行剪裁,剪裁函数如下:
clip(Gu,μ)
其中,μ是一个限制梯度范围的参数,然后进入步骤D2;
步骤D2.在梯度剪裁中,使用本地差分隐私技术,得到受保护的梯度
Figure BDA0003792300140000043
Figure BDA0003792300140000044
其中,M(·)是一个随机算法,n是拉普拉斯噪声,参数λ可以控制拉普拉斯噪声的强度。
作为本发明的一种优选技术方案:所述步骤E包括步骤E1至步骤E2如下:
步骤E1.服务器聚合所有上传的受到保护的梯度,得到聚合梯度
Figure BDA0003792300140000049
Figure BDA0003792300140000046
其中,u表示本轮学习过程选择的部门集,然后进入步骤E2;
步骤E2.服务器使用聚合梯度
Figure BDA0003792300140000047
更新服务器中维护的全局模型参数w,然后分发给部门设备,以更新其局部模型:
Figure BDA0003792300140000048
其中,η是学习率。重复此过程,直到模型训练收敛。
作为本发明的一种优选技术方案所述信息中包括损失的计算、局部梯度的计算、在梯度中添加噪声、聚合梯度的计算以及全局模型参数的更新。
本发明的技术方案与现有技术相比,具有以下技术效果:
本发明借助了基于决策树构建的随机森林模型,进行软件缺陷预测,解决了依赖集中存储企业私有数据进行模型训练导致的隐私泄露问题;应用本地差分隐私算法,在上传局部模型梯度之前,通过采用添加噪声的技术,对梯度进行隐私保护,使得企业部门不依赖于可信服务器;同时,利用联邦学习隐私保护框架,用于多个客户端在不共享其私有数据的情况下协作训练模型,解决了单一数据不足以训练出准确无偏的软件缺陷预测模型的问题。通过联邦学习不断更新全局模型参数,训练出学习能力强、预测性能好的软件缺陷预测模型。
附图说明
图1是本发明所设计的基于联邦学习的软件缺陷预测隐私保护方法的流程图。
图2是本发明所设计的经样本过采样和特征离散化后的随机森林本地缺陷预测模型图。
图3是本发明所设计的结合差分隐私保护和梯度聚合的软件缺陷联邦学习模型框架图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明的实施例用于利用大量客户端中的数据来训练软件缺陷预测模型,同时不需要集中存储这些模型,客户端中的数据不会直接上传服务器,以一种隐私保护的方式实现软件缺陷预测模型的训练;包括缺陷预测模型构建方法,以及应用本地差分隐私算法和联邦学习框架安全聚合梯度,如图1所示,具体执行如下步骤A至步骤E。
步骤A.选择一组由企业各部门组成的客户端,参与模型协作训练。每次训练随机选择客户端中的部门,该部门输入本地存储的源代码数据,经过软件缺陷预测模型进行预测和训练,然后进入步骤B。
实际应用当中,部门的数据本地存储在其自身设备中,不会上传服务器,可以防止数据泄露的风险。
由于单个部门的数据远远不足以训练准确无偏的模型,因此,协调大量企业部门来共同训练软件缺陷预测模型,继续执行如下步骤B。
步骤B.在部门本地设备中,对输入的源代码进行预处理,采用Bootstrap采样策略为每个决策树创建训练集,基于决策树分类器生成的随机森林算法,构建软件缺陷预测模型,如图2所示,然后进入步骤C。
步骤B在实际应用执行当中,具体执行如下步骤B1至步骤B3。
步骤B1.对输入的源代码进行预处理;预处理主要包括两个步骤:分别是对少数实例进行过采样和对连续特征进行离散化。
实际应用当中,步骤B1分别针对数据集类不平衡的问题和数据集中隐藏的缺陷的问题,按如下步骤B1.1至步骤B1.2进行,获得预处理后的数据集。
步骤B1.1使用SMOTE算法对少数实例进行过采样;首先,对于少数类中每一个样本i,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到其k近邻;然后,根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本i,从其k近邻中随机选择若干个样本,假设选择的近邻为in;最后,对于每一个随机选出的近邻in,按照如下的公式构建新的样本:
inew=i+rand(0,1)*|i-in|
其中,rand函数用于随机选择列表序列中的一个元素输出;使用SMOTE算法是对少数类样本进行分析并根据少数类样本人工合成新样本添加到数据集中,然后进入步骤B1.2。
步骤B1.2使用基于熵的特征离散化方法;首先,将连续特征划分为两部分,分别计算两部分的熵的和,然后,在熵最小的地方划分,最后对熵最大的部分重复步骤B1.2,当熵的值小于给定阈值时,停止划分。熵的计算公式如下:
E=-∑Pxlog2Px
其中Px表示第x类在数据区间中出现的概率。将连续特征离散化后,能够提升模型性能,然后进入步骤B2。
实际应用当中,经过步骤B1,样本之间类不平衡的问题将会得到改善,且连续特征会被离散化,得到适合模型训练的数据集。
步骤B2.采用Bootstrap采样策略为每个决策树创建训练集;首先,将数据集随机划分为两部分,然后采用Bootstrap采样策略,从数据集采样产生多组不同的数据集,基于每个数据集,构建决策树分类器,然后进入步骤B3。
Bootstrap采样策略是利用有限的样本经由多次重复抽样,建立起充足的样本,解决了样本不足的问题。
步骤B3.将生成的多个决策树分类器生成随机森林算法,构建软件缺陷预测模型,按多个树分类器投票决定最终分类结果,然后进入步骤C。
随机森林算法在当前所有二分类算法中,具有较高的准确率,而且能够处理高维特征的输入样本,不需要进行额外的降维操作和特征选择工作;另一方面,随机森林的随机性主要体现在数据选取的随机性和特征选取的随机性,使得随机森林不容易过拟合。
步骤C.根据部门本地数据,进行软件缺陷预测和模型训练,得到预测结果yi,计算样本标签被预测为1的概率P1,训练得到二分类交叉熵损失L(u),根据损失计算局部模型梯度Gu,然后进入步骤D;
步骤C在实际应用执行当中,具体执行如下步骤C1至步骤C3。
步骤C1.对输入数据进行预测。样本i真实标签yi被预测有缺陷,即取值为1的概率为:
P1=P(yi=1|xi,w)
其中,样本i由特征向量xi和权重向量w组成的预测函数,然后进入步骤C2。
步骤C2.利用二分类交叉熵损失进行训练,对于m个样本的数据集,在全部样本上的损失函数为:
Figure BDA0003792300140000071
其中,u表示选定的部门,m表示数据集中样本的个数,然后进入步骤C3。
步骤C3.根据损失函数计算模型梯度。得到的局部模型梯度Gu为:
Figure BDA0003792300140000072
其中,w表示当前模型参数,然后进入步骤D。
步骤D.对局部模型梯度Gu进行梯度剪裁,然后应用本地差分隐私技术,得到受保护的梯度
Figure BDA0003792300140000073
然后进入步骤E;
在实际应用当中,来自一组随机选择的部门的局部梯度上传到服务器,进一步聚合以更新服务器中的全局模型。但是由于局部模型梯度可能包含一些隐含的私人信息,因此,在本发明中,在将这些局部模型梯度上传到服务器之前,将本地差异隐私技术应用于这些局部模型梯度,以更好地保护部门隐私。
在实际应用当中,模型训练过程中会出现梯度变得太大的问题,从而导致不能从训练数据中得到稳定的模型,因此,在本发明中使用梯度剪裁函数来确保梯度的最大值,通过使用梯度剪裁,将梯度变化限制在一个合理的范围,从而避免了梯度爆炸的问题。
梯度剪裁是在梯度传播过程中,对梯度进行修剪,使得梯度永远不会达到设定的阈值。
差分隐私技术是通过采用添加噪声的技术使敏感数据失真,是基于数据失真的隐私保护技术。本地差分隐私是通过一个随机算法M(·),将拉普拉斯噪声添加到需要隐私保护的值来实现的。
在本发明中,使用本地差分隐私技术,在各个部门的本地运行机制,而不需要经过第三方,以更好地保护部门隐私,使得企业部门不依赖于可信服务器。
步骤D在实际应用执行当中,具体执行如下步骤D1至步骤D2。
步骤D1.对梯度进行剪裁,剪裁函数如下:
clip(Gu,μ)
其中,μ是一个限制梯度范围的参数,然后进入步骤D2。
步骤D2.在梯度剪裁中,使用本地差分隐私技术,得到受保护的梯度
Figure BDA0003792300140000081
Figure BDA0003792300140000082
其中,M(·)是一个随机算法,n是拉普拉斯噪声,参数λ可以控制拉普拉斯噪声的强度,然后进入步骤E。
步骤E.大量部门客户端将受保护的模型梯度
Figure BDA0003792300140000083
上传到服务器,利用联邦学习技术,由服务器聚合所有上传的模型梯度,得到聚合梯度
Figure BDA0003792300140000084
使用聚合梯度更新服务器中维护的全局模型参数w,然后将更新的全局模型分发给部门设备,以更新其局部模型参数。联邦学习的框架如图3所示,重复此过程,直到模型训练收敛。
联邦学习是一种隐私保护的机器学习技术,它可以利用大量客户端的数据来训练全局模型,而无需集中存储客户端数据。在联邦学习中,客户端数据无需上传到服务器,只需要存储在本地客户端。相反,每个客户端设备基于本地数据计算模型梯度,并且来自多个客户端的本地模型梯度被聚合以更新全局模型。由于模型更新通常包含比原始用户数据少得多的信息,因此可以有效降低隐私泄露的风险。
步骤E在实际应用执行当中,具体执行如下步骤E1至步骤E2。
步骤E1.服务器聚合所有上传的受到保护的梯度,得到聚合梯度
Figure BDA0003792300140000091
Figure BDA0003792300140000092
其中,u表示本轮学习过程选择的部门集,然后进入步骤E2。
步骤E2.服务器使用聚合梯度
Figure BDA0003792300140000093
更新服务器中维护的全局模型参数w,然后分发给部门设备,以更新其局部模型:
Figure BDA0003792300140000094
其中,η是学习率。重复此过程,直到模型训练收敛。
上面结合附图和具体实施例对本发明作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在本发明的基础上做出各种变化。

Claims (5)

1.一种基于联邦学习的软件缺陷预测隐私保护方法,其特征在于:包括软件缺陷预测模型构建方法,以及应用联邦学习技术对所述的软件缺陷预测模型进行训练,针对部门数据,实现缺陷预测;其包括如下步骤:
步骤A.选择一组由企业各部门组成的客户端,参与模型协作训练;每次训练随机选择客户端中的部门,该部门输入本地存储的源代码数据,然后进入步骤B;
步骤B.在部门本地设备中,对输入的源代码进行预处理,采用Bootstrap采样策略为每个决策树创建训练集,基于决策树分类器生成的随机森林算法,构建软件缺陷预测模型,然后进入步骤C;
步骤C.根据部门本地数据,进行软件缺陷预测和模型训练,得到预测结果yi,计算样本标签被预测为1的概率P1,训练得到二分类交叉熵损失L(u),根据损失计算局部模型梯度Gu,然后进入步骤D;
步骤D.对局部模型梯度Gu进行梯度剪裁,然后应用本地差分隐私技术,得到受保护的梯度
Figure FDA0003792300130000011
然后进入步骤E;
步骤E.大量部门客户端将受保护的模型梯度
Figure FDA0003792300130000012
上传到服务器,利用联邦学习技术,由服务器聚合所有上传的模型梯度,得到聚合梯度
Figure FDA0003792300130000013
使用聚合梯度更新服务器中维护的全局模型参数w,然后将更新的全局模型分发给部门设备,以更新其局部模型参数;重复此过程,直到模型训练收敛。
2.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法,其特征在于:所述步骤B中,基于决策树分类器生成的随机森林算法,构建软件缺陷预测模型,按如下步骤B1至步骤B3进行,得到软件缺陷预测模型;
步骤B1.对输入的源代码进行预处理;预处理主要包括两个步骤:分别是对少数实例进行过采样和对连续特征进行离散化;
按如下步骤B1.1至步骤B1.2进行,获得预处理后的数据集:
步骤B1.1使用SMOTE算法对少数实例进行过采样;首先,对于少数类中每一个样本i,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到其k近邻;然后,根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本i,从其k近邻中随机选择若干个样本,假设选择的近邻为in;最后,对于每一个随机选出的近邻in,按照如下的公式构建新的样本:
inew=i+rand(0,1)*|i-in|
其中,rand函数用于随机选择列表序列中的一个元素输出,然后进入步骤B1.2;
步骤B1.2使用基于熵的特征离散化方法;首先,将连续特征划分为两部分,分别计算两部分的熵的和,在熵最小的地方划分,最后对熵最大的部分重复步骤B1.2,当熵的值小于给定阈值时,停止划分;熵的计算公式如下:
E=-∑Pxlog2Px
其中Px表示第x类在数据区间中出现的概率,然后进入步骤B2;
步骤B2.采用Bootstrap采样策略为每个决策树创建训练集;首先,将数据集随机划分为两部分,然后采用Bootstrap采样策略,从数据集采样产生多组不同的数据集,基于每个数据集,构建决策树分类器,然后进入步骤B3;
步骤B3.将生成的多个决策树分类器生成随机森林算法,构建软件缺陷预测模型,按多个树分类器投票决定最终分类结果。
3.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法,其特征在于,所述步骤C包括步骤C1至步骤C3如下:
步骤C1.对输入数据进行预测:样本真实标签yi被预测有缺陷,即取值为1的概率为:
P1=P(yi=1|xi,w)
其中,样本i由特征向量xi和权重向量w组成的预测函数,然后进入步骤C2;
步骤C2.利用二分类交叉熵损失进行训练,对于m个样本的数据集,在全部样本上的损失函数为:
Figure FDA0003792300130000021
其中,u表示选定的部门,m表示数据集中样本的个数,然后进入步骤C3;
步骤C3.根据损失函数计算模型梯度。得到的局部模型梯度为:
Figure FDA0003792300130000022
其中,w表示当前模型参数。
4.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法,其特征在于,所述步骤D包括步骤D1至步骤D2如下:
步骤D1.对梯度进行剪裁,剪裁函数如下:
clip(Gu,μ)
其中,μ是一个限制梯度范围的参数,然后进入步骤D2;
步骤D2.在梯度剪裁中,使用本地差分隐私技术,得到受保护的梯度
Figure FDA0003792300130000023
Figure FDA0003792300130000031
其中,M(·)是一个随机算法,n是拉普拉斯噪声,参数λ可以控制拉普拉斯噪声的强度。
5.根据权利要求1所述的一种基于联邦学习的软件缺陷预测隐私保护方法,其特征在于:所述步骤E包括步骤E1至步骤E2如下:
步骤E1.服务器聚合所有上传的受到保护的梯度,得到聚合梯度
Figure FDA0003792300130000032
Figure FDA0003792300130000033
其中,u表示本轮学习过程选择的部门集,然后进入步骤E2;
步骤E2.服务器使用聚合梯度
Figure FDA0003792300130000034
更新服务器中维护的全局模型参数w,然后分发给部门设备,以更新其局部模型:
Figure FDA0003792300130000035
其中,η是学习率;重复此过程,直到模型训练收敛。
CN202210959874.4A 2022-08-11 2022-08-11 一种基于联邦学习的软件缺陷预测隐私保护方法 Pending CN115309647A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210959874.4A CN115309647A (zh) 2022-08-11 2022-08-11 一种基于联邦学习的软件缺陷预测隐私保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210959874.4A CN115309647A (zh) 2022-08-11 2022-08-11 一种基于联邦学习的软件缺陷预测隐私保护方法

Publications (1)

Publication Number Publication Date
CN115309647A true CN115309647A (zh) 2022-11-08

Family

ID=83860299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210959874.4A Pending CN115309647A (zh) 2022-08-11 2022-08-11 一种基于联邦学习的软件缺陷预测隐私保护方法

Country Status (1)

Country Link
CN (1) CN115309647A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116127417A (zh) * 2023-04-04 2023-05-16 山东浪潮科学研究院有限公司 一种代码缺陷检测模型构建方法、装置、设备及存储介质
CN116151388A (zh) * 2022-12-01 2023-05-23 广州大学 一种基于本地化差分隐私的联邦随机森林方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116151388A (zh) * 2022-12-01 2023-05-23 广州大学 一种基于本地化差分隐私的联邦随机森林方法
CN116127417A (zh) * 2023-04-04 2023-05-16 山东浪潮科学研究院有限公司 一种代码缺陷检测模型构建方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN111866869A (zh) 面向边缘计算的联邦学习室内定位隐私保护方法
CN115309647A (zh) 一种基于联邦学习的软件缺陷预测隐私保护方法
Potluri et al. Evaluation of hybrid deep learning techniques for ensuring security in networked control systems
Venu et al. Secure big data processing in multihoming networks with AI-enabled IoT
CN113822315A (zh) 属性图的处理方法、装置、电子设备及可读存储介质
Munawar et al. Significant preprocessing method in EEG-Based emotions classification
Kumar et al. Development of a cloud-assisted classification technique for the preservation of secure data storage in smart cities
Zhang Financial data anomaly detection method based on decision tree and random forest algorithm
Wu et al. wpScalable Quantum Neural Networks for Classification
CN117150416B (zh) 一种工业互联网异常节点的检测方法、系统、介质及设备
Dong Application of Big Data Mining Technology in Blockchain Computing
Malmir et al. Optimization of data mining with evolutionary algorithms for cloud computing application
Shaikh et al. Bayesian optimization with stacked sparse autoencoder based cryptocurrency price prediction model
Guo et al. A federated learning scheme meets dynamic differential privacy
Kazakova et al. Forecasting of financial flows in business systems taking into account the risk and uncertainty of interaction
Liu et al. Analysis of financial data risk and network information security by blockchain technology and edge computing
CN112783852A (zh) 基于大数据的网络安全分析系统
Jones et al. Federated xgboost on sample-wise non-iid data
Wen et al. Challenges and Opportunities of Building Fast GBDT Systems.
Kim et al. Deep Learning-Based IDSs
Li Security and Risk Analysis of Financial Industry Based on the Internet of Things
Wang et al. An enhanced software defect prediction model with multiple metrics and learners
Sun et al. The use of neural network in defense audit nonlinear dynamic processing under the background of big data
Gupta et al. FedMUP: Federated learning driven malicious user prediction model for secure data distribution in cloud environments
Iannucci et al. A Performance-Oriented Comparison of Neural Network Approaches for Anomaly-based Intrusion Detection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination