基於矩陣分解的協同過濾演算法

想你时风起發表於2024-04-11

引言

隨著網際網路、大資料等新技術的迅速發展,人們的生活變得更加便捷,但同時也導致網路資料爆炸式增長。為了快速幫助使用者找到感興趣的內容,越來越多的研究者致力於推薦演算法的研究,以提高推薦質量,向使用者推薦更符合其喜好的內容。然而,目前的推薦演算法仍存在資料稀疏性、隱私保護和冷啟動等問題,文章針對其中一些問題進行改進。

摘要

首先,為了緩解冷啟動問題,文章引入引入潛藏的隱式資訊即使用者的社交資訊和專案關聯資訊,結合這些隱式資訊可以提高推薦演算法的準確度。

本文提出了一種基於雙正則化矩陣分解的推薦演算法-MDABDRT演算法(Matrix Decomposition Algorithm Based on Doubl-e Regular Terms),MDABDRT演算法在矩陣分解模型中新增使用者去噪聲的社交資訊正則項和融有使用者活躍度的商品關聯正則項,在矩陣分解過程中限制使用者和專案潛在特徵向量的學習。其中,透過使用者去噪聲的社交資訊正則項,可以限制使用者與其真正有相同興趣喜好的社交好友的潛在特徵向量相似,而融有使用者活躍度的商品關聯正則項,則可以限制商品與其有關聯的商品的潛在特徵向量相似,從而提高推薦質量。

由於基於雙正則化矩陣分解的推薦演算法忽略了使用者潛在特徵向量與專案潛在特徵向量之間的非線性關係,引入深度神經網路來學習使用者和專案潛在向量之間的非線性關係。

本文提出了基於深度神經網路的雙正則化矩陣分解推薦演算法- DRTMDABDNN 演算法(Double Regular Term Matrix Decomposition Algorithm Based on Deep Neural Network),利用神經網路發現使用者和專案之間更多非線性的隱藏偏好資訊,提高對專案預測評分的準確性,提高推薦演算法的精度。

最後,作者設計並實現一個個性化商城系統,將 MDABDRT 演算法和 DRTMDABDNN 演算法應用到商城系統的個性化推薦模組中,該系統能夠根據使用者的行為和偏好,推薦相關商品,從而實現更好的個性化推薦效果。

協同過濾推薦演算法

該方法是目前應用最廣泛、使用最多的推薦演算法之一,該演算法的主要思想是發現與當前使用者有著相同興趣愛好或者有過相似歷史行為的使用者,分析使用者與使用者之間的興趣愛好的相似性、專案與專案之間的關聯性以及使用者對專案的操作行為,預測使用者的興趣,並向使用者進行推薦相關內容。協同過濾推薦演算法通常又被分為基於使用者的協同過濾推薦演算法、基於專案的協同過濾推薦演算法、基於模型的協同過濾推薦演算法三種型別。

基於使用者的協同過濾推薦演算法主要是透過使用者對專案的歷史操作行為發現使用者的興趣,然後透過評估使用者與使用者之間的相似程度,找到與這個使用者有著相似興趣愛好的使用者,並向目標使用者推薦相似使用者們互動過的內容。

基於專案的協同過濾推薦演算法是根據使用者的歷史評分資訊發現使用者的偏好,發現專案和專案之間的相似度,然後根據使用者的興趣偏好,向目標使用者推薦類似的專案。

基於模型的協同過濾推薦演算法是藉助機器學習的方法來分析使用者對專案的歷史操作行為,透過學習使用者打過分的專案來預測使用者沒有過打過分的專案的評分,並在此過程中建立數學模型。該類演算法主要利用使用者互動的歷史評分資料,透過矩陣分解、奇異值分解、聚類分析等模型對歷史評分進行學習,從而預測使用者未互動的專案評分並進行推薦。

該型別的演算法不需要將所有使用者的資料讀入到記憶體中在進行計算,可以對訓練資料進行離線學習,從而獲得模型的引數,最終得到線下的預測模型。該型別演算法可以透過學習使用者對專案的偏好模型,更好地預測出使用者可能感興趣的專案,在一定程度上可以緩解資料稀疏性問題和冷啟動問題,也可以很好地解釋推薦的結果。

混合推薦演算法

混合推薦演算法是一種結合多種推薦演算法以提高推薦準確性和覆蓋率的方法[8]。它可以透過基於模型的方法或者基於加權的方法將不同演算法的結果結合起來,產生更好的推薦結果。混合推薦演算法可以解決推薦系統中的一些難題,如冷啟動問題、推薦結果多樣性問題等。

矩陣分解

在協同過濾推薦演算法中,矩陣分解是最常被使用的方法之一,該方法主要是利用機器學習和隱語義模型的特點挖掘潛在的使用者與專案之間的關係。矩陣分解是一種將使用者-專案評分矩陣分解成兩個低維潛在特徵矩陣的方法,這兩個低維潛在特徵矩陣分別是使用者潛在特徵矩陣和專案潛在特徵矩陣,使得兩個潛在特徵矩陣的相乘的結果近似等於使用者原始的打分矩陣,矩陣分解原理圖如下圖所示:
image

深度神經網路

深度神經網路是一種層次化的模型,它是由多個神經網路層組成的,每一層都由多個神經元組成,神經元用來處理輸入的資料並輸出產生的結果。深度神經網路主要由輸入層、多個隱藏層和輸出層組成。每層都將輸入的資料變為更高階的表示,並將其作為下一層的輸入資料。在模型訓練期間,深度神經網路學習如何調節每層之間的連線權重,以確保使得預測值與實際值之間的誤差儘可能的小,各層之間的權重調節需要利用反向傳播來完成,反向傳播主要是透過計算誤差梯度來更新各個權重值。深度神經網路擁有強大的表示能力,因此可以發現資料之間的非線性關係。深度神經網路主要分為三類:前饋深度網路、反饋深度網路和雙向深度網路。

基於矩陣分解的推薦演算法

概述

該演算法是當前推薦系統中廣泛應用的一種演算法。該演算法因其在 Netflix Prize 比賽中的卓越表現而受到大量研究人員的關注。與其他協同過濾演算法相比,矩陣分解演算法具有更紮實的理論基礎、更好的可擴充套件性、簡單、易於實現等優勢,已成為最受歡迎的一種演算法。

矩陣分解主要應用在推薦演算法的評分預測部分,該部分是推薦演算法的一個重要組成部分。矩陣分解方
法一般用於分解使用者-物品評分矩陣,從而得到兩個隱含特徵矩陣,並透過這些隱含的特徵來評估使用者喜歡某物品的可能性。

基於矩陣分解的推薦演算法分類如圖所示:
image

基於矩陣分解的協同過濾推薦演算法

該演算法透過將高維的使用者-專案評分矩陣進行矩陣分解,分解成兩個低維的矩陣即使用者潛在特徵矩陣和專案潛在特徵矩陣,將這兩個潛在特徵矩陣相乘來預測使用者未評分的專案的評分,並將這些評分按從高到低進行排序,向使用者推薦評分最高的前N個專案。常見的演算法有SVD演算法等。

基於機率模型的矩陣分解演算法

該演算法將使用者對專案的歷史打分矩陣看成是由多個機率模型組成的混合模型,並利用最大似然或者貝葉斯推斷方法來學習模型中的引數,從而進行推薦。常見的基於機率模型的矩陣分解演算法有機率矩陣分解(PMF),隱式反饋下的機率矩陣分解(iPMF)等。

基於張量分解的推薦演算法

該演算法將使用者對專案的歷史打分矩陣看成是由多個機率模型組成的混合模型,並利用最大似然或者貝葉斯推斷方法來學習模型中的引數,從而進行推薦。常見的基於機率模型的矩陣分解演算法有機率矩陣分解(PMF)、隱式反饋下的機率矩陣分解(iPMF)等。

基於非負矩陣分解的推薦演算法

該演算法將使用者對專案的歷史打分矩陣看成是由多個機率模型組成的混合模型,並利用最大似然或者貝葉斯推斷方法來學習模型中的引數,從而進行推薦。常見的基於機率模型的矩陣分解演算法有機率矩陣分解(PMF)、隱式反饋下的機率矩陣分解(iPMF)等。

基於深度學習的矩陣分解演算法

該演算法將使用者對專案的歷史打分矩陣看成是由多個機率模型組成的混合模型,並利用最大似然或者貝葉斯推斷方法來學習模型中的引數,從而進行推薦。常見的基於機率模型的矩陣分解演算法有機率矩陣分解(PMF)、隱式反饋下的機率矩陣分解(iPMF)等。

基於社交資訊的推薦演算法

該演算法將使用者對專案的歷史打分矩陣看成是由多個機率模型組成的混合模型,並利用最大似然或者貝葉斯推斷方法來學習模型中的引數,從而進行推薦。常見的基於機率模型的矩陣分解演算法有機率矩陣分解(PMF)、隱式反饋下的機率矩陣分解(iPMF)等。

系統設計

作者給出的設計圖如下:
image

各功能模組圖如下:
image

基於雙正則化矩陣分解的推薦演算法

在推薦演算法中,常見的計算相似度的方法主要有:餘弦相似度方法、歐幾里得距離法以及皮爾遜相關係數方法等。文章提出的MDABDRT演算法用皮爾遜係數來衡量商品之間的相似性。

為了推薦系統能夠對使用者間的相似性進行計算,除了考慮使用者興趣資訊外,還可以利用額外的資訊,如使用者的社交資訊等。使用者的社交資訊也會隱藏著使用者的喜好,有相同興趣愛好的兩個使用者會成為好友,並且他們之間會相互影響對方的喜好。

演算法的虛擬碼如下
image

寫在結尾

好了,今天的論文分享就寫在這了,明天見。

相關文章