【51CTO.com快译】推荐系统用于从零售、新闻到媒体的各行各业。如果你之前用过根据你之前看过或买过的内容提供建议的流媒体服务或电子商务网站,就与推荐系统打过交道。由于大量数据可供使用,许多公司将推荐系统作为关键的收入驱动因素。然而找到合适的推荐算法对数据科学家来说可能很耗时。这就是为什么微软提供了附带Python***实践示例的GitHub存储库,便于用Azure Machine Learning服务构建和评估推荐系统。
什么是推荐系统?
推荐系统主要有两种:协作过滤和基于内容的过滤。协作过滤(常用于电子商务场景)识别用户与他们评价的品类之间的交互,从而推荐他们之前并未见过的新品类。基于内容的过滤(常被流媒体服务使用)识别有关用户概况或品类描述的特点,以便推荐新内容。这两种方法还可以组合成一种混合方法。
推荐系统使客户在商家网站上停留的时间更长,他们与更多的产品/内容进行交互,并推荐客户可能购买的产品或内容。下面,我们将介绍这个存储库是什么、如何为构建和实施推荐系统的数据科学家减少麻烦。
为数据科学家简化流程
推荐算法GitHub存储库提供了用于构建推荐系统的示例和***实践,以Jupyter笔记本的形式来提供。这些示例详细介绍了我们对五项关键任务的了解:
- 数据准备:为每种推荐算法准备和加载数据。
- 建模:使用各种经典和深度学习推荐算法来构建模型,比如交替最小二乘(ALS)或极深因子分解机(xDeepFM)。
- 评估:用离线度量指标评估算法。
- 模型选择和优化:为推荐模型调整和优化超参数。
- 运作:在Azure上的生产环境中运作模型。
reco utils中提供了几个实用程序以支持常见任务,比如加载采用不同算法支持的格式的数据集,评估模型输出,以及分割训练/测试数据。实施了几种***进的算法,用于自学或者在企业组织或数据科学家自己的应用环境中定制。
下图显示了存储库中可用的几种推荐算法。我们总是在添加更多的推荐算法,请进入到GitHub存储库,查看***列表。
下面较详细地介绍推荐算法存储库如何解决数据科学家的痛点。
1. 评估推荐算法的不同选项很耗时。
推荐算法GitHub存储库的一大优点是它提供了一组选项,显示哪些算法最适合解决某些类型的问题。它还提供了如何在不同算法之间切换的粗略框架。如果模型性能准确度不够,则需要一种更适合实时结果的算法,或者起初选择的算法并非最适合使用的数据类型,数据科学家应换成不同的算法。
2. 选择、理解和实施推荐算法系统的新模型可能成本很高。
从头开始选择合适的推荐算法并为推荐系统实施新模型可能成本很高,因为除了大量的计算能力外,还需要足够的时间来训练和测试。推荐算法GitHub存储库简化了选择过程,通过节省数据科学家测试许多不适合其项目/场景的算法方面的时间来节省成本。再结合Azure的各种定价选项,可降低数据科学家的测试成本和企业的部署成本。
3. 实施更先进的算法难度很大。
被要求构建推荐算法系统时,数据科学家常常将目光投向更常用的算法,以减少选择和测试更先进算法所需要的时间和成本,即使这些更先进的算法可能更适合项目/数据集。推荐GitHub存储库提供了一套知名且***进的最适合某些场景的推荐算法。它还提供了***实践;若遵循这些***实践,可以更轻松地实施更先进的算法。
4. 数据科学家不熟悉如何使用Azure Machine Learning服务来训练、测试、优化和部署推荐算法。
***,推荐算法GitHub存储库提供了有关如何在Azure和Azure Machine Learning(Azure ML)服务上训练、测试、优化和部署推荐模型的***实践。实际上,有几个笔记本介绍了如何在Azure ML服务上的存储库中运行推荐算法。数据科学家还可以使用已创建的任何笔记本,将其提交给Azure,几乎不需要更改。
Azure ML可广泛用于与AI模型开发有关的任务,比如说:
- 超参数调整
- 跟踪和监控度量指标,以改进模型创建过程
- 纵向扩展和横向扩展DSVM和Azure ML Compute等计算
- 将Web服务部署到Azure Kubernetes服务
- 提交管道
原文标题:Building Recommender systems with Azure Machine Learning service,作者:Heather Spetalnick
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】