發表文章

目前顯示的是 10月, 2017的文章

如何利用Azure Machine Learning快速建立推薦系統

圖片
現在數位服務越來越多元,要讓消費者能有更好的體驗,就必須要精準的掌握消費者的喜好。針對每個服務的機會,我們都希望能快速掌握消費者的偏好,提供最好的推薦。無論消費者是在尋找一部可能喜歡看的商品、去附近可能喜歡的餐廳、還是一本可能喜歡閱讀的書,或者是對於可以在Facebook或LinkedIn上聯繫的具有類似興趣的人,都希望能有一個好的自動推薦系統。 推薦系統無所不在,如何快速搭建屬於自己的推薦系統,並上線服務持續優化它的準確度,就是提高競爭力的關鍵。這次展示的就是利用微軟發佈的Azure Machine Learning快速開發上線推薦系統,提供更廣泛的個人和企業用戶來使用,以便為他們自己的客戶提供更優質的服務。 推薦系統是如何運作? 一般來說,推薦系統中涉及兩種類型,我們稱之為用戶(User)和品項(Item)。 用戶是你想要提出建議的人,而品項是你想推薦給他們的東西,比如電影,書籍,網頁,食譜,甚至其他人。 假設,我們想根據在你的資料庫中,此用戶和其他用戶為某些餐廳提供的評價,向給定用戶推薦一家餐廳。 我們可以將推薦任務分為兩步: 針對每個餐廳,預測用戶會如何評價它,例如, 給五星評級還是一顆星。  從符合條件餐館列表推行評分排序,推薦我們預測該用戶會給最高評分的餐廳。 但是,我們如何預測特定用戶如何評價他實際上沒有任何評價的餐廳呢? 這是機器學習(Machine Learning, ML)發揮作用的地方。 如何預測評分? 為了構建一個可以預測的機器學習模型,對於給定的用戶/項目組合,用戶如何評價項目,我們需要收集的數據包含用戶ID(userID)、品項ID(itemID)、評分(rating),可以將其視為一個大型矩陣,將用戶視為行,將品項視為列,將評分當作輸入的值。 用戶品項評分矩陣概念圖 (From Wiki) 這會是一個稀疏矩陣(sparse matrix, 有很多空格都會沒有資料),因為大多的用戶只會對一小部分品項進行評分。 在Azure ML中的Bayesian 推薦系統(如果你對Bayesian推薦系統的數學模型有興趣,可以下載 這篇 來研究),就是用已經存在的用戶/品項配對評估資訊數據來訓練模型,預測出特定的用戶或品項的評分。 這些評分不只可以用在於五星評級,也可以用在 其他如購買,點擊,註...