个人推荐系统学习之路

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


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


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


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





一个比较大的问题是, 若是没有参与到实际的推荐系统开发, 或者没有牛逼实验室的Buff下, 感受每一章都能看的明明白白, 可是想本身写一个简单的推荐系统时却无从下手, 没法想象像美团阿里头条的推荐系统究竟是如何落地的。机器学习


我的观点认为致使这种状况的缘由有如下几点ide


1. 推荐系统是一个系统学习

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


2. 与算法关联紧密设计

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


3. 数据问题orm

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


由于这些缘由, 因此我建立了这个公众号 【推荐系统与机器学习】, 但愿可以分享一下工业界推荐系统的一些经常使用架构, 基础知识, 以及在信息检索领域前沿的一些研究和进展,但愿与你们共同进步。


长按二维码关注

推荐系统与机器学习

ID: RecomAI

相关文章
相关标签/搜索