机器学习面试问题总结

机器学习算法面试问题

 

美团AI算法

1. xgboost原理,怎么防过拟合

2. gbdt推导

3. boosting和bagging在不同情况下的选用

4. DBSCAN原理和算法伪代码,与kmeans,OPTICS区别

5. LSTM原理,与GRU区别

6. 算法题:翻转中间由各种符号隔开的字符串

 

1. EM算法推导,jensen不等式确定的下界

2. xgboost和lightgbm的区别和适用场景

3. LR的推导,损失函数

4. gbdt推导和适用场景

5. DNN的梯度更新方式

6. 算法题:2sum,3sum

7. 算法题: 从右边看被遮挡的二叉树,求露出的node

8. 概率题,抽蓝球红球,蓝结束红放回继续,平均结束游戏抽取次数

9.apriori,KM算法,匈牙利算法,模拟退火,贪婪,蚁群对比

 

腾讯机器学习

 

1. 扣简历的项目,扣的很细

2. xgb,rf,lr优缺点场景。。。真的逢面必问,最好还是自己去网上扣一下这题

3. 算法题,单链表判断是否有环 (leetcode easy),以及判断环入口

4. 算法题,给前序和中序,求出二叉树

5. 是否写过udf,问udaf,udtf区别和一些细节

 

1. 扣项目,问简历,其中涉及的算法和上面差不多

2. 问推荐算法,fm,lr,embedding

3. 算法题,10亿个32位正整数,求不同值,只给1GB内存。。。我只答出来4GB的情况,时间负责度还不是最优的,所以稳稳凉了,如果有人知道怎么解1GB,求回复,感谢

 

1. 算法题: topK给出3种解法

2. 协同过滤的itemCF,userCF区别适用场景

3. 扣项目,问简历,其中涉及的算法和上面差不多

4. 对项目中一些技术选型产生质疑,并友好的一起讨论了这个问题

5. 推荐系统的大概步骤,解决冷启动。。。

 

1. 算法题:名人问题,给出最优解法

2. 问了一下项目和简历

3. 自我评价优缺点,怎么改进

4. 描述一个算法项目从kickoff-落地的全过程

 

阿里机器学习

1. 扣简历,问得太细了,每个项目都要回答如果再做一次,有什么改进的地方,both算法上和模型选择上

2. 算法题,反转链表

3. 算法题,trim二叉搜索树

 

1. 扣简历

2. CNN为什么比DNN在图像识别上更好

3. 用mapreduce实现10亿级以上数据的kmeans

4. rf和gbdt基分类器区别,里面的决策树分别长啥样,怎么剪枝

5. 说一下gbdt的全部算法过程

6. 反转链表。。。这个倒是简单

 

1. why LSTM,和Naive RNN区别

2. lightgbm优势

3. 简历上项目为何适用xgb和lr,对比其他分类算法的场景优势 (这题基本上逢面试必问)

4. 简历上聚类项目用到的ISODATA算法比kmeans有哪些改进

5. 算法题,单调函数求零点 (简单的二分法)

作者:MLSDD
链接:https://www.nowcoder.com/discuss/97549?type=0&order=0&pos=13&page=1
来源:牛客网

1.gbdt,xgboost,lgbm的区别(阿里,头条)
2.梯度下降法,牛顿法,拟牛顿法区别(阿里)
3.SGD,ADAM区别(百度)
4.什么是梯度消失,饱和,如何改善(阿里)
5.lr的推导(腾讯)
6.SVM目标函数,为什么转为对偶(腾讯,百度)
7.定义class mlp(头条)
8.kd tree(腾讯)
9.FFM的优化(百度)
10.解释RESNET(百度,阿里)
11.mapreduce思想(腾讯)
12.解释BN(头条,百度)
13.非结构化文本处理方法(阿里)
14.bagging.boosting.stacking区别(阿里)
15.CNN与RNN的区别(阿里)
16.如何防止过拟合(头条)
对于面试风格,百度算法面试侧重于开发的内容,比如linux常用命令,c ,操作系统之类的知识,且必写代码。腾讯侧重于机器学习算法相关基础性知识一般考一个代码题左右。阿里侧重于思维,学习能力方面的考察,聊项目居多,代码题一般一个左右。头条就是代码 项目。

基础

数据方面

1)  如何解决数据缺失的情况

丢弃:当缺失数据的样本很小时,可以采用直接丢弃。

数据填充:填充均值(数值型补均值,非数值型补众数值),填充预测值()

不做处理:把变量映射到高维空间,比如性别,有男女、缺失三种情况,则映射成三个变量。这样做的好处是完整保留了原始数据的全部信息,不用考虑缺失值,缺失值是计算量大大提升。适用于样本很大的情况。

2)  为什么要做数据归一化,在梯度下降时有什么好处

(加速梯度下降,减少梯度下降时的摆动,根据下降曲线进行讲解,很容易得出)

一是提高精度:

二是加速梯度下降,提升模型的收敛速度:

归一化方法:线性归一化 x = (x-min) / (max-min);标准化x = (x-样本均值) / 样本方差

3)  数据异常处理

 

最优化方面

4)  loss优化方法

说了BGD,SGD,各自优缺点,优化方向(Adam之类的)

5)  梯度下降法,牛顿法,拟牛顿法区别(阿里)

具体看笔记。

梯度下降:负梯度的方向是函数值下降最快的方向。在迭代的每一步,以负梯度的方向更新x的值,从而达到减小函数值的目的。有BGD批量梯度下降、SGD随机梯度下降。

牛顿法:牛顿法是一种近似求解方程的方法。使用函数f(x)的泰勒展开来寻找函数的根。牛顿法的特点是收敛速度快。牛顿法每次迭代需要计算目标函数海赛矩阵的逆矩阵,计算比较复杂。

拟牛顿法:用正定矩阵近似海赛矩阵的逆矩阵或海赛矩阵,简化了计算的过程。

6)  SGD,ADAM区别(百度)

7)  什么是梯度消失,饱和,如何改善(阿里)

8)  梯度下降过程 (写代码)

9)  什么是有监督训练,什么是无监督训练,举例说明</

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值