V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
superalsrk
V2EX  ›  程序员

我的推荐系统学习之路

  •  4
     
  •   superalsrk · 2019-02-25 11:15:39 +08:00 · 3807 次点击
    这是一个创建于 2100 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [推荐系统与机器学习导读] 总结了一个 RD 工程师的推荐系统学习之路, 更多推荐系统知识请关注 RecomAI

    作为一个 CS 专业的本科毕业生, 当初进入互联网领域时只是一个电商业务的 RD 开发工程师, 后来机缘巧合之下转向了大数据领域, 后来又进入到了推荐系统的相关开发工作。回顾这些年的工作, 总结了一些经验, 希望对那些有志于进入推荐系统相关领域的同学有一些帮助。

    推荐 /搜索 /广告 是目前机器学习成熟落地的三大马车, 对各个互联网公司商业变现有着重要的意义, 这三个业务在维度上有一些区别,比如搜索的目标是降低延时增大 query 的相关性, 广告的目标是增大 CTR, 视频推荐系统的目标是播放时长点击等综合指标。但是从数据流和系统工程架构上看, 又非常相似。

    对于想接触或者刚接触推荐系统的同学来说, 应该都看过下面这两本书

    一个比较大的问题是, 如果没有参与到实际的推荐系统开发, 或者没有牛逼实验室的 Buff 下, 感觉每一章都能看的明明白白, 但是想自己写一个简单的推荐系统时却无从下手, 无法想象像美团阿里头条的推荐系统到底是如何落地的。

    个人观点认为导致这种情况的原因有以下几点

    1. 推荐系统是一个系统 推荐系统首先是一个系统, 作为有盈利的互联网公司的核心, 就注定在整体架构上十分的复杂, 比如涉及到 NLP, 召回, 排序, 接日志洗日志算模型, 书上说的推荐方式都是单一的, 比如利用 CF(协同过滤) 进行推荐, 在实际落地中推荐的召回一般是有多路的, 这样才会有多样性。(书中甚至几乎没有提到过候选集这种每个推荐系统都存在的东西)

    2. 与算法关联紧密 推荐系统是算法落地比较早的领域之一, 对于 LR, GBDT, FM 这类传统机器学习算法有着大规模的应用, 传统机器学习的一大基础能力就是特征工程, 这个跟个人的领域知识极为相关, 网上的资料很少, 几乎是小圈子里的屠龙之技, 具体的工业实现各家又不一样,可供参考资料特别少。而对于深度学习模型来说, 要是想 tf 写个代码一跑 ctr 直接就升几个点, 哪个是痴人说梦, 具体的网络设计到底能有什么效果与你的业务模式, 行为数据有很大关系, 有很大可能你上的 deepFM 还不如你的 LR+GBDT

    3. 数据问题 对数据的重视程度, 首先, 如果是一个小系统, 比如只有几万 PV, 根本谈不上用推荐系统提升效果, 工业界的推荐系统, 日志就是血液, 包括曝光日志, 点击日志, 收藏日志等等行为日志, 每天的日志量会很大, 这些日志一方面用于更新模型, 另一方面进入实验统计平台, 计算各个算法在过去时间的效果。另外诸如 FM 因子分解机模型, 如果你的日志很少, 那就是一个超级超级稀疏的矩阵, 最后算出来的模型效果也不会很好, 特别是现在深度学习在工业街广泛落地的情况下(Wide & Deep), 缺少大规模日志的推荐系统就是无水之源无根之木。

    因为这些原因, 所以我创建了这个公众号 [推荐系统与机器学习] , 希望能够分享一下工业界推荐系统的一些常用架构, 基础知识, 以及在信息检索领域前沿的一些研究和进展,希望与大家共同进步。

    长按二维码关注 推荐系统与机器学习 ID: RecomAI

    11 条回复    2023-03-09 11:55:16 +08:00
    superalsrk
        1
    superalsrk  
    OP
       2019-02-25 11:19:13 +08:00
    这其实是一条广告~~希望带来一些小圈子里感觉很普通的推荐系统相关知识
    0226
        2
    0226  
       2019-02-25 11:45:44 +08:00
    楼主,那两本书啊?
    superalsrk
        3
    superalsrk  
    OP
       2019-02-25 11:51:25 +08:00
    @0226 orz~~公众号原文里有, 拷贝的时候丢图了, https://mp.weixin.qq.com/s/m42-dtTv0D1TEIq0ePXzPg, 其实就是推荐系统实践 & 推荐系统, 这两本不太厚的书, 这两本书其实写的没毛病, 至少看完之后你能拿 movielens 数据集写出一个协同过滤~AHA
    owenliang
        4
    owenliang  
       2019-02-25 11:52:37 +08:00
    机器学习说难真不难,这是对应用者来说的。

    可以读一下我的博客,比大家买书管用多了。

    [小白理解的机器学习]( https://yuerblog.cc/2018/07/08/understand-machine-learning/)
    [CTR 展现打散去重的设计]( https://yuerblog.cc/2018/07/09/ctr-display-design/)
    superalsrk
        5
    superalsrk  
    OP
       2019-02-25 11:55:57 +08:00
    @owenliang 从第二篇文章看兄弟也是业内人士啊~~!! 看来大家的推荐系统架构都差不多哈!
    owenliang
        6
    owenliang  
       2019-02-25 12:03:28 +08:00
    @superalsrk 的确是
    tottea
        7
    tottea  
       2019-02-25 12:05:13 +08:00
    @owenliang 看了一下,感觉不深入,要应用感觉还是要知其然知其所以然
    superalsrk
        8
    superalsrk  
    OP
       2019-02-25 12:05:39 +08:00
    @owenliang 不过我们一般会把 兄台说的那个配比阶段叫 rerank, 的确, rank 之后按照 ctr 预估之后排序会出现 TopN 都是某一类的情况(比如低俗很容易排上去), 那么就需要手动的依照策略按照 ctr 的分进行多样性的打散, 以及低俗的控制
    owenliang
        9
    owenliang  
       2019-02-25 12:06:41 +08:00
    @tottea 的确,知道的越深入越好,但架子的确就这么回事。
    superalsrk
        10
    superalsrk  
    OP
       2019-02-25 12:07:01 +08:00
    @tottea 谢谢建议~~
    itisdog
        11
    itisdog  
       2023-03-09 11:55:16 +08:00
    已关注
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:48 · PVG 19:48 · LAX 03:48 · JFK 06:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.