• 沒有找到結果。

矩陣分解法對網路評比資料分析之探討 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "矩陣分解法對網路評比資料分析之探討 - 政大學術集成"

Copied!
33
0
0

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

全文

(1)國立政治大學商學院統計學系 碩士論文 Department of Statistics of Commerce National Chengchi University Master Thesis. 矩陣分解法對網路評比資料分析之探討. 政 治 大. Online Rating Data. 學. ‧ 國. 立 Techniques for Analysis of Matrix Factorization ‧. n. er. io. sit. y. Nat. al. Ch 研究生:張良卉 i e ngch. i n 撰 U. v. Student: Liang-Hui Chang. 指導教授:翁久幸 博士 Advisor: Ruby Chui-Hsing Weng, PH.D.. 中華民國 102 年 6 月 June, 2013.

(2) 摘要 隨著科技的進步、網路的發達,我們生活在資訊爆炸的社會。許多企業網站 或網路商店在將產品銷售給消費者的過程中,紛紛使用了推薦系統,商家使用網 路作為行銷的手法,消費者也會透過網路尋找自己想要的產品,推薦系統就在這 個環境中產生。 推薦系統根據使用者的特性或喜好,將使用者可能會喜歡的資訊或實物推薦 給使用者。推薦系統的運作方式分成兩大類,第一類是內容導向式推薦系統 (content filtering approach),對所有項目賦予一連串的屬性,再依照使用者 的個人資料和項目屬性做比對,藉此推薦較符合該位使用者喜好的項目。第二類 是合作式推薦系統(collaborative filtering approach),此方法利用的是使用 者彼此之間或是項目與項目之間的關係,其概念是:與使用者有類似喜好的人所 喜歡的東西或是與使用者喜好的東西相似的物品,都可能是使用者也會喜歡的項 目。其方便之處在於只需要使用者對項目的評分資料即可運作。. 立. 政 治 大. ‧. ‧ 國. 學. 合作式推薦系統又包含兩個領域,分別為鄰域法(neighborhood methods) 和潛在因素模型(latent factor models)。鄰域法著重於使用者之間或項目之間 的關係,根據所利用不同的關係又可分為項目導向與使用者導向兩種方法。潛在 因素模型則試著從項目和使用者的評分關係中找出有何潛在因素,矩陣分解法 (matrix factorization)即為其方法之一。. y. Nat. sit. 本研究旨在探討矩陣分解法,矩陣分解法為合作式推薦系統中的潛在因素模. n. al. er. io. 型方法之一。矩陣分解法利用使用者對於項目特性的喜好和項目所具備的特性作 為預測評分的準則,但會影響使用者評分的因素不只這些,可能還包括了使用者 自己的衡量準則、或是項目本身的優良程度,因此可以將這些導致偏差的因素加 入矩陣分解法的模型中來調整預測的結果。因此本研究想探討在加入偏差項以後 的矩陣分解法是否能使預測的結果更準確。. Ch. engchi. i n U. v. 本研究使用來自 Minnesota 大學 GroupLens Research Project 中的 MovieLens 資料來分析。在經過實證分析以後,我們發現加入偏差項的矩陣分解 法比起矩陣分解法在預測上確實能夠提升預測的準確度,但會花較多的時間在運 算上。. 關鍵字:推薦系統、合作式推薦系統、潛在因素模型、矩陣分解法.

(3) Abstract The explosive growth of the internet has led to information overload. Electronic retailers and content providers use recommender systems to meet a variety of special needs and tastes. The retailers use the internet as a marketing method, and the consumers use the internet to find the products they want. Recommender systems then appear. Such systems are particularly useful for entertainment products such as movies, music, and TV shows. Recommender systems recommend the products or the information users may like to them by their characteristic and preference. Recommender systems can be divided to two strategies. One is content filtering approach, which creates a profile for each user or product to characterize its nature. Another is collaborative filtering approach, which relies only on past user behavior without requiring the creation of explicit profiles. Collaborative filtering analyzes relationships between users and interdependencies among products to identify new user-item associations.. 立. 政 治 大. ‧ 國. 學. ‧. The two primary areas of collaborative filtering are the neighborhood methods and latent factor models. Neighborhood methods are centered on computing the relationships between items or, alternatively, between users. Latent factor models are an alternative approach that tries to explain the ratings by characterizing both items and users on factors inferred from the ratings patterns. Matrix factorization techniques are some of the most successful realizations of latent factor models.. er. io. sit. y. Nat. al. n. One benefit of the matrix factorization approach to collaborative filtering is its flexibility in dealing with various data aspects and other application-specific. Ch. engchi. i n U. v. requirements. It tries to capture the interactions between users and items that produce the different rating values. However, much of the observed variation in rating values is due to effects associated with either users or items, known as biases or intercepts, independent of any interactions. This research try to find out whether putting the biases into matrix factorization models makes the prediction more accurate. This research analyzed the MovieLens data from GroupLens Research Project of Minnesota University. We found that adding biasterms to matrix factorization can improve the accuracy of prediction, though it requires a bit more computing time.. Key Words: recommender systems, collaborative filtering approach, latent factor models, matrix factorization.

(4) 目錄 1 緒論. 5. 1.1 研究背景﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 5 1.1.1 推薦系統簡介﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 5 1.2 研究目的﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 6. 2 文獻回顧. 7. 2.1 推薦系統的運作﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 7 2.2 合作式推薦系統﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 7 2.2.1 鄰域法﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 8 2.2.2 潛在因素模型﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 10. 立. 以 IRT 模型分析評比資料的方法﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 10. 學 ‧. 3 研究方法. ‧ 國. 2.3. 政 治 大. 13. n. al. er. io. sit. y. Nat. 3.1 矩陣分解法﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 13 3.2 加入偏差項的矩陣分解法﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 17. 4 實證研究. Ch. engchi. i n U. v. 23. 4.1 實證資料﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 23 4.2 矩陣分解法分析﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 24 4.2.1 矩陣分解法預測結果﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 24 4.2.2 加入偏差項的矩陣分解法預測結果﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 26 4.3 預測結果比較﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 28. 5 結論與建議. 29. 參考文獻及相關書目. 30. 1.

(5) 圖目錄 圖 2.1. Amazon 的網站評分範例。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 11. 圖 2.2. 一些網站的評分展示方式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 11. 圖 4.1. 評分 1 分至 5 分的資料筆數。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 23. 圖 4.2 每人評分的電影數目分布。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 24 圖 4.3. 每部電影評分人數分布。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 24. 圖 4.4 矩陣分解法之五組資料交叉驗證的 值與 MSE 的關係圖。﹒﹒﹒﹒﹒ 27. 政 治 大. 圖 4.5 加入偏差項的矩陣分解法之五組資料交叉驗證的 值與 MSE 的關係 圖。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 28. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 2. i n U. v.

(6) 表目錄 表 2.1. 相關係數法說明範例。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 9. 表 4.1. 評分 1 分至 5 分的資料筆數。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 23. 表 4.2 每人評分的電影數目統計。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 24 表 4.3. 每部電影的評分人數統計。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 24. 表 4.4. 矩陣分解法之正規化平方誤差。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 25. 表 4.5 矩陣分解法之五組資料交叉驗證的 MSE。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 25. 政 治 大. 表 4.6 加入偏差項的矩陣分解法之正規化平方誤差。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 26. 立. 表 4.7 加入偏差項的矩陣分解法之五組資料交叉驗證的 MSE。﹒﹒﹒﹒﹒﹒ 27. ‧ 國. 學. 表 4.8 矩陣分解法與加入偏差項的矩陣分解法所花費之時間比較。﹒﹒﹒﹒ 28. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. 3. i n U. v.

(7) 方程式目錄 方程式 2.1. 相關係數法﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒. 8. 方程式 2.2. 相關係數公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒. 9. 方程式 3.1. 矩陣分解法預測評分公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 13. 方程式 3.2. 以矩陣表示矩陣分解法預測評分公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 13. 方程式 3.3. 矩陣分解法之正規化最小平方法公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 14. 方程式 3.4. 矩陣分解法矩陣𝑃的公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 14. 方程式 3.5. 矩陣分解法矩陣𝑄的公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 15. 方程式 3.6. 加入偏差項之矩陣分解法預測評分公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒ 17. 方程式 3.7. 加入偏差項之矩陣分解法的μ公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒﹒ 17. 方程式 3.8. 加入偏差項之矩陣分解法之正規化最小平方法公式。﹒﹒﹒﹒ 17. 方程式 3.9. 加入偏差項之矩陣分解法解偏差項. 方程式 3.10. 加入偏差項之矩陣分解法解偏差項 的公式。﹒﹒﹒﹒﹒﹒﹒ 19. 方程式 3.11. 加入偏差項之矩陣分解法解矩陣𝑃的公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒ 19. 方程式 3.12. 19. 立. 政 治 大. ‧. ‧ 國. 學. Nat. er. io. sit. y. 的公式。﹒﹒﹒﹒﹒﹒﹒ 18. al. n. v i n Ch 加入偏差項之矩陣分解法解矩陣𝑄的公式。﹒﹒﹒﹒﹒﹒﹒﹒﹒ engchi U. 4.

(8) Chapter 1 緒論 1.1 研究背景 隨著科技的進步,網路已成為現代人生活不可或缺的一部分,各式各樣的訊 息充斥在網路世界,讓使用者可以很方便的獲得想要的資訊,包括實體的產品、 學術文獻、網路文章等。當使用者擁有的訊息越多,便可以更準確的找到想要的 資訊。隨著生活品質提升,人們需求增加,如何快速的從眾多的項目中找到自己 需要的產品就顯得格外重要,推薦系統因運而生。. 政 治 大. 推薦系統(Recommender System)根據使用者的特性或喜好,將使用者可能會 喜歡的資訊或實物推薦給使用者。許多企業網站或網路商店在將產品銷售給消費 者的過程中,紛紛使用了推薦系統,希望將適合的商品推薦給需要的消費者。舉 例來說,像是美國著名的 Amazon 公司,當你瀏覽他們的商品時,他們會將其他. 立. ‧ 國. 學. ‧. 買了這個商品的消費者也買了的產品推薦給你;在美國及紐澳地區的自動音樂推 薦系統 Pandora 電台,使用者輸入自己喜歡的歌曲或歌手,該電台便會播放與之 曲風類似的歌曲;美國的 DVD 租賃公司 Netflix,根據使用者過去對過去看過電 影的評分,以及個人特質與電影特質,推薦消費者可能會喜歡的電影。推薦系統 已成為行銷時重要的工具之一。. sit. y. Nat. n. al. er. io. Netflix 公司在 2006 年舉辦了推薦系統改良的比賽 (www.netflixprize.com),他們提供了 50 萬個匿名顧客以及超過 17,000 部電影 所評分的 1 億筆評分由 1 分至 5 分的資料,參賽隊伍必須利用 7,000 萬筆的資料 當作訓練集進行預測,剩下 3,000 萬筆資料做為測試集,比較各隊伍預測結果的 RMSE(root-mean-square error)。有超過 48,000 個隊伍、來自 182 國家的參賽 者下載了競賽的資料,Koren 等人(2009)成功的改進了 Netflix 原來的推薦系統, 提升了 9.46%的準確度,成為該競賽的優勝隊伍。. Ch. engchi. i n U. v. 1.1.1 推薦系統簡介 推薦系統的運作分成兩大類,第一類是內容導向式推薦系統(content filtering approach),此方法會先對所有項目賦予一連串的屬性(attribute) 並衡量該屬性的分數,再依照使用者的個人資料和項目的屬性做比對,藉此推薦 使用者可能喜歡的項目。第二類是合作式推薦系統(collaborative filtering approach),此方法利用的是使用者彼此之間或是項目與項目之間的關係,其概 念是:與使用者有類似喜好的人所喜歡的東西或是與使用者喜好的東西相似的物 5.

(9) 品,都可能是使用者也會喜歡的項目。合作式推薦系統的方便之處在於不需要像 內容導向式推薦系統一樣需要賦予項目不同屬性,只需要使用者對項目的評分資 料即可運作。 雖然合作式推薦系統現在已經廣泛的被運用,但是由於使用者通常只會對某 些項目評分,例如:看過的電影、閱讀過的書籍等,使得整體的評分資料過於稀 疏(sparse)。當新的使用者加入評分時,沒有相關的資訊能夠作為推薦依據,這 就是 Konstan 等人(1997)指出合作式推薦系統的兩個主要問題: 1. 評分稀疏性問題(rating sparsity problem):通常使用者只會對某些項目 評分,而不會對系統內所有項目都給予評分。若系統項目過多,容易造成 評分資料過於稀疏(sparse)。如果兩兩使用者間共同評分的項目太少時, 也不容易計算彼此的相關係數。. 政 治 大. 2. 冷卻起始問題(cold-start problem):當有新的使用者加入時,還沒有任 何他的相關資訊,因此系統沒有辦法當下進行推薦,需要等他對一定次數. 立. 項目的評分以後,才有辦法對這位使用者作推薦。. ‧ 國. 學. ‧. 有鑒於此,有一些公司結合了內容導向式推薦系統與合作式推薦系統,採用 這兩種方法的優點來運作,除了利用使用者的評分還加入了使用者的資訊與項目 的屬性,來解決合作式推薦系統可能會面臨的評分稀疏性問題與冷卻起始問題, 這樣的系統可稱為混和式系統(hybrid system)。. n. al. er. io. sit. y. Nat. 1.2 研究目的. Ch. i n U. v. 本研究旨在探討矩陣分解法,矩陣分解法為合作式推薦系統中的潛在因素模 型方法之一。矩陣分解法利用使用者對於項目特性的喜好和項目所具備的特性作 為預測評分的準則,但會影響使用者評分的因素不只這些,可能還包括了使用者 自己的衡量準則、或是項目本身的優良程度,因此可以將這些導致偏差的因素加 入矩陣分解法的模型中來調整預測的結果。因此本研究想探討在加入偏差項以後 的矩陣分解法是否能使預測的結果更準確。. engchi. 本論文一共分為五章:第一章為緒論,說明研究背景以及研究目的;第二章 為文獻回顧;第三章為研究方法;第四章為實證研究,介紹研究資料來源、實證 結果及預測結果比較;第五章為結論與建議。. 6.

(10) Chapter 2 文獻回顧 本章節介紹相關研究的文獻。第一節介紹推薦系統的運作,分成內容導向式 推薦系統和合作式推薦系統。第二節介紹合作式推薦系統的兩個領域,分別為鄰 域法和潛在因素模型。第三節回顧以 Item Response Theory(IRT)模型分析評比 資料的方法。. 2.1. 推薦系統的運作. 推薦系統是針對使用者在所有項目(item)之中的評分,推論出每位使用者的 喜好,並給予每位使用者建議的系統。使用者可藉由使用推薦系統得到自己想要 或可能會喜歡的資訊。推薦系統的程序為:蒐集使用者對項目的評分資料,根據 統計與分析資料的結果進行推薦,使用者也可更進一步根據推薦的項目喜好與否 給予回饋,更新使用者的資料。. 立. 政 治 大. ‧ 國. 學. 推薦系統的運作方式分成兩大類,第一類是內容導向式推薦系統(content. ‧. filtering approach),此方法是利用使用者過去所有的評比資料來分析。首先 會將所有的項目賦予一連串的屬性(attribute),並衡量該屬性的分數,再依照 使用者的個人資料和項目屬性做比對,藉此推薦較符合該位使用者喜好的項目。 例如 Pandora Radio 便是根據 Music Genome Project 所提供的若干關於歌曲及. sit. y. Nat. n. al. er. io. 歌手的屬性,並針對聽眾的回饋給予聽眾相對之屬性評估,藉此比對出使用者與 項目之契合度。. Ch. engchi. i n U. v. 第二類是合作式推薦系統(collaborative filtering approach),此方法利 用的是使用者彼此之間或是項目與項目之間的關係,其概念是:與使用者有類似 喜好的人所喜歡的東西或是與使用者喜好的東西相似的物品,都可能是使用者也 會喜歡的項目。例如另一個音樂推薦系統 Last.fM,便是以合作式方法為基礎。 由於本研究主要探討的是屬於合作式推薦系統的矩陣分解法,故下一節將對 合作式推薦系統多作說明。. 2.2. 合作式推薦系統. 合作式推薦系統是以使用者與項目之間互相依賴的程度作為推薦的依據。這 個方法主要的概念是:先選取出與使用者有相似喜好的其他使用者,將這些使用 者集合成一個群體,並計算出這個群體內的使用者彼此之間的相關係數,這些使 用者也會對一部分其他項目評分,因此我們可以結合使用者之間的相關係數與他 7.

(11) 們對其他項目的喜好程度這兩個關係,來推薦其他可能有興趣的項目給該使用 者。 合作式推薦系統的優點在於:包含的領域廣泛,不需要像內容導向式推薦系 統一樣需要賦予項目各種屬性,只要有使用者對項目評分的資料就可以運作。 Koren(2010)也指出因此合作式推薦系統在近十年受到相當大的注意,被一些成 功的商業系統如:Amazon, TiVo採用。 合作式推薦系統又包含兩個領域,分別為鄰域法(neighborhood methods) 和潛在因素模型(latent factor models)。以下兩小節就這兩種方法分別作說 明。. 2.2.1 鄰域法. 政 治 大. 鄰域法著重於使用者之間或項目之間的關係,根據所利用不同的關係又可分 為項目導向與使用者導向兩種方法。項目導向(item-oriented approach)是藉由 同一個使用者對鄰近項目的評分來評估該使用者對於某項項目的偏好程度,鄰近 項目指的是同一使用者評分的項目中,與該項目有相近評分的其他項目,也就是 說,使用者會偏好與自己喜歡的項目類似之物品,因此我們可以根據使用者喜歡 的項目去作推薦。使用者導向(user-oriented approach)則是利用與該使用者偏 好相似的使用者的評分作為推薦的根據,也就是擁有相似喜好的使用者,他們喜 歡的其他東西也會類似,因此我們可以將類似喜好使用者所喜歡的東西當作推薦 的依據。. 立. ‧. ‧ 國. 學. er. io. sit. y. Nat. Resnick 等人(1994)提出 GroupLens 系統,用於 Netnews 的文章推薦,使用 相關係數法來衡量使用者之間的相似程度,以使用者對項目的評分作為依據去尋 找喜好相似的使用者評分過的項目來推薦。. n. al. Ch. engchi. i n U. v. 以下說明該系統預測的運作情形:針對一個項目𝑝,想要預測使用者𝑟評分項 目𝑝的分數,首先要先找出有評該物件的其他使用者,然後計算使用者𝑟與其他使 用者間的相關係數,以觀察使用者彼此之間的相似度,並從(2.1)式預測使用者 評分的分數。 𝑦̂𝑟𝑝 = 𝑦̅𝑟. +. ∑𝑗∈𝑅∗(𝑦𝑗𝑝 −𝑦̅𝑗. )𝑦̂𝑟𝑝 ×𝜌 ̂ 𝑟𝑗 ∑𝑗∈𝑅∗|𝜌 ̂ 𝑟𝑗 |. (2.1). 其中𝑦̅𝑟. 為使用者𝑟所有評分分數的平均,但評分項目𝑝的分數不列入計算;𝑅 ∗ 為 有評項目𝑝的評分者之集合,而兩位評分者𝑎、 之間評分的相關係數計算如方程 式(2.2):. 8.

(12) 𝜌̂𝑎𝑏 =. 𝐶𝑜𝑣(𝐴,𝐵) √𝑉𝑎𝑟(𝐴)𝑉𝑎𝑟(𝐵). =. ∑𝑖∈𝑅′ (𝑦𝑎𝑖 −𝑦̅𝑎 )(𝑦𝑏𝑖 −𝑦̅𝑏 ). (2.2). √∑𝑖∈𝑅′ (𝑦𝑎𝑖 −𝑦̅𝑎 )2 (𝑦𝑏𝑖 −𝑦̅𝑏 )2. 其中𝑅 ′ 為使用者𝑟與評分項目𝑝的使用者有共同評分項目的交集,𝑦̅𝑎 為使用者𝑎與 使用者𝑟的有評分焦急項目的平均評分。這條方程式是以使用者𝑟本身的平均評分 為基準,再加上使用者𝑟與其他使用者的相關程度作為加權指標。 此方法會先選取一群與使用者有相近喜好的鄰近夥伴(Nearest Neighbors), 每個鄰近夥伴與使用者都存在一個喜好相近的指數,喜好越相近、指數也越高, 而每個鄰近夥伴與資料庫中的每個項目也存在著對此項目喜好程度的評估,利用 這兩個關係加入權重的概念來評估使用者可能較有興趣的項目。 以下用一個例子來說明GroupLens在推薦文章時系統用來預測的運作情形, 見表2.1。例如:系統決定是否推薦使用者A編號6的文章時,必須先預測使用者A 對於編號6文章的評分。系統會先看有哪些人也評比過編號6的文章。由表2.1得 知,有評比編號6文章的使用者有B和C兩位,因此系統會先計算使用者A和B以及. 政 治 大. 立. ‧. ‧ 國. 學. 使用者A和C之間的相關係數,分別為𝜌̂𝐴𝐵 與𝜌̂𝐴𝐶 。根據(2.2)式可求得:使用者A 和使用者B之間的相關係數𝜌̂𝐴𝐵 為−0.8,使用者A和使用者C之間的相關係數𝜌̂𝐴𝐶 為 1,代表使用者B的評分標準與使用者A大致上是相反的,而使用者C的評分標準與 使用者A呈正相關。將結果帶入(2.1)式即可計算出使用者A對於編號6文章的評分 預測為4.56,四捨五入為5分,因此系統會推薦他編號6的文章。. n. a A l B C. 1. 3. 4. 5. 1. 5 4 2 n C U 4 h 2e n 1 5 gchi 2. D E. 2. er. io 使用者. sit. y. Nat. 文章編號. 3. F 表2.1. 4. 3 4. 3. 3. 3. 6. iv. 7. 2 5 4. 3. 2. 3 5. 相關係數法說明範例。. 然而這種方法實際在計算時有兩個問題需要注意: 1. 評分稀疏性問題(rating sparsity problem):在1.1.1節介紹合作式推薦 系統所面臨的第一個問題。由於一個人通常只會評分一部分項目,因此這 9.

(13) 類的評分資料大部分很零散、稀疏,整個資料會有不少遺漏值,如果兩位 評分者間的評分只有一個交集,則無法評估他們的相關性,甚至評分者𝑟與 其他評分者的共同評分項目毫無交集的話,亦無從預測起,無法透過(2.2) 式計算相關係數,也無法計算(2.1)式。 2. 由於這個公式牽涉到兩位使用者之間的相關係數,而相關係數的算法又是 共編數除以兩者標準差的乘積,所有一位使用者都是預測為同一個分數, 則會造成該位使用者評分的變異數為0,史的相關係數的公式分母也為0, 導致相關係數無法求得,也無法計算出(2.1)式。. 2.2.2 潛在因素模型 潛在因素模型(Latent factor models)則試著從項目和使用者的評分關係中 找出有何潛在因素會影響評分結果。例如我們可以將電影分成含有多少恐怖片和 喜劇片的成分,以及使用者對恐怖片和喜劇片喜好的程度,在這裡的恐怖片與喜 劇片就是一個潛在因素。. 立. 政 治 大. ‧. ‧ 國. 學. Koren等人(2009)介紹矩陣分解法(matrix factorization)來建立潛在因素 模型。矩陣分解法將評分者與產品都對應到一個𝑚維的潛在因素間,更具體來說, 若使用者𝑢各人之潛在特性以向量𝑝 表示,項目𝑖所具備的潛在特性以向量𝑞 表示, 𝑝 與𝑞 皆為維度𝑚的向量。兩者的內積可代表使用者𝑢對於項目𝑖之喜好程度。例 如:我們認為性別是影響使用者對電影評分的潛在因子,假設男性特質為1、女 性特質為-1,則就使用者而言,性格越偏向男性的人,𝑝 向量中代表性別潛在因. sit. y. Nat. n. al. er. io. 子的值便越接近1,性格越偏向女性的人,𝑝 向量中代表性別潛在因子的值便越 接近-1;就電影而言,越偏向男性的電影像是武打片、戰爭片等,𝑞 向量中代表 性別潛在因子的值便越接近1,越偏向女性的電影像是愛情片、文藝片等,𝑞 向 量中代表性別潛在因子的值便越接近-1;將𝑝 與𝑞 內積後的結果即為預測的評分, 所以性格越男性的人在評較偏男性的電影時,𝑝 與𝑞 內積的值越大,也就是他很 可能會喜歡這部電影。. Ch. engchi. i n U. v. 但會影響使用者評分的因素不只這些,可能還包括了使用者自己的衡量準則、 或是項目本身的優良程度,因此可以將這些導致偏差的因素加入矩陣分解法的模 型中來調整預測的結果。. 2.3 以 IRT 模型分析評比資料的方法 推薦系統已經在生活中廣泛的被應用。Ho 和 Quinn(2008)對於目前網路上的 評分展出方式提出三點瑕疵: 1. 沒有考慮到統計上的不確定性。使用者通常只根據網路上的評分平均來判 10.

(14) 斷產品的品質,比較少注意所有評分者的評分資訊,且有些網站也不會提 供這類的資訊。 2. 有些使用者對於產品的品質較無判別能力。這些判別能力較弱的使用者在 評分時大多只評幾個特定的分數,例如:一律評 3 分或 5 分,這些分數可 能會誤導其他使用者對項目品質的認知。. 政 治 大 圖 2.1 Amazon 的網站評分範例,該商品雖平均約為 2.5 分,可是觀察評分的內 立 容會發現實際上是個評價兩極的產品。. ‧ 國. 學 ‧. 3. 目前大多數網站的呈現的評分數都以「1 分、2 分、3 分、4 分、5 分」表 示,並將整體評分的平均數四捨五入,損失了小數點部分的資訊。僅有少 數的網站評分保留了一位小數位數,如 Netflix。. sit. y. Nat. io. al. n. TiVo. er. Amazon. Netflix. Ch. 圖 2.2. engchi. i n U. v. 一些網站的評分展示方式. 他們針對這三點問題利用試題反映理論(Item Response Theory, IRT)作為研究 的起始點,並將各種可能被評分的後驗機率以圖形的方式呈現。試題反映理論原 本是在測量一位受試者在作答某一試題表現的情形,可由他們所具備的潛在能力 或特質加以預測或解釋,他們在此運用這項理論作為建立模型的基礎,以解釋使 用者評分項目的各個可能性,並以圖表的方式表現。 張孫浩(2011)比較了 IRT 模型法、相關係數法以及矩陣分解法,其中 IRT 模型法是透過建立模型,以圖型的方式來展示使用者評比一個項目之各種評分的 11.

(15) 機率值,用來做預測時是取最高機率值對應的項目作為預測數值的標準,但是當 所有評分分數被預測到的機率相近時,取最大機率值預測很容易出現錯誤,所以 此方法主要用來觀察項目的品質以及使用者評分時的判別能力,但是預測的準確 性並不是很高。相關係數法的優點在於只要利用現有的評分資料就能夠預測使用 者的評分,不需要進行參數的假設,但是缺點包含了 1.1.1 節所提到推薦系統本 身都會有評分稀疏性問題以及冷卻起始問題,在沒有參數假設之下,只能被動地 等評分數多一些時才能較準確的推薦使用者可能會喜歡的項目。矩陣分解法的優 點也是只需要現有的評分資料、不需要參數的假設就能夠預測使用者的評分,但 是其作出的分量只是最佳化的結果,實際上無法解釋這些分量和數字的意義。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 12. i n U. v.

(16) Chapter 3 研究方法 上一章提到的潛在因素模型(latent factor models)是試圖將評分以若干潛 在之因素解釋。以電影評分的資料來說,潛在之因素可能包含喜劇成分、是否屬 於動作片、適合兒童之程度等等,從某個角度來看,這些因素類似於內容導向式 模型(content filtering approach)中所說的屬性,然而這裡講的潛在因素是藉 由計算而得到的數量,這些數量到底對應的因素是什麼其實並不明確。 許多成功體現潛在因素模型的方法都是根基於矩陣分解法。本章分為兩節: 第一節介紹矩陣分解法。第二節介紹加入偏差項的矩陣分解法。使用的統計軟體 為 Matlab。. 立. 3.1 矩陣分解法. 政 治 大. ‧ 國. 學. ‧. Koren 等人(2009)介紹矩陣分解法(matrix factorization)來建立潛在因素 模型。矩陣分解法將評分者與產品都對應到一個𝑚維的潛在因素間,更具體來說, 若使用者𝑢各人之潛在特性以向量𝑝 表示,項目𝑖所具備的潛在特性以向量𝑞 表示, 𝑝 與𝑞 皆為維度𝑚的向量。兩者的內積可代表使用者𝑢對於項目𝑖之喜好程度。令 𝑦 代表使用者𝑢對項目𝑖之評分,所以矩陣分解法的主要挑戰在於計算出這些潛 在特性向量。使用者𝑢對於項目𝑖的評分評估如(3.1)式:. n. 𝑦̂. Ch. = 𝑝 𝑇𝑞. engchi U. er. io. sit. y. Nat. al. v ni. (3.1). ̂的估計矩陣可以分解成為兩個矩陣: 因此,整個評分資料Y 𝑌̂ = 𝑃𝑇 𝑄. (3.2). 其中𝑃 = [𝑝1 , 𝑝2 , … , 𝑝𝐾 ]𝑅×𝑚 為所有使用者對於項目特性的喜好程度,𝑄 = [𝑞1 , 𝑞2 , … , 𝑞𝐾 ]𝑚×𝐾 為所有項目所具備特性程度的矩陣表示。 矩陣分解法之主要工作在於計算出這些潛在特色向量𝑝 與𝑞 。早期是利用奇 異值分解法(singular value decomposition, SVD)對矩陣分解,由於不是所有 人都會對於全部項目加以評分,因此這樣的資料會產生一些遺漏值,若要使用傳 統的奇異值分解法會按照現有的評分為依據來補足遺漏值,但差補法填入的數值 不是真正的評分值,這樣做會扭曲資料的真實性。因此近期則使用既有的評分資 料,透過正規化(regularized)的建模方式以避免過度配適(overfitting)的情形。 為了求出𝑝 與𝑞 ,先寫出正規化最小平方法得到的形式: 13.

(17) min𝑝,𝑞 ∑(. , )∈𝜅[(𝑦. − 𝑝 𝑇 𝑞 )2 + (‖𝑝 ‖2 + ‖𝑞 ‖2 )]. (3.3). 其中𝜅為training set中𝑦 已知的(𝑢, 𝑖)所成的集合。 再用最佳化的方法求解。 在固定 的情況下,要解方程式(3.3),相當於要解𝑝 和𝑞 (即解出𝑃和𝑄)。 我們可以先假定𝑞 , ∀𝑖為已知,利用最小平方法解出𝑝 , ∀𝑢後再解新的𝑞 ,反覆這 兩個步驟直到𝑃和𝑄矩陣都收斂為止,這種方法稱為交錯最小平方法 (Alternating Least Squares, ALS)。對於參數 則利用交叉驗證(cross validation)的方式選取適當的值。 我們先固定𝑞 = 𝑞 ∗ 以便解𝑝 ,此時針對特定的𝑢 ∈ {1 … 𝑅}之下求解𝑝 做最小 平方法的程序如下:. 立. ∑ [(𝑦 − 𝑝 𝑇 𝑞 ∗ ( , )∈𝜅. 2. 2. ∗ 2. 學. ‧ 國. 𝜕 𝜕𝑝. 政 治 大 ) + (‖𝑝 ‖ + ‖𝑞 ‖ )] = 0 , u ∈ {1 … 𝑅}. ‧. 其中𝜅為training set中𝑦 已知的(𝑢, 𝑖)所成的集合。令𝑀 = {i: 𝑦 ≠ null}代表 評分資料矩陣𝑌𝑅×𝐾 中的第𝑢列有評分值的行所成的集合,即使用者𝑢所評分的項 目之集合,𝑚 為#{𝑀 }。上式可簡化為:. y. Nat. sit. ∈𝑀𝑢. n. al. er. io. 𝜕 ∑ [(𝑦 − 𝑝 𝑇 𝑞 ∗ )2 + 𝑝 𝑇 𝑝 ] = 0 𝜕𝑝. ⇒. ⇒. Ch. i n U 𝑇. v. 𝜕 ‖𝒚𝒖∙ − 𝑃𝑇 𝑸∗ ‖2 + 𝑝 𝑝 = 0 𝜕𝑝. engchi. 𝜕 (𝒚𝒖∙ − 𝑃𝑇 𝑸∗ )𝑇 (𝒚𝒖∙ − 𝑃𝑇 𝑸∗ ) + 𝑝 𝑇 𝑝 = 0 𝜕𝑝. ⇒ 𝑝 = (𝑸∗ 𝑇 𝑸∗ + 𝐈)−1 𝑸∗ 𝑇 𝒚𝒖∙ ,for 𝑢 ∈ {1 … 𝑅}. (3.4). 其中𝒚𝒖∙ 為一𝑚 × 1之向量,其各項之值對應使用者𝑢所評之𝑚 個評分。𝑸∗ 為一 𝑚 × 𝑚之矩陣,其列向量由{𝑞 ∗ , 𝑖 ∈ 𝑀 }所組成。 同理,對於所有的𝑞 做最小平方法可得: −1. 𝑞 = (𝑷∗ 𝑇 𝑷∗ + 𝐈) 𝑷∗ 𝑇 𝒚∙𝒊 ,for 𝑖 ∈ {1 … 𝐾} 14. (3.5).

(18) 其中𝒚∙𝒊 為一𝑛 × 1之向量,其各項之值對應項目𝑖所評之𝑛 個評分。𝑷∗ 為一𝑛 × 𝑚 之矩陣,其列向量由{𝑝 ∗ , 𝑢 ∈ 𝑁 }所組成。𝑁 = {u: 𝑦 ≠ null}代表評分資料矩陣 𝑌𝑅×𝐾 中的第𝑖行有評分值的列所成的集合,即有給予項目𝑖評分的使用者所成之集 合,𝑛 為#{𝑁 }。 這一節使用 Koren 等人(2009)所提出的矩陣分解理論,將評分資料矩陣𝑌近 似地分解成𝑃和𝑄兩個矩陣之乘積,並利用交錯最小平方法(ALS)求解。本研究關 於𝑃和𝑄的維度以𝑚 = 2來做分析。我們是利用 5 褶交叉驗證(5-fold cross validation)來選取 值,具體來說,給定十組 值,針對每組 值我們進行如下之 作法:將實際的資料分為五組,每次遮住其中一組(20%)的資料當作測試集 (testing set),利用剩下四組的資料作為訓練集(training set)來建立模型, 並根據建立出的模型預測測試集的數值,比較預測的數值與測試集的實際值,計 算各組的平均平方誤差(Mean Square Error, MSE),再將五組平均平方誤差取平 均觀察預測的結果,這就是交叉驗證的預測誤差。然後比較十組 值對應之預測 誤差,最小之預測誤差所對應的 值就是我們所要選取的值。. 政 治 大. 學. ‧ 國. 立. 以下為本研究使用矩陣分解法的步驟:. ‧. sit. er. al. n. 6. 7.. 0.9, 1, 2, 3, 4, 5。 隨機生成2 × K維度矩陣𝑄的數值。 利用方程式(3.4)求出𝑃,再利用方程式(3.5)求出新的𝑄。 重複步驟 4,直到𝑃、𝑄兩個矩陣皆收斂為止。收斂條件是矩陣𝑃與前一個𝑃相 減以後的平方和小於 0.0001、且矩陣𝑄的與前一個𝑄相減後的平方和小於 0.0001。 將收斂的兩個矩陣相乘生成矩陣𝑌̂,(𝑌̂ = 𝑃𝑄)。 將矩陣𝑌̂的各項數值四捨五入,若數值小於 1 則設為 1,若數值大於 5 則設. io. 3. 4. 5.. y. Nat. 1. 將資料分為五組,每次遮住一組(20%)資料當作測試集,剩下四組資料當作 訓練集建立模型。 2. 利用交叉驗證的方式決定 的數值,給定十組 值分別為 0.5, 0.6, 0.7, 0.8,. Ch. engchi. 為 5,調整後的數值即為預測的結果。 8. 紀錄預測結果和 MSE。. 本研究使用矩陣分解法的演算法(Algorithm): 1. CV = data_ artition(1: 5) 2. Generate 𝑄 (0) = 𝑟𝑎𝑛 𝑛2×𝑅 3. = [0.5, 0.6, 0. , 0.8, 0. , 1, 2, , 4, 5] 15. i n U. v.

(19) 4.. 𝑖 = 1: 10 = [i] [i] = 0 CV = 1: 5 ma _it ration = 0 ma _it ration 𝑛 = 1,2, …. 1000. 𝑃(𝑛) = (𝑄 𝑇 𝑄 + I)−1 𝑄𝑇 𝑦 𝑄. (𝑛). ∙. = (𝑃 𝑃 + I) 𝑃 𝑦∙ 𝑛. 𝐈 (. −1 𝑇. 𝑇. −. 𝑛−1 2. ). 0.0001. (. 𝑚. −. 𝑚−1 2. ). 0.0001. ma _it ration = ma _it ration + 1 𝐈 ma _it ration == 1001 ( i r ). 政 治 大. Y at = (𝑛) × (𝑛) Y at = round(Y at) 1 5. Y at = 1 Y at = 5. ‧. 𝐈 Y at 𝐈 Y at. 學. [i] + ∑(Y − Y at )2. y. Nat. [i] =. io. sit. ,. er. ‧ 國. 立. n. al. Ch. engchi. i n U. v. 註:data_ artition(1: 5)為事先寫好的副程式,將資料隨機分成五組。. 3.2 加入偏差項的矩陣分解法 Koren 等人(2009)認為,項目的評分不只受到使用者對於項目特性的喜好𝑝 以及項目所具備的特性𝑞 影響,還包括使用者自己的衡量準則、項目的優良程度 的影響。只用𝑝 𝑇 𝑞 來預測評分結果是不夠的,因此將各別使用者偏差 與項目 的偏差 加入評分評估,利用偏差 = 𝜇 + + 來修正評分,𝜇為所有觀測值 的平均。加入偏差項的評分評估如(3.6)式: 𝑦̂. =𝜇+. +. 16. + 𝑝 𝑇𝑞. (3.6).

(20) 其中,𝜇為所有觀測值的平均: 𝜇= #{. ∑(𝑢,𝑖)∈𝜅 𝑦𝑢𝑖 , :𝑦𝑢𝑖 =!𝑛 𝑙𝑙}. , 𝜇 ∈ ℝ1. (3.7). 利用正規化最小平方法得到的形式: min 𝑄( , , 𝑞, 𝑝). (3.8). 𝑏, ,𝑞,𝑝. 其中𝑄 ( , , 𝑞, 𝑝) = ∑( = ( 1, … ,. 𝑅 ),. =(. , )∈𝜅[(𝑦 1, … ,. −𝜇−. 𝐾 ),𝑝. 2. − 𝑝 𝑇 𝑞 )2 + (‖𝑝 ‖2 + ‖𝑞 ‖2 +. −. = (𝑝1 , … , 𝑝𝑅 ),𝑞 = (𝑞1 , … , 𝑞𝑘 ),𝜅為. +. 2. )],. training set 中𝑦 已. 知的(𝑢, 𝑖)所成的集合。. 政 治 大. 要解方程式(3.8),相當於要解 、 和𝑝 、𝑞 ,在這裡我們同樣使用交錯 最小平方法(Alternating Least Squares, ALS)依序來分解 、 和𝑝 、𝑞 。交 錯最小平方法步驟如下:. 4. 固定. (𝑛). 、. (𝑛). 、. (𝑛). 和𝑞 (𝑛−1) ,解. = ar min 𝑄( , , 𝑞, 𝑝)。 𝑏𝑢. (𝑛). = ar min 𝑄( , , 𝑞, 𝑝)。 𝑖. 和𝑞 (𝑛−1) ,解𝑝. io. (𝑛). (𝑛−1). Nat. 3. 固定. 、𝑝. (𝑛). 和𝑞 (𝑛−1) ,解. 和𝑝. (𝑛). = ar min 𝑄( , , 𝑞, 𝑝)。 𝑝𝑢. ,解𝑞 (𝑛) = ar min 𝑄( , , 𝑞, 𝑝)。 𝑞𝑖. n. al. (𝑛). y. (𝑛). (𝑛−1). sit. 2. 固定. 、𝑝. Ch. er. (𝑛−1). ‧. 1. 固定. 學. ‧ 國. 立. i n U. v. 重複以上的步驟直到 、𝑞 與矩陣𝑃、矩陣𝑄都收斂為止,也就是向量 與 上一輪得到的向量 相減之平方和小於一個極小的數值;同理, 、矩陣𝑃、矩 陣𝑄與上一輪得到的 、矩陣𝑃、矩陣𝑄相減的平方和也要小於一個給定的極小數 值,即達到收斂。對於參數 則利用交叉驗證(cross validation)的方式選取適 當的值。. engchi. (0). , 𝑝 = 𝑝 (0) , 的方法如下:. 上述交錯最小平方法解的推導如下:我們先固定 = 𝑞 = 𝑞 (0) 來解 ,此時針對特定的𝑢 ∈ {1,2, … , 𝑅}之下求解 𝜕 𝜕. ∑ [(𝑦 − 𝜇 −. (0). −𝑝. (0) 𝑇. 𝑞 (0) −. 2. ) + (‖𝑝. (0). 2. ‖ + ‖𝑞. (0). (0) 𝑇. 2. +. (0) 2. )] = 0. ( , )∈𝜅. 其中𝜅為training set中𝑦 已知的(𝑢, 𝑖)所成的集合。令𝑦 𝑝. 2. ‖ +. 𝑞 (0) ,則上式可化簡為: 17. ′. =𝑦 −𝜇−. (0). −.

(21) 𝜕 𝜕. ′. ∑ [(𝑦. )2 + (. −. 2. )] = 0. ( , )∈𝜅. 因此我們可以得到: (1). = ∑ ∈𝑀𝑢. 𝑇 (𝑦𝑢𝑖 −𝜇− 𝑖 ( ) −𝑝𝑢 ( ) 𝑞𝑖 ( ) ). for 𝑢 ∈ {1 … R}. 𝑚𝑢 +. (3.9). 其中𝑀 = {i: 𝑦 ≠ null}代表評分資料矩陣𝑌𝑅×𝐾 中的第𝑢列有評分值的行所成的 集合,即使用者𝑢所評分的項目之集合,𝑚 為#{𝑀 }。 接著固定𝑝 = 𝑝 (0) , 𝑞 = 𝑞 (0) ,並代入 (1) 來解 ,此時針對特定的 𝑖 ∈ {1,2, … , 𝐾}之下求解 做最小平方法的程序如下: ∑ [(𝑦 − 𝜇 −. (1). ( , )∈𝜅. −𝑝. 立. (0) 𝑇. 政 治 大 2. 𝑞 (0) −. ) + (‖𝑝. (0). 2. ‖ + ‖𝑞. (0). ′′. 其中𝜅為training set中𝑦 已知的(𝑢, 𝑖)所成的集合。令𝑦 𝑞 (0) ,則上式可化簡為: ′′. )2 + (. −. n ∈𝑁𝑖. 2. )] = 0. ( , )∈𝜅. al. =𝑦 −𝜇−. (1). −. sit. ∑ [(𝑦. io =∑. )] = 0. y. Nat. 𝜕 𝜕. 因此我們可以得到: (1). 2. er. (0). +. ‧. 𝑝. (1) 2. 2. ‖ +. 學. ‧ 國. 𝜕 𝜕. Ch. engchi. 𝑇 ( ) (𝑦𝑢𝑖 −𝜇−𝑏𝑢 −𝑝𝑢 ( ) 𝑞𝑖 ( ) ). 𝑛𝑖 +. i n U. v. for 𝑖 ∈ {1 … 𝐾}. (3.10). 其中𝑁 = {u: 𝑦 ≠ null}代表評分資料矩陣𝑌𝑅×𝐾 中的第𝑖行有評分值的列所成的 集合,即有給予項目𝑖評分的使用者所成之集合,𝑛 為#{𝑁 }。 接著固定𝑞 = 𝑞 (0),並代入. (1). ,. (1). 來解𝑝 ,此時針對特定的𝑢 ∈ {1 … 𝑅}之. 下求解𝑝 做最小平方法的程序如下: 𝜕 𝜕𝑝. ∑ [(𝑦 − 𝜇 −. (1). −. (1). 2. 2. (0) − 𝑝 𝑇 𝑞 (0) ) + (‖𝑝 ‖2 + ‖𝑞 ‖ +. (1) 2. +. (1) 2. )] = 0. ( , )∈𝜅. 其中𝜅為training set中𝑦 已知的(𝑢, 𝑖)所成的集合。令𝑀 = {i: 𝑦 ≠ null}代表 評分資料矩陣𝑌𝑅×𝐾 中的第𝑢列有評分值的行所成的集合,即使用者𝑢所評分的項 18.

(22) 目之集合,𝑚 為#{𝑀 }。上式可簡化為: 𝜕 ∑ [(𝑦 − 𝜇 − 𝜕𝑝. (1). −. (1). 2. − 𝑝 𝑇 𝑞 (0) ) + 𝑝 𝑇 𝑝 ] = 0. ∈𝑀𝑢. 為了方便計算,我們可以令𝒚𝒖∙ ∗ = 𝑦 − 𝜇 −. (1). −. (1). 𝜕 2 ‖𝒚𝒖 ∗ − 𝑸∗ 𝑇 𝑃‖ + 𝑝 𝑇 𝑝 = 0 𝜕𝑝. ⇒. ⇒ 𝑝 = (𝑸∗ 𝑇 𝑸∗ + 𝐈)−1 𝑸∗ 𝑇 𝒚𝒖∙ ∗ 其中𝒚𝒖∙ ∗ = 𝑦 − 𝜇 −. (3.11). 政 治 大. , for 𝑢 ∈ {1 … 𝑅}為一𝑚 × 1之向量,其各項之值對 應使用者𝑢所評之𝑚 個評分減掉評分的偏差。𝑸∗ 為一 𝑚 × 𝑚之矩陣,其列向量 由{𝑞 ∗ , 𝑖 ∈ 𝑀 }所組成。 −. 學. ‧ 國. 立. −1. 同理可得,𝑞 = (𝑷∗ 𝑇 𝑷∗ + 𝐈) 𝑷∗ 𝑇 𝒚∙𝒊 ∗. ‧. 其中𝒚∙𝒊 = 𝑦 − 𝜇 −. (3.12). , for 𝑖 ∈ {1 … 𝐾}為一𝑛 × 1之向量,其各項之值對應 項目𝑖所評之𝑛 個評分減掉評分的偏差。𝑷∗ 為一𝑛 × 𝑚之矩陣,其列向量由 {𝑝 ∗ , 𝑢 ∈ 𝑁 }所組成。𝑁 = {u: 𝑦 ≠ null}代表評分資料矩陣𝑌𝑅×𝐾 中的第𝑖行有評 −. sit. y. Nat. io. n. al. er. 分值的列所成的集合,即有給予項目𝑖評分的使用者所成之集合,𝑛 為#{𝑁 }。. v. 利用以上的公式推導,我們可以得到第一輪交錯最小平方法的參數解,而接 下來的步驟公式亦同。. Ch. engchi. i n U. 這一節使用 Koren 等人(2009)所提出的加入偏差項的矩陣分解理論,將評分 資料矩陣𝑌近似地分解成𝑃和𝑄兩個矩陣的乘積加上偏差項 與 ,並利用交錯最 小平方法(ALS)求解。本研究關於𝑃和𝑄的維度以𝑚 = 2來做分析。我們是利用 5 褶交叉驗證(5-fold cross validation)來選取 值,具體來說,給定十組 值, 針對每組 值我們進行如下之作法:將實際的資料分為五組,每次遮住其中一組 (20%)的資料當作測試集(testing set),利用剩下四組的資料作為訓練集 (training set)來建立模型,並根據建立出的模型預測測試集的數值,比較預測 的數值與測試集的實際值,計算各組的平均平方誤差(Mean Square Error, MSE), 再將五組平均平方誤差取平均觀察預測的結果,這就是交叉驗證的預測誤差。然 後比較十組 值對應之預測誤差,最小之預測誤差所對應的 值就是我們所要選取 的值。. 19.

(23) 以下為本研究使用加入偏差項的矩陣分解法之步驟: 1. 將資料隨機分為五組,每次遮住一組資料當作測試集,剩下四組資料當作 訓練集建立模型。 2. 利用交叉驗證的方式決定 的數值,給定十組 值 1 到 10。 3. 利用(3.7)式計算𝜇值,𝜇值為所有評分資料之平均。 4. 隨機生成維度R × 1向量 (0) 、維度R × 2的矩陣𝑄 (0) 、維度2 × K矩陣𝑃 (0) 之 數值。 5. 利用方程式(3.9)求出 ,利用方程式(3.10)求出新的 ,利用方程式(3.11) 求出新的𝑃,再利用方程式(3.12)求出新的𝑄。 6. 重複步驟 5 直到向量 、 與矩陣𝑃、𝑄皆收斂為止,收斂條件為向量 與前 一個 相減的平方和小於 0.0001、且向量 與前一個 相減的平方和小於 0.0001、且矩陣𝑃與前一個𝑃相減的平方和小於 0.0001、且矩陣𝑄與前一個𝑄 相減的平方和小於 0.0001。 7. 將收斂的兩個矩陣𝑃、𝑄與兩個偏項差 、 代回方程式(3.6)生成矩陣𝑌̂, (𝑌̂ = 𝜇 + + + 𝑃𝑄)。 8. 將矩陣𝑌̂的數值四捨五入,若數值小於 1 設為 1,若數值大於 5 則設為 5, 調整後的數值即為預測的結果。 9. 紀錄預測結果和 MSE。. 政 治 大. 立. ‧. ‧ 國. 學. sit. y. Nat. 本節使用加入偏差項後矩陣分解法的演算法(Algorithm):. al. er. io. 1. CV = data_ artition(1: 5) ∑(𝑢,𝑖)∈𝐿 𝑦𝑢𝑖. n. 2. Calculate 𝜇= #{. Ch. , |𝑦𝑢𝑖 =!𝑛 𝑙𝑙}. engchi. i n U. v. 3. Generate (0) = 𝑟𝑎𝑛 𝑛𝑅×1 ,𝑃(0) = 𝑟𝑎𝑛 𝑛𝐾×2 ,𝑄 (0) = 𝑟𝑎𝑛 𝑛2×𝑅 。 4. = [1, 2, , 4, 5, 6, , 8, , 10] 5. 𝑖 = 1: 10 = [i] [i] = 0 CV = 1: 5 ma _it ration = 0 ma _it ration 𝑛 = 1,2, … (𝑛). = ∑ ∈𝑀𝑢. (𝑛). = ∑ ∈𝑁𝑖. 1000 (𝑦 − 𝜇 − − 𝑝 𝑞 ) 𝑚 + (𝑦 − 𝜇 − − 𝑝 𝑞 ) 𝑛 + 20.

(24) 𝑃(𝑛) = (𝑄 𝑇 𝑄 + I)−1 𝑄𝑇 𝑦 𝑄. (𝑛). 𝐈 (. −1 𝑇. 𝑇. ∙. = (𝑃 𝑃 + I) 𝑃 𝑦∙ (𝑛). (𝑛). and(. (𝑛−1) 2. −. 0.0001 and(d(𝑛) − d(𝑛−1) )2. ). −. (𝑛−1) 2. ). (𝑛). 0.0001 and(. −. (𝑛−1) 2. ). ma _it ration = ma _it ration + 1 𝐈 ma _it ration == 1001 ( i r ) Y at = 𝜇 + (𝑛) + Y at = round(Y at) 𝐈 Y at 𝐈 Y at. 1 5. (𝑛). +. (𝑛). (𝑛). ×. Y at = 1 Y at = 5. 政 治 大 立[i] = [i] + ∑(Y − Y at. )2. ,. ‧. ‧ 國. 學. n. al. er. io. sit. y. Nat. 註:data_ artition(1: 5)為事先寫好的副程式,將資料隨機分成五組。. Ch. engchi. 21. i n U. v. 0.0001 0.0001.

(25) Chapter 4 實證研究 4.1 實證資料 我們使用的資料是來自 Minnesota 大學 GroupLens Research Project (http://movielens.umn.edu),以下稱 MovieLens 資料。內容包含了從 1997 年 9 月 19 日到 1998 年 4 月 22 日,總共 943 位使用者對 1682 部電影評分共計 100,000 筆的電影評分資料,每部電影的評分由低至高為 1 到 5 分。此筆資料簡單統計如 下:. 政 治 大. 評分 1 分至 5 分各有 6110,11370,27145,34174,21201 共 100,000 筆, 全部評分之平均值約為 3.5 分。平均每人評了 106 部電影,每人最少都評了 20. 立. ‧ 國. 學. 部電影,最多則評了將近 600 部。每部電影平均有 59 人給予評分,最多有將近 800 人給予評分。. ‧. 這筆資料也包含了各評分者的基本資料,如性別、年齡、職業等,以及電影 的基本資料,如電影名稱、電影上檔日期、DVD 發行時間、電影類型等,還包括 評分的時間。但本研究沒有使用這些訊息。. n. er. io. sit. y. Nat. al. 圖 4.1. Ch. engchi. 評分 1 分至 5 分的資料筆數。. 表 4.1. 22. i n U. v. 評分. 筆數. 1分. 6110. 2分. 11370. 3分. 27145. 4分. 34174. 5分. 21201. 評分 1 分至 5 分的資料筆數。.

(26) 每人評分的電影數目分布。. 立. 表 4.2. 100 以下. 1348. 101~200. 217. 201~300. 85. 301~400. 2. 401~500. 8. 500 以上. 4. 每人評分的電影數目統計。. 政 治 大. 評分人數. 電影數. 100 以下. 582. 101~200. 213. 201~300. ‧. 95. 301~400. 38. 401~500. 10. 501~600. 2. ‧ 國. 學. 601~700. v n i 700 以上. n. al. er. io. sit. Nat. 圖 4.3. 人次. y. 圖 4.2. 電影數. Ch. 2 1. engchi U 每部電影評分人數分布。 表 4.3 每部電影的評分人數統計。. 4.2 矩陣分解法分析 本節以 MovieLens 資料為分析的依據,比較加入偏差項以後的矩陣分解法對 於預測結果比起基本型矩陣分解法是否能有所改進。. 4.2.1 矩陣分解法預測結果 利用交錯最小平方法(ALS)解出矩陣分解後的兩個矩陣。在執行交錯最小平 方解(3.3)式時,有個正規參數 須做選擇,在此先選取 10 組 值,利用五褶交叉 驗證(5-fold cross validation)的方式來決定,每一組訓練測試集都要遮住一 23.

(27) 組(20%)資料建立模型,並計算出該模型的 MSE,再選擇可以使平均 MSE 最小的 值。 將預測的結果代回(3.3)式可以得到正規化平方誤差(regularized squared error),見表 4.4。 訓練測試集 1. 2. 3. 4. 5. 平均. 0.5. 3.5096 3.4979 3.5091 3.5202 3.4852 3.5044. 0.6. 3.5561 3.5431 3.5540 3.5660 3.5311 3.5501. 0.7. 3.6020 3.5863 3.5997 3.6100 3.5754 3.5947. 0.8. 3.6451 3.6356 3.6453 3.6551 3.6178 3.6398. 0.9. 3.6907 3.6766 3.6897 3.7012 3.6619 3.6840. 1. 3.7334 3.7195 3.7326 3.7435 3.7046 3.7267. 2. 4.1502 4.1407 4.1429 4.1600 4.1244 4.1436. 3. 4.5571 4.5429 4.5496 4.5637 4.5272 4.5481. 4. 4.9436. 5. 政 治 大 4.9576 4.9354 4.9409 4.9592 4.9251 立 5.3376 5.3146 5.3245 5.3333 5.3090. 矩陣分解法之正規化平方誤差。. ‧ 國. 學. 表 4.4. 5.3238. ‧. 將預測的評分與實際評分相減的平方和求得 MSE,並選擇可以使平均 MSE 最 小的 值,選取的 值與 MSE 如表 4.5(粗體字代表該組中最小的 MSE) , 值與 MSE 的關係如圖 4.4。. n. al. 3. 4. 5. er. io. 2. sit. y. Nat 1. 訓練測試集. v i n C h 0.9393 0.9587U 0.9436 0.9416 engchi. 平均. 0.5. 0.9342 0.9445 0.9414 0.9583 0.9456 0.9448. 0.6. 0.9331. 0.7. 0.9314 0.9396 0.9386 0.9585 0.9432 0.9422. 0.8. 0.9321 0.9389 0.9378 0.9582 0.9429 0.9420. 0.9. 0.9310 0.9382 0.9373 0.9571 0.9429 0.9413. 1. 0.9306 0.9384 0.9365 0.9565 0.9444 0.9413. 2. 0.9318 0.9359 0.9395 0.9564 0.9421 0.9411. 3. 0.9366 0.9415 0.9419 0.9601 0.9501 0.9460. 4. 0.9437 0.9452 0.9482 0.9671 0.9577 0.9524. 5. 0.9509 0.9505 0.9545 0.9785 0.9636 0.9596 表 4.5. 0.9432. 矩陣分解法之五組資料交叉驗證的 MSE。. 24.

(28) 圖 4.4. 政 治 大. 矩陣分解法之五組資料交叉驗證的 值與 MSE 的關係圖。. 立. 從表 4.5 可看出在 MovieLens 資料中,5 次不同的訓練測試集之下,利用交. ‧ 國. 學. 叉驗證能使 MSE 最小的 值大部分皆為 2,因此將 設為 2。. ‧. 4.2.2 加入偏差項的矩陣分解法預測結果. sit. y. Nat. 利用交錯最小平方法(ALS)解出加入偏差項的矩陣分解法之兩個矩陣𝑃、𝑄與 兩個偏差項 、 。在執行交錯最小平方解(3.8)式時,有個正規參數 須做選擇, 在此先選取 10 組 值,利用五褶交叉驗證的方式來決定,每一組訓練測試集都要. n. al. er. io. 遮住一組(20%)資料建立模型,並計算出該模型的 MSE,再選擇可以使平均 MSE 最小的 值。將預測的結果代回(3.8)式可以得到正規化平方誤差,見表 4.6。. 1. 2. Ch. engchi. 訓練測試集 3. 4. i n U 5. v. 平均. 1. 3.1348 3.1471 3.1305 3.1223 3.1271 3.1323. 2. 3.2132 3.2250 3.1931 3.2002 3.2059 3.2075. 3. 3.2756 3.2926 3.2506 3.2610 3.2674 3.2694. 4. 3.3283 3.3386 3.3087 3.3096 3.3131 3.3197. 5. 3.3795 3.3705 3.3576 3.3580 3.3588 3.3649. 6. 3.4219 3.4238 3.4022 3.3942 3.4024 3.4089. 7. 3.4580 3.4589 3.4374 3.4316 3.4413 3.4454. 8. 3.4913 3.4949 3.4728 3.4665 3.4736 3.4798. 9. 3.5232 3.5217 3.5055 3.5017 3.5060 3.5116. 10. 3.5572 3.5452 3.5336 3.5349 3.5385 3.5419. 表 4.6. 加入偏差項的矩陣分解法之正規化平方誤差。 25.

(29) 將預測的評分與實際評分相減的平方和求得 MSE,並選擇可以使平均 MSE 最 小的 值,選取的 值與 MSE 如表 4.7(粗體字代表該組中最小的 MSE) , 值與 MSE 的關係如圖 4.5。 訓練測試集 1. 2. 3. 4. 5. 1. 0.9273 0.9314 0.9377 0.9464 0.9315 0.9347. 2. 0.9219 0.9201 0.9300 0.9399 0.9280 0.9281. 3. 0.9161 0.9182 0.9286 0.9311 0.9261 0.9240. 4. 0.9131 0.9169 0.9263 0.9266 0.9204 0.9192. 5. 0.9018 0.9097 0.9201 0.9276 0.9228 0.9164. 6. 0.9051 0.9089 0.9163 0.9269 0.9201 0.9155. 7. 0.9075 0.9121 0.9173 0.9276 0.9214 0.9171. 8. 0.9077 0.9143 0.9174 0.9284 0.9207 0.9177. 9. 0.9199 0.9225. 加入偏差項的矩陣分解法之五組資料交叉驗證的 MSE。. 學. 表 4.7. 政 治 大 0.9092 0.9165 0.9212 0.9302 0.9222 立 0.9123 0.9207 0.9244 0.9310 0.9242. ‧. ‧ 國. 10. n. al. er. io. sit. y. Nat. 圖 4.5. 平均. Ch. engchi. i n U. v. 加入偏差項的矩陣分解法之五組資料交叉驗證的 值與 MSE 的關係圖。. 從表 4.2 可看出在 MovieLens 資料中,5 次不同的訓練資料之下,利用交叉 驗證能使 MSE 最小的大部分皆為 6,因此將 設定為 6。. 26.

(30) 4.3 預測結果比較 比較基本型以及加入偏差項的矩陣分解法,基本型的矩陣分解法 值為 2 時 有最小的平均 MSE(0.9411),加入偏差項的矩陣分解法在 值為 6 時有最小的平 均 MSE(0.9155)。從表 4.5 與表 4.7 的五組訓練測試集的平均 MSE 結果可以明顯 的發現:加入偏差項的 MSE 皆比沒有加偏差項的 MSE 來的小。因此加入偏差項以 後確實可以讓我們對評分結果的預測誤差減小,有效的提升預測的準確性。 在準確度提升的同時,會犧牲了計算的時間,需要花比較多的時間進行預測 以達到更精確的結果。以下就預測所花的時間比較: 方法. 花費時間. 矩陣分解法. 3076.869242 秒 (約 51 分 16 秒). 治 政 4125.232777 大秒. 加入偏差項的矩陣分解法. 立. (約 1 小時 8 分 45 秒). ‧ 國. 學. 表 4.8 矩陣分解法與加入偏差項的矩陣分解法所花費之時間比較。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. 27. i n U. v.

(31) Chapter 5. 結論與建議. 根據本研究發現,加入偏差項的矩陣分解法比基本型的矩陣分解法所預測的 評分結果更好,這顯示了人類行為中,自己的衡量準則與項目的優良程度的確會 影響資料的準確性,所以當我們加入這兩個變數進去以後,便能將資料的結果導 向更為理性的方向。 然而此模型並非完美的,通常我們在處理這方面的資料時,資料量都不會太 大,因此我們可以使用一些個人潛在的特質來增加我們的資料量,像是使用者瀏 覽過的商品很可能也是他會感興趣的商品。另外,我們也可以將人的喜好加入時 間變數,目前我們將個人的喜好視為固定的,不管時間過了多久,同一個人對同 樣的東西喜好不會改變,但是在現實生活中,人們的喜好是會隨著時間的改變而 更動的,因此考慮時間變項可以幫助我們解決這個問題。還有,所有變數對於同 一種物品影響的權重並非都相同,像是有很多人都推薦某部電影,大多數的人會. 立. 政 治 大. ‧ 國. 學. 因為許多人強力的推薦而對這部電影有所好感,那這個變數所占的權重就會很大。 這些方法都能更進一步的改進預測的模型,使得預測的結果更接近實際上的狀 況。. ‧. MovieLens 資料還提供了關於使用者以及電影的其他訊息,像是使用者的性 別、年齡、職業等,以及電影的上檔日期、DVD 發行時間、電影類型等,甚至還 紀錄了使用者評分的時間。本研究探討的是合作式推薦系統中的矩陣分解法,因 此只使用了使用者的評分資料來預測,沒有使用 MovieLens 資料所提供的其他訊. sit. y. Nat. n. al. er. io. 息,因此也可以加入這些訊息來幫助預測的準確性。如上一段所述,人的喜好也 可能會隨著時間而改變,因此我們可以加入使用者評分的時間這個變數進去來幫 助提升預測的準確性。. Ch. engchi. 28. i n U. v.

(32) 參考文獻及相關書目 1. Paul Resnick, Neophytos Iacovou, Mitesh Suchak, Peter Bergstrom, and John Riedl (1994), “GroupLens: An Open Architecture for Collaborative Filtering of Netnews,” Proceedings of ACM 1994 Conference on Computer Supported Cooperative Work, Chapel Hill, pp. 175-186. 2. Joseph A. Konstan, Bradley N. Miller, David Maltz, Jonathan L. Herlocker, Lee R. Gordon, and John Riedl (1997), “GroupLens: Applying Collaborative Filtering to Usenet Nwes,” Comminications of the ACM, Mar1997, Vol. 40, Issue 3, pp. 77-87.. 政 治 大. 3. Kwok-Wai Cheung, Kwok-Ching Tsui, and Jiming Liu (2004), “Extended Latent Class Models for Collaborative Recommendation,” IEEE Transactions on Systems, Man Cybernetics: Part A, Jan 2004, Vol. 34, Issue 1, pp. 143-148.. 立. ‧. ‧ 國. 學. 4. Wenye Li, Kin-hong Lee, and Kwong-sak Leung (2006), “Generalized Regularized Least-Squares Learning with Predefined Features in a Hilbert Space,” Neural Information Processing Systems – NIPS, pp. 881-888.. sit. y. Nat. 5. J. Bennet, and S. Lanning, “The Netflix Prize,” KDD Cup and Workshop, 2007; www.netflixprize.com.. n. al. er. io. 6. Daniel E. Ho, and Kevin M. Quinn (2008), “Improving the Presentation and Interpretation of Online Ratings Data with Model-Based Figures,” The Amreican Statistician, Nov 2008, Vol. 62, Issue 4, pp. 279-288.. Ch. engchi. i n U. v. 7. Martijn Kagie, Matthijs van der Loos, and Michiel van Wezel (2009), “Including item characteristics in the probabilistic latent semantic analysis model for collaborative filtering,” AI Communications, 22, 2009, pp. 249-265. 8. Yehuda Koren, Robert Bell, and Chris Volinsky (2009), “Matrix Factorization Techniques for Recommender Systems,” IEEE Computer Society, Aug 2009, Vol.42, Issue 8, pp. 42-49. 9. Yehuda Koren (2010), “Collaborative Filtering with Temporal Dynamics,” Comminications of the ACM, APR 2010, Vol. 53, Issue 4, pp. 89-98. 10. 張孫浩 (2011), 網路評比資料之統計分析, 國立政治大學統計學系碩士論文 11. Netflix. Retrieved JUN, 2013, from http://www.netflix.com 29.

(33) 12. Amazon. Retrieved JUN, 2013, from http://www.amazon.com 13. TiVo. Retrieved JUN, 2013, from http://www.tgc-taiwan.com.tw/index.php 14. GroupLens Research. Retrieved Nov, 2013, from http://www.grouplens.org. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 30. i n U. v.

(34)

參考文獻

相關文件

„ 傳統上市場上所採取集群分析方法,多 為「硬分類(Crisp partition)」,本研 究採用模糊集群鋰論來解決傳統的分群

2-1 化學實驗操作程序的認識 探究能力-問題解決 計劃與執行 2-2 化學實驗數據的解釋 探究能力-問題解決 分析與發現 2-3 化學實驗結果的推論與分析

推理論證 批判思辨 探究能力-問題解決 分析與發現 4-3 分析文本、數據等資料以解決問題 探究能力-問題解決 分析與發現 4-4

搜集 / 分析 再作探究 資料.. 一起試教

閱讀劇本 了解劇情 文學賞析 音樂欣賞 創作背景、 配器法等 不同版本 深入探討 與原著的 關係 作出評論.

Hofmann, “Collaborative filtering via Gaussian probabilistic latent semantic analysis”, Proceedings of the 26th Annual International ACM SIGIR Conference on Research and

根據研究背景與動機的說明,本研究主要是探討 Facebook

本研究將針對 TFT-LCD 產業研發單位主管與研發人員進行 探討,並就主管於研發人員對職能重視程度作差異性分析。因此