日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

基于二部圖GraphSAGE算法實現(xiàn)推薦召回

本文為您介紹如何使用二部圖GraphSAGE算法,快速生成推薦召回場景中的User和Item向量。

背景信息

圖神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的熱點發(fā)展方向,PAI開源Graph-Learn框架,提供大量圖學(xué)習(xí)算法。二部圖GraphSAGE是經(jīng)典的圖神經(jīng)網(wǎng)絡(luò)算法,而GraphSAGE為二部圖場景擴展,被用于淘寶的推薦召回場景。

在二部圖場景下,可以將User和Item作為圖中的點,User-Item之間的關(guān)系(點擊或購買等)作為圖中的邊。對于User和Item,其鄰居分別按照User-Item-User-Item…Item-User-Item-User…的Meta-Path進行采樣。

前提條件

基于二部圖GraphSAGE算法實現(xiàn)推薦召回

  1. 進入Designer頁面。

    1. 登錄PAI控制臺

    2. 在左側(cè)導(dǎo)航欄單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應(yīng)的工作空間。

    3. 在工作空間頁面的左側(cè)導(dǎo)航欄選擇模型開發(fā)與訓(xùn)練 > 可視化建模(Designer),進入Designer頁面。

  2. 構(gòu)建工作流。

    1. Designer頁面,單擊預(yù)置模板頁簽。

    2. 在模板列表,單擊推薦召回-GraphEmbedding算法下的創(chuàng)建

    3. 新建工作流對話框,配置參數(shù)(可以全部使用默認參數(shù))。

      其中:工作流數(shù)據(jù)存儲配置為OSS Bucket路徑,用于存儲工作流運行中產(chǎn)出的臨時數(shù)據(jù)和模型。

    4. 單擊確定

      您需要等待大約十秒鐘,工作流可以創(chuàng)建成功。

    5. 在工作流列表,雙擊推薦召回-GraphEmbedding算法工作流,進入工作流。

    6. 系統(tǒng)根據(jù)預(yù)置的模板,自動構(gòu)建工作流,如下圖所示。

      圖神經(jīng)網(wǎng)絡(luò)召回

      區(qū)域

      描述

      User&Item行為表,包括如下字段:

      • user:BIGINT類型,表示用戶ID。

      • item:BIGINT類型,表示物品ID。

      • weight:DOUBLE類型,表示行為。例如1表示購買,2表示收藏。

      User特征表,包括如下字段:

      • user:BIGINT類型,表示用戶ID。

      • feature:STRING類型,表示用戶特征。每個用戶至少配置1個特征,多個特征以半角冒號(:)分隔。每個特征必須為FLOAT類型,按照連續(xù)特征進行處理。例如:1:1:1

      Item特征表,包括如下字段:

      • item:BIGINT類型,表示物品ID。

      • feature:STRING類型,表示item特征。每個item至少配置1個特征,多個特征以半角冒號(:)分隔。每個特征必須為FLOAT類型,按照連續(xù)特征進行處理。例如:1:1:2

      通過graphSage組件生成用于推薦召回場景的User向量表和Item向量表。graphSage組件參數(shù)設(shè)置說明:

      • user特征數(shù):User特征數(shù),對應(yīng)User特征表特征個數(shù)。

      • item特征數(shù):Item特征數(shù),對應(yīng)Item特征表特征個數(shù)。

      • epoch:訓(xùn)練的epoch數(shù)。

      • batch_size:訓(xùn)練的batch_size大小。

      • learning_rate::訓(xùn)練的學(xué)習(xí)率。

      • drop_out:訓(xùn)練時的dropout。

      • hidden_dim:模型隱層維度大小。

      • output_dim:最后輸出embedding的維數(shù)。

      • user跳躍采樣鄰居數(shù):User的每一跳鄰居數(shù)。'[10,2]'表示第一跳采樣10個鄰居,第二跳采樣2個鄰居。User多跳采樣的路徑為User-Item-User-Item...

      • item跳躍采樣鄰居數(shù):Item的每一跳鄰居數(shù)。Item多跳采樣的路徑為Item-User-Item-User...

      • 負采樣數(shù):負采樣數(shù)?(?條正樣本對應(yīng)的負樣本數(shù)?),通常設(shè)為5~10。

      • 聚合類型:鄰居聚合方式,包括'gcn', 'sum'和'mean', 'gcn'指類似GCN的聚合方式,'mean'指鄰居做平均,'sum'指鄰居求和,一般選'mean'。

      • 是否做特征 batch normalization:是否對輸?特征做batch normalization。

      • 是否使用同步訓(xùn)練:是否使?同步訓(xùn)練。默認使?異步訓(xùn)練。同步訓(xùn)練時epoch參數(shù)失效。在異步訓(xùn)練不收斂時可以嘗試同步訓(xùn)練。注意:同步訓(xùn)練性能相比異步訓(xùn)練要差。

      • 最大同步訓(xùn)練步數(shù):最?訓(xùn)練步數(shù),僅在同步訓(xùn)練時?效, 此時epoch參數(shù)不再?效。可通過邊數(shù)/(worker數(shù)*batch_size) 來估計遍歷?遍邊表需要多少step來設(shè)置。

  3. 運行工作流并查看輸出結(jié)果。

    1. 單擊畫布上方的image

    2. 工作流運行結(jié)束后,右鍵單擊畫布中的graphSage,在快捷菜單中,單擊查看數(shù)據(jù) > user_embedding,即可查看生成的User Embedding。

    3. 工作流運行結(jié)束后,右鍵單擊畫布中的graphSage,在快捷菜單中,單擊查看數(shù)據(jù) > item_embedding,即可查看生成的Item Embedding。