iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 3
0
Data Technology

Data Science with Azure系列 第 3

[03][Machine Learning - 推薦系統] 怎麼使用模型最上手

https://ithelp.ithome.com.tw/upload/images/20171221/2010363286da2uKVtZ.png

前情提要: 在上一篇 [Machine Learning - 推薦系統]演算法 我們已經學習了推薦系統的四個簡單的概念。也學習到如何設定Train Matchbox Recommender這個模組的參數。今天要來學習有關於Azure ML推薦系統的預測種類。

  • Score Matchbox Recommender

Score Matchbox Recommender

在Score Model這件事情上,要先有一個概念是:在訓練模型的時候,只會拿部分的資料去做訓練,讓模型學習(約70-80%),剩餘的少部分(約20-30%)才會是被拿去做測試的資料。測試的目的是想了解:訓練出來的模型在應用到真實的場景(未知狀態)的時候表現如何。因此在Azure ML只要看到Score Model相關的模組,都可以看到它的輸入,一定要是 已經訓練好的模型(trained dataset)測試資料集(dataset to score) 。在推薦系統的Score Matchbox Recommender當中,它提供了4個評估模型的方式,使用者可以依照自己的使用情境選擇要用哪一種。

https://ithelp.ithome.com.tw/upload/images/20171221/20103632nan5ZE3O8W.png

在昨天的文章當中,我們已經了解到:Azure ML當中的推薦演算法是基於content-based+collaborative filtering。如果你是一個已經在這個電商當中有數筆行為記錄的使用者,透過content-based,演算法會專注在你和產品互動的行為上,推薦給你類似的產品。而collaborative filtering則是使用在新用戶,透過新用戶的一些特徵值,找到相似的另一位舊的用戶,透過用戶已給的評價建立的矩陣,算出這位新用戶可能會喜歡的商品。累積幾次行為記錄之後,則又結合content-based給予用戶推薦。因此,基於這樣背景的演算法可以用在四種場景:

1.Predict ratings

給定一位使用者和商品,預測使用者會給這個商品幾分。

因此在提供訓練資料集的時候,
必定要提供user-item-score的資料,
使用者的特徵可放可不放。
選擇Predict ratings這個選項時,
一般來說則不需要另外設定參數。

註記:如果前面訓練(train matchbox)時沒有放使用者的特徵進去訓練,
那Score Model的時候放的測試資料也不要放使用者的特徵進去,
否則會有錯誤訊息。同樣的,物品的特徵值處理狀況也是如此。

2.Recommend items

給定一位使用者,預測使用者會喜歡的前幾項商品。

這個模組當中又根據你想推薦的商品分三個情境(Recommended item selection):
1.從所有商品當中推薦給使用者(包含已被使用者評分過、全新商品)
2.已被使用者評分過的商品
3.全新商品

這三種情境你都需要告訴演算法:
你想要推薦幾樣商品給使用者。(Top1? Top3? Top5?)

而在第2種模式當中會特別需要定義:
已被使用者評分過的商品是"至少被幾位使用者評分過的商品"。

3.Find related users

給定一位使用者,找到與他/她類似的使用者。

這個模組會需要選擇,從哪些使用者當中選擇推薦的給你。
如果這個模型是要發佈成web service或者是產品,則選From All Users。

如果只是在測試階段,
則可以選擇From Users That Rated Items。
這個選項會透過其他也評分過商品的使用者來評估這個模型的準度。

4.Find related items

給定一項商品,找到與它類似的物件。

最後一個情境,和情境2很類似,
會請你從三種不同範圍的商品範圍中當中選擇推薦給你的商品:
1.從所有商品當中推薦給使用者(包含已被使用者評分過、全新商品)
2.已被使用者評分過的商品
3.全新商品

在設定好之後,如果按下run。就可以在output的visualize看到以下圖表:
分別是針對每項商品找最相近的5項商品做推薦。
https://ithelp.ithome.com.tw/upload/images/20171221/20103632be53UXCsuG.png

大家看到這邊可能心裡面已經有各種想像:
同樣一跟二都是推薦物品給使用者,第二種(Recommend Items)一次可以給三項或五項商品,可以放在商品頁的"看過這個商品的人也看..."。而第一種(Predict Ratings)則是可以應用在更精準的推薦,例如系統可以設置只有高於8分或9分的,才出現在使用者面前,這種方式可能久久才推薦給使用者一個商品,但一推薦就很讓使用者心動。

至於第三種(Find Related Users)和第四種(Find Related Items)的應用情境大家也可以想看看,也許不一定是電商,例如交友網站,例如美劇13 reasons why當中的一美元情人節(透過填寫個人喜好,幫你配對另一半),都可以是使用推薦系統的機會。最後是商品與商品之間的配對...也許在那些構思行銷文案已久的夜裡,可以幫找到它與其他的商品有同樣的特性,也許是讓這些商品輕鬆銷出去的另一種可能。

https://ithelp.ithome.com.tw/upload/images/20171222/20103632keXKsnnwN0.png

至於Score Model之後的Evaluate Recommender,
要透過什麼指標來看看模型的好壞,以及後面的數學意義,我們明天再來繼續討論。


reference
Score Matchbox Recommender
https://msdn.microsoft.com/library/en-us/Dn905970.aspx
圖片來源
https://www.instagram.com/p/Bc93c4cF8p6/
https://www.instagram.com/p/Bc-HCWZljn3/


上一篇
[02][Machine Learning - 推薦系統] 演算法介紹
下一篇
[04][Machine Learning - 推薦系統] 精準與否看這裡
系列文
Data Science with Azure12

尚未有邦友留言

立即登入留言