推荐算法与推荐系统--概述
开一个专题,努力将这9年的推荐算法经验记录下来。
作为一名非一线大厂的算法工程师,通常要完成几乎全栈的算法开发工作。
目前我的工作内容包含了:提取训练样本、特征构造、搭建模型、线上服务开发、线上特征管理和开发、模型/AB分流/算法使用场景管理、特征/算法/场景线上验证等。
-
提取训练样本和特征构造都属于是ETL部分,如果有时间的话会放到后面部分去记录,会包含hive、spark、storm、flink、redis等(并不包含对应工具的原理技术,只是说明怎么使用)
-
搭建模型是算法工程师根本和核心技能,目前大家关注最多的点是:用户序列信息、多任务、多模态、图网络、交叉信息和Attention、对比学习等;模型越来越复杂,推荐效果越来越好,但是却为工程实现带来了极大的困难。
-
线上模型开发是使用java/C等语言,将构建好的算法包装成接口,供下游应用方使用。是目前大多数算法工程师不会涉及该领域的开发工作,其算法相关项目的排期很多时候会依赖于服务端开发工程师的开发进度。算法工程师和服务端开发工程师经常会因为工作方法和理解不同,导致服务端开发算法服务的时候出现问题,最终影响算法上线。
4、算法管理和算法验证等工作,即对构建好的算法进行管理,合理安排分流,验证算法的效果;可以更加便捷的为算法工程师提供一个算法验证工具和线上效果分析工具。
重点会将第3点和第4点进行详细说明。
先列出来大纲,后续再扩充完善吧
采用循序渐进的方式先更新这4篇文章,尽量在3月底之前完成。
文章中不适合放大段的代码,因此需要顺带申请一个github账号,将python和java代码上传到git,方便后续复用。