本技術(shù)涉及但不限于機(jī)器學(xué)習(xí),尤其涉及一種基于隱私保護(hù)的線性回歸方法。
背景技術(shù):
1、縱向聯(lián)邦學(xué)習(xí)(vertical?federated?learning,簡(jiǎn)稱vfl)是一種分布式機(jī)器學(xué)習(xí)方法,它允許多個(gè)參與方在保護(hù)各自數(shù)據(jù)隱私的前提下,共同訓(xùn)練出一個(gè)共享的機(jī)器學(xué)習(xí)模型。這種方法特別適用于那些擁有相同樣本(如用戶或事務(wù))但特征不同的數(shù)據(jù)集,例如同一地區(qū)的銀行和電子商務(wù)公司,它們的用戶基礎(chǔ)可能相似,但業(yè)務(wù)特征不同??v向聯(lián)邦學(xué)習(xí)面臨的挑戰(zhàn)包括隱私保護(hù)、數(shù)據(jù)對(duì)齊、通信效率和安全問題。為了解決這些挑戰(zhàn),研究人員提出了多種技術(shù),如加法同態(tài)加密、安全多方計(jì)算和差分隱私等??v向聯(lián)邦學(xué)習(xí)在金融、醫(yī)療、廣告和推薦系統(tǒng)等領(lǐng)域有廣泛的應(yīng)用。例如,銀行和保險(xiǎn)公司可以共同訓(xùn)練一個(gè)信用評(píng)分模型,而無需直接共享各自的客戶數(shù)據(jù)。在縱向聯(lián)邦學(xué)習(xí)中,數(shù)據(jù)是垂直分割的,即每個(gè)參與方擁有不同的特征集。例如,一個(gè)參與方可能擁有用戶的交易數(shù)據(jù),而另一個(gè)參與方可能擁有用戶的社交網(wǎng)絡(luò)數(shù)據(jù)。通過這種方式,每個(gè)參與方可以在不直接訪問對(duì)方數(shù)據(jù)的情況下,共同訓(xùn)練出一個(gè)更全面的模型。
2、現(xiàn)有實(shí)現(xiàn)線性回歸的縱向聯(lián)邦學(xué)習(xí)技術(shù)中,為了保障各個(gè)數(shù)據(jù)擁有方的數(shù)據(jù)安全,往往需要加密服務(wù)提供方和評(píng)估方,或者需要引入混淆電路來確保數(shù)據(jù)計(jì)算與交互過程的安全性,但是上述方式的復(fù)雜度高,不利于在實(shí)際運(yùn)用中實(shí)行。
技術(shù)實(shí)現(xiàn)思路
1、以下是對(duì)本文詳細(xì)描述的主題的概述。本概述并非是為了限制權(quán)利要求的保護(hù)范圍。
2、本技術(shù)實(shí)施例提供了一種基于隱私保護(hù)的線性回歸方法,能夠降低實(shí)現(xiàn)復(fù)雜度,滿足了實(shí)際應(yīng)用需求。
3、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第一方面提出了一種基于隱私保護(hù)的線性回歸方法,包括:當(dāng)前參與方接收到包含前列參與方的私有原始數(shù)據(jù)對(duì)應(yīng)的列加密數(shù)據(jù)變換加密矩陣影響的矩陣的正則化對(duì)稱矩陣的逆分解因子矩陣或所述逆分解因子矩陣的變換形式;所述當(dāng)前參與方與所述前列參與方協(xié)作,利用各自的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣,確定所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或所述乘積矩陣的變換形式;所述當(dāng)前參與方向后續(xù)參與方全部或部分地發(fā)送包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式;或者,所述當(dāng)前參與方獲得并利用所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣或其變換形式,與所述前列參與方和標(biāo)簽數(shù)據(jù)擁有方協(xié)作確定乘加密線性回歸系數(shù)向量,其中,所述后續(xù)參與方是后續(xù)的提供所述私有原始數(shù)據(jù)的所述參與方;所述乘加密線性回歸系數(shù)向量,等于包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣與第一乘積向量的乘積,所述第一乘積向量是由所述逆分解因子矩陣的轉(zhuǎn)置與包含所述前列參與方的所述列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積和當(dāng)前參與方的列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積進(jìn)行確定的;矩陣的變換形式滿足,由該變換形式不需通過其他信息即可計(jì)算得到該矩陣。
4、在一些實(shí)施例中,所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣等于所述前列參與方的所述列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與所述當(dāng)前參與方的所述列加密數(shù)據(jù)變換加密矩陣的乘積,所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣或其變換形式,是所述前列參與方與所述當(dāng)前參與方協(xié)作,基于預(yù)設(shè)的安全多方計(jì)算協(xié)議進(jìn)行確定或者直接計(jì)算得到的。
5、在一些實(shí)施例中,所述參與方中的任意參與方的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣,等于所述任意參與方的列加密數(shù)據(jù)矩陣與所述任意參與方的第一掩碼矩陣的乘積;其中,所述任意參與方的所述列加密數(shù)據(jù)矩陣由所述任意參與方的所述私有原始數(shù)據(jù)形成的原始數(shù)據(jù)矩陣作為子矩陣,所述列加密數(shù)據(jù)矩陣包括所述原始數(shù)據(jù)矩陣中的各個(gè)子列和所述任意參與方自行生成或者從可信節(jié)點(diǎn)得到的掩碼列,所述掩碼列包含的項(xiàng)的數(shù)目與所述任意參與方自身的所述原始數(shù)據(jù)矩陣各列包含的項(xiàng)的數(shù)目相同;而所述任意參與方的所述第一掩碼矩陣是可逆矩陣,由所述任意參與方自行生成或者從可信節(jié)點(diǎn)得到;其中,所述乘加密線性回歸系數(shù)向量,等于在目標(biāo)線性回歸系數(shù)列向量增加各個(gè)所述參與方的所述掩碼列的影響后,再右乘由各個(gè)所述參與方的所述第一掩碼矩陣組成的分塊對(duì)角矩陣所得到的列向量,其中,所述分塊對(duì)角矩陣包含各個(gè)所述參與方的所述第一掩碼矩陣的逆矩陣作為位于所述分塊對(duì)角矩陣的對(duì)角線上的子矩陣。
6、在一些實(shí)施例中,包含所述前列參與方的所述列加密數(shù)據(jù)變換加密矩陣影響,等價(jià)于包含所述前列參與方列加密數(shù)據(jù)變換加密矩陣作為子矩陣,包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響,等價(jià)于包含所述前列參與方的所述列加密數(shù)據(jù)變換加密矩陣以及所述當(dāng)前參與方的所述列加密數(shù)據(jù)變換加密矩陣作為子矩陣;其中,一個(gè)矩陣的所述正則化對(duì)稱矩陣,是該矩陣的對(duì)稱矩陣加上正則化項(xiàng)的和,其中,所述正則化項(xiàng)是一個(gè)矩陣,它包含相關(guān)的所述參與方的所述第一掩碼矩陣的對(duì)稱矩陣與預(yù)設(shè)的正則化系數(shù)的乘積作為子矩陣;一個(gè)矩陣的對(duì)稱矩陣,等于該矩陣的轉(zhuǎn)置與該矩陣自身的乘積;所述正則化對(duì)稱矩陣的所述逆分解因子矩陣,是所述正則化對(duì)稱矩陣的逆矩陣的分解因子矩陣,而所述分解因子矩陣,是平方根矩陣或ldlt分解的l因子矩陣中的其中一種。
7、在一些實(shí)施例中,所述當(dāng)前參與方與所述前列參與方協(xié)作,利用各自的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣,確定所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或所述乘積矩陣的變換形式;所述當(dāng)前參與方向后續(xù)參與方全部或部分地發(fā)送包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式;或者,所述當(dāng)前參與方獲得并利用所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣或其變換形式,與所述前列參與方和標(biāo)簽數(shù)據(jù)擁有方協(xié)作確定乘加密線性回歸系數(shù)向量,其中,所述后續(xù)參與方是后續(xù)的提供所述私有原始數(shù)據(jù)的所述參與方,包括:所述當(dāng)前參與方與所述前列參與方協(xié)作,利用所述當(dāng)前參與方的所述列加密數(shù)據(jù)變換加密矩陣與所述前列參與方的所述列加密數(shù)據(jù)變換加密矩陣確定兩者的乘積矩陣或其變換形式,所述乘積矩陣或其變換形式由所述當(dāng)前參與方獲得;所述當(dāng)前參與方利用所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或其變換形式,求得包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式,再把所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式的全部或部分發(fā)送給所述后續(xù)參與方;當(dāng)所有的所述參與方參與計(jì)算得到包含各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式后,所述當(dāng)前參與方再利用自身的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式與所述前列參與方和標(biāo)簽數(shù)據(jù)擁有方協(xié)作確定乘加密線性回歸系數(shù)向量。
8、在一些實(shí)施例中,所述當(dāng)前參與方獲得并利用所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣或其變換形式,與所述前列參與方和標(biāo)簽數(shù)據(jù)擁有方協(xié)作確定乘加密線性回歸系數(shù)向量,包括:當(dāng)所有的所述參與方參與計(jì)算得到包含各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式后,確定所述乘加密線性回歸系數(shù)向量,使用包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣、所述前列參與方的列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積、以及所述當(dāng)前參與方的所述列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積;所述任意參與方的列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積,等于對(duì)應(yīng)的所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與所述標(biāo)簽所有者的所述標(biāo)簽列向量之間的乘積;所述任意參與方的所述列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積,是所述任意參與方與所述標(biāo)簽所有者協(xié)作,基于預(yù)設(shè)的安全多方計(jì)算協(xié)議進(jìn)行確定或者直接計(jì)算得到的。
9、在一些實(shí)施例中,所述確定所述乘加密線性回歸系數(shù)向量,使用包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣、所述前列參與方列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積、以及所述當(dāng)前參與方的所述列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積,所述乘加密線性回歸系數(shù)向量,等于包含所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣與第一乘積向量的乘積,所述第一乘積向量是由所述逆分解因子矩陣的轉(zhuǎn)置與包含所述前列參與方的所述列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積和當(dāng)前參與方列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積作為子向量的拼接向量進(jìn)行相乘所得到的第二乘積向量再進(jìn)一步確定的,當(dāng)所述分解因子矩陣是平方根矩陣,所述第一乘積向量等于所述第二乘積向量,或者,當(dāng)所述分解因子矩陣是ldlt分解的l因子矩陣,所述第一乘積向量等于ldlt分解的d因子矩陣與所述第二乘積向量的乘積。
10、在一些實(shí)施例中,存在m個(gè)提供各自的所述私有原始數(shù)據(jù)的所述參與方,m是大于等于2的整數(shù);所述當(dāng)前參與方是第i參與方,其中i是任意大于等于2且小于等于m的整數(shù);所述前列參與方是第j參與方,其中j是任意小于所述i的正整數(shù);所述后續(xù)參與方是第k參與方,其中k是任意大于i且小于等于m的整數(shù),所述當(dāng)前參與方與所述前列參與方協(xié)作,利用各自的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣,確定所述前列參與方和所述當(dāng)前參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或所述乘積矩陣的變換形式,包括:所述第i參與方與所述第j參與方協(xié)作,利用各自的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣,確定所述第j參與方和所述第i參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或所述乘積矩陣的變換形式,其中j取任意小于i的正整數(shù)。
11、在一些實(shí)施例中,當(dāng)所述當(dāng)前參與方是第i參與方且i小于等于m-1,則所述前列參與方是第i-1參與方,而所述后續(xù)參與方是第i+1參與方,所述第i-1參與方把包含從第1參與方到所述第i-1參與方的共i-1個(gè)所述參與方的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式全部或部分的發(fā)送給所述第i參與方,所述第i參與方接收到所述逆分解因子矩陣或其變換形式;所述第i參與方分別與從所述第1參與方到所述第i-1參與方中的每一個(gè)所述參與方協(xié)作,利用各自的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣,確定所述第i參與方和所述共i-1個(gè)參與方中的每一個(gè)所述參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣或所述乘積矩陣的變換形式,再利用所述乘積矩陣或其變換形式,獲得并且向所述第i+1參與方全部或部分地發(fā)送包含從所述第1參與方到所述第i參與方共i個(gè)所述參與方的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式;當(dāng)所述當(dāng)前參與方是第i參與方且i等于m,則所述前列參與方是第m-1參與方,第m-1參與方把包含從所述第1參與方到所述第m-1參與方共m-1個(gè)所述參與方的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣或所述逆分解因子矩陣的變換形式全部或部分地發(fā)送給第m參與方,所述第m參與方接收到所述逆分解因子矩陣或其變換形式;所述第m參與方分別與從第1參與方到第m-1參與方的共m-1個(gè)參與方中的每一個(gè)所述參與方協(xié)作,利用各自的所述私有原始數(shù)據(jù)對(duì)應(yīng)的所述列加密數(shù)據(jù)變換加密矩陣,確定所述第m參與方和所述共m-1個(gè)參與方中的每一個(gè)所述參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣或所述乘積矩陣的變換形式,再利用所述乘積矩陣或其變換形式,與所述標(biāo)簽數(shù)據(jù)擁有方以及從第1參與方到第m-1參與方的共m-1個(gè)所述參與方協(xié)作確定所述乘加密線性回歸系數(shù)向量;所述乘加密線性回歸系數(shù)向量,等于包含所述從所述第1參與方到所述第m參與方共m個(gè)所述參與方各自的所述列加密數(shù)據(jù)變換加密矩陣影響的矩陣的所述正則化對(duì)稱矩陣的所述逆分解因子矩陣與所述第一乘積向量的乘積,所述第一乘積向量是由所述逆分解因子矩陣的轉(zhuǎn)置與包含從所述第1參與方到所述第m參與方共m個(gè)所述參與方各自的所述列加密數(shù)據(jù)變換加密矩陣與標(biāo)簽乘積作為子向量的所述拼接向量進(jìn)行相乘所得到的所述第二乘積向量再進(jìn)一步確定得到的,當(dāng)所述分解因子矩陣是所述平方根矩陣,所述第一乘積向量等于所述第二乘積向量,或者當(dāng)所述分解因子矩陣是ldlt分解的l因子矩陣,所述第一乘積向量等于ldlt分解的d因子矩陣與所述第二乘積向量的乘積。
12、為實(shí)現(xiàn)上述目的,本技術(shù)第二方面提出了一種基于隱私保護(hù)的線性回歸系統(tǒng),所述基于隱私保護(hù)的線性回歸系統(tǒng)用于執(zhí)行第一方面所述的基于隱私保護(hù)的線性回歸方法。
13、為實(shí)現(xiàn)上述目的,本技術(shù)第三方面提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括存儲(chǔ)的計(jì)算機(jī)程序;其中,所述計(jì)算機(jī)程序在運(yùn)行時(shí)控制所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)所在的設(shè)備執(zhí)行如第一方面所述的基于隱私保護(hù)的線性回歸方法。
14、本技術(shù)實(shí)施例至少包括以下有益效果:擁有私有原始數(shù)據(jù)的參與方自行對(duì)自身的原始數(shù)據(jù)矩陣進(jìn)行加密,除了參與方自身,沒有任何其他參與者知曉其具體的加密方式,在所有參與方均完成加密后,對(duì)參與方進(jìn)行排列,第一個(gè)參與方根據(jù)自身由原始數(shù)據(jù)矩陣加密得到的列加密變換加密矩陣確定自身的逆分解因子矩陣,第一個(gè)參與方將自身的逆分解因子矩陣或其變換形式發(fā)送給第二個(gè)參與方,第二個(gè)參與方根據(jù)第一個(gè)參與方的逆分解因子矩陣,以及自身的列加密變換加密矩陣確定包含第一參與方和第二參與方各自的列加密變換加密矩陣影響的逆分解因子矩陣或其變換形式,并發(fā)送給第三個(gè)參與方,依次類推,直至最后一個(gè)參與方計(jì)算得到包含從第一參與方到最后參與方的所有參與方各自的列加密變換加密矩陣影響的逆分解因子矩陣。最后一個(gè)參與方再通過與標(biāo)簽數(shù)據(jù)所有者協(xié)作,通過最后一個(gè)參與方的逆分解因子矩陣與標(biāo)簽數(shù)據(jù)所有者的標(biāo)簽數(shù)據(jù)即可確定乘加密線性回歸系數(shù)向量;相比現(xiàn)有技術(shù),本發(fā)明不需要引入可信的計(jì)算節(jié)點(diǎn)和加密服務(wù)提供方,也不需要實(shí)現(xiàn)復(fù)雜度非常高的混淆電路,從而可以降低實(shí)現(xiàn)復(fù)雜度,滿足了實(shí)際應(yīng)用需求。
15、本技術(shù)的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本技術(shù)而了解。本技術(shù)的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。