系列小作文之企业级机器学习pipline总结
(1)为啥要小结?
作为在工作在coding一线的算法程序猿,也算在三四家国内头部互联网大厂的核心广告与推荐部门工作过。一直想写一个关于现在一些主流互联网公司常用算法技术的系列文章,记录下自己工作和学习的过程。
由于笔力有限,加上一些知识点自己也需要加深学习理解,结果从2021年7月份开始定下不管三七二十一,要一直写写写下去的小目标,结果中途没几天就中断了,我还是太懒了~ ,直到2023年元旦,拖拖拉拉的也没写完,终于,最近又下定决心补充了几篇文章~
哎,写小作文真是累啊,还要写的言之有物,痛苦。看完觉得有收获,还是辛苦点点手指头关注转发一下吧,你的支持也是我继续写写写下去的必不可少的动力啊!!!也希望我的这些实践与学习经历,也确实能够缩短文章阅读者的实践难度,真正的起到知识分享与共同进步的作用…
短时间不打算再写机器学习流程pipline相关的内容了,这里简短做一个小结~
我们知道一个机器学习pipline 一般涉及 log 日志数据处理、样本处理、特征处理、召回模型、排序模型、指标衡量等。上面这一块的内容在以下文章均有涉及,并且理论和实现源码都有,感兴趣的可以点进去看看 …
(2) 历史文章一览
上面提到的一些内容,作者以前发表的文章里均有部分涉及,可以去这里查看:
企业级机器学习 Pipline - log 数据处理 https://blog.csdn.net/qq_25459495/article/details/119845792
企业级机器学习 Pipline - 样本sample处理 https://blog.csdn.net/qq_25459495/article/details/119857180
企业级机器学习 Pipline - 特征feature处理 - part 1 https://blog.csdn.net/qq_25459495/article/details/119984603
企业级机器学习 Pipline - 召回模型 https://blog.csdn.net/qq_25459495/article/details/128461465
企业级机器学习 Pipline - 排序模型 https://zhuanlan.zhihu.com/p/595960242
算法工程师常用python脚本,这原理你真的理解透了吗? https://zhuanlan.zhihu.com/p/405145251
算法工程师打死都要记住的20条常用shell命令 https://zhuanlan.zhihu.com/p/404589964
其中,上面的前五篇小作文主要介绍了pipline相关的内容,而后边两章则把算法全栈工程师们日常会用到的 衡量指标计算的python 脚本 以及日常在虚拟机上进行操作的shell命令。
目前这个系列文章首发了微信公众号:算法全栈之路,并逐渐同步于 知乎、csdn、掘金、思否等互联网平台。所以,在别的平台看到同马甲的账号,不用怀疑,都是我。作为一个对技术痴迷的宅男,欢迎你留言和我一起交流吧~
(3)系列文章历史概览
因为在后台看到很多同学阅读都有跳跃以及留言说内容太多,希望有个概览说下每篇文章讲了什么,减少文章的阅读理解难度,这里就将本系列的文章简单做下总结,希望能够起到阅读指南的作用。
(3.1)企业级机器学习 Pipline - log 数据处理
这篇文章主要讲了用spark 处理用户原始日志的方法,主要涉及用 hive SQL 和 spark session 部分源码以及spark任务通过shell脚本提交到集群等内容。
(3.2) 企业级机器学习 Pipline - 样本sample处理
这篇文章主要引入了机器学习pipline的架构,介绍了如何构造训练模型的正负样本,包括和业务结合比较紧密的实践,例如去除无效曝光、去除用户误触行为、召回模型样本的重要性,也介绍了海量样本随机负采样的过程,以及负采样导致的打分偏低问题的CTR校准方法。
(3.3) 企业级机器学习 Pipline - 特征feature处理 - part 1
这篇文章主要讲了样本和特征数据如何结合构造训练数据,以及众多可用特征的分类和设计技巧等,主要包括特征覆盖率spark统计脚本说明 以及dense 、sparse 特征如何塞入模型等方法,而特征根据业务场景又可以分为上下文侧特征、 广告侧特征、用户侧特征,每个部分的特征有哪些常用类别,以及广告系统中常使用的特征交叉技巧等。
(3.4) 企业级机器学习 Pipline - 召回模型
这篇文章主要介绍了召回模型主要的训练目标是什么、如何选择构造召回机器学习模型的样本以及在样本上如何进行迭代的和业务进行紧密结合的精细化设计方向,在文章最后,重点剖析了业界比较火的双塔召回离线训练与线上部署使用的时候的工作流程,并分享了作者采用featureColumn 特征处理API来处理特征 以及tf.keras 中阶API来构建模型结构的源代码,代码注释写的非常详细并且通俗易懂,对于新手和职场老鸟使用tensorflow进行模型设计有极高的参考价值。
(3.5) 企业级机器学习 Pipline - 排序模型
这篇文章主要介绍了业界主流排序模型的排序策略公式以及简单介绍了learn to rank (LTR)。文章中详细介绍粗排与精排的使用场景,并且介绍Google 的 FTRL以及WideDeep 模型在 广告和推荐中的不同的使用说明,也简单介绍了常用的离线与在线评估指标,最后作者依然分享了自己实现的基于featureColumn和tensorflow keras的排序模型代码,注释和代码质量都不错哦~
(3.6)算法工程师常用python脚本,这原理你真的理解透了吗?
这篇文章和前面的文章不同,这篇文章主要深入剖析了AUC指标的画法与ROC求法的深入理解,更是介绍了GAUC和AUC的不同,提供了计算AUC和GAUC的python代码实现,最后分享了结合 linux 管道符与python脚本进行样本负采样的方法。
(3.7) 算法工程师打死都要记住的20条常用shell命令
这篇文章算是该系列的最后一篇文章了,主要介绍了算法程序猿在虚拟机上常用的一些高频脚本,有时候在工作上,临时继续实现某个功能,结果搜脚本搜索半天也是挺郁闷的,可以点击去看看哈,有用得上的话,可以点赞收藏哦。
到这里,企业级机器学习 Pipline 系列文章的介绍就算彻底完结了,感兴趣的或者对某方面有疑问的可以留言或则关注微信公众号:算法全栈之路 和我讨论哦。哎,知识和阅历有限,如有缪误,欢迎提出宝贵意见一起讨论下~
(4)接下来写什么呢
书接上文,本系列算是企业级机器学习的通用流程吧,作者最近又写了两篇文章:
快看 esmm 模型理论与实践
深入浅出理解word2vec模型 (理论与源码分析)
马上打算在补充一篇 mmoe 的文章,也不打算再写了。
写 word2vec 是因为我始终觉得,word的模型是embeding设计思想的开山制作,设计思想里很多通用性,理解透彻了对后面学习别的DNN与机器学习均有很大帮助。
而写esmm和mmoe 则是这两者也分别是多目标学习 (Multi-Task Learning,MTL) 旗帜下串行递进关系与并行冲突关系的典范之作,后来者的很多工作都离不开这两者的思想基础。
最近我又看了很多关于 图深度学习算法 的书籍与文章,而工作上目前也和图算法接触的比较紧密。so, 接下来开始更新 图算法 相关的内容啦!
在后面的话,目前打算更新一系列 手把手教你写模型 系列小作文,详细剖析下我学习和使用使用 tensorflow 和 pytorch实现一些主流模型的方法与技巧,专门针对小白和工作经验不那么多的同学…
在最后面,开始分享一些 风控相关 的内容,结合现有的工作业务场景,写一些实践相关的内容。
the last last last , 觉得写一写外行人快速上手使用机器学习进行数据分析的文章也不错~
所以,管他呢,一直写写写就对了,笔杆子里有力量!!!
宅男民工码字不易,你的关注是我持续输出的最大动力。
接下来作者会继续分享学习与工作中一些有用的、有意思的内容,点点手指头支持一下吧~
算法全栈之路