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

    根据用户行为和反馈,用户的属性等  长期兴趣,短期行为 得到相应特征  离线特征在线特征

    然后计算和特征相关的物品,作为初步的推荐结果,这里可以有多个推荐策略推荐出来的结果合并

    然后

      过滤:

      解释:告诉用户是根据用户的什么行为,或者用户关注的人喜欢的,等理由,重要性是让用户知道为什么给他推这个,如果他觉得推荐得好,就会根据这种解释做更多的正反馈,如果觉得不好,就会相应的负反馈,这样能够促进这个推荐往更准确的方向收敛

        一个好的推荐系统,不在于其算法的复杂性,也不在于其精度或者其他指标。而是在于他能成为一个循环的良性系统。一个系统要进入良性循环,反馈是最重要的。

        一个用户对一个系统满意,不仅仅在于推荐本身是否满足他的需要,而且在于系统告诉他,他应该怎么做才能获得自己想要的结果。

        参考:http://blog.sciencenet.cn/blog-1132-711709.html

      排序

    推荐的分类:

      实时或热门推荐

      人工推荐:运营

      相关推荐:

      个性化推荐

      做好了上面三个推荐,就解决80%的问题了,剩下20%交给个性化推荐解决,属于长尾问题

      不管是电商,或者是新闻,都有【个性化推荐】和【热门推荐】的取舍。一个商品热门或者点击量高是有其原因的。所以将热门的东西推荐给用户是非常合情合理的,因为既然热门,也侧面说明了很大概率上该用户也会喜欢该商品。而【个性化推荐】本质上是为了解决【长尾】问题,把那些不热门的东西,但是很可能符合某特定用户品味的商品【挖掘】出来,推荐给特定的用户群。

       http://itindex.net/detail/50820-%E6%8E%A8%E8%8D%90%E7%B3%BB%E7%BB%9F

       对于冷启动问题,最好 上相关推荐,其实热门推荐和人工推荐也可用于冷启动

      

    个性化推荐包括:由于基于用户的协同过滤对用户规模有较高要求,因此更多使用基于内容的相关推荐来切入。

      基于内容的推荐:

        纯 内容之间的相似性,和用户行为没关系

        可以解决冷启动问题,但是需要能对物品有效的建模

        在做基于内容推荐的时候,用户画像(标签系统)才能发挥作用,计算出和用户特征相近的物品,距离

        但是在一个推荐系统中,有很多推荐策略不是预计用户画像的,比如下面的这些

        而最主要的缺点就是确定性太强了,所有推荐的内容都是由用户的阅读历史决定,所以没办法挖掘用户的潜在兴趣;也就是由于这一点,基于内容的推荐一般与其他推荐算法同时存在。

      协同过滤推荐cf:

        user-based cf:两个用户喜欢的物品比较相似,那么这两个用户比较相似,可以推荐相似用户的东西给另一个用户

          其实相似用户有一个更专业的词,人群,相同人群的人,大家的喜好比较相似

          不一定非要基于用户喜欢的物品相似度来得到相似用户,可以从外部数据也可以拿到,也可以在用户初次使用时,让用户填一些兴趣等,这样就很容易找到相似人群;

        item-based cf: 这个不需要对物品特征建模,只需要知道两个物品是不是被 越多的人同时喜欢,那么这两个物品越相关,那么一个用户喜欢其中一个,就可以给他推荐另一个

        可以推荐用户自己不知道的新物品,但是存在数据稀缺问题,而缺点则是启动的门槛高,用户量不够时几乎无法开展;并且学习量不够时推荐结果较差。

      基于关联规则的推荐:

        基于所有历史交易数据中,被同时购买的物品,或者时间先后的购买规则

        来对物品进行推荐

        典型的  啤酒和尿不湿

        apriori算法

        缺点是训练较耗时

    EE问题:

      这也是在推荐和广告界被大量研究的EE问题(Exploit & Explore),Exploit就是眼前的苟且,Explore就是诗和远方的田野。

      做Explore的方法有很多,bandit算法是其中的一种流派。前面也介绍过几种bandit算法,基本上就是估计置信区间的做法,然后按照置信区间的上界来进行推荐,以UCB、LinUCB为代表。

      https://mp.weixin.qq.com/s?__biz=MzA4OTk5OTQzMg==&mid=2449231300&idx=1&sn=fe975d6af79596b5eaf576e5f65e8e06

  • 相关阅读:
    Spring Cloud:第四章:Hystrix断路器
    Spring Cloud:第五章:Zuul服务网关
    Spring Cloud:第六章:Config分布式配置
    ES使用org.elasticsearch.client.transport.NoNodeAvailableException: No node available
    for循环使用后contains方法失去效果
    我的分享:第二章:SpringCould专栏
    Spring Cloud:第二章:eureka服务发现
    java程序员怎么创建自己的网站:第四章:做个网站引入广告赚点小钱
    php函数
    each与list的用法
  • 原文地址:https://www.cnblogs.com/brainstorm/p/7840376.html
Copyright © 2011-2022 走看看