一种基于特征权重的多源数据节点分组方法
未命名
08-27
阅读:97
评论:0
1.本发明属于数据保护技术领域,具体涉及一种基于特征权重的多源数据节点分组方法。
背景技术:
2.近年来,随着科技的发展,人们的生活越来越趋近于自动化、智能化,数据信息的共享交互日益增强。但是,发生隐私信息泄露的风险也随之增加,例如:在医疗领域,各家医疗机构想把数据聚合在一起分析以及将相似度高的数据节点聚合来训练出更好的模型,但是病人的诊疗数据属于病人的隐私,需要医院方面进行保护。那么如何保护隐私数据和防止敏感信息泄露而又达到多源数据节点分组成为了当前面临的重大挑战。
3.目前,基于隐私保护的数据共享及将节点数据分组,常用的办法是把敏感的信息进行删掉或进行一些简单的信息加密处理,并且通过计算多源数据节点之间的大致相似度进行分组,然而这样依然会暴露一部分隐私数据而且分组后的结果不理想,同时不法分子可以利用现存技术通过已经暴露的信息推导出更多有价值信息,导致更多数据泄露。
4.针对现存的问题,本发明专利设计了一种基于特征权重的多源数据节点分组的方法,在保护各个参与训练的数据节点隐私数据的情况下,多源数据节点通过加密本地训练出的参数向量,上传至计算中心,计算中心通过欧氏距离比较出最优划分方式来达到多源数据节点分组的目的,解决了数据孤岛和由于多源数据节点由于相似度过低,导致用其训练模型效果不好等问题。
技术实现要素:
5.本发明的目的在于克服现有技术的不足,提供一种基于特征权重的多源数据节点分组方法,在保证数据安全且不泄露的情况下,将多源数据节点进行分组,一方面使分组后的节点对模型的训练有更高的准确率,另一方面使训练出的模型对真实的环境有更加强的应用能力。
6.本发明解决其技术问题是通过以下技术方案实现的:
7.一种基于特征权重的多源数据节点分组方法,其特征在于:所述方法的步骤为:
8.s1、将每个参与训练的数据节点ci(i=1,2,3,4,5
……
n)在本地环境下训练逻辑回归模型,训练优化得到一组d维权重参数向量,记作w
*
=(w1,w2,
……
,wd);
9.s2、计算中心利用同态加密算法生成加密参数,将加密参数发送给上述每个参与训练的数据节点;
10.s3、计算中心利用同态加密算法生成公钥和私钥,并将公钥下发给各个参与训练的数据节点ci;
11.s4、各个参与训练的数据节点ci通过计算中心发放的公钥进行数据加密,将d维权重参数向量w
*
的每一个参数值进行加密,记作
[0012][0013]
其中:i代表参数权重向量中的第i个参数;
[0014]
j代表第j个数据节点的最优权重参数向量;
[0015]
将加密后的数据上传发送给计算中心,计算中心将生成的私钥与每个参与训练的数据节点用来加密数据的公钥配对;
[0016]
s5、计算中心接收到每个参与训练的数据节点ci的加密数据后,将接收到的数据看作为一个簇,并计算簇中心,计算划分后每一个簇的欧氏距离总和,同时更新簇的分配方式,将划分后的新的簇中心添加到簇中心表中,循环此过程,直至达到预期节点分组目标的簇目数,达到组内间距最小,组间间距最大的效果。
[0017]
而且,所述步骤s1中,假设一共有n个参与训练的数据节点,每个数据节点中的数据有d个特征值,每个数据节点在本地环境下训练逻辑回归模型,最终每个数据节点都会得到一组最优权重向量参数w
*
,具体步骤如下:
[0018]
1)构建代价函数表示数据节点ci中训练数据类别标签的预测值和标签的真实值之间的误差,使用残差平方和表示数据节点ci中训练数据产生的误差,获得特征向量xi=[x1,
……
,xd],其中i=1,2,3....d,xi中的每一个元素值为数据节点ci中训练数据的特征值;
[0019]
数据节点中训练数据的类别标签向量为y
t
=[y1,y2……
ym],其中yi=1,2,3
……
m,表示数据节点ci中第k个训练数据的类别,m为数据节点ci中训练数据的类别总数;
[0020]
w=(w1,w2,
……
,wd)为某一个数据节点的初始权重参数向量,其中wj表示的是第j个特征的权重,表示出数据节点中训练数据的误差,即得到代价函数cost
fun
:
[0021][0022]
2)根据上述得出的代价函数定义出标签类别预测方程表达式为:
[0023][0024]
其中:为计算出的预测类别标签;
[0025]
xi为输入的特征向量;
[0026]
w为初始权重参数向量;
[0027]
通过二者的乘积来计算出预测输入的类别标签;
[0028]
3)借助激活函数将上述得出的预测值映射为概率进行输出:
[0029][0030]
其中:p(xi)表示给定输入训练数据的特征向量xi属于正类的概率,如果概率值p(xi)大于0.5,则将输入的xi归为正类;
[0031]
sigmoid(xiw)为激活函数即g(xiw),用于计算训练数据的特征向量xi与初始权重向量w的内积后,将结果映射到一个介于0和1之间的概率值p(xi);
[0032]
4)利用数据节点中训练数据的特征向量xi更新初始权重参数向量w=(w1,w2,
……
,wd),预测数据节点中的训练数据的特征向量矩阵x=[x1,x2……
xm]
t
的类别为y=
[y1,y2……
ym]
t
的概率输出为:
[0033]
其中:p(y|x,w)表示给定特征向量矩阵x和初始权重参数向量w的条件下,输出类别标签矩阵y的概率;
[0034]
p(yi|xi,w)表示给定输入特征向量xi和初始权重参数w的条件下,输出yi的概率;
[0035]
5)定义最大似然估计mle,计算最大概率达到预期结果出现的权重参数向量最大似然估计函数定义如下:
[0036][0037]
其中:是通过最大似然估计的方法得出的权重参数向量;
[0038]
arg maxw表示寻找使得乘积最大化的权重参数向量
[0039]
6)使用梯度下降方法,对代价函数中的权重参数向量w求偏导数不断迭代更新权重参数向量w直至达到最大迭代次数,最终得到最优权重参数向量w
*
,其中对权重向量参数w求偏导数过程如下:
[0040][0041]
其中:x
t
=[x1,x2……
xm]为训练数据特征矩阵;
[0042]yt
=[y1,y2……
ym]为数据节点ci中的训练数据的类别标签向量;
[0043]
得到最优权重参数向量w
*
:
[0044]
其中:更新公式右侧的x
t
(g(xw))是代价函数j(w)关于权重参数向量w的梯度;
[0045]
x
t
(g(xw))中的每个元素表示代价函数j(w)关于每一个w的偏导数称为梯度向量。
[0046]
而且,所述步骤s2中,利用同态加密算法生成加密参数,加密参数包括:多项式的次数n、第2n个分圆域整数环域中所有多项式的系数q及安全参数λ,加密参数的设置满足如下条件:
[0047]
n为二的幂整数;
[0048]
为第2n个分圆域整数环
‘
[0049]
将域中所有多项式的系数q(q为整数)归约到区间(-q/2,q/2)∩z
[0050]
安全参数λ,选择整数n的二次幂,模q=q2和离散高斯分布χ,参数(n,q,χ)至少要达到λ位的安全级别,以保证加密语义的安全。
[0051]
而且,所述步骤s3中,
[0052]
keygen(params),是公钥pk和私钥sk的生成函数,函数过程为从keygen(params),是公钥pk和私钥sk的生成函数,函数过程为从表
示的余数环模整数q)中均匀地随机抽样a,从离散高斯分布χ中随机抽样e,设置公钥为其中b
←‑a·
s+e(mod q),表示的余数环模整数q;s是从{0,
±
1}n中随机采样其系数生成中随机采样其系数生成设置私钥为sk
←
keygen(1,s);
[0053]
enc(m,pk),是对明文的加密函数,函数过程为对于明文w
*
,从离散高斯分布χ中随机采样一个小的多项式v(系数为0,
±
1)和两个误差多项式e0,e1,加密输出结果为密文:《w
*
》=enc(v
·
pk+(w
*
+e0,e1))
[0054]
其中:《w
*
》表示对w
*
加密后的结果;pk表示公钥;e0,e1为两个误差多项式;v是一个用于控制密文噪声大小的多项式;
[0055]
dec(《w
*
》,sk),是对密文的解密函数,函数过程为假设对于密文《w
*
》,解密后输出结果为明文w
*
←
dec(《w
*
》
·
s(mod q)
·
sk),其中:为从{0,
±
1}n中随机采样生成的系数,是私钥sk的一部分;mod q表示按照整数系数q进行取余操作;
[0056]
同态加密算法的具体计算方式为:
[0057]”[0058]
add(《w
*
》,《w
*
》)为同态加法计算,假设明文w
*
,w
*
′
,密文《w
*
》,《w
*
′
》,权重参数向量的加密和解密满足下列等式:
[0059]
add(《w
*
》,《w
*
′
》):
[0060]”[0061]
dec(enc(w
*
+w
*
′
))≈dec(enc(w
*
))+dec(enc(w
*
′
));
[0062]
将两个明文w
*
,w
*
′
相加后得到w
*
+w
*
′
,再将w
*
+w
*
′
加密后再解密得到的结果与对w
*
和w
*
′
分别先加密后再解密得到的结果是近似一致的;该公式表示了加法同态性质在加密操作中的应用,使得可以在保证数据安全的情况下进行计算。
[0063]
而且,所述步骤s5中,使用二分k-means算法思想,将每个参与训练的数据节点ci通过比较不同划分方式的欧氏距离总和的大小,选择最优的划分方式进行数据节点分组,具体步骤如下:
[0064]
1)计算中心将每一个参与训练的数据节点ci加密后上传的数据《w
*
》看成一个簇并计算簇中心,并添加到簇中心表中,并给簇中心标记上编号i(i=1,2,3,4
………
h),其中h《k,k为最大分组簇数,即想要得到的最大分组数;
[0065]
2)把新加入到簇中心表中第i个簇使用二分k-means算法,把第i个簇一分为二,计算一分为二后每一个簇的欧氏距离总和;
[0066]
任意簇的欧氏距离总和计算公式如下:
[0067][0068]
其中:表示第i个数据节点的最优权重参数向量的第d个参数;
[0069]
《
·
》表示加密后密文数据;
[0070]
n表示参与训练的数据节点的个数;
[0071]
3)将簇中心表s中的h个簇中心的h种划分后的欧氏距离总和进行比较大小;
[0072]
4)选取欧氏距离总和最小的划分方式,更新为最优的划分方式;
[0073]
5)更新簇的划分方式,下一轮簇的划分使用更新后的方式进行划分;计算并记录划分后得到新的簇中心到簇中心表s中;
[0074]
6)当簇中心的个数h小于目标的最大分组数k时,对每一个簇执行操作,不断循环上述步骤1~5,直至簇中心的个数h达到目标的最大分组簇数k,循环结束。
[0075]
本发明的优点和有益效果为:
[0076]
1、本发明通过加密多源数据节点在本地训练逻辑回归模型得到的最优的权重参数向量,上传至计算中心进行计算和节点分组,避免了数据的泄露,有效的减少了大规模的计算,提升数据节点分组计算效率。
[0077]
2、本发明节点分组结果可以对之后的其他的相关模型的训练提供更好的数据,其次在真实环境中有更高安全性的特点,不但可以有效进行隐私数据保护,而且还避免了由于数据的泄露导致参与方的经济损失。
附图说明
[0078]
图1为本发明方法的流程图;
[0079]
图2为本发明方法的框架图;
[0080]
图3为本发明多源数据节点分组最优划分方式的流程图。
具体实施方式
[0081]
下面通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
[0082]
一种基于特征权重的多源数据节点分组方法,其创新之处在于:所述方法的步骤为:
[0083]
s1、将每个参与训练的数据节点ci(i=1,2,3,4,5
……
n)在本地环境下训练逻辑回归模型,训练优化得到一组d维权重参数向量,记作w
*
=(w1,w2,
……
,wd);
[0084]
s2、计算中心利用同态加密算法生成加密参数,将加密参数发送给上述每个参与训练的数据节点;
[0085]
s3、计算中心利用同态加密算法生成公钥和私钥,并将公钥下发给各个参与训练的数据节点ci;
[0086]
s4、各个参与训练的数据节点ci通过计算中心发放的公钥进行数据加密,将d维权重参数向量w
*
的每一个参数值进行加密,记作
[0087][0088]
其中:i代表参数权重向量中的第i个参数;
[0089]
j代表第j个数据节点的最优权重参数向量;
[0090]
《
·
》表示加密态密文数据;
[0091]
将加密后的数据上传发送给计算中心,计算中心将生成的私钥与每个参与训练的数据节点用来加密数据的公钥配对;
[0092]
s5、计算中心接收到每个参与训练的数据节点ci的加密数据后,将接收到的数据看作为一个簇,并计算簇中心,计算划分后每一个簇的欧氏距离总和,同时更新簇的分配方式,将划分后的新的簇中心添加到簇中心表中,循环此过程,直至达到预期节点分组目标的簇目数,达到组内间距最小,组间间距最大的效果。
[0093]
所述步骤s1中,假设一共有n个参与训练的数据节点,每个数据节点中的数据有d个特征值,每个数据节点在本地环境下训练逻辑回归模型,最终每个数据节点都会得到一组最优权重向量参数w
*
,具体步骤如下:
[0094]
101)构建代价函数表示数据节点ci中训练数据类别标签的预测值和标签的真实值之间的误差,使用残差平方和表示数据节点ci中训练数据产生的误差,获得特征向量xi=[x1,
……
,xd],其中i=1,2,3....d,xi中的每一个元素值为数据节点ci中训练数据的特征值;
[0095]
数据节点中训练数据的类别标签向量为y
t
=[y1,y2......ym],其中yi=1,2,3
……
m,表示数据节点ci中第k个训练数据的类别,m为数据节点ci中训练数据的类别总数;
[0096]
w=(w1,w2,
……
,wd)为某一个数据节点的初始权重参数向量,其中wj表示的是第j个特征的权重,表示出数据节点中训练数据的误差,即得到代价函数cost
fun
:
[0097][0098]
102)根据上述得出的代价函数定义出标签类别预测方程表达式为:
[0099][0100]
其中:为计算出的预测类别标签;
[0101]
xi为输入的特征向量;
[0102]
w为初始权重参数向量;
[0103]
通过二者的乘积来计算出预测输入的类别标签;
[0104]
103)借助激活函数将上述得出的预测值映射为概率进行输出:
[0105][0106]
其中:p(xi)表示给定输入训练数据的特征向量xi属于正类的概率,如果概率值p(xi)大于0.5,则将输入的xi归为正类;
[0107]
sigmoid(xiw)为激活函数即g(xiw),用于计算训练数据的特征向量xi与初始权重向量w的内积后,将结果映射到一个介于0和1之间的概率值p(xi);
[0108]
104)利用数据节点中训练数据的特征向量xi更新初始权重参数向量w=(w1,w2,
……
,wd),预测数据节点中的训练数据的特征向量矩阵x=[x1,x2……
xm]
t
的类别为y=[y1,y2……
ym]
t
的概率输出为:
[0109]
其中:p(y|x,w)表示给定特征向量矩阵x和初始权重参数向量w的条件下,输出类别标签矩阵y的概率;
[0110]
p(yi|xi,w)表示给定输入特征向量xi和初始权重参数w的条件下,输出yi的概率;
[0111]
105)定义最大似然估计mle,计算最大概率达到预期结果出现的权重参数向量最大似然估计函数定义如下:
[0112][0113]
其中:是通过最大似然估计的方法得出的权重参数向量;
[0114]
arg maxw表示寻找使得乘积最大化的权重参数向量
[0115]
106)使用梯度下降方法,对代价函数中的权重参数向量w求偏导数不断迭代更新权重参数向量w直至达到最大迭代次数,最终得到最优权重参数向量w
*
,其中对权重向量参数w求偏导数过程如下:
[0116][0117]
其中:x
t
=[x1,x2……
xm]为训练数据特征矩阵;
[0118]yt
=[y1,y2……
ym]为数据节点ci中的训练数据的类别标签向量;
[0119]
得到最优权重参数向量
[0120]
其中:更新公式右侧的x
t
(g(xw))是代价函数j(w)关于权重参数向量w的梯度;
[0121]
x
t
(g(xw))中的每个元素表示代价函数j(w)关于每一个w的偏导数称为梯度向量。
[0122]
步骤s2中,利用同态加密算法生成加密参数,加密参数包括:多项式的次数n、第2n个分圆域整数环域中所有多项式的系数q及安全参数λ,加密参数的设置满足如下条件:
[0123]
n为二的幂整数;
[0124]
为第2n个分圆域整数环
‘
[0125]
将域中所有多项式的系数q(q为整数)归约到区间(-q/2,q/2)∩z
[0126]
安全参数λ,选择整数n的二次幂,模q=q2和离散高斯分布χ,参数(n,q,χ)至少要达到λ位的安全级别,以保证加密语义的安全。
[0127]
而且,所述步骤s3中,
[0128]
keygen(params),是公钥pk和私钥sk的生成函数,函数过程为从keygen(params),是公钥pk和私钥sk的生成函数,函数过程为从表示的余数环模整数q)中均匀地随机抽样a,从离散高斯分布χ中随机抽样e,设置公钥为其中b
←‑a·
s+e(mod q),表示的余数环模整数q;s是从{0,
±
1}n中随机采样其系数生成中随机采样其系数生成设置私钥为sk
←
keygen(1,s);
[0129]
enc(m,pk),是对明文的加密函数,函数过程为对于明文w
*
,从离散高斯分布χ中随机采样一个小的多项式v(系数为0,
±
1)和两个误差多项式e0,e1,加密输出结果为密文:《w
*
》=enc(v
·
pk+(w
*
+e0,e1))
[0130]
其中:《w
*
》表示对w
*
加密后的结果;pk表示公钥;e0,e1为两个误差多项式;v是一个用于控制密文噪声大小的多项式;
[0131]
dec(《w
*
》,sk),是对密文的解密函数,函数过程为假设对于密文《w
*
》,解密后输出结果为明文w
*
←
dec(《w
*
》
·
s(mod q)
·
sk),其中:为从{0,
±
1}n中随机采样生成的系数,是私钥sk的一部分;mod q表示按照整数系数q进行取余操作;
[0132]
同态加密算法的具体计算方式为:
[0133]
add(《w
*
》,《w
*
′
》)为同态加法计算,假设明文w
*
,w
*
′
,密文《w
*
》,《w
*
′
》,权重参数向量的加密和解密满足下列等式:
[0134]
add(《w
*
》,《w
*
′
》):
[0135]
dec(enc(w
*
+w
*
′
))≈dec(enc(w
*
′
))+dec(enc(w
*
′
));
[0136]
将两个明文w
*
,w
*
′
相加后得到w
*
+w
*
′
,再将w
*
+w
*
′
加密后再解密得到的结果与对w
*
和w
*
′
分别先加密后再解密得到的结果是近似一致的;该公式表示了加法同态性质在加密操作中的应用,使得可以在保证数据安全的情况下进行计算。
[0137]
而且,所述步骤s5中,使用二分k-means算法思想,将每个参与训练的数据节点ci通过比较不同划分方式的欧氏距离总和的大小,选择最优的划分方式进行数据节点分组,具体步骤如下:
[0138]
501)计算中心将每一个参与训练的数据节点ci加密后上传的数据《w
*
》看成一个簇并计算簇中心,并添加到簇中心表中,并给簇中心标记上编号i(i=1,2,3,4
………
h),其中h《k,k为最大分组簇数,即想要得到的最大分组数;
[0139]
502)把新加入到簇中心表中第i个簇使用二分k-means算法,把第i个簇一分为二,计算一分为二后每一个簇的欧氏距离总和;
[0140]
任意簇的欧氏距离总和计算公式如下:
[0141][0142]
其中:表示第i个数据节点的最优权重参数向量的第d个参数;
[0143]
《
·
》表示加密后密文数据;
[0144]
n表示参与训练的数据节点的个数;
[0145]
503)将簇中心表s中的h个簇中心的h种划分后的欧氏距离总和进行比较大小;
[0146]
504)选取欧氏距离总和最小的划分方式,更新为最优的划分方式;
[0147]
505)更新簇的划分方式,下一轮簇的划分使用更新后的方式进行划分;计算并记录划分后得到新的簇中心到簇中心表s中;
[0148]
506)当簇中心的个数h小于目标的最大分组数k时,对每一个簇执行操作,不断循环上述步骤1~5,直至簇中心的个数h达到目标的最大分组簇数k,循环结束。
[0149]
为了验证本发明的实际应用效果,本发明使用图像数据集cifar-10在模型1(lenet模型)和模型2(alexnet模型)上进行模型验证,将数据集按照比例6:2:2划分为训练
集,验证集,测试集。
[0150]
本实例以图像识别的召回率(recall)、精确率(precision)、f1分数(f1score,f1)作为评价指标,具体表达式为
[0151][0152][0153][0154]
其中:tp(truepositive):表示正确检测出的正样本(如要识别某一个类别的图像,就将此类别的图像当作正样本,其余类别的图像为负样本)数量,即模型正确地将目标的图像识别出来的数量;
[0155]
fp(falsepositive):表示误检的负样本数量,即模型将不是目标的图像错误地判定为目标图像的数量;
[0156]
fn(falsenegative):表示漏检的正样本数量,即模型未能正确地检测到目标图像的数量;
[0157]
在本实施中,具体地将图像数据集cifar-10随机分成多个数据分布不同的子数据集,这些子数据集用来模拟多源数据节点;使用随机分成的多源数据节点与对这些随机分组的节点进行基于特征权重的节点分组分别应用在模型1和模型2上对图像数据的识别的召回率、精确率、f1分数的对比结果如表1所示。
[0158]
在利用图像数据集训练的图像识别模型中,随机节点分组的评价指标都在80%左右。本发明实施的结果是使用本发明后模型对图像数据识别的召回率、精确率、f1分数都有了不同程度的提升。
[0159]
表1有无使用节点分组方法的识别图像结果的评价指标
[0160][0161]
综上所述,本发明在多源数据节点分组后训练提升了模型的准确性。
[0162]
尽管为说明目的公开了本发明的实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换、变化和修改都是可能的,因此,本发明的范围不局限于实施例和附图所公开的内容。
技术特征:
1.一种基于特征权重的多源数据节点分组方法,其特征在于:所述方法的步骤为:s1、将每个参与训练的数据节点ci(i=1,2,3,4,5
……
n)在本地环境下训练逻辑回归模型,训练优化得到一组d维权重参数向量,记作w
*
=(w1,w2,
……
,w
d
);s2、计算中心利用同态加密算法生成加密参数,将加密参数发送给上述每个参与训练的数据节点;s3、计算中心利用同态加密算法生成公钥和私钥,并将公钥下发给各个参与训练的数据节点ci;s4、各个参与训练的数据节点ci通过计算中心发放的公钥进行数据加密,将d维权重参数向量w
*
的每一个参数值进行加密,记作的每一个参数值进行加密,记作其中:i代表参数权重向量中的第i个参数;j代表第j个数据节点的最优权重参数向量;将加密后的数据上传发送给计算中心,计算中心将生成的私钥与每个参与训练的数据节点用来加密数据的公钥配对;s5、计算中心接收到每个参与训练的数据节点ci的加密数据后,将接收到的数据看作为一个簇,并计算簇中心,计算划分后每一个簇的欧氏距离总和,同时更新簇的分配方式,将划分后的新的簇中心添加到簇中心表中,循环此过程,直至达到预期节点分组目标的簇目数,达到组内间距最小,组间间距最大的效果。2.根据权利要求1所述基于特征权重的多源数据节点分组方法,其特征在于:所述步骤s1中,假设一共有n个参与训练的数据节点,每个数据节点中的数据有d个特征值,每个数据节点在本地环境下训练逻辑回归模型,最终每个数据节点都会得到一组最优权重向量参数w
*
,具体步骤如下:1)构建代价函数表示数据节点ci中训练数据类别标签的预测值和标签的真实值之间的误差,使用残差平方和表示数据节点ci中训练数据产生的误差,获得特征向量x
i
=[x1,
……
,x
d
],其中i=1,2,3....d,x
i
中的每一个元素值为数据节点ci中训练数据的特征值;数据节点中训练数据的类别标签向量为y
t
=[y1,y2……
y
m
],其中y
i
=1,2,3
……
m,表示数据节点ci中第k个训练数据的类别,m为数据节点ci中训练数据的类别总数;w=(w1,w2,
……
,w
d
)为某一个数据节点的初始权重参数向量,其中w
j
表示的是第j个特征的权重,表示出数据节点中训练数据的误差,即得到代价函数cost
fun
:2)根据上述得出的代价函数定义出标签类别预测方程表达式为:其中:为计算出的预测类别标签;x
i
为输入的特征向量;w为初始权重参数向量;
通过二者的乘积来计算出预测输入的类别标签;3)借助激活函数将上述得出的预测值映射为概率进行输出:其中:p(x
i
)表示给定输入训练数据的特征向量x
i
属于正类的概率,如果概率值p(x
i
)大于0.5,则将输入的x
i
归为正类;sigmoid(x
i
w)为激活函数即g(x
i
w),用于计算训练数据的特征向量x
i
与初始权重向量w的内积后,将结果映射到一个介于0和1之间的概率值p(x
i
);4)利用数据节点中训练数据的特征向量xi更新初始权重参数向量w=(w1,w2,
……
,w
d
),预测数据节点中的训练数据的特征向量矩阵x=[x1,x2……
x
m
]
t
的类别为y=[y1,y2...y
m
]
t
的概率输出为:其中:p(y|x,w)表示给定特征向量矩阵x和初始权重参数向量w的条件下,输出类别标签矩阵y的概率;p(y
i
|x
i
,w)表示给定输入特征向量x
i
和初始权重参数w的条件下,输出y
i
的概率;5)定义最大似然估计mle,计算最大概率达到预期结果出现的权重参数向量最大似然估计函数定义如下:其中:是通过最大似然估计的方法得出的权重参数向量;arg max
w
表示寻找使得乘积最大化的权重参数向量6)使用梯度下降方法,对代价函数中的权重参数向量w求偏导数不断迭代更新权重参数向量w直至达到最大迭代次数,最终得到最优权重参数向量w
*
,其中对权重向量参数w求偏导数过程如下:其中:x
t
=[x1,x2……
x
m
]为训练数据特征矩阵;y
t
=[y1,y2...y
m
]为数据节点ci中的训练数据的类别标签向量;得到最优权重参数向量w
*
:其中:更新公式右侧的x
t
(g(xw))是代价函数j(w)关于权重参数向量w的梯度;x
t
(g(xw))中的每个元素表示代价函数j(w)关于每一个w的偏导数称为梯度向量。
3.根据权利要求1所述基于特征权重的多源数据节点分组方法,其特征在于:所述步骤s2中,利用同态加密算法生成加密参数,加密参数包括:多项式的次数n、第2n个分圆域整数环环域中所有多项式的系数q及安全参数λ,加密参数的设置满足如下条件:n为二的幂整数;为第2n个分圆域整数环
‘
将域中所有多项式的系数q(q为整数)归约到区间(-q/2,q/2)∩z安全参数λ,选择整数n的二次幂,模q=q2和离散高斯分布χ,参数(n,q,χ)至少要达到λ位的安全级别,以保证加密语义的安全。4.根据权利要求1所述基于特征权重的多源数据节点分组方法,其特征在于:所述步骤s3中,keygen(params),是公钥pk和私钥sk的生成函数,函数过程为从keygen(params),是公钥pk和私钥sk的生成函数,函数过程为从表示的余数环模整数q)中均匀地随机抽样a,从离散高斯分布χ中随机抽样e,设置公钥为其中b
←‑
a
·
s+e(mod q),表示的余数环模整数q;s是从{0,
±
1}
n
中随机采样其系数生成s∈设置私钥为sk
←
keygen(1,s);enc(m,pk,是对明文的加密函数,函数过程为对于明文w
*
,从离散高斯分布χ中随机采样一个小的多项式v(系数为0,
±
1)和两个误差多项式e0,e1,加密输出结果为密文:<w
*
>=enc(v
·
pk+(w
*
+e0,e1))其中:<w
*
>表示对w
*
加密后的结果;pk表示公钥;e0,e1为两个误差多项式;v是一个用于控制密文噪声大小的多项式;dec<w
*
>,sh),是对密文的解密函数,函数过程为假设对于密文<w
*
>,解密后输出结果为明文w
*
←
dec(<w
*
>
·
s(mod q)
·
sk),其中:为从{0,
±
1}
n
中随机采样生成的系数,是私钥sk的一部分;mod q表示按照整数系数q进行取余操作;同态加密算法的具体计算方式为:add<w
*
>,<w
*
>为同态加法计算,假设明文w
*
,w
*
,密文<w
*
>,<w
*
′
>,权重参数向量的加密和解密满足下列等式:add(<w
*
>,<w
*
′
>):dec(enc(w
*
+w
*
′
))≈dec(enc(w
*
))+dec(enc(w
*
′
));将两个明文w
*
,w
*
′
相加后得到w
*
+w
*
′
,再将w
*
+w
*
′
加密后再解密得到的结果与对w
*
和w
*
′
分别先加密后再解密得到的结果是近似一致的;该公式表示了加法同态性质在加密操作中的应用,使得可以在保证数据安全的情况下进行计算。5.根据权利要求1所述基于特征权重的多源数据节点分组方法,其特征在于:所述步骤s5中,使用二分k-means算法思想,将每个参与训练的数据节点ci通过比较不同划分方式的欧氏距离总和的大小,选择最优的划分方式进行数据节点分组,具体步骤如下:1)计算中心将每一个参与训练的数据节点ci加密后上传的数据<w
*
>看成一个簇并计算簇中心,并添加到簇中心表中,并给簇中心标记上编号i(i=1,2,3,4
………
h),其中h<k,k为最大分组簇数,即想要得到的最大分组数;2)把新加入到簇中心表中第i个簇使用二分k-means算法,把第i个簇一分为二,计算一分为二后每一个簇的欧氏距离总和;
任意簇的欧氏距离总和计算公式如下:其中:表示第i个数据节点的最优权重参数向量的第d个参数;<
·
>表示加密后密文数据;n表示参与训练的数据节点的个数;3)将簇中心表s中的h个簇中心的h种划分后的欧氏距离总和进行比较大小;4)选取欧氏距离总和最小的划分方式,更新为最优的划分方式;5)更新簇的划分方式,下一轮簇的划分使用更新后的方式进行划分;计算并记录划分后得到新的簇中心到簇中心表s中;6)当簇中心的个数h小于目标的最大分组数k时,对每一个簇执行操作,不断循环上述步骤1~5,直至簇中心的个数h达到目标的最大分组簇数k,循环结束。
技术总结
本发明涉及一种基于特征权重的多源数据节点分组方法,包括:S1、将每个参与训练的数据节点在本地环境下训练逻辑回归模型,得到最优权重向量;S2、利用同态加密算法将最优权重向量加密后上传至计算中心;S3、计算中心计算簇中心和欧氏距离总和;S4、选取最小欧氏距离的划分方式更新划分方式并循环直至到达最大目标分组数。本发明能够有效避免数据的泄露,减少大规模的计算,提升数据节点分组计算效率;节点分组结果可以对之后的其他的相关模型的训练提供更好的数据,其次在真实环境中有更高安全性的特点,不但可以有效进行隐私数据保护,而且还避免了由于数据的泄露导致参与方的经济损失。经济损失。经济损失。
技术研发人员:王劲松 张旭东
受保护的技术使用者:天津理工大学
技术研发日:2023.04.24
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
