当前位置:   article > 正文

7种经典推荐算法模型的应用,java多线程面试题总结_推荐模型算法 java

推荐模型算法 java

其网络结构图如下:

7d26d5252c3e4e4161610c53a899b397.png

其中包括

  1. wide部分:wide部分是普通的线性模型,其表达式可参见式(1)

  2. deep部分:deep部分由一个3层的神经网络组成。其输入是对原始的稀疏特征(如ID类特征)进行一次embedding后的结果。每一层的公式如下:

  3. 输出:输出部分将线性模型(Wide)和DNN(Deep)模型的输出结果进行加和作为整个模型的loss进行反向传播来完成联合训练。outside_default.png

  解决的问题

结合了线性模型对一阶特征和和深度模型对高阶特征的学习能力来整体提高模型的表达能力。

DeepFM

  算法原理

WDL可以看做是LR+DNN,那么DeepFM就可以看做是FM+DNN。相比于WDL做出的改进,DeepFM主要是将WDL中Wide模块由LR替换为了FM。

其网络结构如图所示:

ca1e5591ac0e0634a6bd5fe8f9cd8e47.png

可以看到相对于WDL其做了以下改进:

  1. 引入FM结构代替LR。完成对一阶二阶特征的学习 避免了WDL中人工特征工程过程。见式(4)。

  2. FM和DNN共享Embedding层。减少了额外的计算开销。

  解决的问题

在减去人工特征工程的前提下,通过Wide部分和Deep部分共享Embedding,可以提高模型的训练速度和模型的特征学习能力。

DcN

  算法原理

DCN(Deep & Cross Network)如其名字中cross所示,其主要完成了完全去手工特征交叉的工作。

其中代替DeepFM中FM模块的核心Cross Network网络结构如下:

b0571a606dabffb8939a3a8f76a267b5.png

其中:

db445d5855ef3f73c3a4e427c2d1ab21.png

进而可推出

1707017081a3323d35f804137eeaf997.png

可以看出Cross Network中每一层的输出都是由389bad94283e7c5df7b7cdbe3f0525a1.png与某一标量进行相乘的结果。因此:

  1. 每层的输出和0285636ab5e8230956662621e764ee19.png同维

  2. 由于标量和10679cf692ac5c4d5bc23a45e64c80cb.png是相关的,因此第k层的输出包含了b195c44138ababa6ca7490f2641a0437.png的1到k+1阶特征。

  解决的问题

完全舍弃了人工特征工程过程,并且可以显示指定特征交叉阶数。

xDeepFM

  算法原理

xDeepFM(eXtreme Deep Factorization Machine)。从名字上可以看出,xDeepFM是是对于DeepFM的改进,但是实际上xDeepFM是对DCN的改进。DCN 的Cross层在Embedding层后,可以自动构造任意阶高阶特征,但是它是bit-wise的,与bit-wise对应的是vector-wise。现举例分析如下:例如,性别对应嵌入向量<a1,a2,a3>,天猫会员等级对应嵌入向量<b1,b2,b3>,在DCN的Cross网络中,向量<a1,a2,a3>,<b1,b2,b3>会拼接为<a1,a2,a3,b1,b2,b3>作为输入,在进行cross的时候a1可能事实上属于同一个field的a2进行cross。因此称DCN以嵌入向量中的单个bit为最细粒度,即bit-wise。而在FM中,特征的交叉是以该维特征对应的向量为最细粒度进行交叉来学习相关性的,即vector-wise。而xDeepFM的动机,正是将FM的vector-wise的思想引入Cross部分。这一点其实特别像one-hot编码的情况下FM到FFM的演进。

xDeepFM中,进行vector-wise特征交叉的结构如下:

126befd35d2811c4df3f8c7c86bdef53.png

对于每一层的输出

1b5e1e4c916529c758d03db21e7ce201.png

其中

  1. c331375a75ed1cac58ddbf34abd95fee.png代表了第层的输出

  2. 48a2614b9deab4151f251cc2ceb203fc.png代表了第k层输出的vector个数

  3. e3f9e60e69c51a43c3c4498901cdb9e7.png表示两向量对应元素两两相乘,如95a0f8552a2479a1927a5f9ac9a2ce67.png

  4. ea65ad4c2620cc1138ec61daf89464b8.png表示第层第个向量的向量的权重矩阵

至此,xDeepFM便实现了vector-wise的特征交叉过程。相比于DCN,其第outside_default.png的输出仅包含了k+1阶特征。因此,其需要将每层的输出进行sum-pooling后DNN的输出加和到一起作为loss进行反向传播来完成联合训练。

  解决的问题

提出了一种vector-wise的高阶特征交叉方式。

小结

本文以解决问题的思路介绍了推荐系统里的经典算法演进过程,可以看到每种算法的出现都是为了解决某种特定的问题。学术上评价一个算法的好坏大都在于其精度,而在工业界中,更看重的是一个算法精度与性能的trade-off。比如2013年微软在NLP领域提出的双塔模型,被应用到推荐系统后经久不衰,到现在仍然在各大公司推荐系统里发光光热,究其原因:双塔模型上线有多方便/跑的有多快,谁用谁知道…

个性化推荐系统算法的演进相比于CV(计算机视觉)和NLP(自然语言处理)来说并没那么快,这一点从顶会论文数目上可窥一斑。究其原因我个人认为是其所应用的场景所限,个性化推荐本质上是一个人与物的匹配过程,所以使用这套系统的前提是应用场景下要有大量的人和大量的物,场景强绑定的特性提高了其研究门槛。而CV和NLP更像是一个个的基础组件,几十人甚至几人的团队就可在CV或者NLP的某个子任务上做出开创性工作然后将其推广至各个不同的应用场景下。比如CV里鼎鼎大名的YOLO系列,其作者凭一人之力一次次帮助各相关厂商主动升级各家的应用SDK…

资源整理

模型

论文链接

作者

发表时间

工业应用举例

LR

\

过于经典没考证

过于经典没考证

基础模块 应用广泛

FM

Factorization Machines

阪大

2010

基础模块 应用广泛

FFM

Field-aware Factorization Machines for CTR Prediction

某广告公司

2016

美团DSP(广告平台)

WDL

Wide & Deep Learning for Recommender Systems

谷歌

2016

谷歌应用商店app推荐

DeepFM

DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

哈工大/华为

2017

美团预计送达时间

DCN

Deep & Cross Network for Ad Click Predictions

斯坦福/谷歌

2017

\

xDeepFM

xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems

中科大/北邮/微软

2018

字节短视频推荐

✿  拓展阅读

e4dba319e77eacf80436049821c5e165.png

6fa28227ddb3dcc1567f9191ea55c36b.png

作者|****羊灵

**编辑|**橙子君
**出品|**阿里巴巴新零售淘系技术
a3d786235de7389a49b3aae4853a65d2.png
a9c8488043a91f219500b4eab7f98eda.png

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

img
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
img

最后

总而言之,面试官问来问去,问的那些Redis知识点也就这么多吧,复习的不够到位,知识点掌握不够熟练,所以面试才会卡壳。将这些Redis面试知识解析以及我整理的一些学习笔记分享出来给大家参考学习

还有更多学习笔记面试资料也分享如下:

都是“Redis惹的祸”,害我差点挂在美团三面,真是“虚惊一场”

内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)**
[外链图片转存中…(img-h85FRKxu-1711537745049)]

最后

总而言之,面试官问来问去,问的那些Redis知识点也就这么多吧,复习的不够到位,知识点掌握不够熟练,所以面试才会卡壳。将这些Redis面试知识解析以及我整理的一些学习笔记分享出来给大家参考学习

还有更多学习笔记面试资料也分享如下:

[外链图片转存中…(img-VzLNIS3b-1711537745049)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/745918
推荐阅读
相关标签
  

闽ICP备14008679号