• 【推荐系统篇】--推荐系统介绍和基本架构流程


    一、前述

    推荐系统是企业中常用的技术,所以系统的掌握推荐系统的知识是很有必要的。本专栏主要讲述手机APP下载的项目。

    常用的推荐方法有两个,分别是基于物品的推荐和基于用户的推荐。

    基于用户的推荐原理是:跟你喜好相似的人喜欢的东西你也很有可能喜欢(userBaseCF)。
    基于物品的推荐原理是:跟你喜欢的东西类似的东西你也可能喜欢(itemBaseCF)。

    我们这里用到的是itembaseCF,本质是依据特征找用户喜好规律。
    显式的用户反馈:这类是用户在网站上自然浏览或者使用网站以外,显式的提供反馈信息,例如用户对物品的评分,或者对物品的评论。
    隐式的用户反馈:这类是用户在使用网站时产生的数据,隐式的反应了用户对物品的喜好,例如用户购买了某物品,用户查看了某物品的信息等等。

    本项目基于隐式的用户反馈。

    二、协同过滤算法详述

     结论:对于用户A,根据用户的历史偏好,这里只计算得出一个邻居用户C,然后将用户C喜欢的物品D推荐给用户A

    结论:基于用户的推荐(长虚线)---1和5比较相似,5买了104商品,所以把104推荐给用户1。
              基于物品的推荐(短虚线)---101物品和104物品比较相似,所以当用户买了101,把104也推荐给他。

    三、lambda架构(所有推荐系统的父架构)

     四、本文系统架构

    lmbda架构(手机APP下载)

    解释:1.选用逻辑回归算法原因是用户要么下载,要么不下载。

             2.生成特征索引(实际上是一个文本文件)的原因是格式化测试数据,也是相当于降维,当一个userId进来时找到推荐服务,然后通过服务路由去查找HBase中的数据,并根据特征索引来取对应的特征,所以这一步相当于一个降维。

    线上架构(测试集架构):

    关联特征:保存的是同现矩阵。

    流程:核心思想(计算用户对所有APP(除去历史下载部分)的评分,按分值排序,然后取topn)

    问题:

     五、需求分析(架构推荐方案)


             1、数据清洗(得到训练数据)

             2、算法建模(得到模型结果)
             3、模型使用(得到推荐结果)

             4、结果评估(推荐结果评估)

  • 相关阅读:
    第一次Java测试及感触
    第七周学习
    第六周学习
    第5周学习
    第四周学习
    第三周学习
    浅略学习
    读完《大道至简》后的小感悟
    初识JAVA
    Java课后作业之石家庄地铁系统PSP表格20190403
  • 原文地址:https://www.cnblogs.com/LHWorldBlog/p/8642182.html
Copyright © 2020-2023  润新知