面试常见机器学习问题

常见机器学习问题

1) 过拟合问题
2) 交叉验证问题
3) 模型融合问题
4) 模型选择问题
面试常见问题

1) 几种模型( SVM,LR,GBDT,EM )的原理以及公式推导;
2) RF,GBDT 的区别; GBDT,XgBoost的区别(烂大街的问题最好从底层原理去分析回答);
3) 决策树处理连续值的方法;
4) 特征选择的方法;
5) 过拟合的解决方法;
6) K-means 的原理,优缺点以及改进;
7) 常见分类模型( SVM ,决策树,贝叶斯等)的优缺点,适用场景以及如何选型;
8) SVM 为啥要引入拉格朗日的优化方法;
9) 假设面试官什么都不懂,详细解释 CNN 的原理;
10) 梯度下降的优缺点
11) EM与K-means的关系;
12) L1与L2的作用,区别以及如何解决L1求导困难;
13) 如何用尽可能少的样本训练模型同时又保证模型的性能;
14) ID3和C4.5的优缺点,树的融合(RF和GBDT)
15) 特征提取方法,如何判断特征是否重要
16) BP神经网络以及推导
17) HMM模型状态推导
18) 过拟合原因以及解决办法(深度学习同)
19) 常见损失函数
20)机器学习性能评价,准确率,召回率,ROC
22)降采样,PCA,LDA
深度学习
常见问题

1)四种激活函数区别和作用
2)过拟合解决方法
3)(CNN)卷及神经网络各层作用
4)(RNN)循环神经网络
5)LSTM
6)梯度弥散
7)优化算法 adam,SGD等
8)分析Alexnet,VGG的网络结构以及各层作用
9)XgBoost(好像很多公司也面到了)
10)梯度下降的优化
12)卷积核参数计算
13)TensorFlow中的session是什么,session和interactivesession的区别

)解释什么是快速排序算法?

  快速排序算法能够快速排序列表或查询。它基于分割交换排序的原则,这种类型的算法占用空间较小,它将待排序列表分为三个主要部分:

  ·小于Pivot的元素

  ·枢轴元素Pivot(选定的比较值)

  ·大于Pivot的元素

  3)解释算法的时间复杂度?

  算法的时间复杂度表示程序运行完成所需的总时间,它通常用大O表示法来表示。

  4)请问用于时间复杂度的符号类型是什么?

  用于时间复杂度的符号类型包括:

  ·Big Oh:它表示小于或等于目标多项式

  ·Big Omega:它表示大于或等于目标多项式

  ·Big Theta:它表示与目标多项式相等

  ·Little Oh:它表示小于目标多项式

  ·Little Omega:它表示大于目标多项式

  5)解释二分法检索如何工作?

  在二分法检索中,我们先确定数组的中间位置,然后将要查找的值与数组中间位置的值进行比较,若小于数组中间值,则要查找的值应位于该中间值之前,依此类推,不断缩小查找范围,直至得到最终结果。

  6)解释是否可以使用二分法检索链表?

  由于随机访问在链表中是不可接受的,所以不可能到达O(1)时间的中间元素。因此,对于链表来说,二分法检索是不可以的(对顺序链表或排序后的链表是可以用的)。

  7)解释什么是堆排序?

  堆排序可以看成是选择排序的改进,它可以定义为基于比较的排序算法。它将其输入划分为未排序和排序的区域,通过不断消除最小元素并将其移动到排序区域来收缩未排序区域。

  8)说明什么是Skip list?

  Skip list数据结构化的方法,它允许算法在符号表或字典中搜索、删除和插入元素。在Skip list中,每个元素由一个节点表示。搜索函数返回与key相关的值的内容。插入操作将指定的键与新值相关联,删除操作可删除指定的键。

  9)解释插入排序算法的空间复杂度是多少?

  插入排序是一种就地排序算法,这意味着它不需要额外的或仅需要少量的存储空间。对于插入排序,它只需要将单个列表元素存储在初始数据的外侧,从而使空间复杂度为O(1)。

  10)解释什么是“哈希算法”,它们用于什么?

  “哈希算法”是一个哈希函数,它使用任意长度的字符串,并将其减少为唯一的固定长度字符串。它用于密码有效性、消息和数据完整性以及许多其他加密系统。

  11)解释如何查找链表是否有循环?

  要知道链表是否有循环,我们将采用两个指针的方法。如果保留两个指针,并且在处理两个节点之后增加一个指针,并且在处理每个节点之后,遇到指针指向同一个节点的情况,这只有在链表有循环时才会发生。

算法工程师面试前需掌握的18大面试题!

  12)解释加密算法的工作原理?

  加密是将明文转换为称为“密文”的密码格式的过程。要转换文本,算法使用一系列被称为“键”的位来进行计算。密钥越大,创建密文的潜在模式数越多。大多数加密算法使用长度约为64到128位的固定输入块,而有些则使用流方法。

  13)列出一些常用的加密算法?

  一些常用的加密算法是:

  ·3-way

  ·Blowfish

  ·CAST

  ·CMEA

  ·GOST

  ·DES 和Triple DES

  ·IDEA

  ·LOKI等等

  14)解释一个算法的最佳情况和最坏情况之间有什么区别?

  ·最佳情况:算法的最佳情况解释为算法执行最佳的数据排列。例如,我们进行二分法检索,如果目标值位于正在搜索的数据中心,则这就是最佳情况,最佳情况时间复杂度为0。

  ·最差情况:给定算法的最差输入参考。例如快速排序,如果选择关键值的子列表的最大或最小元素,则会导致最差情况出现,这将导致时间复杂度快速退化到O(n2)。

  15)解释什么是基数排序算法?

  基数排序又称“桶子法”,是通过比较数字将其分配到不同的“桶里”来排序元素的。它是线性排序算法之一。

  16)解释什么是递归算法?

  递归算法是一个解决复杂问题的方法,将问题分解成较小的子问题,直到分解的足够小,可以轻松解决问题为止。通常,它涉及一个调用自身的函数。

  17)提到递归算法的三个定律是什么?

  所有递归算法必须遵循三个规律:

  ·递归算法必须有一个基点

  ·递归算法必须有一个趋向基点的状态变化过程

  ·递归算法必须自我调用

  18)解释什么是冒泡排序算法?

  冒泡排序算法也称为下沉排序。在这种类型的排序中,要排序的列表的相邻元素之间互相比较。如果它们按顺序排列错误,将交换值并以正确的顺序排列,直到最终结果“浮”出水面

算法工程师面试必备

成为算法工程师,应该学习哪些东西
    首先说算法工程师有几个方向:NLP,推荐,CV,深度学习,然后结合公司业务做得内容各不相同
    传统机器学习算法:感知机,SVM,LR,softmax,Kmeans,DBSCAN,决策树(CART,ID3,C45),GBDT,RF,Adaboost,xgboost,EM,BP神经网络,朴素贝叶斯,LDA,PCA,核函数,最大熵等
    深度学习:CNN,RNN,LSTM,常用激活函数,Adam等优化算法,梯度消失(爆炸)等
    推荐系统:itemBasedCF,userBasedCF,冷启动,SVD(各种变形),FM,LFM等
    NLP:TF-IDF,textrank,word2vec(能推导,看过源码),LCA,simhash
    常见概念:最大似然估计,最小二乘法,模型融合方法,L1L2正则(Lasso,elestic net),判别式模型与生成式模型,熵-交叉熵-KL散度,数据归一化,最优化方法(梯度下降,牛顿法,共轭梯度法),无偏估计,F1(ROC,recall,precision等),交叉验证,bias-variance-tradeoff,皮尔逊系数,
    概率论,高数,线性代数(像我一样懒的人,就可以遇到哪里复习哪里,:D)
    常见问题(具体答案去搜知乎或者百度,最好能在实际项目中总结出来):
        常见损失函数
        SGD与BGD
        如何处理样本非均衡问题
        过拟合原因,以及解决办法
        如何处理数据缺失问题
        如何选择特征
        L1为什么能让参数稀疏,L2为什么会让参数趋于较小值,L1优化方法
        各模型的优缺点,以及适用场景 

猜你喜欢

转载自blog.csdn.net/wsp_1138886114/article/details/81076500
今日推荐