本文主要是介绍10分钟掌握推荐算法从古至今,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:
就2016-2022最近几年来看,很多做算法的岗位招聘信息都要求硕士学历起步,但有的也非必要条件;所以劝退第一学历非重点本科的童鞋,有些公司、岗位卡学历,其实其他研发岗也挺好的,不少公司算法跟其他研发岗是同薪的,没有必要在自己不占优的方向上死磕。以下原创皆本人自身理解以及推荐看过的部分好文,若有疏漏,不吝赐教。
- 传统机器学习篇
入门阶段还是建议从传统机器学习开始,一来因为传统机器学习相对简单,方便工程上实现并快速部署,二来是不少深度学习中的算法都是在传统机器学习的基础上改进而来的。这里着重掌握三组基础模型:
第一组:UCF、ICF、基于物品内容的协同(不要跟物品协同搞混,前者的相似是基于用户行为的,后者是基于内容的),这几个较简单,不解释;
第二组:MF(不要跟ALS搞混,als是它的求解算法)、FM(相当于LR加poly2结合矩阵分解,注意FM我们常做embeding召回模型,此时没有LR部分,相当于只有二阶交叉部分,用到的user的embeding表示是user自身各个特征的隐向量相加[分配律、交换律自己转下],并没有用户自身的性别、职业等特征交叉,item同理);
第三组:LR+GBDT、xgboost、lightgbm,这里还是看人家写的吧,先大致看下信息熵相关的:
为什么交叉熵(cross-entropy)可以用于计算代价? - 知乎
散度_百度百科
机器学习-一文理解GBDT的原理-20171001 - 知乎
深入理解LightGBM - 知乎
对于工业化场景使用LR,初学者在小公司自学容易忽略特征离散化,不知道利用GBDT的叶子结点索引,将特征处理成0-1形式也是重要的一环,无非就是多些维度罢了。
- 深度篇
自2016年谷歌的AlphaGo成为第一个在 19×19 棋盘上战胜人类围棋冠军的智能系统,深度学习算是真正火起来了。在接触深度学习之前,需要先了解一些基础:
universal approximation theorrm:
神经网络为什么能够无限逼近任意连续函数? - 知乎
万能近似定理(universal approximation theorrm)_郭云飞的专栏-CSDN博客_万能逼近定理
One hot、multi hot到Word2vector embeding:
笔记1 one-hot、embedding - 知乎
https://blog.csdn.net/weixin_45918732/article/details/103375037?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-103375037.pc_agg_new_rank&utm_term=%E8%BE%93%E5%85%A5%E5%B1%82%E4%B8%8EEmbedding&spm=1000.2123.3001.4430
RNN在NLP领域与CNN在CV领域,与推荐领域侧重点差异:
DNN、RNN、CNN.…..一文带你读懂这些绕晕人的名词 - 知乎
其他如BN加快训练,防止梯度消失;激活函数选取等基础暂时没记得好的文章介绍。
有了以上基础后,着重掌握部分模型:DSSM、mind、dsin、deepfm、DCN、DCNv2、xDeepFM等;其他类似的模型也不少,但不建议看太多,这里推荐看:
深入理解推荐系统:特征交叉组合模型演化简史 - 知乎
【微软2018】推荐系统组合显示和隐式特征交叉模型(xDeepFM) - 知乎 (CIN三维矩阵那里似乎不对,看上面那个吧)
https://github.com/shenweichen/DeepCTR (双刃剑,自己造轮子理解更深)
https://github.com/shenweichen/DeepMatch
这里重点是xdeepfm,既然看到了xdeepfm,想必deepfm跟dcn已经看完了;xdeepfm的特点在于它的CIN网络做了显示的向量级别的高阶特征交叉,相当于FM跟DCN cross layer的结合,同时还引入了CNN。从公式上看,xdeepfm这里CIN若退化到深度为1时,去掉CNN卷积与sum pooling便相当于deepfm;fm只有用户ID和商品ID时,去掉LR部分便是我们的MF矩阵分解。
- 未来篇
技术迭代演进挺快的,每年都要找几个上一年的最新模型学习。不管怎样都还是要先继续学习吧。
很多人都说IT研发35岁瓶颈,确实公司不需要那么多十年以上的资深专家,更多的是需要三五年经验的年轻搬砖主力。由于金字塔效应,那些老去的工程师不可能人人当上技术总监。从公司成本角度讲,35岁以上的研发太贵,从管理角度讲,资历浅的年轻人更听话,不用那么担心恃才傲物的情况。
以后的路,且行且看吧!共勉!
这篇关于10分钟掌握推荐算法从古至今的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!