首頁  >  文章  >  科技週邊  >  學好線性代數,玩推薦系統

學好線性代數,玩推薦系統

PHPz
PHPz轉載
2024-03-19 14:52:34998瀏覽

作者| 汪昊

已審校| 重樓

學好線性代數,玩推薦系統

#說到21 世紀互聯網的技術,除了

Python / Rust / Go

等一系列新型程式語言的誕生,資訊檢索技術的蓬勃發展也是一大亮點。網路上第一個純科技商業模式就是以Google和百度代表的搜尋引擎技術。然而讓大家臆想不到的是,推薦系統誕生的年代也很久遠。早在1992 年,人類歷史上第一個推薦系統就以論文的形式發表出來了,而在這個時候,谷歌和百度還沒有誕生。 不像搜尋引擎那樣被人們認為是剛需,很快就誕生了許多獨角獸。以推薦系統為核心技術的科技公司要等到2010 年代今日頭條和抖音崛起後才會出現。毫無疑問,今日頭條和抖音成為了推薦系統最成功的代表性公司。如果說第一代資訊檢索技術搜尋引擎是美國人先發制人,那麼第二代資訊檢索技術推薦系統就被牢牢的控制在中國人手中。而我們現在遇到了第三代資訊檢索技術—— 基於大語言模型的資訊檢索。目前來看先發者是歐美國家,但目前中美正齊頭並進。 近年來,推薦系統領域的權威會議RecSys 頻頻將最佳論文獎頒給序列推薦Sequential Recommendation。這說明該領域目前越來越重視垂直應用。而有一個推薦系統的垂直應用是如此重要,但至今都沒有掀起滔天巨浪,這個領域就是基於場景的推薦(

Context-aware Recommendation),簡稱CARS。我們偶爾會見到有些CARS Workshop

###,但是這些######Workshop ######的論文每年不超過######10 ######篇,門可羅雀。 ############CARS ######可以用來幹嘛?首先######CARS ######已經被漢堡王等速食公司使用。它還可以在使用者駕駛汽車的時候,根據場景向使用者推薦音樂。另外,我們可以暢想一下,我們有沒有可能根據天氣狀況給用戶推薦出遊計畫?抑或是根據使用者的身體狀況推薦給使用者餐飲?其實,只要我們充分的發揮自己的想像力,總是能給######CARS #######找出不同的落地應用。 ######

然而問題來了,既然CARS 的用途這麼廣泛,為什麼這麼少的人發表論文?原因很簡單,因為CARS 幾乎沒有公開的資料集可以使用。目前最好用的 CARS 的公開資料集是來自斯洛維尼亞的LDOS-CoMoDa 資料集。除此之外,我們很難找到別的資料集合。 LDOS-CoMoDa 利用研究的形式提供了使用者觀影時的場景數據,使得廣大研究人員從事CARS 研究成為了可能。資料公開的時間點在2012 年到#2013 #年左右,但是目前知道這個資料集合的人很少。

言歸正傳,本文主要介紹MatMat / MovieMat 演算法和PowerMat 演算法。這些演算法都是用來解決 CARS 問題的利器。我們先來看看MatMat 是如何定義CARS 問題的:我們先重新定義使用者評分矩陣,我們把使用者評分矩陣的每一個評分值替換成方陣。方陣的對角線元素是原始的評分值,非對角線元素都是場景資訊。

學好線性代數,玩推薦系統

我們下面定義MatMat 演算法的損失函數,該函數修改了經典的矩陣分解損失函數,形式如下:

學好線性代數,玩推薦系統

其中U #V 都是矩陣。我們透過這種方式,改變了原始的矩陣分解中的向量點乘。將向量點乘變成了矩陣乘法。我們舉下面一個例子來看:

學好線性代數,玩推薦系統

我們在MovieLens Small Dataset #上做一下效能比較實驗,得到以下結果:

學好線性代數,玩推薦系統

可以看到,MatMat 演算法的效果優於經典的矩陣分解演算法。我們再來檢查一下推薦系統的公平性:

學好線性代數,玩推薦系統

可以看到,MatMat 在公平性指標上表現依然不遑多讓。 MatMat 的解題過程較為複雜,即使是發明演算法的作者本人,也沒有在論文中寫出推導過程。但是俗話說的好,學好線性代數#,走遍天下都不怕。相信聰明的讀者自己一定能推導出相關的公式,並實作這個演算法。 MatMat 演算法論文的原文網址可以在下面的連結找到:https://www.php.cn/link/9b8c60725a0193e78368bf8b84c37fb2 。這篇論文是國際學術會議IEEE ICISCAE 2021 最佳論文報告獎。

MatMat 演算法被應用在了基於場景的電影推薦領域,該演算法的電影實例被命名為MovieMat#。 MovieMat 的評分矩陣是按照如下方法定義的:

學好線性代數,玩推薦系統

作者接著做了一個比較實驗:

學好線性代數,玩推薦系統

LDOS-CoMoDa 資料集合上,MovieMat 取得了效能遠高於經典矩陣分解的效果。下面我們來觀察一下公平性的評估結果:

學好線性代數,玩推薦系統

#在公平性方面,經典矩陣分解取得了優於MovieMat 的結果。 MovieMat 的原始論文可以在下面的連結找到:https://www.php.cn/link/f4ec6380c50a68a7c35d109bec48aebf

我們有的時候會遇到這樣的問題。我們新到了一個地點,光有場景數據,而沒有用戶評分數據該怎麼辦?不要緊,Ratidar Technologies LLC (北京達評奇智網路科技有限責任公司) 發明了基於零樣本學習的CARS 演算法—— PowerMatPowerMat 的原始論文可以在下面的連結中找到:https://www.php.cn/link/1514f187930072575629709336826443

PowerMat 的發明人借用了MAP DotMat,定義瞭如下的MAP 函數:

學好線性代數,玩推薦系統

其中U 是使用者特徵向量、V 是物品特徵向量、R 是使用者評分值,而C 是場景變數。具體的,我們得到如下公式:

學好線性代數,玩推薦系統

利用隨機梯度下降對該問題進行求解,我們得到下述公式:

學好線性代數,玩推薦系統

#透過觀察,我們發現在這組公式裡沒有出現任何輸入資料相關的變量,因此PowerMat 是僅與場景相關的零樣本學習演算法。演算法可以應用在以下場景:遊客打算去某個地方旅遊,但從來沒有去過當地,因此只有天氣等場景數據,我們可以利用PowerMat 給遊客推薦打卡景點等等。

下面是PowerMat 和其他演算法的比較資料:

學好線性代數,玩推薦系統

透過這張圖,我們發現PowerMat MovieMat 旗鼓相當,分伯仲,而且效果都要優於經典的矩陣分解演算法。而下面這張圖顯示,即使是在公平性指標

方面,學好線性代數,玩推薦系統

PowerMat

依舊表現強勁: 透過對比實驗,我們發現PowerMat

是優秀的##CARS 演算法. 網路的資料工程師常說資料高於一切。並且在2010 年代左右互聯網有一股強勁的看好數據看衰演算法的風氣。 CARS 就是一個很好的例子。因為絕大多數人得不到相關數據,因此這個領域的發展一直受到了很大的限制。感謝斯洛維尼亞的研究人員公開了 LDOS-CoMoDa 資料集合,使得我們有機會發展這個領域。我們也希望有越來越多的人關注CARS,落地CARS

,為######CARS ## ####融資…######

作者簡介

汪昊,前Funplus 人工智慧實驗室負責人。曾在ThoughtWorks、豆瓣、百度、新浪等公司擔任科技與科技主管。在網路公司和金融科技、遊戲等公司任職13 年,對於人工智慧、電腦圖形學和區塊鏈等領域有著深刻的見解和豐富的經驗。在國際學術會議和期刊發表論文42 篇,獲得IEEE SMI 2008 最佳論文獎、 ICBDT 2020 / IEEE ICISCAE 2021 / AIBT 2023 / ICSIM 2024 最佳論文報告獎。

以上是學好線性代數,玩推薦系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除