2021 年 7 月中旬 蔚来 NLP 算法工程师 面试题 4 道!
文末免费送电子书:七月在线干货组最新 升级的《名企AI面试100题》免费送!
问题一:你常用的优化算法?有什么特点?为什么?
梯度下降:在一个方向上更新和调整模型的参数,来最小化损失函数。
随机梯度下降(Stochastic gradient descent,SGD)对每个训练样本进行参数更新,每次执行都进行一次更新,且执行速度更快。
为了避免SGD和标准梯度下降中存在的问题,一个改进方法为小批量梯度下降(Mini Batch Gradient Descent),因为对每个批次中的n个训练样本,这种方法只执行一次更新。
使用小批量梯度下降的优点是:
- 可以减少参数更新的波动,最终得到效果更好和更稳定的收敛。
- 还可以使用最新的深层学习库中通用的矩阵优化方法,使计算小批量数据的梯度更加高效。
- 通常来说,小批量样本的大小范围是从50到256,可以根据实际问题而有所不同。
- 在训练神经网络时,通常都会选择小批量梯度下降算法。
SGD方法中的高方差振荡使得网络很难稳定收敛,所以有研究者提出了一种称为动量(Momentum)的技术,通过优化相关方向的训练和弱化无关方向的振荡,来加速SGD训练。
Nesterov梯度加速法,通过使网络更新与误差函数的斜率相适应,并依次加速SGD,也可根据每个参数的重要性来调整和更新对应参数,以执行更大或更小的更新幅度。
AdaDelta方法是AdaGrad的延伸方法,它倾向于解决其学习率衰减的问题。Adadelta不是累积所有之前的平方梯度,而是将累积之前梯度的窗口限制到某个固定大小w。
Adam算法即自适应时刻估计方法(Adaptive Moment Estimation),能计算每个参数的自适应学习率。这个方法不仅存储了AdaDelta先前平方梯度的指数衰减平均值,而且保持了先前梯度M(t)的指数衰减平均值,这一点与动量类似。
Adagrad方法是通过参数来调整合适的学习率η,对稀疏参数进行大幅更新和对频繁参数进行小幅更新。因此,Adagrad方法非常适合处理稀疏数据。
七月在线手推机器学习22讲(下):无监督学习,8月26日(本周四)就要开课啦!
课程由AI LAB 陈博士授课、答疑,从聚类、PCA推到马尔可夫、LDA等,且本课将全面带你梳理模型发展脉络,构建模型体系框架,为后续“深度学习”模型学习和项目实战扫清障碍。
点击查看>>https://www.julyedu.com/course/getDetail/376
原价800元,限时99元秒杀!
问题2:Kmeans 和 EM算法?Kmeans和EM算法很相似,类比一下?
K-means(K均值聚类)是一种基于中心的聚类算法,通过迭代,将样本分到K个类中,使每个样本与其所属类中心的距离之和最小。
EM的算法核心就是E步和M步(期望步和最大化步)
- 期望步(E-步)
给定当前的簇中心,每个对象都被指派到簇中心离该对象最近的簇。这里,期望每个对象都属于最近的簇。
- 最大化步(M-步)
给定簇指派,对于每·个簇,算法调整其中心,使得指派到该簇的对象到该新中心到的距离之和最小化。也就是说,将指派到一个簇的对象的相似度最大化。
问题3:圆上任选一条弦,其长度大于圆内接正三角形边长的概率为?
- 解法一:由于对称性,可预先指定弦的方向。作垂直于此方向的直径,只有交直径于1/4 点与 3/4点间的弦,其长才大于内接正三角形边长。所有交点是等可能的,则所求概率为1/2 。此时假定弦的中心在直径上均匀分布。
- 解法二:由于对称性,可预先固定弦的一端。仅当弦与过此端点的切线的交角在60°~ 120°之间,其长才合乎要求。所有方向是等可能的,则所求概率为1/3 。此时假定端点在圆周上均匀分布。
- 解法三:弦被其中点位置唯一确定。只有当弦的中点落在半径缩小了一半的同心圆内,其长才合乎要求。中点位置都是等可能的,则所求概率为1/4。此时假定弦长被其中心唯一确定。
可见,上述三个答案是针对三个不同样本空间引起的,它们都是正确的,贝特朗悖论引起人们注意,在定义概率时要事先明确指出样本空间是什么。
贝特朗悖论在普通高中中模拟概率时会出现。一般第一种答案(即”1/3“)使用较为广泛。
可参考:https://kechuang.org/t/51595
https://zhuanlan.zhihu.com/p/158679111
问题4:判断一个链表是否是回文串
思路:将值添加到数组中,翻转后进行比较。
将链表值添加到数组列表中,然后直接比较翻转前后是否相等。
时间复杂度:O(n)
空间复杂度:O(n)
帮助数千人成功上岸的《名企AI面试100题》书,电子版,限时免费送,评论区回复“100题”领取!
本书涵盖计算机语⾔基础、算法和⼤数据、机器学习、深度学习、应⽤⽅向 (CV、NLP、推荐 、⾦融风控)等五⼤章节,每⼀段代码、每⼀道题⽬的解析都经过了反复审查或review,但不排除可能仍有部分题⽬存在问题,如您发现,敬请通过官⽹/APP七月在线 - 国内领先的AI职业教育平台 (julyedu.com)对应的题⽬页⾯留⾔指出。
为了照顾⼤家去官⽹对应的题⽬页⾯参与讨论,故本⼿册各个章节的题⽬顺序和官⽹/APP题库内的题⽬展⽰顺序 保持⼀致。 只有100题,但实际笔试⾯试不⼀定局限于本100题,故更多烦请⼤家移步七⽉在线官⽹或 七⽉在线APP,上⾯还有近4000道名企AI笔试⾯试题等着⼤家,刷题愉快。