【转】BAT机器学习面试1000题系列(161~170)

BAT机器学习面试1000题系列

整理:July、元超、立娜、德伟、贾茹、王剑、AntZ、孟莹等众人。本系列大部分题目来源于公开网络,取之分享,用之分享,且在撰写答案过程中若引用他人解析则必注明原作者及来源链接。另,不少答案得到寒小阳、管博士、张雨石、王赟、褚博士等七月在线名师审校。
说明:本系列作为国内首个AI题库,首发于七月在线实验室公众号上:julyedulab,并部分更新于本博客上,且已于17年双十二当天上线七月在线官网七月在线Android APP七月在线iPhone APP后本文暂停更新和维护,另外的近3000道题都已更新到七月在线APP或七月在线官网题库板块上,欢迎天天刷题。另,可以转载,注明来源链接即可。

 

 

前言

    July我又回来了。

    之前本博客整理过数千道微软等公司的面试题,侧重数据结构、算法、海量数据处理,详见:微软面试100题系列,今17年,近期和团队整理BAT机器学习面试1000题系列,侧重机器学习、深度学习。我们将通过这个系列索引绝大部分机器学习和深度学习的笔试面试题、知识点,它将更是一个足够庞大的机器学习和深度学习面试库/知识库,通俗成体系且循序渐进。

    此外,有四点得强调下:

  1. 虽然本系列主要是机器学习、深度学习相关的考题,其他类型的题不多,但不代表应聘机器学习或深度学习的岗位时,公司或面试官就只问这两项,虽说是做数据或AI相关,但基本的语言(比如Python)、编码coding能力(对于开发,编码coding能力怎么强调都不过分,比如最简单的手写快速排序、手写二分查找)、数据结构、算法、计算机体系结构、操作系统、概率统计等等也必须掌握。对于数据结构和算法,一者 重点推荐前面说的微软面试100题系列(后来这个系列整理成了新书《编程之法:面试和算法心得》),二者 多刷leetcode,看1000道题不如实际动手刷100道。
  2. 本系列会尽量让考察同一个部分(比如同是模型/算法相关的)、同一个方向(比如同是属于最优化的算法)的题整理到一块,为的是让大家做到举一反三、构建完整知识体系,在准备笔试面试的过程中,通过懂一题懂一片。
  3. 本系列每一道题的答案都会确保逻辑清晰、通俗易懂(当你学习某个知识点感觉学不懂时,十有八九不是你不够聪明,十有八九是你所看的资料不够通俗、不够易懂),如有更好意见,欢迎在评论下共同探讨。
  4. 关于如何学习机器学习,最推荐机器学习集训营系列。从Python基础、数据分析、爬虫,到数据可视化、spark大数据,最后实战机器学习、深度学习等一应俱全。

    另,本系列会长久更新,直到上千道、甚至数千道题,欢迎各位于评论下留言分享你在自己笔试面试中遇到的题,或你在网上看到或收藏的题,共同分享帮助全球更多人,thanks。

 

限于篇幅,完整版可以扫码领取,添加时备注:领取面经100篇

 

BAT机器学习面试1000题系列

161 考虑某个具体问题时,你可能只有少量数据来解决这个问题。不过幸运的是你有一个类似问题已经预先训练好的神经网络。可以用下面哪种方法来利用这个预先训练好的网络?(C)深度学习 DL基础 易
A 把除了最后一层外所有的层都冻住,重新训练最后一层
B 对新数据重新训练整个模型
C 只对最后几层进行调参(fine tune)
D 对每一层模型进行评估,选择其中的少数来用
如果有个预先训练好的神经网络, 就相当于网络各参数有个很靠谱的先验代替随机初始化. 若新的少量数据来自于先前训练数据(或者先前训练数据量很好地描述了数据分布, 而新数据采样自完全相同的分布), 则冻结前面所有层而重新训练最后一层即可; 但一般情况下, 新数据分布跟先前训练集分布有所偏差, 所以先验网络不足以完全拟合新数据时, 可以冻结大部分前层网络, 只对最后几层进行训练调参(这也称之为fine tune)。

162 增加卷积核的大小对于改进卷积神经网络的效果是必要的吗?(C)深度学习 DL基础 易
A 没听说过
B 是
C 否
D 不知道
答案:C,增加核函数的大小不一定会提高性能。这个问题在很大程度上取决于数据集。

163 请简述神经网络的发展史。深度学习 DL基础 易

@SIY.Z。本题解析来源:https://zhuanlan.zhihu.com/p/29435406
sigmoid会饱和,造成梯度消失。于是有了ReLU。
ReLU负半轴是死区,造成梯度变0。于是有了LeakyReLU,PReLU。
强调梯度和权值分布的稳定性,由此有了ELU,以及较新的SELU。
太深了,梯度传不下去,于是有了highway。
干脆连highway的参数都不要,直接变残差,于是有了ResNet。
强行稳定参数的均值和方差,于是有了BatchNorm。
在梯度流中增加噪声,于是有了 Dropout。
RNN梯度不稳定,于是加几个通路和门控,于是有了LSTM。
LSTM简化一下,有了GRU。
GAN的JS散度有问题,会导致梯度消失或无效,于是有了WGAN。
WGAN对梯度的clip有问题,于是有了WGAN-GP。

说说spark的性能调优。大数据 Hadoop/spark 中
https://tech.meituan.com/spark-tuning-basic.html
https://tech.meituan.com/spark-tuning-pro.html

164 常见的分类算法有哪些? 机器学习 ML基础 易
SVM、神经网络、随机森林、逻辑回归、KNN、贝叶斯

165 常见的监督学习算法有哪些? 机器学习 ML基础 易
感知机、svm、人工神经网络、决策树、逻辑回归

166 在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题()机器学习 ML基础 易
A. 增加训练集量
B. 减少神经网络隐藏层节点数
C. 删除稀疏的特征
D. SVM算法中使用高斯核/RBF核代替线性核
正确答案:D
@刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html
一般情况下,越复杂的系统,过拟合的可能性就越高,一般模型相对简单的话泛化能力会更好一点。
B.一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向, svm高斯核函数比线性核函数模型更复杂,容易过拟合
D.径向基(RBF)核函数/高斯核函数的说明,这个核函数可以将原始空间映射到无穷维空间。对于参数 ,如果选的很大,高次特征上的权重实际上衰减得非常快,实际上(数值上近似一下)相当于一个低维的子空间;反过来,如果选得很小,则可以将任意的数据映射为线性可分——当然,这并不一定是好事,因为随之而来的可能是非常严重的过拟合问题。不过,总的来说,通过调整参数 ,高斯核实际上具有相当高的灵活性,也是 使用最广泛的核函数 之一。

167 下列时间序列模型中,哪一个模型可以较好地拟合波动性的分析和预测。机器学习 ML模型 易
A.AR模型
B.MA模型
C.ARMA模型
D.GARCH模型
正确答案:D
@刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html
AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值。
MA模型(moving average model)滑动平均模型,其中使用趋势移动平均法建立直线趋势的预测模型。
ARMA模型(auto regressive moving average model)自回归滑动平均模型,模型参量法高分辨率谱分析方法之一。这种方法是研究平稳随机过程有理谱的典型方法。它比AR模型法与MA模型法有较精确的谱估计及较优良的谱分辨率性能,但其参数估算比较繁琐。
GARCH模型称为广义ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)发展起来的。它是ARCH模型的推广。GARCH(p,0)模型,相当于ARCH(p)模型。GARCH模型是一个专门针对金融数据所量体订做的回归模型,除去和普通回归模型相同的之处,GARCH对误差的方差进行了进一步的建模。特别适用于波动性的分析和预测,这样的分析对投资者的决策能起到非常重要的指导性作用,其意义很多时候超过了对数值本身的分析和预测。

168 以下()属于线性分类器最佳准则?机器学习 ML模型 易
A.感知准则函数
B.贝叶斯分类
C.支持向量机
D.Fisher准则
正确答案:ACD
@刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html
线性分类器有三大类:感知器准则函数、SVM、Fisher准则,而贝叶斯分类器不是线性分类器。
感知准则函数 :准则函数以使错分类样本到分界面距离之和最小为原则。其优点是通过错分类样本提供的信息对分类器函数进行修正,这种准则是人工神经元网络多层感知器的基础。
支持向量机 :基本思想是在两类线性可分条件下,所设计的分类器界面使两类之间的间隔为最大,它的基本出发点是使期望泛化风险尽可能小。(使用核函数可解决非线性问题)
Fisher 准则 :更广泛的称呼是线性判别分析(LDA),将所有样本投影到一条远点出发的直线,使得同类样本距离尽可能小,不同类样本距离尽可能大,具体为最大化“广义瑞利商”。
根据两类样本一般类内密集,类间分离的特点,寻找线性分类器最佳的法线向量方向,使两类样本在该方向上的投影满足类内尽可能密集,类间尽可能分开。这种度量通过类内离散矩阵 Sw 和类间离散矩阵 Sb 实现。

169 基于二次准则函数的H-K算法较之于感知器算法的优点是()?深度学习 DL基础 易
A.计算量小
B.可以判别问题是否线性可分
C.其解完全适用于非线性可分的情况
D.其解的适应性更好
正确答案:BD
@刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html
HK算法思想很朴实,就是在最小均方误差准则下求得权矢量.
他相对于感知器算法的优点在于,他适用于线性可分和非线性可分得情况,对于线性可分的情况,给出最优权矢量,对于非线性可分得情况,能够判别出来,以退出迭代过程.

170 以下说法中正确的是() 机器学习 ML模型 中
A.SVM对噪声(如来自其他分布的噪声样本)鲁棒
B.在AdaBoost算法中,所有被分错的样本的权重更新比例相同
C.Boosting和Bagging都是组合多个分类器投票的方法,二都是根据单个分类器的正确率决定其权重
D.给定n个数据点,如果其中一半用于训练,一般用于测试,则训练误差和测试误差之间的差别会随着n的增加而减少
正确答案:BD
@刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html
A、SVM对噪声(如来自其他分布的噪声样本)鲁棒
SVM本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平的噪声对SVM没有太大影响,但随着噪声率的不断增加,分类器的识别率会降低。
B、在AdaBoost算法中所有被分错的样本的权重更新比例相同 
AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被凸显出来,从而得到一个新的样本分布。在新的样本分布下,再次对样本进行训练,得到弱分类器。以此类推,将所有的弱分类器重叠加起来,得到强分类器。
C、Boost和Bagging都是组合多个分类器投票的方法,二者均是根据单个分类器的正确率决定其权重。
Bagging与Boosting的区别:
取样方式不同。
Bagging采用均匀取样,而Boosting根据错误率取样。
Bagging的各个预测函数没有权重,而Boosting是有权重的。
Bagging的各个预测函数可以并行生成,而Boosing的各个预测函数只能顺序生成。
@AntZ
A. SVM解决的是结构风险最小, 经验风险处理较弱, 所以对数据噪声敏感.
B. AdaBoost算法中, 每个迭代训练一个学习器并按其误分类率得到该学习器的权重alpha, 这个学习器的权重算出两个更新比例去修正全部样本的权重: 正样本是exp(-alpha), 负样本是exp(alpha). 所以所有被分错的样本的权重更新比例相同.
C. bagging的学习器之间无权重不同, 简单取投票结果; Boosting的adaboost根据误分类率决定权重, boosting的gbdt则是固定小权重(也称学习率), 用逼近伪残差函数本身代替权重.
D: 根据中心极限定律, 随着n的增加, 训练误差和测试误差之间的差别必然减少 -- 这就是大数据训练的由来

输入图片大小为200×200,依次经过一层卷积(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一层卷积(kernel size 3×3,padding 1,stride 1)之后,输出特征图大小为:

A. 95

B. 96

C. 97

D. 98

E. 99

F. 100

后记

熟悉我的朋友可能已经知道,我个人从 2010 年开始在CSDN写博客,写了十年,如今接近1700万PV,创业做「七月在线」则已五年,五年已30多万学员。这五年经历且看过很多的人和事,比如我们的机器学习集训营帮助了超过1000人就业、转型、提升,他们就业后有的同学会分享面经,当看到那一篇篇透露着面经作者本人的那股努力、那股不服输的劲的面经的时候,则让我倍感励志。比如“双非渣本三年 100 次面试经历精选:从最初 iOS 前端到转型面机器学习” 这篇面经,便让我印象非常深刻。在佩服主人公毅力和意志的同时,也对他愿意分享对众多人有着非常重要参考价值和借鉴意义的成功经验倍感欣慰。

当然,类似的面经远远不止于此,后来我们整理出了100篇面经,汇总成册为《名企AI面经100 篇:揭开三个月薪资翻倍的秘诀》,这 100 篇面经分为机器学习、深度学习、 CV、NLP、推荐系统、金融风控、计算广告、数据挖掘/数据分析八大方向。分享面经的作者各种背景都有,比如

  1. 科班,或非科班;
  2. 985、211,或双非院校;
  3. 研究生或本科,甚至大专;
  4. 学生,或在职;
  5. 至于传统IT转型 AI 的就更多了,有从 Java、PHP、C、C++等偏后端服务转型的,也有从 Android、iOS、前端等偏客户端开发转型的,当然也有数据分析、大数据方向等转型的。

但令人振奋的是,他们都转型成功了,而且他们中的很多人都通过集训营/就业班三个月到半年的学习,成功实现薪资翻倍——这些成功的经验就更值得借鉴了。

就业部的同事特地将这些宝贵的经验整理出来,希望可以帮到更多人。

限于篇幅,完整版可以扫码领取,添加时备注:领取面经100篇

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值