• 推荐系统本质是如何预测评分的问题


    推荐系统的目标是向用户推荐他没有体验过的那些物品,没体验过的物品有很多,推荐哪一个呢,这需要预测用户对某个物品的评分,评分高的物品被推荐给用户,所以推荐系统的本质其实是一个预测问题。
    协同过滤会先算用户的相似度,然后把相似用户给物品的评分乘以两者的相似度,作为目标用户对物品的预测评分,预测评分大的加入推荐列表,说明协同过滤的最后还是预测。

    矩阵分解也是预测问题,基于矩阵分解的推荐算法,简单入门

    【我开始一直不明白矩阵分解和推荐系统有什么关系,后来理解了,矩阵分解就是为了预测稀疏(即包含很多未知数值,未知是因为用户没有体验过该物品,因此没有评分)用户评分矩阵中,缺失(未知)的那些元素的具体是哪些值,假如能够预测出来,那么这些评分中分数最高的那些物品就是推荐列表所需要的】

     

     

    推荐系统大致分成两类:协同式算法和基于内容的算法。

    协同式算法又分为基于邻域(Neighborhood-based)的算法和隐语义模型(Latent Factor Model).

    基于邻域的方法认为有做出相似评分的用户具有相似的偏好,而被给予相似评分的物品具有相似的属性。

    隐语义模型则认为每个评分向量都是一系列因素(Factor)综合作用的体现。这些因素能从评分中推断出来。推断的方法主要是矩阵分解技术。

    经典的矩阵分解方法是SVD,它能识别和减少具有相关性的因素的数量。但SVD需要完整的用户评分向量,而如果评分矩阵是稀疏的,它要求能够对稀疏矩阵进行填充,而且这样做会降低准确率。

     

  • 相关阅读:
    border-radius:50%和100%究竟有什么区别
    GoLang几种读文件方式的比较
    Golang Import使用入门
    golang: 常用数据类型底层结构分析
    Python--字典操作
    Python--字符串操作
    Python split 分割中文
    LR(逻辑回归)
    Python--列表操作
    Eclipse 使用Anaconda python 解释器
  • 原文地址:https://www.cnblogs.com/aaronhoo/p/5971358.html
Copyright © 2020-2023  润新知