• 沒有找到結果。

推薦系統資料插補改良法-電影推薦系統應用 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "推薦系統資料插補改良法-電影推薦系統應用 - 政大學術集成"

Copied!
45
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學商學院統計學系 碩士論文 Department of Statistics of Commerce National Chengchi University Master Thesis. 推薦系統資料插補改良法-電影推薦系統應用 治. 政. 大. Improving recommendations through data imputation 立. ‧ 國. 學. -with application for movie recommendation. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 指導教授:翁久幸 博士 研究生:楊智博 撰. 中華民國一○四年六月.

(2) 摘要 現今許多網路商店或電子商務將產品銷售給消費者的過程中,皆使用推薦系 統的幫助來提高銷售量。如亞馬遜公司(Amazon)、Netflix,深入了解顧客的使 用習慣,建構專屬的推薦系統並進行個性化的推薦商品給每一位顧客。 推薦系統應用的技術分為協同過濾和內容過濾兩大類,本研究旨在探討協同 過濾推薦系統中潛在因子模型方法,利用矩陣分解法找出評分矩陣。在 Koren 等人(2009)中,將矩陣分解法的演算法大致分為兩種,隨機梯度下降法 (Stochastic gradient descent)與交替最小平方法(Alternating least. 政 治 大 降法的預測能力,二為兩種矩陣分解演算法在加入偏誤項後的表現,三為先完成 立. squares)。本研究主要研究目的有三項,一為比較交替最小平方法與隨機梯度下. ‧ 國. 學. 交替最小平方法與隨機梯度下降法,以其預測值對原始資料之遺失值進行資料插 補,再利用奇異值分解法對完整資料做矩陣分解,觀察其前後方法的差異。. ‧. 研究結果顯示,隨機梯度下降法所需的運算時間比交替最小平方法所需的運. sit. y. Nat. 算時間少。另外,完成兩種矩陣分解演算法後,將預測值插補遺失值,進行奇異. n. al. er. io. 值分解的結果也顯示預測能力有提升。. Ch. engchi. I. i Un. v.

(3) Abstract Recommender system has been largely used by Internet companies such Amazon and Netflix to make recommendations for Internet users. Techniques for recommender systems can be divided into content filtering approach and collaborative filtering approach. Matrix factorization is a popular method for collaborative filtering approach. It minimizes the object function through stochastic gradient descent and alternating least squares. This thesis has three goals. First, we compare the alternating least squares method and. 政 治 大 factorization method with and without the bias term. Thirdly, 立. stochastic gradient descent method. Secondly, we compare the performance of matrix. ‧ 國. 學. value decomposition and matrix factorization.. we combine singular. As expected, we found the stochastic gradient descent takes less time than the. ‧. alternating least squares method, and the the matrix factorization method with bias. Nat. sit. y. term gives more accurate prediction. We also found that combining singular value. n. al. er. io. decomposition with matrix factorization can improve the predictive accuracy.. Ch. engchi. i Un. v. Key Words:Recommender systems、Matrix Factorization、Stochastic Gradient Descent、Alternating Least Squares、Singular Value Decomposition. II.

(4) 目錄 第一章 緒論......................................................... 1 1.1 研究背景 .................................................... 1 1.2 推薦系統介紹 ................................................ 2 1.2.1 內容導向過濾(Content-Based Filtering)................. 2 1.2.3 協同過濾(Collaborative Filtering)..................... 3 1.2.4 混合過濾(Hybrid Filtering)............................ 4 1.3 本論文研究目的.............................................. 4 第二章 文獻回顧..................................................... 5 2.1 鄰域法...................................................... 5 2.1.1 鄰域法-基於使用者(User-Based)......................... 5 2.1.2 鄰域法-基於項目(Item-Based)........................... 7 2.2 潛在因子模型................................................ 9. 政 治 大 第三章 研究方法.................................................... 11 立 3.1 矩陣分解法................................................. 11 ‧. ‧ 國. 學. 3.1.1 奇異值分解法......................................... 11 3.1.2 潛在因子模型........................................ 13 3.2 隨機梯度下降法............................................. 17 3.2.1 基礎概念............................................. 17 3.2.2 實例說明............................................. 18 3.3 預測指標與收斂條件......................................... 22. sit. y. Nat. n. al. er. io. 第四章 實證研究.................................................... 24 4.1 無偏誤項的模型比較......................................... 24 4.2 有偏誤項的模型比較......................................... 26 4.3 不同資料量的分析........................................... 28 4.4 二階段矩陣分解:插補矩陣與奇異值分解....................... 30 4.4.1 基本想法與改進方法步驟............................... 30 4.4.2 結果................................................. 33 第五章 結論與建議.................................................. 35 參考文獻及相關目錄................................................. 37. Ch. engchi. III. i Un. v.

(5) 表目錄 交叉驗證 150 組 RMSE─無偏誤項的隨機梯度下降法 ...... 25 無偏誤項的模型預測能力比較......................... 26 交叉驗證 RMSE─有偏誤項的隨機梯度下降法 ............ 27 未加入偏誤項的模型預測能力比較..................... 28 RMSE 與運算時間 .................................... 33. 立. 政 治 大. 學 ‧. ‧ 國 io. sit. y. Nat. n. al. er. 表 4.1 表 4.2 表 4.2 表 4.3 表 4.4. Ch. engchi. IV. i Un. v.

(6) 圖目錄 未加入偏誤項下 100K 與 1M 的 RMSE 比較................ 29 加入偏誤項下 100K 與 1M 的 RMSE 比較.................. 29 奇異值對奇異值個數─未加入偏誤項的隨機梯度下降法... 32 奇異值對奇異值個數─加入偏誤項的隨機梯度下降法..... 32 奇異值對奇異值個數─未加入偏誤項的交替最小平方法... 32 奇異值對奇異值個數─加入偏誤項的交替最小平方法..... 32. 立. 政 治 大. 學 ‧. ‧ 國 io. sit. y. Nat. n. al. er. 圖 4.1 圖 4.2 圖 4.3 圖 4.4 圖 4.5 圖 4.6. Ch. engchi. V. i Un. v.

(7) 第一章 緒論 1.1 研究背景 甚麼是推薦系統?如果想買電子產品,你可能會去附近的全國電子,或者去 光華商場,比較不同品牌的差異與價格,然後找到喜歡的產品後付款。又或者, 你可以在搜尋引擎上搜尋想買的電子產品,搜尋網友們的使用心得與購買價格, 然後再到購物網站,找到適合的價格與品牌,付款後等待送貨上門。 上述的例子中,使用者根據自己需求找到適合自己的產品,但是,假如使用. 治 政 大 者本身不知自己的需求呢?突然想看部電影,但是發現有無數部的電影,不知道 立. 該看哪一部。此時,你需要工具幫你篩選,給予你意見,而工具能幫你分析過去. ‧ 國. 學. 的歷史訊息,從眾多部電影中挖掘出符合你興趣的電影,並提供建議讓你選擇出. ‧. 最想要看的電影,而這種工具則稱之為「推薦系統」。. sit. y. Nat. 推薦系統是一種幫助使用者快速發現有用訊息的工具。它不需要使用者提供. io. er. 明確需求,而是透過使用者過去的歷史行為建立模型,預測使用者可能喜歡的事 物,並主動推薦給使用者以滿足他們的需求與喜好,簡而言之,推薦系統能夠幫. al. n. iv n C 助沒有明確目的的使用者挖掘出他們感興趣的新事物。 hengchi U. 舉例來說,美國著名 Amazon 公司,當你瀏覽產品時,他們會推薦你買了此 產品的人也買了的產品給你;美國擁有自動推薦系統的 Pandora 電台,只要使用 者輸入自己喜歡的歌手與或歌曲,電台便會撥放類似曲風的歌曲;美國線上影片 出租公司 Netflix,根據使用者對過去所看過的電影評分紀錄,以及個人特級與 電影特質,推薦使用者可能愛好的電影,且 Netflix 也在 2006 年舉辦推薦系統 改良比賽,藉此提升推薦系統的準確度。由此可見,推薦系統已成為企業行銷增 加收入的重要工具之一。. 1.

(8) Koren 等人(2009)中,列舉許多關於在推薦系統中的矩陣分解技術,也提出 過去早期推薦系統所使用的矩陣分解方法:奇異值分解法,存在著某些問題。 例如評分矩陣通常是非常稀疏且遺失值非常多,而不準確的填補遺失值會造成資 料的扭曲與失真,因此本研究將有一部分針對此問題進行探討與修正。. 1.2 推薦系統介紹 推薦系統透過使用者的行為既錄取的使用者的興趣偏好,利用得到的喜好更 進一步挖掘潛在喜好,由於產生推薦方式不同,推薦系統可大致分為三大類,首. 政 治 大 推薦系統關係樹狀圖. 先以樹狀圖表示其類別與關係,再分別介紹各類方法。. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 1.2.1 內容導向過濾(Content-Based Filtering) 此方法是根據使用者與產品的「特徵」吻合來進行推薦,此處的特徵指的是 屬性。對產品來說,為由人為事先給定產品的特徵,例如價格或種類;對使用者 來說,特徵是使用者的個人資料與過去的購買行為紀錄,接著內容導向過濾利用 使用者和產品的特徵計算出他們之間的相似度,並把相似度最高的產品推薦給使 用者。 2.

(9) 然而,此種方法有兩種缺點: 1. 內容導向過濾方法需要事先將產品進行分類且歸納其特徵,但在現實中,每 個人的歸納方法不同,每個人對產品認知的特徵也不完全相同,因此在實際 問題中是非常困難。 2. 內容導向過濾方法所推薦給使用者的產品經常與使用者過去購買過的產品相 似,此方法無法發現使用者過去沒有購買過但可能有興趣的潛在產品。. 1.2.3 協同過濾(Collaborative Filtering) Breese 等人(1998)將協同過濾方法分為兩大類,第一類為基於內存算法. 政 治 大. (Memory-Based),利用使用者或產品的特性找出鄰域訊息,如 KNN 模型;第二類. 立. 則為模型算法(Model-Based),首先將已知評分項目去訓練預測模型,然後利用. ‧ 國. 學. 預測模型取得預測評分進而產生最好的推薦項目給使用者,如因子模型,兩者最. ‧. 主要差別在於是否有使用模型以預測結果。. 協同過濾方法的優點在於不需要像內容導向過濾方法需要事先賦予項目不. y. Nat. io. sit. 同的特徵,只需要使用者對項目的評分資料即可運作。雖然協同過濾方法現已被. n. al. er. 廣泛使用,但因為使用者通常只會對自己偏好或以使用過的產品項目評分,例如:. Ch. i Un. v. 看過的電影,購買使用後的電子產品等,而 Konstan 等人(1997)則指出協同過濾 方有兩個主要問題:. engchi. 1. 評分稀疏性問題(Rating Sparsity Problem):通常使用者只會對某些項目評 分,不會對系統內的所有項目進行評分。倘若系統內項目過多,容易造成評 分資料過於稀疏(Sparse)。 2. 冷卻起始問題(Cold Start Problem):當有新使用者加入系統時,尚未對任 何項目給予分數,也無其他相關資訊,造成系統無法給予推薦的項目,需要 等新使用者有一定的評分次數後,才能夠對使用者給予推薦。. 3.

(10) 1.2.4 混合過濾(Hybrid Filtering) 基於上述的問題,混合過濾方法結合了內容導向與協同過濾兩種方法來運作, 利用使用者的評分資料並加入使用者的資訊以及項目的屬性,解決協同過濾系統 可能面臨地的評分稀疏性問題與冷卻起始問題。. 1.3 本論文研究目的 本研究主要在討論矩陣分解法中的潛在因子模型及奇異值分解法。在推薦系 統領域中,最常使用的矩陣分解演算法為交替最小平方法與隨機梯度下降法,其. 政 治 大. 中張良卉(2013),裡面所使用的演算法是交替最小平方法(Alternating Least. 立. Squares, ALS),將潛在因子模型分解並求出預測評分矩陣,而本研究使用的演. ‧ 國. 學. 算法是使用隨機梯度下降法(Stochastic Gradient Descent, SGD),以找出評分. ‧. 預測矩陣。. 本研究的主要目的有三項,其一是在無偏誤項時,比較交替最小平方法與隨. y. Nat. er. io. sit. 機梯度下降法的預測能力,其二是在有偏誤項時,比較交替最小平方法與隨機梯 度下降法的預測能力,其三是研究二階段矩陣分解:首先完成交替最小平方法與. n. al. Ch. i Un. v. 隨機梯度下降法,以其預測值對原始資料之遺失值進行資料插補,接著利用奇異. engchi. 值分解法對完整資料做矩陣分解,探討其表現與原先方法的差異。. 本論文共分為五章:第一章為緒論,說明研究背景以及研究目的;第二章為 文獻回顧;第三章為研究方法;第四章為實證研究,介紹研究資料來源,實證結 果及預測結果比較;第五章為結論與建議。. 4.

(11) 第二章 文獻回顧 本章節介紹相關研究文獻。第一節介紹鄰域法中的基於使用者方法與基於項 目的方法,第二節介紹潛在因子模型。. 2.1 鄰域法 在 Ekstrand 等人(2011)所著作一書「Collaborative Filtering Recommender Systems」中介紹協同過濾方法中常使用的鄰域法,首先透過使用 者對產品的評分紀錄計算出其相互作用,即相關係數,再利用相關係數對使用者. 治 政 大 產生個性化推薦,方法主要分為兩類,基於使用者(User-Based)與基於產品 立 (Item-Based),以下將分別介紹基礎的概念與想法。. ‧ 國. 學. 2.1.1 鄰域法-基於使用者(User-Based). ‧. 基於使用者的協同過濾方法是假設兩個用戶過去對某個產品有相似的喜愛,. y. Nat. io. sit. 即類似的評分紀錄,則他們對某個潛在的新產品仍會有相同的喜好。. n. al. er. Resnick 等人(1994)提出使用相關係數法來衡量使用者之間的相似程度,以. Ch. i Un. v. 使用者對項目的評分作為依據去尋找喜好相似的使用者評分過的項目來推薦。例. engchi. 如當你想看一部動作系列的電影時,你可能會問和你一樣喜歡看動作片的好朋友, 請他推薦最近有沒有好看的電影,然後再去電影院觀賞。同樣地,在推薦系統中, 當使用者 A 需要有客製化的推薦,可以先找到和他(她)有相似興趣的其他使用者, 並將這些使用者們喜愛的電影,或者評分較高的電影且使用者 A 過去沒有欣賞過 的電影分析出來,最後推薦給使用者 A,而此方法稱為基於使用者的協同過濾算 法。. 5.

(12) 其中,這種方法可歸納於兩個步驟: 第一步:尋找與目標使用者興趣相似的使用者集合 第二步:找出集合中使用者們喜好的項目且目標使用者過去沒有留下行 為紀錄的項目,並將項目推薦給使用者。 由此可知,基於使用者方法的關鍵在於計算兩用戶間喜好的相似程度,即相 關係數,而其運作過程與基礎概念如下: 1. 針對一個項目 i,預想預測使用者 u 對項目 i 的評分分數,首先找出有評分 該項目 i 評分紀錄的其他使用者們,然後計算使用者 u 與其他使用者們間之 的相關係數,觀察使用者們彼此之間的相似程度。 其相關係數公式如下:. 立. 政 治 大. 𝜌𝑢,𝑣 =. 學. ‧ 國. Pearson correlation. ∑𝑖∈𝐼(𝑟𝑢,𝑖 −𝑟 𝑘𝑘𝑘) 𝑢 (𝑟𝑣,𝑖 −𝑟𝑙𝑣 ) 2. (2.1). ‧. √∑𝑖∈𝐼(𝑟𝑢,𝑖 −𝑟 𝑘𝑘𝑘) 𝑢 ∑𝑖∈𝐼(𝑟𝑣,𝑖 −𝑟𝑙𝑣 ). 2. y. Nat. er. io. sit. 𝜌𝑢,𝑣 :使用者 u 和使用者 v 的相關係數. I:『使用者 u』與『對項目 i 有評分紀錄的使用者』中,. n. al. i n C有共同評分項目的交集 U hengchi. v. 𝑟𝑢,𝑖 :使用者 u 對項目 i 的評分分數 𝑟𝑣,𝑖 :使用者 v 對項目 i 的評分分數 𝑟𝑙𝑢 :使用者 u 已評分過項目的分數平均值 𝑟𝑙𝑣 :使用者 v 已評分過項目的分數平均值. 2. 找出『與使用者 u 興趣最相似的使用者集合』 ,以及『已經對項目 i 評分過的 使用者集合』 ,再將這兩集合產生交集,記為 𝑁𝑈。接下來利用以下公式(2.2) 找出使用者 u 對項目 i 的預測評分分數。. 6.

(13) 𝑟̂ 𝑢,𝑖 = 𝑟𝑙 𝑢+. ∑𝑣∈𝑁𝑈 𝜌𝑢,𝑣 (𝑟𝑣,𝑖 −𝑟𝑙𝑣 ). (2.2). ∑𝑣∈𝑁𝑈|𝜌𝑢,𝑣 |. 其中 𝑟̂ 𝑢,𝑖 為使用者 u 對項目 i 的預測評分分數。此條方程式是以使用者 u 本身的平均評分為基準,再加上用者 u 與其他使用者的相似度作為加權指標。 如同上述式子,此方法會先選取出一群與使用者興趣相似的鄰近夥伴 (Nearest Neighbors),每位鄰近夥伴和使用者之間存在一個興趣相似的指數, 指數越高,興趣也越相似,且每位鄰近夥伴與資料庫中每種項目之間具有對該項 目喜愛程度的評估分數,利用這兩種關係加入權重的概念來預測使用者可能比較 感興趣的項目。. 政 治 大 2.1.2 鄰域法-基於項目(Item-Based) 立. ‧ 國. 學. 基於使用者的協同過濾方法在某些領域中已被應用,但 Sarwar 等人(2001). ‧. 於文中說明這種方法在實際問題中存在兩個問題:. 1. 評分稀疏性問題(Rating Sparsity Problem):1.2.3 節中介紹協同過濾. y. Nat. io. sit. 方法所面臨的其一問題。因為使用者通常只會對一部分項目進行評分,造成. n. al. er. 評分資料過於零散、稀疏,且整份資料會有許多遺漏值。倘若兩位使用者之. Ch. i Un. v. 間的有評分紀錄的共同項目只有一個交集,則會無法估計兩使用者間的相關. engchi. 性,甚至假如使用者 u 與其他使用者的共同評分項目完全沒有交集的話,也 無法透過(2.1)式計算相關係數,亦無法利用(2.2)式預測使用者的評分分 數。 2. 由於此方法牽涉到兩位使用者之間的相關係數,而相關係數算法是共變異數 除以兩者標準差的乘積,因此當有一位使用者對每種項目評分的分數都一樣 的話,則會造成該位使用者評分的變異數為零,使得相關係數公式的分母變 成零,導致相關係數無法求得,也無法計算出(2.2)式。. 7.

(14) 為了減少上述問題發生情形,Linden 等人(2003)有介紹基於項目的協同過 濾方法來解決上述兩問題。基於產品(Item-Based)的鄰域法是指若某個使用者對 過去某些產品評分紀錄很高,則他(她)現在則仍喜歡類似的產品。此方法並非利 用項目的內容與屬性計算項目之間的相似度,主要透過使用者的評分紀錄計算項 目之間的相似度,例如對項目 A 有高評價的使用者幾乎也都喜歡項目 B,所以項 目 A 與 B 有很大的相似度。 因此,基於項目的協同過濾方法的概念與算法可歸納於以下兩步驟: 1. 計算項目之間的相似度 Pearson correlation. 立 √∑. 2. 𝑙𝑖 ) 𝑢∈𝑈(𝑟𝑢,𝑖 −𝑟. ∑𝑢∈𝑈(𝑟𝑢,𝑗 −𝑟𝑙𝑗 ). 2. (2.3). 學 𝜌𝑖,𝑗 :項目 i 和項目 j 的相關係數. ‧. ‧ 國. 𝜌𝑖,𝑗 =. 政 治 大. ∑𝑢∈𝑈(𝑟𝑢,𝑖 −𝑟𝑙𝑖 )(𝑟𝑢,𝑗 −𝑟𝑙𝑗 ). y. Nat. U:對項目 i 和項目 j 都有評分紀錄的使用者集合. er. io. sit. 𝑟𝑢,𝑖 :使用者 u 對項目 i 的評分分數. 𝑟𝑢,𝑗 :使用者 u 對項目 j 的評分分數. n. al. ni C 𝑟𝑙:項目 i 的評分平均 𝑖 h U engchi. v. 𝑟𝑙:項目 j 的評分平均 𝑗. 2. 找出『和項目 i 最相似的項目集合』與『使用者 u 評分過的項目集合』 ,並將 兩集合的交集記為 𝑁𝐼 。接下來利用以下公式(2.4)找出使用者 u 對項目 i 的 預測評分分數。. 𝑟̂ 𝑙𝑖 + 𝑢,𝑖 = 𝑟. ∑𝑗∈𝑁𝐼 𝜌𝑖,𝑗 (𝑟𝑢,𝑗 −𝑟𝑙𝑖 ) ∑𝑗∈𝑁𝐼|𝜌𝑖,𝑗 |. (2.4). 其中 𝑟̂ 𝑢,𝑖 為使用者 u 對項目 i 的預測評分分數。Badrul Sarwar 等人(2001) 在“Item-based Collaborative Filtering Recommendation Algorithms”論文. 8.

(15) 中提出關於項目之間相似度的三種詳細算法,有興趣的讀者可自行閱讀。. 2.2 潛在因子模型 潛在因子模型(Latent Factor Model)近幾年已成為推薦系統領域的主要名 詞,它的核心想法是透過隱藏的特徵將使用者的興趣與項目建立關係,利用使用 者對項目的評分關係中尋找何種潛在因子會影響評分結果。 Koren 等人(2009)於文中介紹矩陣分解法(Matrix Factorization)建立潛在 因子模型並預測使用者對項目的評分結果。潛在因子模型假設每位使用者的特徵. 政 治 大 說,就是將使用者與項目都對應於一個 k 維的潛在因子空間,若使用者 u 個人潛 立 都能藉由若干個因子來描述,而項目的特徵也使用同數量的因子來表示,具體來. ‧ 國. 學. 在特徵以向量𝑝𝑢 表示,項目 i 的潛在特徵以𝑞𝑖 表示,則𝑝𝑢 與𝑞𝑖 皆為 k 維度的向量, 因此兩者的內積代表使用者 u 對項目 i 的喜愛程度,也就是評分分數。. ‧. 潛在因子模型的公式表示如下:. sit. y. Nat. 𝐹 𝑇 𝑟𝑢,𝑖 or 𝑟̂ 𝑢,𝑖 = 𝑝𝑢 𝑞𝑖 = ∑𝑘=1 𝑝𝑢,𝑘 𝑞𝑖,𝑘. (2.5). n. al. er. io. 其中𝑝𝑢 ∈ ℝ1×𝑘,𝑞𝑖 ∈ ℝ1×𝑘,𝑝𝑢,𝑘 代表使用者 u 的興趣和第 k 個因子的關係,. Ch. i Un. v. 為一實數,而𝑞𝑖,𝑘 代表項目 i 和第 k 個因子的關係,也為一實數,所得出的𝑟𝑢,𝑖 則 為使用者 u 對項目 i 的喜好程度。. engchi. 以下利用簡單例子說明: 1 使用者阿泰的潛在特徵向量𝑝𝑢 為[−1] 3 2 項目“阿凡達”的潛在特徵向量𝑞𝑖 為[3] 2 因此 𝑝𝑢𝑇 𝑞𝑖 = ∑3𝑓=1 𝑝𝑢,𝑘 𝑞𝑖,𝑘 = 5,代表“阿泰”這位使用者對項目“阿凡達”這部 電影的評分為 5 分。. 9.

(16) 顯而易見,當使用者的特徵和項目特徵吻合時,也就是𝑝𝑢 與𝑞𝑖 的內積所得到 的值愈大時,我們推測該用戶會對此項目給予很高的評價。然而,會影響使用者 評分的因素不只這些,可能還包括使用者本身的衡量準則,抑或是項目本身的熱 門程度,因此可將這些導致偏差的因素加入矩陣分解模型中進行調整預測結果。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 10. i Un. v.

(17) 第三章 研究方法 本章分為三節,第一節介紹常用的矩陣分解模型,第二節介紹分解過程中所 使用的演算法─隨機梯度下降法,第三節則介紹執行推薦系統中常用的收斂條件 及預測指標。. 3.1 矩陣分解法 在矩陣分解中,其概念為將評分矩陣 𝑟𝑢,𝑖 表示成使用者的評分行為,而𝑟𝑢,𝑖 即 表示使用者 u 對項目 i 的評分。然而,有時候使用者們不會對所有項目進行評分,. 治 政 大 造成矩陣裡有過多的元素是空缺值,也就是所謂的遺失值。因此,若我們想預測 立 使用者的評分行為,我們需要利用矩陣分解模型來預測評分分數。. ‧ 國. 學. 此小節將依序介紹奇異值分解、潛在因子模型、加入偏誤項的潛在因子模. ‧. 型。. io. sit. y. Nat. 3.1.1 奇異值分解法. n. al. er. 在進行奇異值分解(Singular Value Decomposition,SVD)時,必頇先將評. Ch. i Un. v. 分矩陣𝑅填補成完整的矩陣,而如何填補矩陣才能讓估計誤差降到最低呢?一般. engchi. 的方法是用平均值進行遺失值插補,共有 m 位使用者和 n 種項目,評分矩陣為 R ∈ ℝ𝑚×𝑛 ,得到完整評分矩陣後,再進行奇異值分解。本研究將奇異值分解的 分析步驟整理如下: 1. 將訓練集資料的平均值插補於稀疏的評分矩陣,得到矩陣𝑅 ′ 。 2. 利用奇異值分解將𝑅 ′ 拆解成如下: 𝑅 ′ = 𝑈𝑆𝑉 𝑇 (3.1) 其中𝑈 ∈ ℝ𝑚×𝑚、𝑉 ∈ ℝ𝑛×𝑛,𝑆 ∈ ℝ𝑚×𝑛 是對角矩陣,對角線上的每個元素皆 是𝑅 ′ 的奇異值。. 11.

(18) 3. 針對𝑅 ′ 進行降維的動作,式子(3.1)改變如下: 𝑅𝑘′ = 𝑈𝑘 𝑆𝑘 𝑉𝑘𝑇 (3.2) 其中 k 為分析時所取的奇異值個數,0 < k ≤ min(m, n),𝑆𝑘 ∈ ℝ𝑘×𝑘,並將 k 個奇異值對應於每個元素在 U 和 V 的行與列,即為𝑈𝑘 ∈ ℝ𝑚×𝑘、𝑉𝑘 ∈ ℝ𝑛×𝑘 。 最後,𝑅𝑘′ 為 m 位使用者與 n 種項目的預測評分矩陣,而𝑟𝑘′ (u,i)代表使用者 u 對項目 i 的評分預測值。. 其實,奇異值分解法和其他矩陣分解也存在某種關係,如主成分分析 (Principal Components Analysis,PCA),接下來將探討他們之間的關聯。. 學. ‧ 國. 治 政 首先,令 X 是一去中心化資料(以平均值為中心移動至原點)的資料,為一 大 立 n × p的矩陣,則 X 矩陣的奇異值分解形式為 X = UΣ𝑊 𝑇. ‧. 其中Σ為n × p的對角矩陣,對角線上的元素為非負整數。U為n × n的矩陣,且為. y. sit. io. er. 則𝑋 𝑇 𝑋可以表示成. Nat. X𝑋 𝑇 的奇異向量。𝑊為p × p的矩陣,且為𝑋 𝑇 𝑋的奇異向量。. 𝑋 𝑇 𝑋 = WΣ𝑈 𝑇 UΣ𝑊 𝑇 = 𝑊Σ 2 𝑊 𝑇. al. iv n 𝑇 C 𝑋的特徵值開根號等於 X 的奇異值時,則𝑋 X 奇異 U h e n g c h i 𝑋的特徵向量矩陣會等於 n. 當𝑋. 𝑇. 值分解中的 W 矩陣。因此我們將主成分分析中的 T 矩陣,又稱 score matrix, 以奇異值分解方式呈現,如下: T = XW = UΣ𝑊 𝑇 𝑊 = UΣ 由上述運算式子我們可以知道,主成分分析中的 T 矩陣可藉由奇異值分解來 完成,它不需要經過多一步的計算𝑋 𝑇 𝑋,能夠更有效率的得到主成分分析的結果, 這也是為何現行大部分都使用奇異值分解演算法來計算主成分分析的矩陣。. 12.

(19) 3.1.2 潛在因子模型 矩陣分解法的主要工作是計算出潛在因子向量pu 、q i。早期是利用奇異值分 解對矩陣分解而得到,由於並非所有人都會評分,造成矩陣非常稀疏,假若要使 用奇異值分解則必頇先平均值差補法補足遺失值,然而填入的數值並分真正的評 分,如此會扭曲資料的真實性。 2006 年, Funk 在部落格發表關於矩陣分解的模型,稱為 Funk-SVD。後來 此模型被 Netflix Prize 的冠軍 Koren 等人稱為 Latent Factor Model,即潛在 因子模型,簡稱 LFM。. 政 治 大. 在第二章的第二小節曾介紹 LFM 的概念與想法,此處不再多做介紹,此小節. 立. 將從矩陣分解的角度來敘述。首先,評分矩陣為 R= [𝑟𝑢,𝑖 ],其中 u = 1, … , m; i =. ‧ 國. 學. 1, … , n,將其分解成兩個矩陣相乘,如下表示: 𝑅̂ = 𝑃𝑇 𝑄 (3.3). ‧. 其中P ∈ ℝ𝑘×𝑚,Q ∈ ℝ𝑘×𝑛,k 為潛在因子個數,而使用者 u 對於項目 i 的評分預. Nat. sit. y. 𝑇 測值計算公式為𝑟̂ 𝑢,𝑖 = 𝑝𝑢 𝑞𝑖 ,見式子(2.5)。. n. al. er. io. Funk 認為,利用訓練集的資料,找出 P、Q 矩陣,使得訓練集的預測誤差最. i Un. v. 小化,同時也能最小化測詴集的預測誤差。也就是說,透過正規化(regularized). Ch. engchi. 的建模方式以避免過度配適(overfitting)的情形發生,其正規化最小平方形式 如下: 2. 2 2 𝑚𝑖𝑛𝑃,𝑄 ∑(𝑢,𝑖)∈𝑇𝑟𝑎𝑖𝑛 𝑠𝑒𝑡(𝑟𝑢,𝑖 − 𝑟̂ 𝑢,𝑖 ) + 𝜆(‖𝑝𝑢 ‖ + ‖𝑞𝑖 ‖ ) (3.4). 其中P ∈ ℝ𝑘×𝑚 ,Q ∈ ℝ𝑘×𝑛 、𝑝𝑢 ∈ ℝ1×𝑘 ,𝑞𝑖 ∈ ℝ1×𝑘 。 此處先說明如何得到 P、Q 矩陣的過程與結果,分解時所使用的演算法:隨 機梯度下降法的基礎概念與想法將在 3.2 節闡述。 首先,我們針對正規化最小平方函數裡的兩個參數:pu,k 、q i,k,分別進行偏 微分,得到下列式子:. 13.

(20) 𝜕𝐶 = −2𝑞𝑖,𝑘 + 2𝜆𝑝𝑢,𝑘 𝜕𝑝𝑢 𝜕𝐶 = −2𝑝𝑢,𝑘 + 2𝜆𝑞𝑖,𝑘 𝜕𝑞𝑖 根據隨機梯度下降法,將參數沿著做快速下降方向前進,可得: 𝑝𝑢,𝑘 ← 𝑝𝑢,𝑘 + 𝛼(𝑒𝑢,𝑖 𝑞𝑖,𝑘 − 𝜆𝑝𝑢,𝑘 ) (3.5) 𝑞𝑖,𝑘 ← 𝑞𝑖,𝑘 + 𝛼(𝑒𝑢,𝑖 𝑝𝑢,𝑘 − 𝜆𝑞𝑖,𝑘 ) (3.6) 其中𝛼是學習速率,𝜆是正規化參數,𝑒𝑢.𝑖 為𝑟𝑢,𝑖 和𝑟̂𝑢,𝑖 的誤差值。這裡以及接下來 所出現的符號『←』表示在程式的撰寫時,使用等號右邊的值替換掉左邊變數內 儲存的值。. 政 治 大. 由以上式子可知,會影響預測結果的參數有正規化參數𝜆與學習速率𝛼。本. 立. 研究的潛在因子數設定為 40 個來進行分析。利用五摺交叉驗證(Five-Fold Cross. ‧ 國. 學. Validation)來選取最佳的𝜆、𝛼。一般而言,探討模型預測能力的實驗是將資料 切成訓練資料 (training set)、驗證資料(validation set)與測詴資料(test. ‧. set),以訓練資料與驗證資料得出適當模型後,再以測詴資料得出的預測誤差為. y. Nat. io. n. al. er. 驗證資料,並以驗證資料的預測誤差做為比較的依據。. sit. 最後比較的依據,本研究為了與張良卉的結果做對照,僅將資料切成訓練資料與. Ch. i Un. v. 具體來說,給定 15 組𝜆值和 10 組𝛼值,針對資料每組𝜆、𝛼,我們進行作法 如下:. engchi. 1. 將資料分為五組,每次這遮住一組資料(20%)當作驗證資料(validate data), 利用剩下四組資料當作訓練集(Training Set)建立模型。 2. 根據建立出的模型預測數值,比較預測數值和驗證資料的實際值,計算各組 的平均平方根誤差(Root Mean Square Error,RMSE)。 3. 將五組 RMSE 取平均觀察預測的結果,即是交叉驗證的預測誤差。 4. 比較 15 組𝜆值和 10 組𝛼值所對應的預測誤差,最小的預測誤差所對應的組 合就是我們要選取的值。. 14.

(21) 決定𝜆和𝛼後,本研究使用矩陣分解的步驟如下: 1. 將資料分為訓練集(80%)與測詴集(20%)。 2. 給定潛在因子數、正規化參數、學習速率。 3. 隨機生成 P、Q 矩陣。 4. 計算評分誤差,即𝑒𝑢.𝑖 = 𝑟𝑢,𝑖 − 𝑟̂𝑢,𝑖 ,其中𝑟̂𝑢,𝑖 使用(2.5)計算而得到。 5. 利用遞迴式(3.5)、(3.6)重複計算𝑝𝑢,𝑘 和𝑞𝑖,𝑘 ,得到 P、Q。 6. P 矩陣與 Q 矩陣代入方程式(3.3),得到預測評分矩陣。 7. 迭代 1 次至 300 次,紀錄結果並計算 300 次的 RMSE。. 治 政 Koren 等人(2009)認為,為了改進矩陣分解的預測精準度,項目評分不只受 大 立 到使用者對於項目特性的喜好𝑝 以及項目所具備的特性𝑞 影響,還包括使用者自 𝑢. 𝑖. ‧ 國. 學. 己的衡量準則、項目本身的優異程度的影響。因此,將各別使用者偏誤𝑏𝑢 與項目. ‧. 偏誤𝑏𝑖 加入評分矩陣,利用偏誤𝑏𝑢,𝑖 = μ + 𝑏𝑢 + 𝑏𝑖 來修正預測評分,那麼原始的. y. Nat. 預測評分式子(2.5)則變成如下:. er. io. sit. 𝐹 𝑇 𝑟̂ 𝑢,𝑖 = 𝑏𝑢,𝑖 + 𝑝𝑢 𝑞𝑖 = μ + 𝑏𝑢 + 𝑏𝑖 + ∑𝑘=1 𝑝𝑢,𝑘 𝑞𝑖,𝑘 (3.7). 其中μ、𝑏𝑢 、𝑏𝑖 為一實數,模型中新增加的三項變數其概念如下:. al. n. iv n C μ:訓練集中所有紀錄的評分的平均數,在不同網路零售業中,商店本身的 hengchi U. . 定位與銷售產品就截然不同,因此線上購物商店的整體評分也有所不同。例 如有些商店的使用者傾向評低分,有些喜歡評高分,而訓練集平均數可以表 示線上購物商店本身對使用者的影響。 . 𝑏𝑢 :使用者偏誤項(User Bias)。表示使用者的評分習慣,但和物品本身沒 有關係。例如有些使用者評分非常嚴苛,斤斤計較,那麼他評分通常都會偏 低。有些使用者要求不多,買一樣愛一樣,對任何產品都覺得不錯,那他的 評分就會偏高。. 15.

(22) . 𝑏𝑖 :項目偏誤項(Item Bias)。表示項目接受的評分中與使用者沒有關係的 因素。比如某些產品本身的品質非常好,因此獲得的評分相對都比其他產品 高分,而有些產品用料不好,品質不優,獲得的評分也就偏低了。. 了解(3.7)式後,我們接下來利用正規化最小平方法與隨機梯度下降法解出 μ、𝑏𝑢 、𝑏𝑖 、p、q,如下: 𝑚𝑖𝑛𝐵,𝐷𝑝,𝑞 ∑. (𝑢,𝑖)∈𝑇𝑟𝑎𝑖𝑛 𝑠𝑒𝑡. (𝑟𝑢,𝑖 − μ + 𝑏𝑢 + 𝑏𝑖 + 𝑝𝑢𝑇 𝑞𝑖 ). 2. 政 治 大 其中𝑏 第 u 位使用者的偏誤項,𝑏 為第 i 項產品的偏誤項。而 B 為所有使用者的 立 +𝜆(‖𝑝𝑢 ‖2 + ‖𝑞𝑖 ‖2 + ‖𝑏𝑢 ‖2 + ‖𝑏𝑖 ‖2 ). 𝑢. 𝑖. ‧ 國. 學. 集合,B ∈ ℝ𝑚×1,B = (𝑏1 , ⋯ 𝑏𝑚 ),D 為所有項目的集合,D ∈ ℝ𝑛×1,D = (𝑏1 , ⋯ 𝑏𝑛 ), P ∈ ℝ𝑘×𝑚 ,Q ∈ ℝ𝑘×𝑛 、𝑝𝑢 ∈ ℝ1×𝑘 ,𝑞𝑖 ∈ ℝ1×𝑘 。. ‧. 根據隨機梯度下降法可以解出得到下列式子:. al. y. sit. io. 𝑏𝑖 ← 𝑏𝑖 + 𝛼(𝑒𝑢,𝑖 − 𝜆𝑏𝑖 ) (3.9). er. Nat. 𝑏𝑢 ← 𝑏𝑢 + 𝛼(𝑒𝑢,𝑖 − 𝜆𝑏𝑢 ) (3.8). v. n. 𝑝𝑢,𝑘 ← 𝑝𝑢,𝑘 + 𝛼(𝑒𝑢,𝑖 𝑞𝑖,𝑘 − 𝜆𝑝𝑢,𝑘 ). Ch. engchi. i Un. 𝑞𝑖,𝑘 ← 𝑞𝑖,𝑘 + 𝛼(𝑒𝑢,𝑖 𝑝𝑢,𝑘 − 𝜆𝑞𝑖,𝑘 ) 其中𝛼是學習速率,𝜆是正規化參數,𝑒𝑢,𝑖 為𝑟𝑢,𝑖 和𝑟̂𝑢,𝑖 的誤差值。 同樣地,給定 15 組𝜆值和 10 組𝛼值,利用五摺交叉驗證(Five-Fold Cross Validation)來選取最佳的𝜆、𝛼,交叉驗證步驟與矩陣分解步驟和前面未加入偏 誤項的模型相似。第三步改為先計算出計算訓練集的平均值,接著隨機生成 P、 Q 矩陣以及所有使用者偏差項的集合 B 與所有產品項目偏差項的集合 D。第五步 中還需要利用遞迴式(3.8)、(3.9)重複計算𝑏𝑢 以及𝑏𝑖 。第六步則改為將𝑏𝑢 、𝑏𝑖 、 P 矩陣與 Q 矩陣代入方程式(3.7),得到預測評分矩陣。. 16.

(23) 3.2 隨機梯度下降法 如何最佳化正規化最小平方的式子,如式子(3.4)的函數?通常使用的演算 法有兩種,一為隨機梯度下降法(Stochastic Gradient Descent,SGD),二為交 替最小平方法(Alternating Least Square,ALS)。 這兩種方法中,交替最小平方法演算法能夠比較精確地找出 P、Q 矩陣使預 測誤差縮小,但缺點是運算速度較慢,而隨機梯度下降法能夠節省較多的時間, 且若在合理誤差內,所得到的預測結果都算是令人滿意地。本研究採用隨機梯度 下降法進行矩陣分解以得到評分預測結果,若讀者對交替最小平方法演算法有興 趣,可參考張良卉(2013)。. 立. 政 治 大. 隨機梯度下降法是一種最佳化目標函數的演算法,通常使用於大規模的機器. ‧ 國. 學. 學習(Large Scale Machine Learning),接下來將介紹隨機梯度下降法的基本概. ‧. 念與實例說明。. sit. y. Nat. 3.2.1 基礎概念. n. al. er. io. 首先,我們先考慮簡單的監督式學習方法(Supervised Learning),𝒳空間. i Un. v. 映射到𝒴空間,利用𝑥來預測𝑦,即𝑦̂為預測值。定義一個損失函數ℓ(𝑦̂, y)來計算. Ch. engchi. 預測值和真實值的成本,𝑓𝑤 (𝑥)為一由 w 參數所組成的函數,我們要找到函數f並 使損失函數Q(𝑥, y, w) = ℓ(𝑓𝑤 (𝑥), y)的期望損失達到最小,即 1. 𝐸𝑛 (𝑓) = 𝑛 ∑𝑛𝑖=1 ℓ(𝑓(𝑥𝑖 ), 𝑦𝑖 ). E(𝑓) = ∫ ℓ(𝑓(𝑥), 𝑦)𝑑𝑃(𝑥, 𝑦) 其中𝑑𝑃(𝑥, 𝑦)為(𝑥, 𝑦)的未知分配。. 以下將分別介紹梯度下降法(Gradient Descent)和隨機梯度下降法 (Stochastic Gradient Descent)。. 17.

(24) 梯度下降法(Gradient Descent): 利用梯度下降法將𝐸𝑛 (𝑓𝑤 )中的 w 參數找出,參數 w 在每一步迭代中更新,此 遞迴式建立於對𝐸𝑛 (𝑓𝑤 )中的 w 做梯度微分。 𝑛. 𝑤𝑡+1. 1 = 𝑤𝑡 − 𝛾 ∑ ∇𝑤 𝑄(𝑥𝑖 , 𝑦𝑖 , 𝑤𝑡 ) 𝑛 𝑖=1. 其中𝛾為學習速率,∇𝑤 𝑄(𝑥𝑖 , 𝑦𝑖 , 𝑤𝑡 )為對函數𝑄(𝑥𝑖 , 𝑦𝑖 , 𝑤𝑡 )中的 w 做梯度微分,當學 習速率足夠小時,演算法會達到收斂。. 隨機梯度下降法(Stochastic Gradient Descent):. 治 政 在隨機梯度下降法中,演算法一次只使用一組(𝑥 大, 𝑦 )來計算,並且每一步的 立 迭代更新參數 w 建立於下列式子 𝑡. 𝑤𝑡+1 = 𝑤𝑡 − 𝛾𝑡 ∇𝑤 𝑄(𝑥𝑡 , 𝑦𝑡 , 𝑤𝑡 ). 學. ‧ 國. 𝑡. ‧. 其中*(𝑥𝑡 , 𝑦𝑡 ), 𝑡 = 1, … +為隨機排列後的樣本,也就是說每一次演算法的迭代計算. y. Nat. 並不是照著樣本*(𝑥𝑖 , 𝑦𝑖 ), 𝑡 = 1, … 𝑛+的順序進行計算。由於隨機梯度下降一次只. er. al. n. 3.2.2 實例說明. io. 解附近徘徊。. sit. 使用一組(𝑥𝑡 , 𝑦𝑡 ),處理速度快,但有一風險是他不會收斂到最佳解,僅會在最佳. Ch. engchi. i Un. v. 為了待會的實例說明能夠更了解隨機梯度下降法,我們先定義接下來要使用 的符號: . 𝑥 (𝑖) :表示輸入的第 i 筆資料。. . 𝑥𝑝 :表示輸入的第 i 筆資料的第 p 個變數,p = 1,2,3, …。. . 𝑦 (𝑖):表示輸出的第 i 筆資料(Output Variable) ,也稱為目標變數(Target. (𝑖). Variable),也就是我們想要估計的目標。 . (𝑥 (𝑖) , 𝑦 (𝑖) ):將一個 𝑥 (𝑖) 與 𝑦 (𝑖) 配對之後,稱為一組 Training Example。 18.

(25) . {(𝑥 (𝑖) , 𝑦 (𝑖) ):i=1,...,m}:所有的 Training Examples 合起來稱為訓練集 (Training Set),即指整個用來學習的資料庫。. . X:代表輸入資料的空間(Space)。. . Y:代表輸出資料的空間,在這個例子中,X 與 Y 都是實數。 在這裡我們就是要找到一個從 X 映射到 Y 的函數 h(x),而這個函數可以. 靠著 x 來預測 y,傳統上這個 h 就稱為一個假設(Hypothesis)。如下示意圖:. 立. 政 治 大. ‧ 國. 學 y. io. n. al. 2. ni C h𝑝=0 U engchi = ∑ 𝜃𝑝 𝑥𝑝 = 𝜃 𝑇 𝑋. = ,𝜃0. 𝜃1. sit. 𝑦̂ = 𝑕𝜃 (𝑥) = 𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2. er. Nat. 逼近 y,如下:. ‧. 此時,先決定 h(x)函數應該要表示成甚麼樣子,我們以簡單的線性函數來. v. 1 𝜃2 - [𝑥1 ] 𝑥2. 𝑥𝑝 為第 p 個變數,此處𝑥0 為 1。𝜃𝑝 為第 p 個參數(Parameters),或稱為權重 (Weights),由這些參數決定 h 函數如何把𝒳空間映射到𝒴空間,其中等號右邊 的θ與 X 皆為向量。 建立好𝑕𝜃 (𝑥)後,給定一組訓練集(Training Set),我們盡可能讓𝑕𝜃 (𝑥)非常 靠近 y,所以對於每一個θ的值,我們定義損失函數如下:. 19.

(26) 𝑚. 1 2 ℓ(𝜃) = ∑(𝑕𝜃 (𝑥 (𝑖) ) − 𝑦 (𝑖) ) 2 𝑖=1. 其含意是針對每個𝜃值,測量𝑕𝜃 (𝑥 (𝑖) )有多靠近所對應的𝑦 (𝑖) 。. 現在要找尋可以讓ℓ(𝜃)的值最小化的𝜃,做法是先「猜」一個初始值,然後 依照ℓ(𝜃)的值不斷地更新𝜃,直到最後找到可以讓ℓ(𝜃)最小的𝜃,我們先使用梯度 下降演算法,先指定一個𝜃的初始值,然後根據下列遞迴式不斷的更新𝜃: 𝜃𝑝 ← 𝜃𝑝 − 𝛼. 𝜕 ℓ(𝜃) 𝜕𝜃𝑝. 政 治 大 在每次迭代中,𝜃 、𝜃 、𝜃 立會不斷的更新自己的值。. 基本上每一個參數𝜃𝑝 都可以同時使用此遞迴式進行迭代,這裡的𝛼為學習速率, 0. 1. 2. 方程式推導可以得到:. Nat. y. 𝜕 𝜕 1 2 ℓ(𝜃) = (𝑕𝜃 (𝑥 (1) ) − 𝑦 (1) ) 𝜕𝜃𝑝 𝜕𝜃𝑝 2 2. sit. 𝜕 (1) )∙ (∑ 𝜃𝑝 𝑥𝑝 − 𝑦 (1) ) 𝜕𝜃𝑝 𝑝=0. n. al. )−𝑦. (1). Ch. er. io. = (𝑕𝜃 (𝑥. (1). ‧. ‧ 國. 學. 為了簡化偏微分過程,此處假設只有一筆資料,即(𝑥 (1) , 𝑦 (1) ),其中利用偏微分. i Un. (1). = (𝑕𝜃 (𝑥 (1) ) − 𝑦 (1) )𝑥𝑝. engchi. v. 因此,經過簡化後的遞迴式子,可以得到每一個 training example 的遞迴公式 為: (𝑖). 𝜃𝑝 ← 𝜃𝑝 + 𝛼(𝑦 (𝑖) − 𝑕𝜃 (𝑥 (𝑖) ))𝑥𝑝. 每次更新的距離會正比於誤差項𝜀 = 𝑦 (𝑖) − 𝑕𝜃 (𝑥 (𝑖) ),當𝑕𝜃 (𝑥 (𝑖) )很接近𝑦 (𝑖) 時,也 就是𝜃很接近最佳解的時候,更新的距離會愈來愈短,到最後則不需更新了。. 20.

(27) 以上我們已經推導出單一 Training Example 的狀況,接下來要把它推廣到 全部訓練集的情況時,把加總符號放入,如下: 執行直到收斂 { for every p { (𝑖). (𝑖) 𝜃𝑝 ← 𝜃𝑝 + 𝛼 ∑𝑚 − 𝑕𝜃 (𝑥 (𝑖) ))𝑥𝑝 𝑖=1(𝑦. } } 由上述可看出,這樣的方式在每一次迭代時,需要將所有的資料都放進去算,. 政 治 大 下降演算法因容易受到區域極值的影響,造成找出的解可能是區域的極值,並非 立 所以又稱為 Batch Gradient Descent 方法。使用此方法時頇注意一點,即梯度. ‧ 國. 學. 全域的極值。. 因為梯度下降演算法在計算時,每一次的迭代都會需要所有訓練集的資料,. ‧. 但是假若訓練集的資料量太大的話,如此迭代起來就會很耗費時間,此時使用隨. Nat. for every p {. sit. al. n. for i = 1 to m {. er. io. 執行直到收斂 {. y. 機梯度下降演算法會比較具有優勢,其方法如下:. Ch. engchi. i Un. v. (𝑖). 𝜃𝑝 ← 𝜃𝑝 + 𝛼(𝑦 (𝑖) − 𝑕𝜃 (𝑥 (𝑖) ))𝑥𝑝 } } }. 隨機梯度下降演算法在迭代的過程中,一次只使用單一個 Training Example 來計算誤差並更新𝜃參數,相較於梯度下降演算法一次使用全部訓練集的方式, 在訓練集樣本數 m 很大時,隨機梯度下降演算法會比較容易進行計算,而且通 常此方法可以比較迅速的靠近最佳解,也就是最小值的地方,但是它永遠不會收 21.

(28) 斂到最佳解,它只會在ℓ(𝜃)附近震盪而已,但實務上這個微小的誤差其實是可以 接受的,因為它已經足夠接近最佳解了,正因為如此,在訓練集的資料龐大的時 候,隨機梯度下降演算法會是比較好的選擇。. 3.3 預測指標與收斂條件 預測準確度是衡量推薦系統預測使用者的能力,先將評分資料分為訓練集與 測詴集,透過訓練集建立模型,並使用測詴集觀察是否與預測評分的資料吻合。 一般是利用平均方根誤差(Root Mean Square Error,RMSE)來進行計算,對. 政 治 大 薦系統所預測的評分,則立 RMSE 定義為:. 2. 學. ∑𝑡𝑟𝑎𝑖𝑛𝑖𝑛𝑔 𝑠𝑒𝑡(𝑟𝑢,𝑖 − 𝑟̂ 𝑢,𝑖 ) RMSE = √ 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑟𝑎𝑡𝑖𝑛𝑔𝑠. ‧. ‧ 國. 於測詴集中一位使用者 u 和項目 i,令𝑟𝑢,𝑖 為使用者 u 對項目 i 的評分,𝑟̂ 𝑢,𝑖 是推. 由平方項可以看出,對於使用者對項目評分預測不準時,RMSE 擴大其懲罰,. y. sit. n. al. er. io. 異程度。. Nat. 因而對系統的評測更加嚴苛,因此本研究採用此預測指標作為評斷推薦系統的優. i Un. v. 然而,由於隨機梯度下降演算法並不會完全收斂到最佳解,因此在執行推薦. Ch. engchi. 系統時,需要自行設定收斂條件,本節將各文獻中常使用的收斂條件方法予以整 理,如下: 1. 前後兩次 RMSE 差距小於某數時,則停止。 2. 當次的 RMSE 大於前一次 RMSE,則停止。 3. RMSE 連續上升兩次時,則停止。 4. 固定迭代次數,例如迭代至 100 次時直接紀錄 RMSE 值。 5. 固定 RMSE 小於某數(閥值)時停止運算。. 22.

(29) 本研究在五摺交叉驗證時,先是使用了 RMSE 連續上升兩次的收斂條件,但 由於除了訓練模型所需的時間外,尚還有判斷 RMSE 大小的時間,導致時間增長, 而為了能夠縮短找到α與λ最佳組合的時間,後改採用固定迭代次數。 找到最佳的參數組合後,再分別將數值代入沒有偏誤項的矩陣分解法以及加 入偏誤項的矩陣分解法中,收斂條件並不是採用上述五種方法,而是將其迭代 300 次,記錄每一次的 RMSE 值,並畫折線圖。因為我們認為,既然 SGD 演算法 會在最佳解附近震盪徘徊,則利用圖形觀察每次迭代所得到的 RMSE 值,看其折 線是否呈現震盪以及運算過程是否正常,會比上述五種方法看得更仔細。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 23. i Un. v.

(30) 第四章 實證研究 本研究使用的資料來自 Minnesota 大學 GroupLens Research Project(http://movielens.umn.edu ),以下簡稱 Movielens 資料,且採用的資 料為網站裡的 MovieLens 100K 與 MovieLens 1M。其中 MovieLens 100K 的資料 內容包含 100000 筆評分紀錄,分數由 1 分至 5 分,共 943 位使用者對應 1682 部電影,每位使用者的評分紀錄至少有 20 部電影,並記錄使用者的基本資料, 包括年齡、性別、職業、地區。另一份資料 MovieLens 1M 的內容則包含 1000209 筆評分紀錄,分數由 1 分至 5 分,來自 6040 位使用者對應 3900 部電影,同樣也. 政 治 大. 記錄使用者的基本資料,另外也記錄每部電影的屬性。這兩份資料都包含了使用. 立. 者與電影的基本資料,但本研究沒有使用這些訊息資料,而是單純使用每位使用. ‧ 國. 學. 者對電影的評分資料。. 本章第一節為無偏誤項的模型比較,第二節為有偏誤項的模型比較,第三節. ‧. 討論資料量對模型預測能力的影響,第四節為二階段矩陣分解,本實證研究之計. y. Nat. n. al 4.1 無偏誤項的模型比較. er. io. sit. 算完全使用 Matlab。. Ch. engchi. i Un. v. 本節主要目的為比較未加入偏誤項的交替最小平方法與隨機梯度下降法之 預測能力。 交錯最小平方法需設一個『正規參數(λ)』;而隨機梯度下降法除了『正規 參數(λ)』,還有『學習速率(α)』。 張良卉(2013)以交錯最小平方法分析 MovieLens 100K 資料,本節同樣利用 MovieLens 100K 資料為分析的依據,固定潛在因子數為 40 個,先找出隨機梯度 下降法中,在未加入偏誤項下,λ與α在何種組合有最小的均方根誤差(RMSE), 再與張良卉(2013)的結果作比較。 24.

(31) 本研究選取15組 λ值,分別為0.05至0.1,間隔為0.01,以及 0.1至1間隔 為0.1,而α值則選取10組,為0.001至0.01,間隔為0.001,利用五摺交叉驗證 (5-Fold-Cross-Validation)的方法尋求出最佳的 λ 與 α 組合。 首先將資料分為五組子樣本,每組樣本為總資料的 20%,每次保留一組單獨 子樣本作為驗證模型的依據,稱為驗證資料集(validate data),其他四組樣本 用來訓練並建立模型,稱為訓練集,交叉驗證五次,每組子樣本驗證一次,平均 五次的 RMSE 結果,最後選擇 RMSE 最小的 λ 與 α 組合。 由於五摺交叉驗證的結果有 150 組 RMSE,所採用的停止條件為迭代至固定 次數,記錄第 80 次的 RMSE 結果,詳細結果請見下表。. 治 政 交叉驗證 150 組 RMSE─無偏誤項的隨機梯度下降法 大 立. Mean Alpha Lambda 1.025672 0.008 0.05 1.010387 0.008 0.06 0.997108 0.008 0.07 0.989127 0.008 0.08 0.983253 0.008 0.09 0.980725 0.008 0.1 1.009001 0.008 0.2 1.055745 0.008 0.3 1.098262 0.008 0.4 1.14502 0.008 0.5 1.198988 0.008 0.6 1.257705 0.008 0.7 1.317923 0.008 0.8 1.382793 0.008 0.9 1.452922 0.008 1. Nat. io. n. Ch. Mean Alpha Lambda 1.022387 0.005 0.05 1.008668 0.005 0.06 0.996987 0.005 0.07 0.991779 0.005 0.08 0.986723 0.005 0.09 0.986693 0.005 0.1 1.011228 0.005 0.2 1.052104 0.005 0.3 1.089895 0.005 0.4 1.133714 0.005 0.5 1.187023 0.005 0.6 1.242124 0.005 0.7 1.302951 0.005 0.8 1.365798 0.005 0.9 1.434055 0.005 1. Mean 1.024086 1.010026 0.995673 0.990284 0.983504 0.981754 1.008863 1.053049 1.091887 1.13761 1.190952 1.247347 1.308402 1.371153 1.440627. Mean Alpha Lambda 1.028972 0.009 0.05 1.011785 0.009 0.06 0.997252 0.009 0.07 0.992619 0.009 0.08 0.98614 0.009 0.09 0.981889 0.009 0.1 1.010996 0.009 0.2 1.057506 0.009 0.3 1.101896 0.009 0.4 1.148658 0.009 0.5 1.2031 0.009 0.6 1.262059 0.009 0.7 1.32272 0.009 0.8 1.387855 0.009 0.9 1.458387 0.009 1. Mean Alpha Lambda 1.029816 0.01 0.05 1.011703 0.01 0.06 0.997055 0.01 0.07 0.990435 0.01 0.08 0.984769 0.01 0.09 0.984862 0.01 0.1 1.012367 0.01 0.2 1.059062 0.01 0.3 1.105006 0.01 0.4 1.152512 0.01 0.5 1.207222 0.01 0.6 1.265993 0.01 0.7 1.327332 0.01 0.8 1.39309 0.01 0.9 1.464296 0.01 1. Mean 1.029142 1.011624 1.001237 0.991461 0.985835 0.984592 1.013517 1.060916 1.108632 1.156114 1.210666 1.270211 1.331375 1.397792 1.468934. y. Mean Alpha Lambda 1.022247 0.007 0.05 1.009289 0.007 0.06 0.997402 0.007 0.07 0.988436 0.007 0.08 0.984278 0.007 0.09 0.983031 0.007 0.1 1.009185 0.007 0.2 1.054361 0.007 0.3 1.094984 0.007 0.4 1.141693 0.007 0.5 1.194979 0.007 0.6 1.252658 0.007 0.7 1.313452 0.007 0.8 1.377081 0.007 0.9 1.446839 0.007 1. al. Mean Alpha Lambda 1.025132 0.004 0.05 1.010211 0.004 0.06 1.002466 0.004 0.07 0.992903 0.004 0.08 0.992215 0.004 0.09 0.990845 0.004 0.1 1.016064 0.004 0.2 1.052061 0.004 0.3 1.088913 0.004 0.4 1.131198 0.004 0.5 1.183761 0.004 0.6 1.237611 0.004 0.7 1.297863 0.004 0.8 1.359891 0.004 0.9 1.426951 0.004 1. sit. Alpha Lambda 0.006 0.05 0.006 0.06 0.006 0.07 0.006 0.08 0.006 0.09 0.006 0.1 0.006 0.2 0.006 0.3 0.006 0.4 0.006 0.5 0.006 0.6 0.006 0.7 0.006 0.8 0.006 0.9 0.006 1. ‧ 國. Mean Alpha Lambda 1.025981 0.003 0.05 1.017917 0.003 0.06 1.013087 0.003 0.07 1.00725 0.003 0.08 1.004111 0.003 0.09 1.00353 0.003 0.1 1.024762 0.003 0.2 1.05511 0.003 0.3 1.090687 0.003 0.4 1.132498 0.003 0.5 1.18219 0.003 0.6 1.235816 0.003 0.7 1.293637 0.003 0.8 1.355556 0.003 0.9 1.420356 0.003 1. ‧. Mean Alpha Lambda 1.050783 0.002 0.05 1.043633 0.002 0.06 1.043741 0.002 0.07 1.038385 0.002 0.08 1.036564 0.002 0.09 1.035868 0.002 0.1 1.045399 0.002 0.2 1.070134 0.002 0.3 1.102816 0.002 0.4 1.142959 0.002 0.5 1.19027 0.002 0.6 1.242534 0.002 0.7 1.29892 0.002 0.8 1.357479 0.002 0.9 1.419586 0.002 1. 學. Alpha Lambda 0.001 0.05 0.001 0.06 0.001 0.07 0.001 0.08 0.001 0.09 0.001 0.1 0.001 0.2 0.001 0.3 0.001 0.4 0.001 0.5 0.001 0.6 0.001 0.7 0.001 0.8 0.001 0.9 0.001 1. er. 表 4.1. engchi. 25. i Un. v.

(32) 從表 4.1 能看出在 MovieLens 100K 的資料裡,5 次不同的訓練集與驗證資 料集下,利用交叉驗證所得出的 RMSE 最小的組合為 α 為 0.007、 λ 為 0.1。 隨機梯度下降法的最佳參數組合找到後,將資料分為 80%的訓練集與 20%的測詴 集,利用測詴集觀察模型預測能力,本研究迭代 300 次並記錄下最小的 RMSE。 張良卉(2013)的研究中所設定的最佳參數值─正規參數(λ),在未加入偏誤 項的交替最小平方法中,其正規參數(λ)設定為 2。 模型的預測能力比較如表 4.2,雖然交替最小平方法的預測能力稍好,但隨 機梯度下降法的 RMSE 為 0.9620,預測能力也還算不錯,且時間較短。 表 4.2 模型. 立. 無偏誤項的模型預測能力比較. 政 治 大 最小 RMSE 0.9620. ‧ 國. 學. 無偏誤項的隨機梯度下降法. (約 6 分 14 秒). ‧. 0.9411. 無偏誤項的交替最小平方法. io. sit. y. Nat. (約 51 分 16 秒). n. al. er. 4.2 有偏誤項的模型比較. Ch. engchi. i Un. v. 本節主要目的為比較加入偏誤項的交替最小平方法與隨機梯度下降法之預 測能力。 本節同樣利用 MovieLens 100K 資料為分析的依據,固定潛在因子數為 40 個,先找出隨機梯度下降法中,在加入偏誤項下,λ與α在何種組合有最小的均 方根誤差(RMSE),再與張良卉(2013)中加入偏誤項的交替最小平方法比較預測能 力。同樣地,這裡需要利用交叉驗證法找出使得 RMSE 最小的 α 與 λ 組合。. 26.

(33) 由於加入偏誤項後的潛在因子模型需要較多的迭代次數才能到達小於 1 的 RMSE,因此採用的停止條件為迭代至 100 次並記錄其 RMSE,並將各組合之最小 RMSE 挑選出來進行比較,詳細請見下表。 交叉驗證 RMSE─有偏誤項的隨機梯度下降法. ‧ 國. 立. Nat. io. Mean 1.015462 0.998626 0.985716 0.976681 0.96871 0.963962 0.972343 0.985678 0.989951 0.99394 0.997488 1.000292 1.002996 1.005068 1.00638. Mean Alpha Lambda 1.014065 0.009 0.05 0.996715 0.009 0.06 0.981865 0.009 0.07 0.972353 0.009 0.08 0.964039 0.009 0.09 0.961425 0.009 0.1 0.97078 0.009 0.2 0.987826 0.009 0.3 0.992371 0.009 0.4 0.995768 0.009 0.5 0.999072 0.009 0.6 1.00258 0.009 0.7 1.004964 0.009 0.8 1.007331 0.009 0.9 1.00903 0.009 1. Mean Alpha Lambda 1.014806 0.01 0.05 0.995444 0.01 0.06 0.980058 0.01 0.07 0.970168 0.01 0.08 0.964001 0.01 0.09 0.961407 0.01 0.1 0.970184 0.01 0.2 0.988312 0.01 0.3 0.993317 0.01 0.4 0.996876 0.01 0.5 0.99996 0.01 0.6 1.003059 0.01 0.7 1.006007 0.01 0.8 1.008014 0.01 0.9 1.010187 0.01 1. Mean 1.012932 0.993568 0.982424 0.97005 0.966073 0.962121 0.970462 0.988793 0.993725 0.997105 1.00069 1.003888 1.006514 1.008712 1.010912. 政 治 大. Mean Alpha Lambda 1.013454 0.008 0.05 0.996553 0.008 0.06 0.982705 0.008 0.07 0.972659 0.008 0.08 0.966813 0.008 0.09 0.959554 0.008 0.1 0.97106 0.008 0.2 0.986967 0.008 0.3 0.991574 0.008 0.4 0.99517 0.008 0.5 0.99845 0.008 0.6 1.001738 0.008 0.7 1.004271 0.008 0.8 1.006477 0.008 0.9 1.00811 0.008 1. n. al. Mean Alpha Lambda 1.01766 0.005 0.05 0.998507 0.005 0.06 0.986543 0.005 0.07 0.978971 0.005 0.08 0.972222 0.005 0.09 0.968908 0.005 0.1 0.975819 0.005 0.2 0.984971 0.005 0.3 0.989254 0.005 0.4 0.993209 0.005 0.5 0.996649 0.005 0.6 0.999412 0.005 0.7 1.001701 0.005 0.8 1.003964 0.005 0.9 1.005857 0.005 1. Ch. engchi. y. Mean Alpha Lambda 1.011616 0.007 0.05 0.997079 0.007 0.06 0.984265 0.007 0.07 0.974335 0.007 0.08 0.96841 0.007 0.09 0.961765 0.007 0.1 0.971532 0.007 0.2 0.986695 0.007 0.3 0.990643 0.007 0.4 0.994595 0.007 0.5 0.997981 0.007 0.6 1.000896 0.007 0.7 1.003491 0.007 0.8 1.005599 0.007 0.9 1.007257 0.007 1. Mean Alpha Lambda 1.017674 0.004 0.05 1.002699 0.004 0.06 0.992066 0.004 0.07 0.980463 0.004 0.08 0.97851 0.004 0.09 0.971892 0.004 0.1 0.978625 0.004 0.2 0.984586 0.004 0.3 0.988566 0.004 0.4 0.992067 0.004 0.5 0.995519 0.004 0.6 0.99841 0.004 0.7 1.000805 0.004 0.8 1.002973 0.004 0.9 1.004665 0.004 1. sit. Alpha Lambda 0.006 0.05 0.006 0.06 0.006 0.07 0.006 0.08 0.006 0.09 0.006 0.1 0.006 0.2 0.006 0.3 0.006 0.4 0.006 0.5 0.006 0.6 0.006 0.7 0.006 0.8 0.006 0.9 0.006 1. Mean Alpha Lambda 1.019794 0.003 0.05 1.005213 0.003 0.06 1.000483 0.003 0.07 0.992422 0.003 0.08 0.987009 0.003 0.09 0.983677 0.003 0.1 0.983621 0.003 0.2 0.986179 0.003 0.3 0.988234 0.003 0.4 0.990907 0.003 0.5 0.994949 0.003 0.6 0.997433 0.003 0.7 1.000137 0.003 0.8 1.002101 0.003 0.9 1.00356 0.003 1. ‧. Mean Alpha Lambda 1.037315 0.002 0.05 1.02862 0.002 0.06 1.023857 0.002 0.07 1.015763 0.002 0.08 1.014192 0.002 0.09 1.008941 0.002 0.1 0.99584 0.002 0.2 0.993084 0.002 0.3 0.993191 0.002 0.4 0.994758 0.002 0.5 0.997156 0.002 0.6 0.998467 0.002 0.7 1.000443 0.002 0.8 1.001571 0.002 0.9 1.00322 0.002 1. 學. Alpha Lambda 0.001 0.05 0.001 0.06 0.001 0.07 0.001 0.08 0.001 0.09 0.001 0.1 0.001 0.2 0.001 0.3 0.001 0.4 0.001 0.5 0.001 0.6 0.001 0.7 0.001 0.8 0.001 0.9 0.001 1. er. 表 4.2. i Un. v. 從表 4.2 能看出在 MovieLens 100K 的資料裡,加入偏誤項的潛在因子 模型在 5 次不同的訓練集與驗證資料集下,利用交叉驗證所得出的 RMSE 最小的 組合同樣也為 α 為 0.007、 λ 為 0.1。同樣地,找到參數的最佳組合後,將資 料分為 80%的訓練集與 20%的測詴集,利用測詴集觀察模型預測能力,本研究迭 代 300 次並記錄下最小的 RMSE。 張良卉(2013)的研究中所設定的最佳參數值─正規參數(λ),在加入偏誤項 之交替最小平方法的正規參數(λ)則設定為 6。 模型的預測能力比較如表 4.3,雖然交替最小平方法的預測能力稍好,但隨 機梯度下降法的 RMSE 為 0.9526,預測能力也還算不錯,且時間較短。 27.

(34) 表 4.3. 未加入偏誤項的模型預測能力比較. 模型. 最小 RMSE 0.9526. 加入偏誤項的隨機梯度下降法 (約 4 分 7 秒) 0.9155 加入偏誤項的交替最小平方法 (約 1 小時 8 分 45 秒). 4.3 不同資料量的分析. 立. 政 治 大. 本小節欲探討 MovieLens 100K 與 MovieLens 1M 不同資料量上所得到的 RMSE. ‧ 國. 學. 之差異,因為交替最小平方法較耗時,所以本小節僅討論隨機梯度下降法的結. ‧. 果。. sit. y. Nat. 首先,我們固定學習速率(α)為 0.007 以及正規參數(λ)為 0.1,針對未加. io. er. 入與加入偏誤項的模型,各別畫出 RMSE 對迭代次數的變化圖,並驗證是否因使 用者對電影項目的評分筆數增加,致使推薦系統準確度提升。. al. n. iv n C 觀察未加入偏誤項的 RMSE 變化,從圖 中,RMSE 的變化來看,可看出沒 h e n g c4.1 hi U. 有偏誤項的潛在因子模型在 1M 的資料量下,RMSE 於 0.92 至 0.91 之間附近,相 對於 100K 的資料量 RMSE 有明顯下降的趨勢。. 28.

(35) 圖 4.1. 立. 未加入偏誤項下 100K 與 1M 的 RMSE 比較. 政 治 大. ‧ 國. 學. 接下來觀察加入偏誤項的 RMSE 變化,同樣地,從 RMSE 的變化來看,可看出. ‧. 加入偏誤項的潛在因子模型在 1M 的資料量下,RMSE 下降至 0.90 與 0.91 附近, 相對於 100K 的資料量的 RMSE 小。. 加入偏誤項下 100K 與 1M 的 RMSE 比較. n. al. er. io. sit. y. Nat 圖 4.2. Ch. engchi. 29. i Un. v.

(36) 因此,由圖 4.2 與圖 4.3 得知,由於使用者對項目的評分筆數增加,使得評 分矩陣能夠較為完整,降低評分稀疏性質,RMSE 大幅降低,造成推薦系統能夠 更準確地提供項目給予使用者,明顯提升其推薦的效能。. 4.4 二階段矩陣分解:插補矩陣與奇異值分解 本節利用 MovieLens 100K,詴圖利用潛在因子模型與奇異值分解再加上資 料插補的方式來改善推薦系統的效能。. 4.4.1 基本想法與改進方法步驟. 政 治 大 我們先利用潛在因子模型來獲得預測的評分矩陣,並將原始評分矩陣補齊, 立. ‧ 國. 學. 接著將補齊的評分矩陣進行奇異值分解,而對角矩陣的維度則取 f=10,最後,. 利用“奇異值分解插補改進方法”找出的預測評分矩陣,使用此矩陣求得到模型. ‧. 改進後的 RMSE。. er. io. sit. y. Nat. 本研究將模型改進方法的步驟整理如下:. al. 1. 使用訓練集並利用潛在因子模型求出預測的評分矩陣。. n. iv n C hengchi U 將預測評分矩陣插補至原始的評分矩陣,將原本空缺的評分補足。. 2.. 3. 利用補齊後完整的原始評分矩陣進行奇異值分解(奇異值分解)。 數學式子表示如下: ̂𝑓 = 𝑈𝑓 𝑆𝑓 𝑉𝑓𝑇 𝑅 其中𝑅 ∈ ℝ𝑚×𝑛 ,𝑈 ∈ ℝ𝑚×𝑘 ,𝑆 ∈ ℝ𝑘×𝑘 ,𝑆 ∈ ℝ𝑛×𝑘 𝑈𝑓 、𝑆𝑓 、𝑉𝑓𝑇 為降維後的矩陣 此處,本研究的 f 一律取 10,因此可得到一個降維後的預測評分矩陣,也 就是𝑅̂ 𝑓=10 。. 30.

(37) 4. 使用測詴集針對“奇異值分解插補改進方法”所得到預測評分矩陣求出 RMSE。. 關於奇異值分解中的 f 之選取, 其概念類似於主成分分析中該如何選取多 少個主成分來代替原來的變數,為了達成精簡的目標,本研究選取 f 的原則為由 奇異值對奇異值個數畫散佈圖,又稱除坡圖(Scree Plot)。找到圖中開始平坦的 點,即為我們所需要的 f 個數。 首先,將未加入偏誤項的隨機梯度下降法所得到的預測結果,插補於原矩陣 中,進行奇異值分解,其除坡圖如圖 4.3。從圖中可以發現,在 f 為 10 後,下. 治 政 降速度減慢,趨為平緩,因此在奇異值分解插補改進方法─未加入偏誤項的隨機 大 立 梯度下降法中,f 取 10。 ‧ 國. 學. 將加入偏誤項的隨機梯度下降法所得到的預測結果,插補於原矩陣中,進行. ‧. 奇異值分解,其除坡圖如圖 4.4。從圖中可以發現,在 f 為 10 後,下降速度減. y. sit. io. er. 中,f 取 10。. Nat. 慢,趨為平緩,因此在奇異值分解插補改進方法─加入偏誤項的隨機梯度下降法. 接著討論奇異值分解插補改進方法─未加入偏誤項的交替最小平方法與加. al. n. iv n C 入偏誤項的交替最小平方法。觀察其除坡圖,在圖 h e n g c h i U4.5 與圖 4.6 可以發現在 f. 為 10 後,下降速度減慢,趨為平緩,因此在奇異值分解插補改進方法─未加入 偏誤項的交替最小平方法與加入偏誤項的交替最小平方法中,f 皆取 10。. 31.

(38) 圖 4.3. 奇異值對奇異值個數─未加入偏誤項的隨機梯度下降法. 圖 4.4. 奇異值對奇異值個數─加入偏誤項的隨機梯度下降法. 立. 政 治 大. ‧. ‧ 國. 學. 圖 4.5. 奇異值對奇異值個數─未加入偏誤項的交替最小平方法. n. er. io. sit. y. Nat. al. 圖 4.6. Ch. engchi. i Un. v. 奇異值對奇異值個數─加入偏誤項的交替最小平方法. 32.

(39) 4.4.2 結果 接下來兩小節,我們將在潛在因子模型下,針對交替最小平方法與隨 機梯度下降法兩種演算法所得到的預測評分矩陣分別進行“奇異值分解插補改 進方法”,並討論它們的 RMSE 變化。 首先使用張良卉(2013)的程式碼,利用交替最小平方法找出未加入偏誤項 與加入偏誤項的預測評分矩陣,插補於原始評分矩陣後再進行奇異值分解分解, 其次利用 4.2 節提到的隨機梯度下降法以及其結果進行插補,再進行奇異值分 解比較 RMSE 的變化,RMSE 結果如下:. 立. 表 4.4. RMSE 與運算時間. ‧ 國. 無差補. 學. 模型. 政 治 大 0.9411. 0.9074. 0.9155. y. (約 51 分 18 秒). sit. Nat. (約 51 分 16 秒). ‧. 無偏誤項的交替最小平方法. io. n. al. (約 1 小時 8 分 45 秒). Ch. 0.9620. engchi. (約 6 分 14 秒). er. 有偏誤項的交替最小平方法. 無偏誤項的隨機梯度下降法. 有插補+奇異值分解. i Un. v. 0.8949. (約 1 小時 8 分 48 秒) 0.9193 (約 6 分 16 秒). 0.9526. 0.9143. (約 4 分 7 秒). (約 4 分 9 秒). 有偏誤項的隨機梯度下降法. 表 4.4 可以得知,利用“奇異值分解插補改進方法”後,不論有無偏誤項 加入的模型之 RMSE 皆會下降。其中含有偏誤項的交替最小平方法進行“奇異值 分解插補改進方法”後 RMSE 為 0.8949,是所有模型中最小的。另外,含有偏 誤項的隨機梯度下降法加上“奇異值分解插補改進方法”,其 RMSE 為 0.9143。. 33.

(40) 雖然『奇異值分解 +加入偏誤項的隨機梯度下降法』的 RMSE 大於『奇異值 分解 +加入偏誤項的交替最小平方法』 ,但觀察運算時間時,隨機梯度下降法的 模型的運算時間約四分鐘,所需時間遠遠短於交替最小平方法。 確實,藉由加入偏誤項的交替最小平方法能夠得到精確的預測結果,但卻 犧牲運算時間,需要花較多的時間進行預測以達到更精確的結果。相反地,隨 機梯度下降法縮短運算時間,犧牲了能夠得到更小的 RMSE,但卻藉由“奇異值 分解插補改進方法”大幅降低 RMSE,得到一個還算不錯的預測結果。因此,在 時間與精確度的選擇以及模型的改進,都是設計推薦系統的人需要從中做出取 捨與改變。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 34. i Un. v.

(41) 第五章 結論與建議 根據第四章結果,本研究歸納以下三項結論。 第一項,不論有無加入偏誤項,交替最小平方法的準確性皆比隨機梯度下 降法好,但隨機梯度下降法所花費的運算時間比交替最小平方法少。 第二項,在使用隨機梯度下降法情況下,加入偏誤項的矩陣分解模型比未 加入偏誤項的矩陣分解模型所預測的評分結果好,明顯可知人類行為中,使用 者本身的衡量準則與項目的優良程度確實會影響資料預測的準確性,所以當加 入使用者與項目的偏誤項後,便能將評分的預測結果導向更理性的方向。. 政 治 大. 第三項,在二階段矩陣分解時,將交替最小平方法與隨機梯度下降法和奇. 立. 異值分解結合,皆能有效提升推薦系統的準確性。同樣地,呼應第一項結論,. ‧ 國. 學. 交替最小平方法和奇異值分解結合所得到的預測結果,其準確性皆比隨機梯度 下降法和奇異值分解結合好,但所耗費的時間則比隨機梯度下降法和奇異值分. ‧. 解結合多,顯示經由模型估計與適當的插補,能有效提高預測的準確性。. y. Nat. al. n. . 資料量的大小. Ch. engchi. er. io. 善模型的建議與討論,本研究將其建議整理如下:. sit. 然而,這些模型並非完美,我們尚有推薦系統其他需要重視的問題以及改. i Un. v. 正如之前所提到的,推薦系統面臨最大的問題是評分的稀疏性,若是 沒有龐大的資料訊息,再優秀的推薦系統都無法獲得精準的推薦效果,如 同 Amazon 公司,十年之間累積龐大的使用者與項目的評分資料與行為紀錄, 因此它的推薦系統能夠更有效的達到精準的推薦,增加銷售額,提高獲利 能力。 . 利用其他訊息 實際狀況中,可以利用的評分數據集並不像 Amazon 公司如此龐大,因 此建議可以利用個人潛在特質或是隱藏式訊息(Implicit Information)來 彌補資料量的不足。 35.

(42) 大致上這類訊息資料分為三類,第一類為使用者資料,主要包含人口 基本資料,如年齡、性別、職業、興趣等。第二類為項目資料,包含項目 的屬性與類別,以及項目本身的流行程度與是否為新產品等。第三類為時 間資料,其包含項目上架日期、使用者對項目評分的時間點等。若運用以 上訊息變數改善推薦系統效能,能使結果更貼近實際狀況。 速度與準確度 關於演算法速度與預測準確度是非常有趣並重要的取捨,假若我們想 要非常有效準確預測使用者的行為,我們可能會將學習速率起始值設定為 很小的數值,再者可能讓收斂條件設定為更嚴苛,例如 RMSE 連續上升三次,. 治 政 則倒數第四個 RMSE 值為收斂值,以上這些條件會使準確度提高,但是演算 大 立 法的運算所需時間就會增加,推薦系統的執行效率就會降低。 學. ‧ 國. 反之,若希望縮短矩陣分解得到結果的時間,則可放寬上述等條件,. ‧. 而評分預測結果可能不如嚴苛條件下得到的結果來的好,但還算是一個在. sit. y. Nat. 容許誤差內能夠接受且不錯的推薦系統。因此這兩者的取捨端看研究人員 如何決定他們的推薦系統要如何運作,以及他們欲想得到的預測效果。. io. n. al. er. . Ch. engchi. 36. i Un. v.

(43) 參考文獻及相關目錄 1. Resnick, Paul, et al. "GroupLens: an open architecture for collaborative filtering of netnews." Proceedings of the 1994 ACM conference on Computer supported cooperative work. ACM,1994.. 2. Konstan, Joseph A., et al. "GroupLens: applying collaborative filtering to Usenet news." Communications of the ACM 40.3,1997,pp. 77-87.. 立. 政 治 大. 3. Sarwar, Badrul, et al. "Item-based collaborative filtering. ‧ 國. 學. recommendation algorithms." Proceedings of the 10th international conference on World Wide Web. ACM, 2001.. ‧ y. Nat. io. sit. 4. Linden, Greg, Brent Smith, and Jeremy York. "Amazon. com. n. al. er. recommendations: Item-to-item collaborative filtering." Internet. Ch. Computing, IEEE 7.1,2003,pp. 76-80.. engchi. i Un. v. 5. Paterek, Arkadiusz. "Improving regularized singular value decomposition for collaborative filtering." Proceedings of KDD cup and workshop. Vol. 2007. 2007.. 6. Takács, Gábor, et al. "Major components of the gravity recommendation system." ACM SIGKDD Explorations Newsletter 9.2,2007,pp. 80-83.. 37.

(44) 7. Takacs, Gabor, et al. "On the gravity recommendation system." Proceedings of KDD cup and workshop. Vol. 2007. 2007.. 8. Ma, Chih-Chao. "A Guide to Singular Value Decomposition for Collaborative Filtering.",2008.. 9. Koren, Yehuda. "The bellkor solution to the netflix grand prize." Netflix prize documentation 81,2009.. 立. 政 治 大. 10. Koren, Yehuda, Robert Bell, and Chris Volinsky. "Matrix. ‧ 國. 學. factorization techniques for recommender systems." Computer 8,2009,pp. 30-37.. ‧ y. Nat. io. sit. 11. Gong, Songjie. "A collaborative filtering recommendation algorithm. n. al. er. based on user clustering and item clustering." Journal of. Ch. Software 5.7,2010,pp. 745-752.. engchi. i Un. v. 12. Koren, Yehuda. "Collaborative filtering with temporal dynamics."Communications of the ACM 53.4,2010,pp. 89-97.. 13. Bottou, Léon. "Large-scale machine learning with stochastic gradient descent."Proceedings of COMPSTAT'2010. Physica-Verlag HD, 2010,pp. 177-186.. 38.

(45) 14. 吳金龍,Netflix Prize 中的協同過濾算法,北京大學數學科學學院博士論 文,2010. 15. Ekstrand, Michael D., John T. Riedl, and Joseph A. Konstan. "Collaborative filtering recommender systems." Foundations and Trends in Human-Computer Interaction 4.2,2011,pp. 81-173.. 16. 張孫浩,網路評比資料之統計分析,國立政治大學統計學系碩士論文,2011. 政 治 大. 17. Bottou, Léon. "Stochastic gradient descent tricks." Neural Networks:. 立. Tricks of the Trade. Springer Berlin Heidelberg, 2012,pp. 421-436.. ‧ 國. 學. 18. Zhuang, Yong, et al. "A fast parallel sgd for matrix factorization. ‧. in shared memory systems." Proceedings of the 7th ACM conference on. y. Nat. n. er. io. al. sit. Recommender systems. ACM, 2013.. Ch. i Un. v. 19. 張良卉,矩陣分解法對網路評比資料分析之探討,國立政治大學統計學系碩 士論文,2013. engchi. 20. Fang, Xiaowen. A Study of Recommender Systems with Applications. Diss. UNIVERSITY OF MINNESOTA,2014.. 21. GroupLens Research. Retrieved JUN,2015,from http://www.grouplens.org. 39.

(46)

參考文獻

相關文件

七、請各校踴躍推薦學生擔任評選委員(不限 1 名) ,推薦表及資格規定詳 如附件 3。請於線上填寫推薦表,並上傳核章後之掃描檔,於 110 年 1 月 29

2.本推薦表請於線上填寫完成,並上傳核章後之掃描檔,於 111 年 1 月 22 日(星期六)23 時 59

住友商事株式會社與挪威的 Tomra 系統公司所屬的合資子公司 Tomra(日本)公 司啟動了一個回收中心系統,用於回收 PET 瓶和廢紙,該系統安裝在東京 Machida-shi 福得旺超市的

由於醫療業導入 ISO 9000 品保系統的「資歷」相當資淺,僅有 三年多的年資 11 ,因此,對於 ISO 9000 品保系統應用於醫療業之相關 研究實在少之又少,本研究嘗試以通過

由於 Android 作業系統的開放性和可移植性,它可以被用在大部分電子產品 上,Android 作業系統大多搭載在使用了 ARM 架構的硬體設備上使裝置更加省電

圖 2.31 Piercentransit 系統輸出畫面 (十一)Washington Metropolitan Area Transit Authority(UW2).

LINE 為了打出在海外的知名度,以置入行銷方式出現在劇情畫面中,除了在劇 中多次使用 LINE

本計畫會使用到 Basic Stamp 2 當作智慧型資源分類統的核心控制單元,以 BOE-BOT 面板接收感測元件的訊號傳送給 Basic Stamp 2 判斷感測資料,再由