本發明屬于信息傳播,尤其涉及傳播網絡拓撲結構的橫向聯邦推斷方法及裝置。
背景技術:
1、隨著信息技術的迅猛發展,人們的交流方式得到了極大的豐富,進而構建了一個以個體為核心,復雜且交織的傳播網絡。在這個傳播網絡中,各類言論、資訊等信息能夠迅速而廣泛地擴散。傳播網絡的拓撲結構作為一種直觀的表現形式,能夠清晰地展示網絡中各個節點間的相互關系與影響,使我們能夠深入洞察信息的傳播路徑,進而更加精準地預測、促進和調控未來的傳播活動。以疾病傳播為例,掌握其傳播路徑與趨勢對于疾病的防控工作至關重要。通過深入分析疾病傳播的機制,我們能夠更有針對性地制定防控策略,確保防控工作的有效性。傳播網絡拓撲結構推斷的核心任務在于,根據歷史傳播過程中觀測到的節點感染狀態數據,運用統計推理方法,揭示出傳播網絡的內在結構,即節點間的父子影響關系。得到的拓撲結構不僅有助于我們深入理解信息的傳播規律,更能為未來的傳播事件提供有力的指導與預測。
2、現有的傳播網絡拓撲結構推斷方法都采用集中式學習策略,即將所有數據收集到單個計算機進行訓練學習,為了達到理想的性能,這類方法需要收集一定規模的數據才能保證其推斷結果的準確性。但是,近年來用戶的數據隱私保護意識增強。另一方面,單個客戶端或公司的數據規模不足以推斷出較為準確的傳播網絡拓撲結果,需要多個客戶端或公司的數據協同推斷。
技術實現思路
1、根據現有技術的不足,本發明的目的是提供傳播網絡拓撲結構的橫向聯邦推斷方法及裝置,能夠探索傳播網絡拓撲結構的橫向聯邦推斷方法,在保證多個客戶端擁有的節點感染狀態數據不被泄露的同時,從這些多個客戶端的數據中推斷出傳播網絡的拓撲結構,并確保本發明的推斷結果與集中式學習方法的推斷結果準確率基本相同。
2、為了解決上述技術問題,本發明采用的技術方案為:
3、一種傳播網絡拓撲結構的橫向聯邦推斷方法,包括:
4、步驟s1:對每一客戶端現有的傳播網絡拓撲結構建立初始化的鄰接矩陣和初始化的感染傳播概率矩陣;
5、步驟s2:每一客戶端基于本地觀測到的節點感染狀態數據對初始化的鄰接矩陣進行迭代得到第一鄰接矩陣,且基于第一鄰接矩陣對初始化的感染傳播概率矩陣進行迭代得到第一感染傳播概率矩陣;
6、步驟s3:中心服務器將所有第一鄰接矩陣聚合后平均得到聚合鄰接矩陣,通過聚合鄰接矩陣更新第一鄰接矩陣,獲取第二鄰接矩陣,同時中心服務器將所有第一感染傳播概率矩陣聚合后平均得到聚合感染傳播概率矩陣,通過聚合感染傳播概率矩陣更新第一感染傳播概率矩陣,獲取第二感染傳播概率矩陣;
7、步驟s4:重復步驟s2至步驟s3,直到聚合鄰接矩陣不再變化或聚合鄰接矩陣達到迭代次數,獲取最終鄰接矩陣和最終感染傳播概率矩陣,基于最終鄰接矩陣和最終感染傳播概率矩陣獲取最終傳播網絡拓撲結構。
8、進一步地,采用最優化方法建立基于初始化的鄰接矩陣和初始化的感染傳播概率矩陣的最大化目標函數l(x,α),通過最大化目標函數得到第一鄰接矩陣的迭代參數和第一感染傳播概率矩陣的迭代參數。
9、進一步地,最大化目標函數的表達式為:
10、
11、其中,vj表示第j個節點,表示第l次傳播過程結束第i個節點的感染狀態,表示第l次傳播過程結束第j個節點的感染狀態,αji表示第j個節點成功感染第i個節點的概率,xji表示第j個節點到第i個節點是否存在有向邊的情況,xji=1表示第j個節點到第i個節點存在有向邊,xji=0表示第j個節點到第i個節點不存在有向邊,β為傳播的總次數,n為節點的總個數,v為節點的集合。
12、進一步地,每一客戶端基于本地觀測到的節點感染狀態數據對初始化的鄰接矩陣進行迭代得到第一鄰接矩陣的方法為:
13、對初始化的鄰接矩陣x和初始化的感染傳播概率矩陣α,設定更新步長矩陣θ和更新方向矩陣y,對初始化的鄰接矩陣x進行迭代獲取第一鄰接矩陣x′,表達式為:
14、
15、其中,k1的取值為能使得l(x′,α)>l(x,α)成立的最小自然數。
16、進一步地,θ和y均為n·n矩陣,對于θ和y中的每個元素,表達式為:
17、
18、其中,yji表示更新方向矩陣y中第j個節點到第i個節點更新的方向,θji表示更新步長矩陣θ中第j個節點到第i個節點更新的步長,x(t)、α(t)分別為初始化的鄰接矩陣x和初始化的感染傳播概率矩陣α迭代t次得到的值。
19、進一步地,基于第一鄰接矩陣獲取第二感染傳播概率的方法為:
20、對第一鄰接矩陣x′和初始化的感染傳播概率矩陣α,設定更新步長矩陣λ和更新方向矩陣z,對初始化的感染傳播概率矩陣α進行迭代獲取第一感染傳播概率矩陣α′,表達式為:
21、
22、其中,k2的取值為能使得l(x′,α′)>l(x′,α)成立的最小自然數。
23、進一步地,λ和z均為n·n矩陣,對于λ和z中的每個元素,表達式為:
24、
25、
26、其中,zji表示更新方向矩陣z中第j個節點到第i個節點更新的方向,λji表示更新步長矩陣λ中第j個節點到第i個節點更新的步長,x(t)、α(t)分別為初始化的鄰接矩陣x和初始化的感染傳播概率矩陣α迭代t次得到的值。
27、一種傳播網絡拓撲結構的橫向聯邦推斷裝置,包括:
28、初始化模塊,用于對每一客戶端現有的傳播網絡拓撲結構建立初始化的鄰接矩陣和初始化的感染傳播概率矩陣;
29、迭代模塊,用于每一客戶端基于本地觀測到的節點感染狀態數據對初始化的鄰接矩陣進行迭代得到第一鄰接矩陣,且基于第一鄰接矩陣對初始化的感染傳播概率矩陣進行迭代得到第一感染傳播概率矩陣;
30、更新模塊,用于中心服務器將所有第一鄰接矩陣聚合后平均得到聚合鄰接矩陣,通過聚合鄰接矩陣更新第一鄰接矩陣,獲取第二鄰接矩陣,同時中心服務器將所有第一感染傳播概率矩陣聚合后平均得到聚合感染傳播概率矩陣,通過聚合感染傳播概率矩陣更新第一感染傳播概率矩陣,獲取第二感染傳播概率矩陣;
31、獲取模塊,用于重復迭代模塊至更新模塊,直到聚合鄰接矩陣不再變化或聚合鄰接矩陣達到迭代次數,獲取最終鄰接矩陣和最終感染傳播概率矩陣,基于最終鄰接矩陣和最終感染傳播概率矩陣獲取最終傳播網絡拓撲結構。
32、一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執行所述程序時實現上述傳播網絡拓撲結構的橫向聯邦推斷方法。
33、一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述傳播網絡拓撲結構的橫向聯邦推斷方法。
34、與現有技術相比,本發明具有以下優點和有益效果:
35、(1)本發明每一客戶端基于本地觀測到的節點感染狀態數據對初始化的鄰接矩陣進行迭代得到第一鄰接矩陣,且基于第一鄰接矩陣對初始化的感染傳播概率矩陣進行迭代得到第一感染傳播概率矩陣,能夠確保多個客戶端擁有的節點感染狀態數據不被泄露。
36、(2)本發明基于橫向聯邦學習思想,在保證多個客戶端擁有的節點感染狀態數據不被泄露的同時,中心服務器將所有第一鄰接矩陣聚合成聚合鄰接矩陣,每一客戶端通過聚合鄰接矩陣對第一鄰接矩陣進行替換,獲取第二鄰接矩陣,同時中心服務器將第二感染傳播概率聚合成全局感染傳播概率,每一客戶端通過全局感染傳播概率對第二感染傳播概率進行替換,獲取第二感染傳播概率,能夠從這些客戶端的數據中推斷出用于表示本地傳播網絡拓撲結構的鄰接矩陣和感染傳播概率矩陣,并確保本發明的推斷結果與集中式學習方法的推斷結果準確率基本相近。