关于机器学习的三个阶段
691
2022-05-29
这个系列是学习王喆的【深度学习推荐系统实战】时做的笔记和自己的学习总结。
文章目录
零、一个栗子的引入
一、学习目标和要求
1.学习目标
2.课前要求
二、课程体系
1.基础架构篇
2.特征工程篇
3.线上服务篇
4.推荐模型篇
5.效果评估篇
6.前沿拓展篇
三、小结
Reference
零、一个栗子的引入
先从一个栗子入手,2019 年,阿里著名的千人千面系统驱动了天猫“双 11”2684 亿元的成交额。假设我们通过改进天猫的商品推荐功能,让平台整体的转化率提升 1%,那么在 2684 亿元成交额的基础上,我们就能再增加 26.84 亿元。 也就是说,推荐工程师仅通过优化推荐技术,就创造了 26.84 亿元的价值。这无疑是这个职位最大的魅力所在。
2013 年,百度率先在广告系统中应用了深度学习,2015 到 2020 年,阿里提出并应用了从 MLR 到 DIEN 等一系列的深度学习模型。国外的互联网巨头也不逞多让,从最早的 Google 的 Word2vec,到 2015 年 YouTube 的深度学习推荐系统,再到之后的 Facebook、Amazon、微软等等,几乎所有头部公司的成功应用,让深度学习如后浪般席卷了推荐系统业界,将传统的推荐模型彻底取代。
再或者说,我们最熟悉的天猫淘宝的双十一活动。
一、学习目标和要求
1.学习目标
在所有业界巨头的推荐引擎都由深度学习驱动的今天,作为一名推荐系统从业者,我们不应该止步于:
(1)不能满足于继续使用协同过滤、矩阵分解这类传统方法,而应该加深对深度学习模型的理解;加强对大数据平台的熟悉程度,培养结合业务和模型的技术直觉,提高我们整体的技术格局。
(2)王喆大佬之前在硅谷担任推荐算法架构师,团队踩过很多坑,其中他说最宝贵的一点: 只有建立起深度学习推荐系统的知识体系,从系统的层面考虑问题,我们才能够实现整体效果上的优化。
(3)最现实的问题是,企业的一些推荐、广告、搜索算法部分在招聘时,更喜欢动手能力强、有实习经历、有业界项目经验的(所以即使可能不放实习,卑微读研生就应该多做项目,提交到github上!)。
(4)很多师兄师姐也确实说过。。算法工程师知识更新很快,一不小心就处于淘汰的边缘,王喆大佬说人才的分布都是金字塔式的,与其抱怨,不如提高自己的知识储备、工程能力和技术视野。
2.课前要求
(1)有一定编程基础;(2)有基本的机器学习概念知识。
自己将会学习的资料:
(1)东北大学的字节大佬github推荐系统项目:
https://github.com/zhongqiangwu960812/AI-RecommenderSystem还有强哥的博客。
(2)王喆大佬的书《深度学习推荐系统》,注意书中的勘误。
(3)推荐算法的论文:
1.盘一盘推荐系统里值得一读的那些论文
2.从200多篇顶会论文看推荐系统前沿方向与最新进展
(4)动手搭建项目,像之前的京东NLP项目一样的工业级项目(尝试)。
(5)王喆大佬网站:http://wzhe.me/(有书中说的paper)
(6)推荐系统是否进入图神经网络时代?,一篇综述
二、课程体系
1.基础架构篇
(1)讲解我们要从 0 开始实现的推荐系统,Sparrow RecSys 的主要功能和技术架构。由于缺少工业级的实验环境,Sparrow RecSys 不可能是一个真正的工业级推荐系统,但是它的每一行代码都是严谨的,其中的每个方法都是经过业界验证的主流方法。
(2)还会使用到 Spark、Flink、TensorFlow 这些业界目前最流行的机器学习和大数据框架
2.特征工程篇
(1)讨论推荐系统会用到的特征,以及主要的特征处理方式,并且把它们都实践在 Spark 上。
(2)讲解深度学习中非常流行的 Embedding、Graph Embedding 技术。特征工程是在准备食材。利用学到的 Embedding 方法,来实现 Sparrow Recsys 中的相似电影推荐功能,在实践中快速成长起来。
3.线上服务篇
(1)一个工业级推荐系统和实验室 Demo 的最大区别就在于线上服务部分。我们要搭建一个推荐服务器,它包括了服务器、存储、缓存、模型服务等相关知识。
(2)初步掌握 Jetty Server、Spark、Redis,这些工程领域的核心技能。
4.推荐模型篇
(1)学习深度学习推荐模型的原理和实现方法,主要包括 Embedding+MLP 、Wide&Deep、PNN 等深度学习模型的架构和 TensorFlow 实现
(2)注意力机制、序列模型、增强学习等相关领域的前沿进展。
5.效果评估篇
(1)学习效果评估的主要方法和指标。
(2)对一个成熟的推荐系统来说,还需要建立起包括线下评估、线上 AB 测试、评估反馈闭环等整套的评估体系,真正能够用业界的方法而不是实验室的指标来评价一个推荐系统。
6.前沿拓展篇
讲解 YouTube、阿里巴巴、微软、Pinterest 等一线公司的深度学习应用,帮助你追踪业界发展的最新趋势,并且找到自己技术道路上的方向。
三、小结
不要老想着一蹴而就,推荐系统的每个模块都有着极深的技术纵深,不管是 TensorFlow 还是 Spark,还是 Redis、Flink,它们中的每一个都需要我们持续性的钻研。这里我贴加一张之前看到过的58同城的推荐系统整体架构:
毛小伟大佬对上图的总结:
数据层:前后端通过埋点记录用户日志数据,KaFka消息队列将数据存入HDFS大数据文件系统中。这一层技术栈是Hadoop、Spark大数据组件
策略层:
平常所说的推荐算法就是指这一层,需要重点掌握
。首先是召回,主要根据用户部分特征,从海量的物品库里,快速找回一小部分用户潜在感兴趣的物品,然后交给排序环节,排序环节可以融入较多特征,使用复杂模型,来精准地做个性化推荐。召回强调快,排序强调准。这一块重点掌握模型:
协同过滤、矩阵分解、FM、Embeding、Wide&Deep及其改进
。
应用层:根据业务需求而不同。比如:广告点击、商品推荐、短视频推荐。
《深度学习推荐系统》,这本书高屋建瓴的介绍了推荐系统整体架构,发展历史以及未来趋势,各种推荐模型的演化之路,很适合前期用来搭建推荐系统知识框架。但是具体的模型并没有深入讲解,还得自己去看论文。这个也很正常,作为算法人员,经常看论文是必须的,就像开发人员要时常看官方技术文档。
Reference
(1)《深度学习推荐系统实战》——王喆
(2)知乎:如何评价「深度学习推荐系统」这本书
推荐系统 深度学习
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。