zoukankan      html  css  js  c++  java
  • 推荐系统实践

    1.发掘用户兴趣

    1)啤酒和尿布的故事

    2)用户行为数据:session log、impression log、click log。这些日志记录了用户的行为:浏览、购买、点击、评分、评论

    3)用户行为:显性反馈行为、隐性反馈行为

    2.用户行为分析

    1)长尾分布:发f(x)=ax^k

    2)协同过滤算法:仅仅基于用户行为数据设计的推荐算法。包含:基于邻域(基于用户的协同过滤算法userCF、基于物品的协同过滤算法itemCF)、隐语义模型、基于图的随机游走算法。

    3)userCF:给用户推荐和他兴趣相似的其他用户喜欢的物品。计算用户的相似度。Digg在应用,相比较MostPopular算法,准确率和召回率都要高1倍。

    4)itemCF:给用户推荐他们喜欢的物品相似的物品。计算物品的相似度。亚马逊、Netflix、Hulu、Youtube在用。与userCF性能差不多。

    3.特定场景选择特定的算法

    1)个性化新闻推荐:注重热门与时效性,用户看的新闻大多没有传承,可选择userCF。同时新闻更新快,item数量巨大,因此不适合维护item之间的关联矩阵。冷启动:用户对某个物品产生行为之后,不能立即更新推荐,因为用户相似度矩阵更新慢,变化不大。推荐实时性差。

    2)电商:物品更新慢,数量有限。客户具有兴趣传承,可选择itemCF,item之间的关联矩阵小。冷启动:用户对某个物品产生行为之后,能立刻获得新的推荐。推荐实时性好。

    3)哈利波特问题:加大对热门物品的惩罚。a=0.5,以降低流行度。

    4.隐语义模型LFM

    1)加大对热门物品的惩罚。a=0.5,以降低流行度。

  • 相关阅读:
    转【程序员七问】
    【转】又一次线上 OOM 排查经过
    【转】java:多网卡环境下获取MAC地址
    eclipse 国际化 $NON-NLS-1$ 含义
    eclipse 重构代码自动抽取函数
    转:GEF 英文全称Graphical Editor Framework
    转:Eclipse使用Git图解教程
    转:Java通过百度地图API获取地址经纬度
    转:Lucene学习——IKAnalyzer中文分词(一)
    转:Maven项目中获取classpath和资源文件的路径
  • 原文地址:https://www.cnblogs.com/DjangoBlog/p/3616458.html
Copyright © 2011-2022 走看看