建議總覽
推薦系統是機器學習在商業上最成功也最廣泛的應用。您可以利用推薦系統,協助使用者找到絕佳內容,避免遭到巨量內容淹沒。舉例來說,Google Play 商店提供數百萬個應用程式,而 YouTube 上則有數十億部影片,應用程式和影片的數量每天都在增加。使用者可透過搜尋找到新內容,但這會受限於所用的搜尋字詞。如果使用推薦系統,就能向使用者推薦他們可能沒想過要搜尋的內容。詳情請參閱推薦系統總覽。
推薦系統中的機器學習演算法通常分為以下幾類:
- 依據內容篩選:根據商品相似度提供建議。舉例來說,如果使用者觀看了兩部可愛的貓咪影片,推薦系統就能向該使用者推薦更多可愛的動物影片。
- 協同過濾:根據使用者之間的相似程度 (以使用者查詢為依據) 提供建議。舉例來說,如果使用者 A 搜尋的內容與使用者 B 相似,且使用者 B 喜歡影片 1,那麼推薦系統可以向使用者 A 推薦影片 1,即使使用者 A 從未觀看與影片 1 相似的影片。
矩陣分解模型
矩陣分解模型廣泛用於推薦系統,做為協同過濾方法。
在矩陣因數分解模型中,使用者項目配對會對應至二維矩陣,其中一個軸代表不重複使用者,另一個軸則代表不重複項目。使用者對項目的評分會顯示在矩陣的儲存格中。 這個矩陣不必填滿,因為使用者通常不會為每個項目提供值。矩陣分解模型的目標是建立兩個較小的密集權重矩陣,相乘後可近似原始矩陣儲存格值,並為空白矩陣儲存格提供預測評分。
其中一個較小的矩陣包含一個軸上的不重複使用者,以及另一個軸上的潛在因素數量,如 CREATE MODEL 陳述式的 NUM_FACTORS 選項所指定。另一個較小的矩陣則包含一個軸上的不重複項目,以及另一個軸上的潛在因素數量。在這個矩陣中,潛在因子權重是由用於訓練模型的演算法產生,依據是輸入矩陣中的使用者項目組合。
詳情請參閱「矩陣分解」。
您可以使用矩陣分解模型搭配 ML.RECOMMEND 函式,提供建議。
其他建議模型
如要擴充協同過濾式推薦系統,使其功能超出矩陣分解模型可達成的範圍,可以使用深層類神經網路 (DNN) 和廣度和深度模型,並搭配 ML.PREDICT 函式來提供推薦內容。這些模型可納入查詢和項目特徵,提升推薦內容的關聯性。詳情請參閱下列資源:
- 使用深層類神經網路模型提供建議
- Deep Neural Networks for YouTube Recommendations
- Wide & Deep Learning for Recommender Systems
建議的知識
只要在 CREATE MODEL 陳述式和推論函式中使用預設設定,即使沒有太多機器學習知識,也能建立及使用建議模型。不過,具備機器學習開發的基本知識,尤其是推薦模型,有助於您同時最佳化資料和模型,進而獲得更出色的結果。建議您使用下列資源,熟悉機器學習技術和程序: