建议概览
推荐系统是机器学习在商业中最成功和最广泛的应用之一。您可以使用推荐系统来帮助用户在大量内容中找到感兴趣的内容。例如,Google Play 商店提供数百万个应用,YouTube 提供数十亿个视频,并且每天都会新增更多应用和视频。用户可以使用搜索功能查找新内容,但受其所用的搜索字词的限制。推荐系统可以推荐用户自己可能未曾想到要搜索到的内容。如需了解详情,请参阅推荐系统概览。
推荐系统中的机器学习算法通常分为以下类别:
- 基于内容的过滤:使用内容之间的相似度来提供建议。例如,如果用户观看了两个可爱猫咪的视频,则推荐系统可以向该用户推荐更多可爱动物的视频。
- 协同过滤:利用用户之间的相似度(基于用户查询)来提供建议。例如,如果用户 A 搜索了与用户 B 相似的内容,而用户 B 喜欢视频 1,那么即使用户 A 没有观看任何类似的视频,推荐系统也可以向用户 A 推荐视频 1。
矩阵分解模型
矩阵分解模型被广泛用作推荐系统的协同过滤方法。
在矩阵分解模型中,用户-推荐项对会映射到二维矩阵,其中一个轴是唯一用户,另一个轴是唯一推荐项。用户对项给出的评分位于矩阵的单元格中。此矩阵不需要填满;在大多数情况下,用户不会为每个项提供值。矩阵分解模型的目标是创建两个较小的密集权重矩阵,当它们相乘时,近似于原始矩阵单元格的值,并为空矩阵单元格提供预测评分。
其中一个较小的矩阵在一侧包含唯一用户数,在另一侧包含潜在因子数,如 CREATE MODEL
语句的 NUM_FACTORS
选项所指定。另一个较小的矩阵包含一个轴上的唯一项,以及另一个轴上的潜在因子数量。在此矩阵中,隐含因子权重由用于训练模型的算法根据输入矩阵中的用户-商品组合生成。
如需了解详情,请参阅矩阵分解。
您可以将矩阵分解模型与 ML.RECOMMEND
函数搭配使用来作出推荐。
其他推荐模型
如需扩展基于协同过滤的推荐系统,使其功能不仅仅局限于使用矩阵分解模型所实现的那一部分,您可以将深度神经网络 (DNN) 和 Wide & Deep 模型与 ML.PREDICT
函数搭配使用来作出推荐。这些模型可以整合查询和内容特征来提高推荐的相关性。如需了解详情,请参阅以下资源:
推荐的知识
通过使用 CREATE MODEL
语句和推理函数中的默认设置,即使您没有太多机器学习方面的知识,也可以创建和使用推荐模型。不过,具备机器学习开发(尤其是推荐模型)方面的基本知识有助于您优化数据和模型,从而取得更好的效果。我们建议您使用以下资源熟悉机器学习技术和流程: