面试问题总结
1.LTWL(2019.4.8)
【a】朴素贝叶斯算法,防止类别样本数为0的平滑方法:拉普拉斯平滑
【b】learning-to-rank的三大类算法:pointwise、pairwise、listwise
https://blog.csdn.net/hguisu/article/details/7989489
【c】xgboost可以加category参数,不需要额外onehot编码
【d】early-stopping是比较好的防止过拟合的方式
【e】调参:数据量变化不大时,用上次调参结果附近微调 ;数据量变化大 网格搜索粗调,再微调
【f】一般xgboost、lightgbm调参是“网格搜索+early stopping”,深度学习里“随机搜索”效果好于“网格搜索”,贝叶斯优化的计算量有点大
【g】假设样本的 n 个特征属于 f 个field,那么FFM的二次项有 nf个隐向量。而在FM模型中,每一维特征的隐向量只有一个。FM可以看作FFM的特例,是把所有特征都归属到一个field时的FFM模型。如果隐向量的长度为 k,那么FFM的二次参数有 nfk 个,远多于FM模型的 nk 个。此外,由于隐向量与field相关,FFM二次项并不能够化简,其预测复杂度是 O(kn2)
【h】als算法是LFM算法在spark里的实现
[spark平台推出至今已经地带到2.1的版本了,但是在协同过滤这一块却一直以来都只有ALS一种算法。Hadoop中的机器学习算法库Mahout就集成了多种推荐算法,不但有user-cf和item-cf这种经典算法,还有KNN、SVD,Slope one这些。交替最小二乘法(Alternating Least Squares),它只是是一种优化算法的名字,被用在求解spark中所提供的推荐系统模型的最优解。]
https://www.cnblogs.com/mooba/p/6539142.html
【i】阿里的深度兴趣网络(DIN)用到了attention机制
2.YMT(2019.4.9)
feed架构: 多路召回,实时更新一些特征,用模型预测
考察特征重要性是,固定其他特征,单看要考察特征,特征变化前后和转化点击相关性
3.YH(2019.4.10)
链表里存在环,怎么找到倒数第n个节点
召回阶段模型特征和排序阶段模型特征并没有共用打通。
短视频推荐,物品特征从文本角度提取的特征。
多路召回不同路径并行不影响。
独立相似性的方法:考虑到item cf里的方法
给一个list里有x个视频,这x个视频属于y类,那么怎么把这x个视频打散,让任何两个相邻视频不是一类
4.JSKJ(2019.4.10)
ctr领域样本不均衡,负例采样1:100可以接受
数据样本量三四千万可以考虑用spark
spark建模精度相对不高
5.MRCD(2019.4.11)
XGBoost里特征分列方式,参考损失函数的二阶导数
auc的不同实现方式:利用从小到大排序后,
折线向上,
折线向右。
ctr推荐列表里,每个资讯条目点击与否都加入到建模样本里,而且不分排序先后不加权。
一个n位数,出现3的可能次数(排列组合)。。。
精排logloss-0.1附近可以接受
给两个升序排列数组,求交集
6.KH(2019.4.12)
从左上角走到右下角dp
三数之和
doc2vec
embedding
贝叶斯算法
怎么根据用户文本内容判别用户性别
7.YYHT(2019.4.15)
等概率抽五张卡片,要想抽齐五张的期望次数
求两个节点的最低公共父节点
dsp竞投策略
8.KLYD(2019.4.15)
xgb建树是无放回抽样,rf建树树有放回抽样
9.QH(2019.4.16)
二分查找,找小于等于某数的最大index
合并dic={网页id:插入index},arr=[网页id],要求不改变arr内网页id顺序
10.ZL(2019.4.17)
召回空值率