聯邦學習&&集成學習

1.Federated Forest
IEEE Transactions on Big Data 2020

  該文章在縱向聯邦學習(客戶端有相同的樣本但特徵空間不相同)方向上提出了一個基於CART樹和bagging的聯邦森林框架,它既能處理分類問題,又能處理迴歸問題。這個框架具有一定的隱私保護,預測是通信負擔不高。

  首先,先本文假設有數據標籤y爲主服務器(只有一個),沒數據標籤的爲客戶機,主服務器和客戶端加起來總數爲M,主服務器有標籤y,並將加密後的標籤y分發給其它客戶端。主服務器和客戶端的數據特徵都不相同。數據例子的編號都已經對齊,每個例子有唯一的ID。
在這裏插入圖片描述

模型構建
  主服務器首先從整個數據中隨機選擇特徵和樣本的子集。然後主服務器將私下通知每個客戶機所選的特性和樣本id。對於選定的特徵,主服務器將私下通知每個客戶端。例如,如果主服務器選擇了十個特徵,而客戶機1只擁有其中的三個特徵,則客戶機1將僅顯示這三個特徵已被選中。它永遠不會知道在全局範圍內選擇了多少特徵,更不用說這些特徵是什麼了。在建樹過程中,經常檢查預剪枝條件。如果條件成立,客戶機和主機將相應地創建葉節點。如果不觸發終止條件,則所有客戶端進入分枝狀態,通過比較基尼值,選擇當前樹節點的最佳拆分特徵。
  首先,每個客戶機確定局部最優分割特徵。然後主服務器收集所有局部最優特徵和基尼值,從而找到全局最優特徵。第二,服務器通知提供全局最佳特徵的客戶機,相應的客戶機將拆分樣本並將數據分區結果(分爲左子樹和右子樹的樣本ID)發送到主服務器。對於當前樹節點,只有提供最佳拆分功能的客戶端纔會保存此分枝的詳細信息。其他客戶機只知道所選特徵不是由他們自己貢獻的。分枝信息如閾值和分割特徵對其它客戶機來說也是未知的。最後,遞歸地創建子樹並返回當前樹節點。在建模中,如果子樹節點創建成功,則父節點不需要保存子樹的樣本id。否則,如果連接斷開,可以很容易地從斷點恢復建模(最後兩句我也沒理解)

模型保存
  樹預測模型由兩部分組成:樹結構和用於每個分枝的特徵和閾值等分割信息。由於森林是由所有客戶機協同工作構建的,因此每個客戶機上的每棵樹的結構都是相同的。但是,對於給定的樹節點,客戶機可能存儲詳細信息。只有主服務器能夠存儲完整的模型。對於每個樹節點,只有當客戶端提供了分枝特徵時,纔會存儲相應的分枝閾值。否則,客戶端將不在當前節點存儲任何內容,而只保留節點結構。我們將完整的樹節點表示爲 T T T,並將客戶端i存儲的沒有完整細節的樹節點表示爲 T i T_{i} Ti。因爲樹形結構是一致的,所以 T i ⊂ T T_{i} \subset T TiT ,並且 T 1 ⋂ T 2 ⋂ T 3 . . . ⋂ T M = L T_{1} \bigcap T_{2} \bigcap T_{3}... \bigcap T_{M}=L T1T2T3...TM=L,其中是葉子節點集合(上面說了主服務器會將加密後標籤y分發給其它客戶端,所以每一個葉子節點對應一個加密後的y)。完整的樹是由全部客戶端的樹的並集,即 T i ⊂ T T_{i} \subset T TiT ,並且 T 1 ⋃ T 2 ⋃ T 3 . . . ⋃ T M = T T_{1} \bigcup T_{2} \bigcup T_{3}... \bigcup T_{M}=T T1T2T3...TM=T

模型預測
  作者設計了一種預測算法,每次預測只需對整個森林的每棵樹進行一輪集體通信。首先,每個客戶機使用本地存儲的模型來預測樣本。對於第i個客戶端上的樹 T i T_{i} Ti,每個預測樣本從根節點進入 T i T_{i} Ti,最終會落入一個或多個葉子節點中。當樣本經過每個節點時,如果模型將分枝信息存儲在該節點上,則通過檢查分枝閾值確定該樣本進入左子樹或右子樹。如果模型在此節點沒有分枝信息,則示例同時輸入左子樹和右子樹。遞歸地執行樹節點的路徑確定,直到每個樣本落入一個或多個葉節點。當這個過程完成後,客戶端i上的樹 T i T_{i} Ti的每個葉子節點將保存一批預測樣本,我們用 S i l S^{l}_{i} Sil來表示屬於樹模型 T i T_{i} Ti的葉節點 l l l的預測樣本,其中 l ⊂ L l \subset L lL
  最後,對於每個客戶端的 S i l S^{l}_{i} Sil,我們取 { S i l } i = 1 M \{S^{l}_{i}\}^{M}_{i=1} {Sil}i=1M的交集,結果爲 S l S^{l} Sl,將 S l S^{l} Sl與主服務器的標籤y對應即可得到預測結果。其中爲什麼取 { S i l } i = 1 M \{S^{l}_{i}\}^{M}_{i=1} {Sil}i=1M的交集,論文中有詳細證明,感興趣的可以去看論文,我這裏就不說了。


2.Practical Federated GradientBoosting Decision Trees
AAAI 2020

有時間再寫