我们正在寻找为我们全新的学习管理系统构建推荐系统 . 有一大堆用户和项目(学习模块)已经上架,但还没有评级 - 典型的冷启动问题 .
首先,我们考虑使用项目属性(标签,类别等)使用简单的基于项目的相似性 . 当收视率开始进入时,我们的想法是切换到更强大的协同过滤 .
问题:
这是一个好方法吗?是否有推荐的ML模式来处理这种冷启动条件?
实现基于项目的相似性,这是正确的算法?比方说,余弦相似 . 但请注意,没有"matrix" . 我们应该尝试使用标准ML算法还是自己动手?
你的方法很好 . 我将从无监督的学习算法开始,例如'k-Nearest Neighbors classifier' . 如果您的团队不了解ML的第一件事,我建议您阅读本教程http://www.astroml.org/sklearn_tutorial/general_concepts.html . 它使用python和一个名为scikit-learn的伟大库 . 从那里你可以做安德鲁的NG课程(https://www.coursera.org/learn/machine-learning/),虽然它不包括任何推荐系统 .
我通常使用Pearson Correlation算法(https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient),这足以解决我的问题 . 这种方法的问题在于它是线性的 . 我已经读过Orange数据挖掘工具提供了许多相关性度量 . 使用它,您可以找到哪一个最适合您的数据 . 我建议不要使用自己的算法 .
有一个较旧的问题,提供有关此事的进一步信息:How can I implement a recommendation engine?
1 回答
你的方法很好 . 我将从无监督的学习算法开始,例如'k-Nearest Neighbors classifier' . 如果您的团队不了解ML的第一件事,我建议您阅读本教程http://www.astroml.org/sklearn_tutorial/general_concepts.html . 它使用python和一个名为scikit-learn的伟大库 . 从那里你可以做安德鲁的NG课程(https://www.coursera.org/learn/machine-learning/),虽然它不包括任何推荐系统 .
我通常使用Pearson Correlation算法(https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient),这足以解决我的问题 . 这种方法的问题在于它是线性的 . 我已经读过Orange数据挖掘工具提供了许多相关性度量 . 使用它,您可以找到哪一个最适合您的数据 . 我建议不要使用自己的算法 .
有一个较旧的问题,提供有关此事的进一步信息:How can I implement a recommendation engine?