常见的基础机器学习与深度学习面试题

由于找工作需要,搜集了一些常见的基础机器学习与深度学习面试题,希望对你有所帮助。
参考博客:
https://zhuanlan.zhihu.com/p/45091568
https://www.cnblogs.com/hanxiaosheng/p/9934237.html

1.无监督和有监督算法的区别?

  • 1、无监督学习:对没有分类的训练样本进行学习,以发现训练样本集中的结构性知识,所有的分类是未知的,因此,训练样本的歧义性高。聚类就是典型的无监督学习。
  • 2、有监督学习:对有分类的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测,所有的分类是已知的,因此,训练样本的歧义性低。

2.什么是偏差和方差?

  • 偏差:度量了学习算法的期望预测和真实结果的偏离程度,刻画了学习算法本身的拟合能力。
  • 方差:度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响
  • 偏差和方差一般称为bias和variance,一般训练程度越高,偏差越小,方差越大。如果偏差较大,方差较小,此时一般称为欠拟合;偏差较小,方差较大称为过拟合。

3.为什么会产生欠拟合和过拟合,有哪些方法可以预防欠拟合和过拟合?

  • 在机器学习中,将学习器在训练集上的误差称为训练误差或者经验误差,在新样本上的误差称为泛化误差,显然我们希望得到泛化误差小的学习器。然而,当学习器将训练样本学的太好的时候,往往可能把训练样本自身的特点当做了潜在样本具有的一般性质。这样就会导致泛化性能下降,称之为过拟合;欠拟合一般指对训练样本的一般性质尚未学习好,在训练集上仍然有较大的误差。
  • 欠拟合:一般增加模型的复杂度,增加决策树的分支,增加神经网络中的训练次数等。
  • 过拟合:一般增加样本数量,对样本进行降维,降低模型复杂度,利用L1,L2正则化,利用交叉验证,early stopping(早停法)。

4.如何解决类别不平衡问题?

  • 1、扩充数据集
  • 2、数据重新采样
  • 3、改变评价指标等

5.如何进行特征选择?

  • 特征选择是一个重要的数据预处理过程,主要有两个原因,首先在现实任务中我们会遇到维数灾难的问题(样本密度非常稀疏),若能从中选择一部分特征,那么这个问题能大大缓解,另外就是去除不相关特征会降低学习任务的难度,增加模型的泛化能力。冗余特征指该特征包含的信息可以从其他特征中推演出来,但是这并不代表该冗余特征一定没有作用,例如在欠拟合的情况下也可以用过加入冗余特征,增加简单模型的复杂度
  • 常见的特征选择方式有过滤式(filter)、包裹式(wrapper)和嵌入式(embedding)。Filter类型先对数据集进行特征选择,再训练学习器。Wrapper直接把最终学习器的性能作为特征子集的评价准则,一般通过不断候选子集,然后利用cross-validation过程更新候选特征,通常计算量比较大。嵌入式特征选择将特征选择过程和训练过程融为了一体,在训练过程中自动进行了特征选择,例如L1正则化更易于获得稀疏解,而L2正则化更不容易过拟合。L1正则化可以通过PGD,近端梯度下降进行求解。

6.无监督学习中存在过拟合吗?

  • 存在。我们可以使用无监督学习的某些指标或人为地去评估模型性能,以此来判断是否过拟合。

7.什么是k折交叉验证?关于它需要注意什么?

  • 将原始数据集划分为k个子集,将其中一个子集作为验证集,其余作为训练集,如此训练一轮称为一次交叉验证。这样重复k次,每个子集都做一次验证集,得到k个模型,加权平均k个模型的结果作为评估整体模型的依据。
  • 需要注意的是k越大,不一定效果越好,而且越大的K会加大训练时间;在选择k时,需要考虑最小化数据集之间的方差。

8.L1和L2范数的区别

  • L1范数:向量中各个元素绝对值之和
  • L2范数:向量中各个元素平方和的开二次方根

9.分类型模型评判的指标

  • 1、混淆矩阵:也叫误差矩阵
  • 2、ROC曲线
  • 3、AUC面积

10.简述一下混淆矩阵及各项指标

  • 混淆矩阵是评判模型结果的指标,属于模型评估的一部分。多用于判断分类器的优劣,适用于分类型的数据模型。
  • TP(True positive):真实值是positive,模型认为是positive的数量
  • FN(false negative):真实值是positive,模型认为是negative的数量
  • FP(false positive):真实值是negative,模型认为是positive
  • TN(true negabive):真实值是negative,模型认为是negative
    混淆矩阵
  • 准确率(Accuracy)、灵敏度(Sensitivity)、特异度(Specificity)、召回率(Recall)
    公式汇总
  • F1 score:F1 = 2PR/(P+R)
    P代表precision,R代表recall
    F1取值范围从0到1,1代表模型的输出最好,0代表模型的输出结果最差。

12.ROC曲线

  • ROC曲线全称为受试者工作特征曲线(Receiver Operating Characteristic Curve),它就是一张图上的曲线,通过曲线的形状来判定模型的好坏。
  • 横轴(false positive rate):FPR = FP/(FP+TN)
  • 纵轴(true positive rate):TPR = TP/(TP+FN)
  • 如果曲线更靠近左上角,则模型分类的准确度越高,模型效果越好
  • ROC曲线上的一系列点,代表选取一系列的阈值产生的结果。

13.AUC面积

  • AUC(Area Under Curve),即曲线下的面积,它就是ROC曲线下的面积是多大。AUC越大,预测效果越好。

14.SVM如何解决多分类问题?

  • 多个二分类器组合。一对一、一对多、多对多

15.列举你知道的聚类算法

  • 层次聚类,k均值聚类,DVSCAN算法、OPTICS算法、谱聚类

16.k均值算法中,初始类中心怎么确定

  • 随机选择K个样本作为类中心,将样本随机划分成K个子集然后计算类中心

17.解释L1和L2正则化的作用

  • L1正则化是在代价函数后面加上λ||θ||,L2正则化是在代价函数后面增加了λ||θ||2,两者都起到一定的过拟合作用,两者都对应一定的先验知识,L1对应拉普拉斯分布,L2对应高斯分布,L1偏向于参数稀疏性,L2偏向于参数分布较为密集。

18.神经网络的原理,如何进行训练?

  • 一般而言神经网络是由单个的神经元和不同神经元之间的连接构成,不同的结构构成不同的神经网络。最常见的神经网络一般称为多层前馈神经网络,除了输入和输出层,中间隐藏层的个数被称为神经网络的层数。BP算法是训练神经网络中最著名的算法,其本质是梯度下降和链式法则。

19.用梯度下降训练神经网络的参数,为什么参数有时会被训练为nan值?

  • 1、输入数据本身存在nan值
  • 2、或者梯度爆炸(可以降低学习率,或者设置梯度的阈值)

20.卷积神经网络CNN中池化层有什么作用?

  • 减小图像尺寸,即数据降维,缓解过拟合,保持一定程度的旋转和平移不变性。

21.请列举几种常见的激活函数。激活函数有什么用?

  • sigmoid、relu、tanh。非线性化

22.利用梯度下降法训练神经网络,发现模型loss不变,可能有哪些问题?怎么解决?

  • 可能是梯度消失了,表示神经网络迭代更新时,有些权值不更新了。
  • 可以改变激活函数,改变权值的初始化等。

23.神经网络中的dropout的作用?具体是怎么实现的?

  • 防止过拟合用的。每次训练,都对每个神经网络单元,按一定概率临时丢弃。

24.残差网络为什么能做到很深层?

  • 神经网络在反向传播过程中要不断地传播梯度,而当网络层数加深时,梯度在逐层传播过程中会逐渐衰减,导致无法对前面网络层的权重进行有效的调整。残差网络中,加入了short connections为梯度带来了一个直接向前面层的传播通道,缓解了梯度的减小问题。

25.相比sigmoid激活函数,Relu激活函数有什么优势?

  • 1、防止梯度消失(sigmoid的导数只有在0附近的时候有较好的激活性,在正负饱和区的梯度都接近于0)
  • 2、Relu的输出具有稀疏性
  • 3、Relu函数简单,计算速度快

26.卷积神经网络中空洞卷积的作用是什么?

  • 空洞卷积也叫扩张卷积,在保持参数个数不变的情况下增大了卷积核的感受野,同时它可以保证输出的特征映射(feature map)的大小保持不变。

27.解释下卷积什么网络中感受野的概念

  • 感受野(receptive field):卷积神经网络每一层输出的特征图上的像素点在原始图像上映射的区域大小。

28.梯度爆炸的解决方案

  • BN(Batch Normalization),批量归一化
  • 正则化
  • 参数初始化
  • 减少层数
  • 换激活函数,如Relu
  • 引入gradient clipping(梯度截断)。通过梯度截断,将梯度约束在一个范围内,这样不会使得梯度过大。

29.深度学习模型参数初始化都有哪些方法?

  • 1、高斯分布
  • 2、Xavier
  • 3、MSRA
  • 4、uniform

30.注意力机制在深度学习中的作用是什么?

  • 注意力机制从本质上讲和人类的选择性视觉注意力机制类似,核心目标是从大量信息中选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。

31.神经网络参数共享是指什么?

  • 权值共享就是说,用一个卷积核去卷积一张图,这张图每个位置是被同样数值的卷积核操作的,权重是一样的,也及时参数共享。

32.如何提高小型网络的精度?

  • 1、模型蒸馏技术
  • 2、利用AutoML进行网络结构的优化,可以将网络计算复杂度作为约束条件之一,得到更优的结构。

33.什么是神经网络的梯度消失问题,为什么会有梯度消失问题?什么办法能缓解梯度消失问题?

  • 在反向传播算法计算每一层的误差项的时候,需要乘以本层激活函数的导数值,如果导数值接近于0,则多次乘积之后误差项会趋近于0,而参数的梯度值通过误差项计算,这会导致参数的梯度值接近于0,无法用梯度下降法来有效的更新参数的值。
  • 改用ResNet;BN(Batch Normalization),批量归一化;减少层数;使用Relu函数。

34.列举你所知道的神经网络中使用的损失函数

  • 常用的有交叉熵、欧氏距离、对比损失、合页损失,一般情况下交叉熵更容易收敛到一个更好的解。

35.1x1卷积有什么用途?

  • 通道降维,保证卷积神经网络可以接受任何尺寸的输入数据

36.随机梯度下降法,在每次迭代时能保证目标函数值一定下降吗?为什么?

  • 不能,每次迭代时目标函数不一样

37.解释梯度下降法中动量项的作用

  • 利用之前迭代时的梯度值,减小震荡

38.为什么现在倾向于用小尺寸的卷积核?

  • 用多个小卷积核串联可以有大卷积核同样的能力,而且参数更少,另外有更多次的激活函数作用,增强非线性

39.解释反卷积的原理和用途

  • 反卷积即转置卷积,正向传播时乘以卷积核的转置矩阵,反向传播时乘以卷积核矩阵
  • 用途:实现上采样;近似重构输入数据,卷积层可视化。

40.什么样的函数可以用作激活函数?

  • 非线性、几乎处处可导、单调

41.什么是共线性?跟过拟合有啥关联?

  • 共线性:多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确,共线性会造成冗余,导致过拟合。
  • 解决办法:排除变量的相关性、加入权重正则

42.softmax回归训练时的目标函数是凸函数吗?

  • 是,但是不止一个全局最优解

43.什么是鞍点问题?

  • 梯度为0,Hessian矩阵不定的点,不是极值点。

44.待续。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值