這篇文章與那些優化證明收斂的文章不同點在於,它是從泛化性
來進行算法收斂說明的,我覺得它更像是一個框架而不是怎么具體進行優化的方法。
preliminary
文章在開頭就對比了傳統的global model
和純粹在自己數據集上訓練得到的local model
的差異,從而引出了personalization
是介於兩者之間的一個東西,personalization
希望得到global model
的泛化性以及local model
在本地數據集上的良好表現。
global model
實際上是對\(\sum\limits_k \lambda_k \hat{\mathcal{D}}_k\)進行優化的,其度量了當函數\(h\)在全局和本地數據情況下,對本地數據損失的差異,
可以看到全局數據數量越大,損失差異就越小,本地數據和全局數據分布差異越大,損失差異就越大。也就是說,像傳統聯邦學習那樣,用全局數據訓練得到的模型可能對數據分布與\(\sum\limits_k \lambda_k \hat{\mathcal{D}}_k\)差異較大的客戶的效果不好。
本文提出了三種personalization
的方法,分別是user clustering
,data interpolation
,model interpolation
。
user clustering
就跟我們傳統的聚類算法假設一樣,我們認為所有用戶是可以被分為幾個類別的,通過對各個類別分別建模從而提高模型表現。
作者提出的算法流程也非常的朴素,現在假設有\(q\)個模型,客戶在那個模型上的損失最小那他就屬於這個類別,然后對所屬這一類的用戶進行梯度下降。