Java教程

一些推荐算法的面试题

本文主要是介绍一些推荐算法的面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1)youtubenet里面如何加item特征,以及youtube和dssm相比有啥优缺点?
答:论文没有加,但可以人工加,youtubenet最后一层softmax层就是物品的embedding,所以在初始化的时候用sideinformation的embedding合并后跟最后一层做预测。
双塔分为user item塔,youtubenet其实只有user塔,上层的item塔是softmax出来的,加入其它的sideinformation不好加,不过也能加。

2)i2i实时性更强,因为可以直接在线上拿用户的最近点击来做,所以实时性更强。关于u2i,以lfm来说,一般物品矩阵是天更,用户矩阵会按小时更,所以u2i相比i2i这种,也是有一定的滞后性,出发点不一样。i2i最开始是基于物品的相似,这种是以用户点击行为为相似,但是容易推荐热门商品,所以需要做一个指数衰减,像word2vec这种,它是一种共线关系的捕捉,类似购物篮的那种。且i2i推荐也得分场景,比如做相似推荐,那么就是基于属性做相似,如果是用户历史点击推荐,那就是序列相似。

3)针对视频做召回,是针对完播率以及是否播放建模,比如使用pinsage图采样算法生成embedding,针对该模型训练时准备两份数据(user特征一份,item特征一份),建图训练完毕之后就会得到每个item的embedding,然后通过faiss在线上做相似推荐。

4)场景:在做youtebenet时,统计7天的数据,播放序列有一个最长窗口为5的vid截断,然后下一个vid就是label,高频负采样的时候统计的是7天所有的vid频次做编码,面试官问:如果label vid是第4天上报的,如果用全局vid频次做付采样,那是否会出现数据穿越问题?
答:如果是做召回,使用全局数据召回的就是全部底池的负采样,就不存在穿越问题。但如果是排序的话,就得做第4天那些曝光未点击的物品为负采样。w2v不是考虑的序列性,而是考虑的共线性,所以w2v不存在穿越问题。youtubenet摒弃了时序性,但是在排序的时候需要注意,在召回中因为最终采样优化的是softmax,所以跟穿越没啥关系。

5)某大厂一面:youtubenet项目,数据怎么来的,怎么训练,线上服务怎么配,如果说做的i2i,问为啥不做u2i,做u2i如何做?召回的指标是什么?你做的几路召回效果怎么样,为什么好?讲讲你做的精排流程,模型使用的什么指标(auc以及改进版gauc)?线上线下指标相差较大原因是什么?

6)n2v、w2v、deepwalk区别?冷启动怎么办?(eges)讲讲原理?w2v损失函数是什么?交叉熵如何写?为什么mse不能用于分类?w2v对softmax改进是什么?详细讲讲负采样?了解attention吗?讲讲它的原理?

7)算法:推的构成,判断链表有环。

8)用机器学习模型做项目,如何选择模型?
答:lr fm gbdt wide&deep deepfm din依次迭代最简单的。然后做特征工程,就是怎么做字段。

这篇关于一些推荐算法的面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!