日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

推荐系统--联邦学习下的矩阵分解(6)

發布時間:2024/8/23 windows 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐系统--联邦学习下的矩阵分解(6) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

推薦系統–矩陣分解(1)
推薦系統–矩陣分解(2)
推薦系統–矩陣分解(3)
推薦系統–矩陣分解(4)
推薦系統–矩陣分解(5)
推薦系統–矩陣分解(6)

9 應用于聯邦學習的矩陣分解

這個部分主要參考以下兩篇論文:
2008-Collaborative Filtering for Implicit Feedback Datasets
Federated collaborative filtering for privacy-preserving presonalized recommendation system

9.1 Collaborative Filtering for Implicit Feedback Datasets

在該模型中對ruir_{ui}rui?引入喜好變量和置信度變量。

  • 喜好變量fuif_{ui}fui?是一個二元變量,表示用戶是否具有該無偏偏好,定義如下:
    fui={1rui>00rui=0(1)f_{u i}=\left\{\begin{array}{cc} 1 & r_{u i}>0 \\ 0 & r_{u i}=0 \end{array}\right. \tag1 fui?={10?rui?>0rui?=0?(1)
  • 置信度變量 cuic_{ui}cui?表示用戶對物品喜好的置信程度,定義如下:
    cui=1+αrui(2)c_{u i}=1+\alpha r_{u i} \tag2 cui?=1+αrui?(2)
    α\alphaα是超參數。
  • 整體的損失函數如下:
    最終得到如下優化目標函數:
    J=min?p?,q?∑u,icui(fui?puTqi)2+λ(∑u∥pu∥2+∑i∥qi∥2)(3)J = \min _{p_{\star}, q_{\star}} \sum_{u, i} c_{u i}\left(f_{u i}-p_{u}^{T} q_{i}\right)^{2}+\lambda\left(\sum_{u}\left\|p_{u}\right\|^{2}+\sum_{i}\left\|q_{i}\right\|^{2}\right) \tag3 J=p??,q??min?u,i?cui?(fui??puT?qi?)2+λ(u?pu?2+i?qi?2)(3)
    λ\lambdaλ是懲罰項,用于懲罰兩個參數,防止過擬合
    這個問題是非凸函數, 作者使用的是ALS(交替最小二乘法)優化方法。如果固定其中一個參數將其看做是常數的話,那么整個問題就變成了一元二次函數,可以很容易的得到極小值點。根據這種思想就有了交替最小二乘法:
  • 初始化pu1p_u^1pu1?qi1q_i^1qi1?
  • 循環kkkk=1,2,…k = 1, 2, \dotsk=1,2,
    – [ ] puk+1=arg?min?puJ(puk,qik)p_u^{k+1} = \arg \min_{p_u} J(p_u^k, q_i^k)puk+1?=argminpu??J(puk?,qik?)
    – [ ] qik+1=arg?min?qiJ(puk+1,qik)q_i^{k+1} = \arg \min_{q_i} J(p_u^{k+1}, q_i^k)qik+1?=argminqi??J(puk+1?,qik?)

固定qiq_iqi?的值,對pup_upu?進行搜索:
12?J?pu=∑icui(puTqi?fui)qi+λpu=∑icui(qiTpu?fui)qi+λpu=QTCuQpu?QTCuf(u)+λpu\begin{aligned} \frac{1}{2} \frac{\partial J}{\partial p_{u}} &=\sum_{i} c_{u i}\left(p_{u}^{T} q_{i}-f_{u i}\right) q_{i}+\lambda p_{u} \\ &=\sum_{i} c_{u i}\left(q_{i}^{T} p_{u}-f_{u i}\right) q_{i}+\lambda p_{u} \\ &=Q^{T} C^{u} Q p_{u}-Q^{T} C^{u} f(u)+\lambda p_{u} \end{aligned} 21??pu??J??=i?cui?(puT?qi??fui?)qi?+λpu?=i?cui?(qiT?pu??fui?)qi?+λpu?=QTCuQpu??QTCuf(u)+λpu??
得到:
pu=(QTCuQ+λI)?1QTCuf(u)p_{u}=\left(Q^{T} C^{u} Q+\lambda I\right)^{-1} Q^{T} C^{u} f(u) pu?=(QTCuQ+λI)?1QTCuf(u)
同理可得:
12?J?qi=∑u[cui(puTqi?fui)]pu+λqi\begin{aligned} \frac{1}{2}\frac{\partial J}{\partial {q}_{i}}&= \sum_{u}\left[c_{u i}\left({p}_{u}^{T}{q}_{i}- f_{u i}\right)\right] {p}_{u}+ \lambda {q}_{i} \end{aligned} 21??qi??J??=u?[cui?(puT?qi??fui?)]pu?+λqi??
qi=(PTCiP+λI)?1PTCif(i)q_{i}=\left(P^{T} C^{i} P+\lambda I\right)^{-1} P^{T} C^{i} f(i) qi?=(PTCiP+λI)?1PTCif(i)

9.2 Federated collaborative filtering for privacy-preserving presonalized recommendation system

9.2.1 分析

聯邦學習的思想是“數據不出本地”,現在對之前的計算進行分析:

  • 用戶uuu利用自己的數據,就可以實現pup_upu?的更新;
  • qiq_iqi?的更新需要用到所有用戶的個人數據,需要將數據整合到一起,但是這與聯邦學習的定義不符。

文章采用梯度下降的方法對qi{q}_{i}qi?進行更新:
qi=qi?γ?J?qi\begin{aligned} {q}_{i}&={q}_{i}-\gamma \frac{\partial J}{\partial {q}_{i}} \end{aligned} qi??=qi??γ?qi??J??
用戶只用自己的個人數據就可以求出部分梯度,最終將所有人求出的梯度進行整合即可。

與ALS相比:

  • ALS可以一步到位直接到達參數qiq_iqi?的較小值點
  • 梯度下降需要迭代多次才能到達一個較小值點
  • 梯度下降可以在用戶本地進行,最終只需要將所有用戶的梯度整合一下取平均即可

9.2.2 步驟

聯邦學習范式中的協同過濾。 主模型 YYY(項目-因素矩陣,有時候也用QQQ,或者VVV,不同文獻使用的符號系統不同,為了和圖片一致,我這里依然采用YYY)在服務器上更新,然后分發到客戶端。 每個特定于用戶的模型 XXX(用戶-因素矩陣,有時候也用PPP,或者UUU,不同文獻使用的符號系統不同,為了和圖片一致,我這里依然采用XXX)保留在本地客戶端上,并使用本地用戶數據和來自服務器的 YYY 在客戶端上進行更新。 通過 YYY 的梯度的更新在每個客戶端上計算并傳輸到服務器,在那里它們被聚合以更新主模型 YYY

  • 所有項目因子向量 yiy_iyi? , i=1,…,Mi = 1, \dots, Mi=1,,M 在服務器上更新,然后分發給每個客戶端 uuu
  • 用戶因子向量 xux_uxu?, u∈1,...,Nu \in {1, . . . , N}u1,...,N 在客戶端 uuu 上本地更新,使用用戶 uuu 自己的數據和 yiy_iyi?, i=1,…,Mi = 1, \dots, Mi=1,,M來自服務器。
  • 通過梯度 δyuiδy_{ui}δyui? 的更新是針對每個客戶端 uuu 上的項目 tit_iti? 計算的,并傳輸到服務器,在那里梯度被聚合以更新 yiy_iyi?。 這與現有的聯邦學習架構形成對比,其中客戶端直接計算參數 yuiy_{ui}yui? 的更新,然后在服務器上聚合以更新主模型。

    以下公式是從論文中摘錄下來的:

    符號說明:
    p(u)p(u)p(u)就是前文的f(u)f(u)f(u):表示用戶的購買記錄;


    符號說明:
    puip_{ui}pui?就是前文的fuif_{ui}fui?:表示用戶是否具有該無偏偏好;

總結

以上是生活随笔為你收集整理的推荐系统--联邦学习下的矩阵分解(6)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。