算法工程师笔试面试问题汇总

本文整理了算法工程师笔试面试中常见的问题,涵盖机器学习基础知识、深度学习、编程算法、操作系统与数据库、NLP和CV等多个领域。内容包括模型过拟合、正则项、随机森林、SVM核函数、KKT条件、线性规划复杂度、特征选择方法、特征提取、深度学习优化方法、降维方法、KNN算法、图像处理和数据库事务等关键知识点。
摘要由CSDN通过智能技术生成

本文档记录刷题过程中做错的一些题目,并将其分类,以便于以后复习。

机器学习基础知识

  1. 增加以下哪些超参数可能导致随机森林模型过拟合数据?
    1. 决策树的数量;
    2. 决策树的深度;
    3. 学习率。
    
    答案: 2
  1. 在线性回归中使用正则项,你发现解的不少coefficient都是0,则这个正则项可能是:
1. L0-norm 
2. L1-norm
3. L2-norm

答案:1、2 L0-norm为向量中非零元素的个数
  1. 当训练样本数量趋向于无穷大时,在该数据集上训练的模型变化趋势,对于其描述正确的是 :
1. 偏差(bias)变小
2. 偏差变大
3. 偏差不变
4. 不确定

答案: 3,模型收敛后偏差趋向不变
  1. 随机变量$X \sim N(1,2),Y \sim N(3,5)$,则$X+Y \sim$
1. N(4,7)
2. N(4,\sqrt 2 + \sqrt 5)
3. N(1 + \sqrt 3 ,7)
4. 不确定

答案 : 4 ,通过边缘概率分布不能确定联合概率分布 
  1. 若将KNN看成是kernel method的一种实现, 则kernel函数为








答案 :B

  1. 下列不是SVM的常用核函数的是?
1. 多项式核函数
2. sigmoid核函数
3. 径向基核函数
4. logistic核函数

答案:4.
  • SVM常见核函数:
    • q次多项式核
    • 径向基函数
    • S型函数(Sigmoid)
  1. 下列描述中错误的是?
1. 函数在某点的梯度方向与取得最大方向导数的方向一致。
2. 在等式约束条件下,约束的梯度向量与目标函数的梯度向量在最优解处一定平行。
3. KKT条件是强对偶成立的充要条件。
4. 函数在某点的梯度的模为方向导数的最大值。

答案:3.

  KKT条件是强对偶性成立的必要条件,特别的,当原问题是凸优化问题时,KKT条件就是充要条件。

  1. 关于线性规划的算法复杂度 以下哪些是正确的?
1. simplex在多项式复杂度的时间内可以解决线性规划问题
2. simplex不是多项式复杂度,而且线性规划的问题不可以在多项式时间内求解
3. 线性规划的问题可以在多项式时间内求解,但是simplex不是多项式复杂度
4. 因为线性规划的可行域总是凸集,所以simplex算法才能在多项式时间复杂度内解决线性规划问题

答案:3.
  1. 在相同样本量下,重复抽样与不重复抽样的抽样平均误差大小关系是?
1. 二者相同
2. 重复抽样误差大
3. 不重复抽样误差大
4. 不确定

答案: 2.

  1. 以下关于K近邻(KNN)算法的说法中正确的是?
1. KNN算法可以用来解决回归问题
2 .随着K值的增大,决策边界(decision boundary)会越来越光滑
3. KNN算法适合解决高维稀疏数据上的问题
4. 相对3近邻模型而言,1近邻模型的bias更大,variance更小

答案:1. 2. K为1时方差更大,偏差不一定,容易过拟合,K太大时偏差大
  1. 下列关于特征选择方法中,描述正确的是
1. 传统交叉熵只考虑了特征与类别之间的相关性,而忽略了特征项在类内和类间分布的均匀程度。
2. 互信息筛选特征的方法受稀有特征的影响比较大
3. 信息增益筛选特征倾向于特征值比较多的特征
4. 皮尔逊相关系数计算时,方差均为0时,相关性最大

答案: 4.  当方差为0的时候,相关系数为0.
  1. 关于准确率、召回率和f1-score,以下错误的是:
1. 准确率为TP/(TP+FP)
2. 召回率为TP/(TP+FN)
3. f1-score为2TP/(2TP+FP+FN)
4. f1-score为准确率*召回率/(准确率+召回率)

  1. 以下哪些算法可以通过无监督学习方式进行训练?
1. SVM
2. K-Medoids
3. 决策树
4. RBM
5. GAN

答案 : 2. 4. 5. RBM(受限玻尔兹曼机)也可以通过无监督学习训练
  1. 以下哪个不属于过拟合解决方式
1. bagging/boosting
2. batch normalization
3. L2范式
4. cross validation

答案: 2.  交叉验证的作用是建立模型和验证模型,对样本数进行切割,组成不同的训练集和测试集。
  1. 以下哪些分类器是线性分类器
1. 朴素贝叶斯
2. SVM
3. 逻辑回归
4. 感知机
5. XGBoost
  • 线性分类器:模型是参数的线性函数,分类平面是(超)平面;
  • 非线性分类器:模型分界面可以是曲面或者超平面的组合。
  • 典型的线性分类器有感知机,LDA,逻辑斯特回归,SVM(线性核);
  • 典型的非线性分类器有朴素贝叶斯(有文章说这个本质是线性的,http://dataunion.org/12344.html),kNN,决策树,SVM(非线性核)
  1. 关于随机森林描述正确的是:
1. 随机森林可以降低预测方差
2. 随机森林可以降低预测偏差
3. 随机森林可以降低噪音
4. 以上全部

错选:4.
答案:1.

随机森林采用bagging的集成思想,可以降低方差,对于boosting模型可以降低偏差

  1. 在机器学习的特征选择过程中,可以用到的方法有
1. 卡方
2. 信息增益
3. 交叉熵
4. 互信息

错选:2. 4.
正确:1. 2. 3. 4.

在文本分类中,首先要对数据进行特征提取,特征提取中又分为特征选择和特征抽取两大类,在特征选择算法中有互信息,文档频率,信息增益,卡方检验以及期望交叉熵

  • 期望交叉熵,以文本分类为例子,期望交叉熵用来度量一个词对于整体的重要程度。
  • 在ID3决策树中,也使用信息增益作为特征选择的方法,在C4.5决策树中,使用信息增益比作为特征选择的方法,在CART中,使用基尼指数作为特征选择的方法
  • 链接:https://www.nowcoder.com/questionTerminal/bacc960e371c496e9e1ff9b7233a5b0a?orderByHotValue=2&mutiTagIds=631&page=1&onlyReference=false
  1. 关于下列机器学习理论上的各种描述,请选择下列正确的选项
1. 逻辑斯提回归的常用损失函数其实本质是一种相对熵度量
2. 核方法可以简化再机器学习中高维映射的运算
3. 随机梯度下降方法可以得到理论上的最优解
4. 剪枝是防止决策树模型过拟合的一种常见方法

错选:2. 3. 4.
答案:2. 4.
  1. 深度学习中的不同最优化方式,如SGD,ADAM下列说法中正确的是
1. 在实际场景下,应尽量使用ADAM,避免使用SGD
2. 同样的初始学习率情况下,ADAM的收敛速度总是快于SGD方法
3. 相同超参数数量情况下,比起自适应的学习率调整方式,SGD加手动调节通常会取得更好效果
4. 同样的初始学习率情况下,ADAM比SGD容易过拟合

错选: 2.
答案: 3.
  1. 以下哪个方法不能用来降维:
1. PCA
2. IsoMap
3. LLE
4. LVW

错选: 2.
答案: 4.
  • PCA:主成分分析
  • LLE:局部线性嵌入
  • IsoMap:等度量映射
  • LVW:拉斯维加斯特征选择算法
  1. 以下关于kNN的说法中,错误的是:
1. 一般使用投票法进行分类任务
2. kNN属于懒惰学习
3. kNN训练时间普遍偏长
4. 距离计算方法不同,效果也可能有显著差别

错选: 1.
答案: 3.
  • KNN有训练集做标签但无需训练过程
  1. 影响聚类算法效果的主要因素有()
1. 已知类别的样本质量
2. 分类准则
3. 特征选取
4. 模式相似性测度

答案:2. 3. 4.

深度学习基础知识

  1. 输入图片大小为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)之后,输出特征图大小为
1. 95
2. 96
3. 97
4. 98

答案 : 97.
  • 图像卷积后尺寸计算公式

    • 输入图片大小W*W
    • Filter大小F*F
    • 步长S
    • Padding的像素数P
  • N = (W-F+2P)/ S+1 ,输出图片大小为 N*N。

  1. 假设我们有一个5层的神经网络,这个神经网络在使用一个4GB显存显卡时需要花费3个小时来完成训练。而在测试过程中,单个数据需要花费2秒的时间。 如果我们现在把架构变换一下,当评分是0.2和0.3时,分别在第2层和第4层添加Dropout,那么新架构的测试所用时间会变为多少?
1. 少于2s
2. 大于2s
3. 仍是2s
4. 说不准

答案: 3. dropout会增加训练时间,但是不会增加测试时间。

编程算法基础(时间复杂度计算等)

  1. 完全二叉树共有100结点,该二叉树有多少个叶子结点?
1. 49
2. 50
3. 51
4. 52

答案 : 2 

  完全二叉树,当节点数为偶数时,叶子节点个数为n/2,当节点数为奇数时,叶子节点个数为(n+1)/2

  1. 求一个长度为n的无序数组的中位数,期望复杂度和最坏复杂度最优分别可以做到
1. O(1),O(n)
2. O(n),O(n)
3. O(n),O(nlogn)
4. O(nlogn),O(nlogn)

答案:3.

3.若一个递归函数的规模函数T(n) = T(n-2) + (n^2)/3,则其算法的时间复杂度为:

1. O(n^2)
2. O(n^2 log(n))
3. O(n^3)
4. O(n^3 log(n))

答案: 3.
  • 算数级数:与末项平方同阶:

    T ( n ) = 1 + 2 + 3 + . . + n = n ( n + 1 ) / 2 = O ( n 2 ) T(n) = 1+2+3+..+n = n(n+1)/2 = O(n^2) T(n)=1+2+3+..+n

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值