本技術涉及但不限于機器學習,尤其涉及一種基于隱私保護的線性回歸方法。
背景技術:
1、多元回歸分析是指在相關變量中,將一個變量視為因變量,其他一個或多個變量視為自變量,建立多個變量之間線性或非線性的數(shù)學模型數(shù)量關系式,并利用樣本數(shù)據(jù)進行分析的統(tǒng)計分析方法。線性回歸是利用數(shù)理統(tǒng)計中的回歸分析,來確定變量間相互依賴關系的一種統(tǒng)計分析方法,作為最簡單的機器學習模型,在金融、經(jīng)濟和醫(yī)療等領域有著廣泛的用途。線性回歸可以用來對觀測數(shù)據(jù)集的值擬合出一個預測模型。
2、縱向聯(lián)邦學習(vertical?federated?learning,簡稱vfl)是一種分布式機器學習技術,它允許多個參與方在各自的數(shù)據(jù)上進行聯(lián)合訓練,以建立一個共享的機器學習模型。這種學習方式適用于那些樣本重疊多、特征重疊少的場景。例如,同一地區(qū)的超市和銀行,他們的用戶(樣本)相似,但業(yè)務(特征)不同??v向聯(lián)邦學習的關鍵在于樣本要重疊,特征互補,這樣可以對每個樣本進行特征的擴充,從而聯(lián)合訓練模型的效果一般會優(yōu)于使用各自私有特征訓練的效果。
3、相關的實現(xiàn)縱向聯(lián)邦學習的方法中,往往需要引入加密服務提供方和評估方來確保加密的執(zhí)行和效果,一些帶有加密需求的線性回歸方法要引入復雜的混淆電路,導致線性回歸的實現(xiàn)變得困難。
技術實現(xiàn)思路
1、以下是對本文詳細描述的主題的概述。本概述并非是為了限制權(quán)利要求的保護范圍。
2、本技術實施例提供了一種基于隱私保護的線性回歸方法,實現(xiàn)更加簡單,加密不需要用到復雜的混肴電路等技術。
3、為實現(xiàn)上述目的,本技術實施例第一方面提出了一種基于隱私保護的線性回歸方法,包括:對于任意的第i個參與方,第i個所述參與方確定自身的原始數(shù)據(jù)矩陣對應的列加密數(shù)據(jù)變換加密矩陣的正則化對稱矩陣或者所述正則化對稱矩陣的其他變換形式,并且把所述正則化對稱矩陣或者其變換形式發(fā)送給第一計算節(jié)點,其中,所述正則化對稱矩陣的變換形式滿足,由該變換形式可以不需通過其他信息計算得到所述正則化對稱矩陣;第j個所述參與方與第i個所述參與方協(xié)作,確定第j個所述參與方和第i個所述參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或者所述乘積矩陣的變換形式,并且由第一計算節(jié)點對所述乘積矩陣或者所述乘積矩陣的變換形式進行保存;其中,所述乘積矩陣的變換形式滿足,由該變換形式可以不需通過其他信息計算得到所述乘積矩陣;所述i和j均為大于等于1且小于等于m的整數(shù),j不等于i且j小于i,m為所有所述參與者的總數(shù)量;第一計算節(jié)點利用各個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的所述正則化對稱矩陣或者其變換形式,以及第j個所述參與方與第i個所述參與方之間的乘積矩陣或者其變換形式,與各個所述參與方和標簽數(shù)據(jù)擁有方協(xié)作,確定乘加密線性回歸系數(shù)向量。
4、在一些實施例中,第j個所述參與方和第i個所述參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣等于第j個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與第i個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的乘積,而所述乘積矩陣的變換形式包括該乘積矩陣的轉(zhuǎn)置即第i個所述參與方所述列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與第j個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的乘積,第j個所述參與方和第i個所述參與方各自的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣或者其變換形式,是第j個所述參與方與第i個所述參與方協(xié)作,基于預設的安全多方計算協(xié)議進行確定或者直接計算得到的。
5、在一些實施例中,第i個所述參與方自身原始數(shù)據(jù)矩陣對應的列加密數(shù)據(jù)變換加密矩陣,等于第i個所述參與方的列加密數(shù)據(jù)矩陣與第i個所述參與方的第一掩碼矩陣的乘積;其中,所述列加密數(shù)據(jù)矩陣包含所述原始數(shù)據(jù)矩陣作為子矩陣,而且包括所述原始數(shù)據(jù)矩陣中的各個子列和所述參與方生成或者從可信節(jié)點得到的掩碼列,所述掩碼列包含的項的數(shù)目與所述參與方自身的所述原始數(shù)據(jù)矩陣各列包含的項的數(shù)目相同;而第i個所述參與方的第一掩碼矩陣是可逆矩陣,由第i個所述參與方生成或者從可信節(jié)點得到。
6、在一些實施例中,所述乘加密線性回歸系數(shù)向量,等于在目標線性回歸系數(shù)列向量增加各個所述參與方的所述掩碼列的影響后,再右乘由各個所述參與方的所述第一掩碼矩陣組成的分塊對角矩陣所得到的列向量,其中,所述分塊對角矩陣將各個所述參與方的所述第一掩碼矩陣的逆矩陣作為位于所述分塊對角矩陣的對角線上的子矩陣。
7、在一些實施例中,第一計算節(jié)點利用各個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的所述正則化對稱矩陣或者其變換形式,以及第j個所述參與方與第i個所述參與方之間的乘積矩陣或者其變換形式,與各個所述參與方和標簽數(shù)據(jù)擁有方協(xié)作,確定乘加密線性回歸系數(shù)向量,包括:標簽數(shù)據(jù)擁有方分別與任意一個所述參與方協(xié)作,根據(jù)標簽數(shù)據(jù)所有方的標簽列向量和所述參與方的列加密數(shù)據(jù)變換加密矩陣,確定各個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式,將各個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式分別儲存在所述參與方、所述標簽數(shù)據(jù)擁有方、所述第一計算節(jié)點和可信的儲存節(jié)點中的任意一個或多個節(jié)點,其中,所述列加密數(shù)據(jù)變換加密矩陣與標簽乘積的變換形式滿足,由該變換形式可以計算得到所述列加密數(shù)據(jù)變換加密矩陣與標簽乘積;任意的第i個所述參與方對自身的所述對稱矩陣進行正則化處理,得到第i個所述參與方的列加密數(shù)據(jù)變換加密矩陣的正則化對稱矩陣或者其變換形式,并將所述正則化對稱矩陣或者其變換形式發(fā)送至所述第一計算節(jié)點,其中,當?shù)趇個所述參與方的所述第一掩碼矩陣不是正交矩陣,則上述正則化處理還用到第i個所述參與方的所述第一掩碼矩陣;任意的第i個所述參與方與第j個所述參與方協(xié)作,利用各自的所述列加密數(shù)據(jù)變換加密矩陣,確定第j個所述參與方和第i個所述參與方各自的列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或者其變換形式,并且由第一計算節(jié)點對所述乘積矩陣或者所述乘積矩陣的變換形式進行保存;所述第一計算節(jié)點利用第i個所述參與方的列加密數(shù)據(jù)變換加密矩陣的正則化對稱矩陣,以及第j個所述參與方和第i參與方各自列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或者其變換形式,與儲存有所述各個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式的一個或多個節(jié)點協(xié)作,確定所述乘加密線性回歸系數(shù)向量。
8、在一些實施例中,所述任意的第i個所述參與方對自身的所述對稱矩陣進行正則化處理,得到第i個所述參與方的列加密數(shù)據(jù)變換加密矩陣的正則化對稱矩陣,包括:第i個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的所述正則化對稱矩陣,是第i個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的對稱矩陣加上正則化項的和,而所述正則化項是第i個所述參與方的所述第一掩碼矩陣的對稱矩陣與正則化系數(shù)的乘積;其中,所述列加密數(shù)據(jù)變換加密矩陣的對稱矩陣等于所述列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與所述列加密數(shù)據(jù)變換加密矩陣自身的乘積,而第i個所述參與方的所述第一掩碼矩陣的對稱矩陣等于第i個所述參與方的所述第一掩碼矩陣的轉(zhuǎn)置與該所述第一掩碼矩陣自身的乘積。
9、在一些實施例中,所述任意的第i個所述參與方與第j個所述參與方協(xié)作,利用各自的所述列加密數(shù)據(jù)變換加密矩陣,確定第j個所述參與方和第i個所述參與方各自列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或者其變換形式,包括:任意的第i個所述參與方與第j個所述參與方協(xié)作,通過第i個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣與第j個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣確定乘積矩陣或者其變換形式,并且由第一計算節(jié)點得到所述乘積矩陣或者其變換形式;其中,第i個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣與第j個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣等于第j個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與第i個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的乘積,而所述乘積矩陣的變換形式包括所述乘積矩陣的轉(zhuǎn)置即第i個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與第j個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的乘積。
10、在一些實施例中,所述第一計算節(jié)點利用第i個所述參與方的列加密數(shù)據(jù)變換加密矩陣的正則化對稱矩陣,以及第j個所述參與方和第i個所述參與方各自的列加密數(shù)據(jù)變換加密矩陣的乘積矩陣或者其變換形式,與儲存有所述各個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式的一個或多個節(jié)點協(xié)作,確定所述乘加密線性回歸系數(shù)向量,包括:所述乘加密線性回歸系數(shù)向量等于所有所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的所述正則化對稱矩陣的逆矩陣與所有所述參與方的所述列加密數(shù)據(jù)變換加密矩陣與標簽乘積的乘積;其中,所有所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的正則化對稱矩陣包含的子矩陣包括:各個所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的所述正則化對稱矩陣,以及任意兩個不同的所述參與方的所述列加密數(shù)據(jù)變換加密矩陣的所述乘積矩陣;而所有所述參與方的所述列加密數(shù)據(jù)變換加密矩陣與標簽乘積,由各個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積組成。
11、在一些實施例中,所述標簽數(shù)據(jù)擁有方分別與任意一個所述參與方協(xié)作,根據(jù)標簽數(shù)據(jù)所有方的標簽列向量和所述參與方的列加密數(shù)據(jù)變換加密矩陣,確定各個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式,將各個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式分別儲存在所述參與方、所述標簽數(shù)據(jù)擁有方、所述第一計算節(jié)點和可信的所述儲存節(jié)點中的任意一個或多個節(jié)點,包括:所述標簽數(shù)據(jù)擁有方與任意的第i個所述參與方協(xié)作,基于預設的安全多方計算協(xié)議或者基于直接計算的方式,確定第i個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式,即第i個所述參與方的列加密數(shù)據(jù)變換加密矩陣的轉(zhuǎn)置與標簽列向量的乘積或者其變換形式,計算得到的所述第i個所述參與方的列加密數(shù)據(jù)變換加密矩陣與標簽乘積或者其變換形式,儲存在多個所述參與方、所述標簽數(shù)據(jù)擁有方、所述第一計算節(jié)點以及可信的所述儲存節(jié)點中的一個或多個節(jié)點中。
12、為實現(xiàn)上述目的,本技術第二方面提出了一種基于隱私保護的線性回歸系統(tǒng),所述基于隱私保護的線性回歸系統(tǒng)用于執(zhí)行第一方面所述的基于隱私保護的線性回歸方法。
13、為實現(xiàn)上述目的,本技術第三方面提出了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)包括存儲的計算機程序;其中,所述計算機程序在運行時控制所述計算機可讀存儲介質(zhì)所在的設備執(zhí)行如第一方面所述的基于隱私保護的線性回歸方法。
14、本技術實施例至少包括以下有益效果:各個參與方分別對自身擁有的原始數(shù)據(jù)矩陣進行加密后,參與方基于自身通過加密得到的列加密數(shù)據(jù)變換加密矩陣確定自身的對稱矩陣,任意兩個不同的參與方通過各自的列加密數(shù)據(jù)變換加密矩陣確定乘積矩陣,第一計算節(jié)點獲取各個參與方的對稱矩陣,以及任意兩個參與方的乘積矩陣,再利用標簽數(shù)據(jù)擁有方的標簽列向量,計算得到乘加密線性回歸系數(shù)向量;相比現(xiàn)有技術,本技術提出的不需要引入加密服務提供方,初始的加密方法由各個參與方自行確定,也不需要實現(xiàn)復雜度高的混淆電路,從而能夠降低線性回歸過程的復雜度,滿足了實際應用需求;并且,通過設置第一計算節(jié)點,第一計算節(jié)點用于儲存中間產(chǎn)生的數(shù)據(jù)并對所有參與方和標簽數(shù)據(jù)擁有方進行統(tǒng)籌計算,因此,本技術提出的線性回歸方法可以只由擁有數(shù)據(jù)的用戶與第一計算節(jié)點協(xié)作完成,從而能夠節(jié)省數(shù)據(jù)傳輸開銷,并提升加密效果。
15、本技術的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本技術而了解。本技術的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。