[發明專利]基于矩陣分解及神經協同過濾的物品評分預測方法有效
| 申請號: | 201811598908.1 | 申請日: | 2018-12-26 |
| 公開(公告)號: | CN109740655B | 公開(公告)日: | 2021-06-01 |
| 發明(設計)人: | 慕彩紅;劉逸;劉海艷;吳建設;李陽陽;劉若辰;熊濤 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | G06K9/62 | 分類號: | G06K9/62;G06N3/04;G06N3/08;G06F16/9535;G06Q30/06 |
| 代理公司: | 陜西電子工業專利中心 61205 | 代理人: | 田文英;王品華 |
| 地址: | 710071 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 矩陣 分解 神經 協同 過濾 物品 評分 預測 方法 | ||
1.一種基于矩陣分解及神經協同過濾的物品評分預測方法,其特征在于,利用提取的用戶特征構建最近鄰居特征矩陣,提取神經協同過濾網絡嵌入層的用戶和物品特征,該方法的步驟包括如下:
(1)構建用戶-物品評分矩陣:
(1a)從用戶-物品的評分數據集中,分別提取每個評分對應的用戶編號ID與物品編號ID,組成用戶對物品的評分矩陣,其中評分矩陣的行為用戶編號ID,評分矩陣的列為物品編號ID,評分矩陣的行數為用戶的總數,評分矩陣的列數為物品的總數;
(1b)從評分矩陣中隨機選取的80%的評分組成訓練矩陣,剩下的20%評分組成評分測試矩陣;
(2)對訓練矩陣進行矩陣分解:
(2a)利用隨機初始操作,初始化用戶特征矩陣和物品特征矩陣;
(2b)將用戶特征矩陣和物品特征矩陣相乘后,組成一個重構訓練矩陣;
(2c)利用重構損失公式,計算重構訓練矩陣的重構誤差:
(2d)利用更新公式,更新用戶特征矩陣和物品特征矩陣;
(2e)將更新后的用戶特征矩陣和物品特征矩陣,分別替代重構訓練矩陣的重構誤差公式中的用戶特征矩陣和物品特征矩陣,計算更新后的重構訓練矩陣的重構誤差;
(2f)判斷更新前后的重構評分矩陣的重構誤差間的變化值是否小于0.001,若是,則執行步驟(2g),否則,執行步驟(2d);
(2g)將更新后的用戶特征矩陣和物品特征矩陣,分別作為用戶優化矩陣和物品優化矩陣;
(3)構建神經協同過濾網絡:
構建一個五層雙輸入的神經協同過濾網絡,并設置神經協同過濾網絡中的各層參數和超參數;
(4)對訓練矩陣進行神經協同過濾:
(4a)對訓練矩陣中所有行序號、所有列序號和評分,分別進行獨熱編碼,得到用戶稀疏矩陣和物品稀疏矩陣,標簽矩陣;
(4b)將訓練矩陣中每個評分對應的用戶和物品,組成用戶物品集;
(4c)在用戶稀疏矩陣和物品稀疏矩陣中,將用戶物品集對應的向量,組成稀疏訓練集,在標簽矩陣中,將每個評分對應的向量,組成訓練集標簽;
(4d)將稀疏訓練集、訓練集標簽輸入到神經協同過濾網絡中進行訓練,得到訓練好的神經協同過濾網絡;
(5)提取神經協同過濾網絡嵌入層的用戶和物品特征:
(5a)將用戶稀疏矩陣輸入訓練好的神經協同過濾網絡中,提取神經協同過濾網絡的嵌入層用戶特征,組成用戶嵌入矩陣;
(5b)將物品稀疏矩陣輸入訓練好的神經協同過濾網絡中,提取神經協同過濾網絡的嵌入層物品特征,組成物品嵌入矩陣;
(6)構建最近鄰居特征矩陣:
(6a)利用余弦相似度公式,計算所有用戶之間的相似度,組成用戶相似度矩陣;
(6b)將用戶相似度矩陣,按列從大到小排序,選取每個用戶的10個近鄰用戶,組成近鄰矩陣;
(6c)在近鄰矩陣中,計算每個用戶的10個近鄰用戶出現的次數;
(6d)選擇每個用戶的最近鄰居,即在每個用戶的10個近鄰用戶中出現次數最多的用戶;
(6e)將每個用戶的最近鄰居在優化用戶特征矩陣中所對應的向量,組成最近鄰居特征矩陣;
(7)生成評分訓練集與評分測試集:
(7a)將訓練矩陣中每個評分對應的用戶和物品,組成用戶物品訓練集,將評分測試矩陣中每個評分對應的用戶和物品,組成用戶物品測試集;
(7b)在用戶嵌入矩陣和物品嵌入矩陣中,將用戶物品訓練集對應的向量,組成嵌入訓練集;
(7c)在最近鄰居特征矩陣中,將用戶物品訓練集對應的向量,組成最近鄰居訓練集;
(7d)在用戶優化矩陣和物品優化矩陣中,將用戶物品訓練集對應的向量,組成矩陣優化訓練集;
(7e)在用戶嵌入矩陣和物品嵌入矩陣中,將用戶物品測試集對應的向量,組成嵌入測試集;
(7f)在最近鄰居特征矩陣中,將用戶物品測試集對應的向量,組成最近鄰居測試集;
(7g)在用戶優化矩陣和物品優化矩陣中,將用戶物品測試集對應的向量,組成矩陣優化測試集;
(7h)將矩陣優化訓練集、嵌入訓練集和最近鄰居訓練集,組成評分訓練集,將矩陣優化測試集、嵌入測試集和最近鄰居測試集,組成評分測試集;
(8)訓練全連接神經網絡:
(8a)構建一個四層的全連接神經網絡,并設置神經網絡中各層參數和超參數;
(8b)將評分訓練集和訓練集標簽輸入到全連接神經網絡中進行訓練,得到訓練好的全連接神經網絡;
(9)對評分測試集進行評分預測:
將評分測試集輸入訓練好的全連接神經網絡,輸出評分測試集的評分預測。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811598908.1/1.html,轉載請聲明來源鉆瓜專利網。





