推薦系統(Recommender Systems)筆記_4種推薦系統原理_矩陣分解深入理解





日常生活中常見到的像是新聞推薦、音樂推薦、電商產品推薦、電影推薦等等都是成熟的應用場景。

課堂上介紹到就稍微筆記一下

推薦系統原理基本上細分如下4種
  • 根據內容的推薦系統->建構方式較耗時(X)
  • 根據產品偕同過濾之推薦系統
  • 根據矩陣分解的推薦系統
  • 根據使用者偕同過濾之推薦系統


根據內容的推薦系統

以下有一個電影評分表分別由五位使用者根據四部電影做的評比

「評分紀錄表r」
如上表所示有些電影用戶尚未評分

電影推薦主要任務就是要預測使用者對於沒有評分電影的評分是多少
之後再根據該用戶的評分從高到低作排列
再將得分最高的幾部推薦給該特定用戶


另外還有所謂
「電影內容矩陣X」

我們會用上述兩個矩陣來求解出最終結果矩陣(用戶喜好矩陣θ)
公式如下:

通常評分紀錄表若該格子中用戶沒評分就會先填入0計算。
theta (j) 這個代表j用戶的喜好,是時尚算是一個向量,當中每個元素反映對不同類型影片喜好程度。
x的i次方:這個也是一個向量,裡面美元素代表隊於該部影片於不同種類占比。

最後面加上的正規化項是用來避免我們求出來的J (theta) 考試成績考太好,老師懷疑有作弊XDD,也就是過度擬合情況,可能會失真,藉由調整λ,目標就是讓代償(損失)函數最小化。


根據每部電影的內容以及用戶已經評分過的電影來推斷每一個用戶對每部電影的喜好程度,從而預測每個用戶對沒看過的電影評分!


困難點:
不過比較困難的點在於如何建構內容矩陣?
你要怎麼去評判一部片中它的愛情成分、打鬥成分、恐怖成分占比呢?
通常要藉由人為觀察,要去計算打鬥場景跟搞笑場景在整部片中佔據多長時間,想當然這過程十分耗時啦,此外電影、影集影片數目這麼多,這樣不太現實。


根據產品偕同過濾之推薦系統

用偕同過濾機制則是將評分表和用戶喜好矩陣做相乘運算

偕同過濾代價函數最終成形公式如下:
過程大致上會先有兩個矩陣


「評分紀錄表r」

「用戶喜好矩陣θ

根據每個用戶對於每種電影類型的喜好程度以及用戶已經評分過的電影來推斷每部電影的內容,從而預測每個用戶對沒看過的電影評分。

電影內容矩陣 代價函數,公式如下:
可看到其實大致上是跟基於內容的機制是差不多的
差別只在於跟前一個公式相比是用每個電影來計算
困難點:

「用戶喜好矩陣θ」通常會藉由在線用戶問卷調查,但並非所有人都會去填寫,此外就算填了可能也會失真,因為亂填。

這邊公式的轉型主要是在於第一項前面係數是相同的因此可往前提
因此可合併公式來同時求解X跟θ
一開始隨機初始化「電影內容矩陣X」 跟 「用戶喜好矩陣θ
目標就是透過梯度下降之類的做法來最小化這一連串運算結果
最終就能同時求解出對於「電影評分表」擬合效果較好的X跟θ







留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題