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

歡迎訪問 生活随笔!

生活随笔

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

windows

推荐系统--矩阵分解(5)

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

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

8 基于隱式反饋的矩陣分解

8.1 引入

相對于顯示反饋的評分數據,隱式反饋有以下幾方面的特征:

  • 只有正反饋,沒有負反饋,只能得到用戶喜歡那些物品,對于用戶不喜歡的物品沒有數據支持;
  • 隱式反饋噪聲比較多,不像用戶評分行為是用戶強烈的主動行為,用戶瀏覽行為、點擊行為都相對比較被動。例1,某個頁面是因為用戶默認打開頁面導致打分較高;例2,買東西可能只是用來送禮;
  • 顯式反饋的評分數據代表用戶真實的喜好程度,隱式反饋代表置信度;
  • 需要有合適的方法來對隱式反饋進行評價,而不能直接用RMSE。
  • 8.2 模型

    模型引入喜好變量和置信度變量。
    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)
    符號說明:
    喜好變量fuif_{u i}fui?:一個二元變量,表示用戶是否具有該偏好。
    置信度變量的計算有兩種方式:
    cui=1+αrui(2)c_{u i}=1+\alpha r_{u i} \tag2 cui?=1+αrui?(2)

    cui=1+αlog?(1+rui/?)(3)c_{u i}=1+\alpha \log \left(1+r_{u i} / \epsilon\right) \tag3 cui?=1+αlog(1+rui?/?)(3)
    符號說明:
    置信度變量 cuic_{u i}cui?:表示用戶對物品喜好的置信程度。

    最終得到如下優化目標函數:
    L(p,q)=min?p?,q?∑u,icui(fui?puTqi)2+λ(∑u∥pu∥2+∑i∥qi∥2)(4)L(p, q) = \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) \tag4 L(p,q)=p??,q??min?u,i?cui?(fui??puT?qi?)2+λ(u?pu?2+i?qi?2)(4)

    8.3 求解pup_upu?qiq_iqi?

    首先計算梯度:
    12?L(p,q)?pu=∑icui(puTqi?fui)qi+λpu=∑icui(qiTpu?fui)qi+λpu=QTCuQpu?QTCuf(u)+λpu\begin{aligned} \frac{1}{2} \frac{\partial L(p, q)}{\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??L(p,q)??=i?cui?(puT?qi??fui?)qi?+λpu?=i?cui?(qiT?pu??fui?)qi?+λpu?=QTCuQpu??QTCuf(u)+λpu??
    有兩種方法可以求解pup_upu?qiq_iqi?

    • 第一種方法為直接法,令偏導為0,則有:
      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)
      矩陣計算的維度如下:
      (k×n&n×n&n×k)&(k×n)&(n×n)&(n×1)=k×1(k \times n \& n \times n \& n \times k) \& (k \times n) \& (n \times n) \& (n \times 1)= k \times 1(k×n&n×n&n×k)&(k×n)&(n×n)&(n×1)=k×1
      同理可得:
      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)

    符號說明:
    f(u)∈Rnf(u) \in \mathbb{R}^{n}f(u)Rn:包含用戶uuu的所有偏好向量;
    f(i)∈Rmf(i) \in \mathbb{R}^{m}f(i)Rm:包含用戶對物品tit_iti?的偏好向量;
    P∈Rm×kP \in \mathbb{R}^{m \times k}PRm×k:潛在用戶特征矩陣;
    Q∈Rn×kQ \in \mathbb{R}^{n \times k}QRn×k:潛在物品特征矩陣;
    Cu∈Rn×nC^{u} \in \mathbb{R}^{n \times n}CuRn×n:是Ciiu=cuiC_{i i}^{u}=c_{u i}Ciiu?=cui?,其余地方為0的對角矩陣,如下所示:

    C11uC_{11}^{u}C11u?
    C22uC_{22}^{u}C22u?
    C33uC_{33}^{u}C33u?
    C44uC_{44}^{u}C44u?
    C55uC_{55}^{u}C55u?

    Ci∈Rm×mC^{i} \in \mathbb{R}^{m \times m}CiRm×m:是Cuui=cuiC_{uu}^{i}=c_{u i}Cuui?=cui?的對角矩陣,其余地方為0的對角矩陣,如下所示:

    C11iC_{11}^{i}C11i?
    C22iC_{22}^{i}C22i?
    C33iC_{33}^{i}C33i?
    C44iC_{44}^{i}C44i?
    C55iC_{55}^{i}C55i?
    • 第二種方法為迭代法:
      梯度計算如下:
      12?L(p,q)?pu=∑i[cui(puTqi?fui)]qi+λpu=∑i[cui(qiTpu?fui)]qi+λpu12?L(p,q)?qi=∑u[cui(puTqi?fui)]pu+λqi\begin{aligned} \frac{1}{2} \frac{\partial L(p, q)}{\partial p_{u}} &=\sum_{i} \left[c_{u i}\left(p_{u}^{T} q_{i}-f_{u i}\right)\right] q_{i}+\lambda p_{u} \\ &=\sum_{i} \left[c_{u i}\left(q_{i}^{T} p_{u}-f_{u i}\right)\right] q_{i}+\lambda p_{u} \\ \frac{1}{2}\frac{\partial L(p, q)}{\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??pu??L(p,q)?21??qi??L(p,q)??=i?[cui?(puT?qi??fui?)]qi?+λpu?=i?[cui?(qiT?pu??fui?)]qi?+λpu?=u?[cui?(puT?qi??fui?)]pu?+λqi??
      迭代公式為:
      pu=pu?γ?L(p,q)?puqi=qi?γ?L(p,q)?qi\begin{aligned} {p}_{u}&={p}_{u}-\gamma \frac{\partial L(p, q)}{\partial {p}_{u}}\\ {q}_{i}&={q}_{i}-\gamma \frac{\partial L(p, q)}{\partial {q}_{i}} \end{aligned} pu?qi??=pu??γ?pu??L(p,q)?=qi??γ?qi??L(p,q)??

    總結

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

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