• 发文
  • 评论
  • 微博
  • 空间
  • 微信

面经 | 机器学习算法岗(阿里-优酷)

程序媛驿站 2020-05-05 17:32 发文

福报厂的秋招投递讲究稳准狠

一定要早投递,投晚了-直接-简历挂


面试体验

a. 面试形式为电话面试。

b. 考察的编程题不是很难,但考察的知识感觉很深入,会问一些其他面经和帖子上没见过的问题。

c. 本文为阿里爸爸大文娱-优酷的面试帖,8月末,作者俏咪咪的抓住了秋招的尾巴



一面 

项目与自我介绍

哈希表的优缺点:

优点:

不论哈希表中数据有多少,增加,删除,改写数据的复杂度平均都是O(1),效率非常高,不仅速度快,编程实现也相对容易。

缺点:

它是基于数组的,数组创建后难于扩展,某些哈希表被基本填满时,性能下降得非常严重,所以程序员必须要清楚表中将要存储多少数据,或者准备好定期地把数据转移到更大的哈希表中,这是个费时的过程。

哈希表的原理:

通过把关键码值(Key value)映射到表中一个位置来访问记录,以加快查找的速度

L1、L2、dropout 之间有什么联系

都是为了防止过拟合,提高模型的泛化能力

但正则化并不改变问题的本质,L1、L2正则化是通过修改代价函数来实现的

而Dropout则是通过修改神经网络本身来实现的,它是在训练网络时用的一种技巧(trike)

Dropout与集成思想

dropout本质上体现了集成学习思想。

在集成学习中,我们采用了一些"较弱"的分类器,分别训练它们。由于每个分类器都经过单独训练,因此它学会了数据的不同"方面",并且它们的错误也不同。将它们组合起来有助于产生更强的分类器,不容易过度拟合。

一种集成算法是装袋(bagging),其中每个成员用输入数据的不同子集训练,因此仅学习了整个输入特征空间的子集。

dropout,可以看作是装袋的极端版本。在小批量的每个训练步骤中,dropout程序创建不同的网络(通过随机移除一些单元),其像往常一样使用反向传播进行训练。从概念上讲,整个过程类似于使用许多不同网络(每个步骤一个)的集合,每个网络用单个样本训练(即极端装袋)。

在测试时,使用整个网络(所有单位)但按比例缩小。在数学上,这近似于整体平均。

显然这是一种非常好应用于深度学习的集成思想。

LR 逻辑回归能不能加dropout

当然不能

说能的童鞋可以后台找小媛领板子了!

深度学习能不能用L1 L2

可以,L2还是用得比L1多,因为一般的深度学习模型不太关注稀疏性。



二面 

项目与自我介绍

深度学习模型压缩算法与优化加速

轻量网络设计

模型裁剪

模型蒸馏

矩阵分解

量化与低精度运算

计算图优化

卷积算法优化

硬件加速

在后台回复【模型压缩】了解更多模型压缩与加速知识点

解释性语言怎么做到交互式编程

解释型语言:

是在运行的时候将程序翻译成机器语言。不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。这样解释型语言每执行一次就要翻译一次,效率比较低。

交互式编程:

直接输入脚本语句,回车就执行了,结果立即显示出来,而不用经过复杂的保存和编译阶段。这对于简单的尝试性的操作是很方便的,比如测试一个函数的用法。因为输入语句之后,就可以立即得到结果,你就知道问题出在哪里,立即就可以修正。

作者回答可以使用Jupyter Notebook,欢迎小伙伴们留言讨论

期望风险、经验风险的区别:

经验风险是局部的,基于训练集所有样本点损失函数最小化的;

期望风险是全局的,是基于所有样本点的损失函数最小化的。

经验风险函数是现实的,可求的;

期望风险函数是理想化的,不可求的。

期望风险、经验风险和结构风险是什么:

经验风险是对训练集中的所有样本点损失函数的平均最小化。经验风险越小说明模型f(X)对训练集的拟合程度越好;

期望风险是因为未知的样本数据(<X,Y>)的数量是不容易确定的,没有办法用所有样本损失函数的平均值的最小化这个方法,所以使用期望风险来衡量这个模型对所有的样本(包含未知的样本和已知的训练样本)预测能力。

只考虑经验风险的话,会出现过拟合的现象,过拟合的极端情况便是模型f(x)对训练集中所有的样本点都有最好的预测能力,但是对于非训练集中的样本数据,模型的预测能力非常不好。怎么办呢?这个时候就引出了结构风险。

结构风险是对经验风险和期望风险的折中。在经验风险函数后面加一个正则化项(惩罚项)便是结构风险了。



三面 

项目与自我介绍

梯度下降过程中如果不按正确的方向进行怎么办?

编译原理学过没

分布式了解吗

编程题1:浮点数开根号

二分法(通过缩小根值范围的方法来逼近结果)

牛顿法,级数逼近

编程题2:浮点数的N次方

快速幂,查表

编程题3:01矩阵求所有的联通域

解法:BFS/ DFS + 标记是否检测过

加速法:分布式算法:划分为4块,从四个角分别计算,最后Merge

概率法

编程4:方阵的N次方

快速幂,特征值/矩阵快速幂




推荐阅读:

如何成功追到微软小姐姐-葡萄媛

十分钟生成自己的疫情地图,小白都能立刻上手!

一文学会Pytorch版本BERT使用

Paper | CVPR2019 Image Caption 之 无监督图像描述

Paper | NAACL2019 抽取式摘要之 SUMO

面经 | NLP算法岗(腾讯)

面经 | 推荐算法岗(美团)

更多面经在最左菜单栏~


点点在看

帮小编保住饭碗

声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    程序媛驿站

    带你领略计算机学科之美。内容包括...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码