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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【搜索/推荐排序】NCF,DeepCross,Deep Crossing

發布時間:2024/7/5 编程问答 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【搜索/推荐排序】NCF,DeepCross,Deep Crossing 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1.NCF
    • 1.1 問題:基于FM的問題
      • 問題
      • 動機:神經網絡替代點積
    • 1.2 NCF模型圖
    • 1.3代碼
  • 2. Deep Crossing:微軟:ResNet
  • 3.Deep&Cross

1.NCF

1.1 問題:基于FM的問題

問題

FM->MF來自于矩陣分解的思想,所以也有矩陣分解的問題

實際上u1和u4更相似,但沒有交互不代表不想似,而latent space隱式空間考慮的是交互。
所謂潛在因素就是雖然用戶與項目間有交互,但不一定用戶就喜歡了,而沒交互也不代表不喜歡,這就對隱形學習帶來了噪音

動機:神經網絡替代點積

直接使用DNN從數據中學習交互函數(以代替MF的內積交互部分),從而突破了由于MF表達時的限制

1.2 NCF模型圖


  • GMF:通用矩陣分解,線性部分
    yui^=aout(hT(pu⊙qi))\hat{y_{ui}}=a_{out}(h^T(p_u\odot q_i))yui?^?=aout?(hT(pu?qi?))
    pup_upu?:用戶向量,qiq_iqi?:商品向量?item
    點乘,element-wise

  • MLP:非線性部分

  • 最終
    NCF(x)=yui^=σ(hT([pu⊙qi,MLP(pu,qi)]))NCF(x)=\hat{y_{ui}}=\sigma(h^T([p_u\odot q_i,MLP(p_u, q_i)]))NCF(x)=yui?^?=σ(hT([pu?qi?,MLP(pu?,qi?)]))

  • 上述兩者共享Embeding
  • 建議預訓練:通用框架建議使用 GMF 和 MLP 的預訓練模型來初始化NeuMF
  • 初始化很重要:NeuMF的目標函數是非凸的,gradient-based會使得模型陷入局部最優
  • 1.3代碼

    x = self.embedding(x) user_x = x[:, self.user_field_idx].squeeze(1) item_x = x[:, self.item_field_idx].squeeze(1) x = self.mlp(x.view(-1, self.embed_output_dim)) gmf = user_x * item_x x = torch.cat([gmf, x], dim=1) x = self.fc(x).squeeze(1)

    2. Deep Crossing:微軟:ResNet

    3.Deep&Cross

    Cross+MLP
    Cross:處理交叉特征(和FM功能一致)

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的【搜索/推荐排序】NCF,DeepCross,Deep Crossing的全部內容,希望文章能夠幫你解決所遇到的問題。

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