机器学习面试题汇总与解析——前言与大纲
- 故事引入
- 专栏介绍
- 作者介绍
- 大纲
受众:本教程适合于Python已经入门的学生或人士,有一定的编程基础。
本教程适合于算法工程师、机器学习求职的学生或人士。
故事引入
蒋 豆 芽:老李,我们之前的C++与嵌入式教程(https://www.nowcoder.com/tutorial/10078/index ) 真的写得很棒啊,知识点非常全面,适合非科班的同学,两年以来广受好评,太酷了。
隔壁老李:(一脸欣喜)我也感觉十分的欣慰。能够在繁忙的春秋招中帮助到大家,真是很开心啊。
蒋 豆 芽:嘿嘿,这还没够呢!我趁热打铁,又写作了《机器学习面试题汇总与解析》,继续来帮助大家应对算法岗位的求职。
隔壁老李:好啊你,豆芽,不错不错!你研究生就是搞机器学习的,写作面经也是对自己的一个总结。
蒋 豆 芽:嘿嘿,本专栏特点如下:
隔壁老李:嗯嗯,豆芽,你总结的很好!
蒋 豆 芽:好好好!老李,让我们一起开启春秋招打怪之旅吧!!!
隔壁老李:冲!
故事完
- 本专栏适合于Python已经入门的学生或人士,有一定的编程基础。
- 本专栏适合于算法工程师、机器学习、图像处理求职的学生或人士。
- 本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。这才是一份面试题总结的正确打开方式。这样才方便背诵
- 如专栏内容有错漏,欢迎在评论区指出或私聊我更改,一起学习,共同进步。
- 相信大家都有着高尚的灵魂,请尊重我的知识产权,未经允许严禁各类机构和个人转载、传阅本专栏的内容。
作者介绍
湖南大学(985)硕士研究生(1%保研),国家奖学金、省优秀研究生称号获得者。校招面试过数十家公司,经验丰富,获得过华为、京东、顺丰科技等公司 offer。个人面试经历写作为专刊文章,目前为牛客网专刊作者。擅长机器学习、C++后台开发、嵌入式软件开发。非科班研究生,立志进入互联网领域,最后通过自己的努力拿到大公司的 offer,将自己的经历写入了《蒋豆芽的秋招打怪之旅》故事中,和大家分享春秋招的酸甜苦辣。
大纲
1. 深度学习——激活函数
1. 说一下你了解的激活函数?分别应用于什么场景?⭐⭐⭐⭐⭐
2. 说说你平时都用过什么激活函数,各自什么特点?⭐⭐⭐⭐⭐
3. 写一下 leaky ReLU 的公式,跟 ReLU 比有什么优势?⭐⭐⭐⭐⭐
4. 了解 ReLU6 吗?⭐⭐⭐⭐⭐
5. sigmoid 有什么缺点,有哪些解决办法?⭐⭐⭐⭐⭐
6. ReLU 在零点可导吗,不可导如何进行反向传播?⭐⭐⭐⭐⭐
7. 推导 sigmoid 求导公式⭐⭐⭐⭐⭐
8. Softmax 公式,Softmax 溢出怎么处理⭐⭐⭐⭐⭐
9. Softmax 公式求导⭐⭐⭐⭐⭐
10. 激活函数的定义与作用⭐⭐⭐⭐⭐
11. 神经网络输出均值为 0 的好处,哪些激活函数均值为 0?⭐⭐⭐⭐
11. Sigmoid 函数的特点⭐⭐⭐⭐⭐
12. ReLU 函数的特点⭐⭐⭐⭐⭐
12. Softmax 函数的应用场景⭐⭐⭐⭐⭐
13. 为什么需要使用非线性激活函数而不是线性激活函数?⭐⭐⭐⭐
14. 在训练神经网络时,选择激活函数有什么考虑因素?⭐⭐⭐⭐
15. 在自然语言处理(NLP)任务中,常用的激活函数有哪些?⭐⭐⭐⭐
2. 深度学习——初始化方法
1. 说说初始化方法有哪些?⭐⭐⭐⭐⭐
2. 理想的参数初始化方法是什么?⭐⭐⭐⭐⭐
3. 说说你用过的初始化方法,都有哪些优缺点⭐⭐⭐⭐⭐
4. 网络参数初始化为 0 可以吗?⭐⭐⭐⭐⭐
5. 随机初始化参数有什么问题?⭐⭐⭐⭐⭐
6. 手推梯度消失和梯度爆炸问题⭐⭐⭐⭐⭐
7. 怎么缓解梯度消失⭐⭐⭐⭐⭐
8. 梯度消失的根本原因⭐⭐⭐⭐⭐
9. 说说归一化方法⭐⭐⭐⭐⭐
10. Xavier 初始化方法和 He 初始化方法有什么区别?它们适用于什么类型的激活函数?⭐⭐⭐⭐⭐
3. 深度学习——损失函数
1. 说一下你了解的损失函数?各自的运用场景⭐⭐⭐⭐⭐
2. 说说你平时都用过什么损失函数,各自什么特点?⭐⭐⭐⭐⭐
3. 交叉熵函数与最大似然函数的联系和区别?⭐⭐⭐⭐⭐
4. 在用 sigmoid 作为激活函数的时候,为什么要用交叉熵损失函数,而不用均方误差损失函数?⭐⭐⭐⭐⭐
5. 关于交叉熵损失函数(Cross-entropy)和平方损失(MSE)的区别?⭐⭐⭐⭐⭐
6. 推导交叉熵损失函数?⭐⭐⭐⭐⭐
7. 为什么交叉熵损失函数有 log 项?⭐⭐⭐⭐⭐
8. 说说 adaboost 损失函数⭐⭐⭐⭐
9. 说说 SVM 损失函数⭐⭐⭐⭐
10. 简单的深度神经网络(DNN)的损失函数是什么?⭐⭐⭐⭐
11. 说说 KL 散度⭐⭐⭐⭐
12. 说说 Yolo 的损失函数⭐⭐⭐⭐⭐
13. 交叉熵的设计思想是什么⭐⭐⭐⭐⭐
14. 说说 iou 计算⭐⭐⭐⭐⭐
15. 手写 miou 计算⭐⭐⭐⭐⭐
16. 交叉熵为什么可以做损失函数⭐⭐⭐⭐⭐
17. 什么是损失函数,作用是什么?⭐⭐⭐⭐⭐
18. 什么时候使用绝对值损失函数而不是均方误差损失函数?⭐⭐⭐⭐⭐
19. 为什么在分类任务中使用交叉熵损失函数而不是均方误差损失函数?⭐⭐⭐⭐⭐
20. 损失函数的分类⭐⭐⭐⭐⭐
21. 目标检测和分割的 loss 有什么区别⭐⭐⭐⭐⭐
4. 深度学习——优化函数
1. 说一下你了解的优化函数?⭐⭐⭐⭐⭐
2. SGD 和 Adam 谁收敛的比较快?谁能达到全局最优解?⭐⭐⭐⭐⭐
3. 说说常见的优化器以及优化思路,写出他们的优化公式⭐⭐⭐⭐⭐
4. 深度学习中的优化算法总结 Optimizer⭐⭐⭐⭐⭐
5. adam 用到二阶矩的原理是什么⭐⭐⭐⭐⭐
6. Batch size 的大小如何选择,过大的 batch size 和过小的 batch size 分别有什么影响⭐⭐⭐⭐⭐
7. 梯度下降的思想⭐⭐⭐⭐⭐
8. Momentum 随机梯度下降法的基本步骤⭐⭐⭐⭐⭐
9. 什么是优化函数,常见的优化器有哪些?⭐⭐⭐⭐⭐
10. 批次梯度下降法和随机梯度下降法的区别⭐⭐⭐⭐⭐
11. 什么是鞍点,如何跨过鞍点⭐⭐⭐⭐⭐
12. 说说优化器的发展过程⭐⭐⭐⭐⭐
13. 优化器如何选择⭐⭐⭐⭐⭐
14. 什么是梯度下降法?它的优缺点是什么?⭐⭐⭐⭐⭐
15. 什么是自适应学习率优化算法?请举例说明。⭐⭐⭐⭐⭐
16. 什么是学习率衰减(Learning Rate Decay)?为什么要使用学习率衰减?⭐⭐⭐⭐⭐
17. 什么是梯度剪裁(Gradient Clipping)?为什么要使用梯度剪裁?⭐⭐⭐⭐⭐
18. 什么是Adam优化算法?它与其他优化算法相比有什么优势?⭐⭐⭐⭐⭐
5. 深度学习——正则化
1. 解决模型训练过拟合有哪些思路?⭐⭐⭐⭐⭐
2. 如何判断过拟合?⭐⭐⭐⭐⭐
3. 正则化 l1(lasso)和 l2(ridge)的区别?⭐⭐⭐⭐⭐
4. L1 有什么缺点?⭐⭐⭐⭐⭐
5. L1 正则为什么可以达到模型特征的稀疏性⭐⭐⭐⭐⭐
6. 说说BN(Batch Normolization)的原理⭐⭐⭐⭐⭐
7. 知道 BN 吗?公式写一下,有什么作用与优势?BN 的计算过程。⭐⭐⭐⭐⭐
8. BN 训练和测试有什么不同?⭐⭐⭐⭐⭐
9. 介绍一下 BN 和 LN?有什么差异?LN 是在哪个维度上进行归一化?⭐⭐⭐⭐⭐
10. 要同时使用 BN 和 dropout 该如何使用?⭐⭐⭐⭐⭐
11. BN 的 gama labada 意义⭐⭐⭐⭐⭐
12. 数据增强的方法⭐⭐⭐⭐⭐
13. 两个正则化的参数分布⭐⭐⭐⭐⭐
14. 在预测的时候,是使用 dropout 训练出的权重还是要乘以 keep-prib 呢,为什么?⭐⭐⭐⭐⭐
15. 为什么 Lasso 可以筛选变量?⭐⭐⭐⭐⭐
16. L1 正则化为什么能缓解过拟合⭐⭐⭐⭐⭐
17. BN+CONV 融合公式及作用⭐⭐⭐⭐⭐
18. 什么是正则化?为什么在机器学习中需要使用正则化技术?⭐⭐⭐⭐⭐
19. 正则化的原理⭐⭐⭐⭐⭐
20. 正则化对模型的复杂度有什么影响?如何权衡正则化的力度?⭐⭐⭐⭐⭐
6. 深度学习——卷积与池化
1. 说说有哪些卷积⭐⭐⭐⭐⭐
2. 卷积实现原理?用代码实现一下⭐⭐⭐⭐⭐
3. 卷积基本计算公式⭐⭐⭐⭐⭐
4. 卷积操作后的特征图大小⭐⭐⭐⭐⭐
5. 常规卷积和深度可分离卷积的计算量⭐⭐⭐⭐⭐
6. 反卷积是怎么做的, unpooling 中 maxPooling 怎么实现?⭐⭐⭐⭐⭐
7. 什么是空洞卷积?⭐⭐⭐⭐⭐
8. 知道哪些卷积类型?请介绍一下⭐⭐⭐⭐⭐
9. 为什么 Depthwise 卷积后还要进行 pointwise 卷积⭐⭐⭐⭐⭐
10. 卷积的底层实现/加速技巧⭐⭐⭐⭐⭐
11. 1x1卷积有什么作用⭐⭐⭐⭐⭐
12. CNN有什么特点和优势⭐⭐⭐⭐⭐
13. 说说你了解的 pooling 方法⭐⭐⭐⭐⭐
14. pooling 层的作用⭐⭐⭐⭐⭐
15. 常用的 pooling 方法有哪些,那个更好?⭐⭐⭐⭐⭐
16. 说一下 ROI Pooling⭐⭐⭐⭐⭐
17. 说一下 maxpooling 的反向传播怎么处理⭐⭐⭐⭐⭐
18. 语义分割上采样的方法⭐⭐⭐⭐⭐
19. 说说金字塔池化⭐⭐⭐⭐⭐
20. 卷积神经网络(CNN)中的卷积层有什么作用?⭐⭐⭐⭐⭐
21. 卷积层中的步长(stride)和填充(padding)有什么作用?⭐⭐⭐⭐⭐
22. 什么是卷积神经网络中的局部感受野(local receptive field)?⭐⭐⭐⭐⭐
23. 卷积层中的参数共享是什么意思?⭐⭐⭐⭐⭐
24. 卷积神经网络中的池化层和卷积层有何不同?⭐⭐⭐⭐⭐
25. 卷积层与全连接层之间有什么区别?⭐⭐⭐⭐⭐
26. 卷积核的作用是什么?它如何影响特征提取?⭐⭐⭐⭐⭐
27. 卷积神经网络中的多通道卷积是如何工作的?⭐⭐⭐⭐⭐
28. 池化层对输入图像的尺寸有何影响?池化层的操作是否具有可逆性?⭐⭐⭐⭐⭐
29. 池化操作是否具有参数?如果有,它们是如何学习的?⭐⭐⭐⭐⭐
30. RoI Pooling 有什么缺陷?⭐⭐⭐⭐⭐
7. 深度学习——技术发展
1. 说说分类网络的发展⭐⭐⭐⭐
2. 为什么要设计残差连接⭐⭐⭐⭐⭐
3. 说说语义分割网络的发展⭐⭐⭐⭐
4. deeplabV3 有什么改进,具体讲一下⭐⭐⭐⭐⭐
5. vgg16 同期还有哪些网络,inception 结构有什么特点⭐⭐⭐⭐⭐
6. 什么是感受野⭐⭐⭐⭐⭐
7. 讲一下 mobileNet 系列,ResNet 系列⭐⭐⭐⭐⭐
8. 说说目标检测的发展⭐⭐⭐⭐⭐
9. 讲一下目标检测 one stage, two stage,讲一下 yoloV1⭐⭐⭐⭐⭐
10. yolo 实现,损失函数⭐⭐⭐⭐⭐
11. Faster R-CNN 的具体流程⭐⭐⭐⭐⭐
12. Faster R-CNN 训练和测试的流程有什么不一样⭐⭐⭐⭐⭐
13. YOLOv3 和 Faster R-CNN 的差异⭐⭐⭐⭐⭐
14. YOLO 系列有几个版本,YOLOv4 用到了哪优化方法⭐⭐⭐⭐⭐
15.除了聚类,还有哪些 anchor 的设计⭐⭐⭐⭐⭐
16. anchor 的理解⭐⭐⭐⭐⭐
17. Anchor-free 的优势在哪里⭐⭐⭐⭐⭐
18. 介绍目标检测比赛中的有用的 trick 有哪些⭐⭐⭐⭐
19. 说一下非极大值抑制(NMS),实现细节,手写 nms⭐⭐⭐⭐⭐
20. faster RCNN原理介绍,要详细画出图⭐⭐⭐⭐⭐
21. RPN 网络的作用和实现细节⭐⭐⭐⭐⭐
22. RPN 的损失函数⭐⭐⭐⭐⭐
23. RPN 中的 anchor box 是怎么选取的?⭐⭐⭐⭐⭐
23. 为什么提出 anchor box?为什么使用不同尺寸和不同长宽比?⭐⭐⭐⭐⭐
24. ROI Pooling 与 ROI Align (Mask R-CNN) 的区别?⭐⭐⭐⭐⭐
25. NMS 算法中,假设两个目标靠的很近,则会识别成一个bbox,会有什么问题,怎么解决?⭐⭐⭐⭐⭐
26. Faster rcnn有什么不足的地方吗?如何改进?⭐⭐⭐⭐⭐
27. 简要阐述一下FPN网络具体是怎么操作的 FPN 网络的结构?⭐⭐⭐⭐⭐
28. 阐述一下FPN为什么能提升小目标的准确率?⭐⭐⭐⭐⭐
29. 简要阐述一下 RetinaNet⭐⭐⭐⭐⭐
30. 阐述一下 Mask RCNN 网络,这个网络相比于 Faster RCNN 网络有哪些改进的地方⭐⭐⭐⭐⭐
31. 分析一下 SSD,YOLO,Faster rcnn 等常用检测网络对小目标检测效果不好的原因⭐⭐⭐⭐⭐
32. 如何理解 concat 和 add 这两种常见的 feature map 特征融合方式⭐⭐⭐⭐⭐
33. 阐述一下如何检测小物体⭐⭐⭐⭐⭐
34. 阐述一下目标检测任务中的多尺度⭐⭐⭐⭐⭐
35. 介绍下 YOLO 的版本发展⭐⭐⭐⭐⭐
8. 深度学习——NLP
2. BERT是什么?简要介绍一下BERT的结构和原理。⭐⭐⭐⭐⭐
3. cbow 与 skip-gram 的区别和优缺点⭐⭐⭐⭐⭐
4. Bert 的 MLM 预训练任务 mask 的目的是什么⭐⭐⭐⭐⭐
5. CRF 原理⭐⭐⭐⭐
6. Bert 采用哪种 Normalization 结构,LayerNorm 和 BatchNorm 区别,LayerNorm 结构有参数吗,参数的作用?⭐⭐⭐⭐⭐
7. 如何优化 BERT 效果⭐⭐⭐⭐⭐
8. BERT self-attention 相比 LSTM 优点是什么?⭐⭐⭐⭐⭐
9. 说说循环神经网络⭐⭐⭐⭐⭐
10. 说说 LSTM⭐⭐⭐⭐⭐
11. LSTM 的结构⭐⭐⭐⭐⭐
12. LSTM 的三个门怎么运作的,写一下三个门的公式⭐⭐⭐⭐⭐
13. LSTM 为什么可以解决长期依赖,LSTM 会梯度消失吗⭐⭐⭐⭐⭐
14. LSTM 相较于 RNN 的优势⭐⭐⭐⭐⭐
15. 讲一下 LSTM,LSTM相对于 RNN 有哪些改进? LSTM 为什么可以解决长期问题,相对与 RNN 改进在哪
16. 讲一下 LSTM 吧,门都是怎么迭代的⭐⭐⭐⭐⭐
17. RNN 为什么难以训练,LSTM 又做了什么改进⭐⭐⭐⭐⭐
18. wide & deep 模型 wide 部分和 deep 部分分别侧重学习什么信息⭐⭐⭐⭐⭐
19. DeepFM 一定优于 wide & deep 吗⭐⭐⭐⭐⭐
20. BERT 的输入是什么?它如何处理变长的文本序列?⭐⭐⭐⭐⭐
21. 什么是 BERT 的词嵌入(Word Embeddings)?它与传统的词嵌入方法有何不同?⭐⭐⭐⭐⭐
22. self-attention 理解和作用,为什么要除以根号 dk?⭐⭐⭐⭐⭐
23. BERT 中并行计算体现在哪儿⭐⭐⭐⭐⭐
24. 翻译中 Q\K\V 对应的是什么⭐⭐⭐⭐⭐
29. BERT 模型结构⭐⭐⭐⭐⭐
30. 请解释一下词嵌入(Word Embeddings)是什么,为什么它在NLP中很重要?⭐⭐⭐⭐
31. 什么是序列到序列(Sequence-to-Sequence)模型?有什么应用?⭐⭐⭐⭐⭐
32. 什么是情感分析(Sentiment Analysis)?请说明情感分析的应用场景和常用的方法。⭐⭐⭐⭐
33. 请解释一下主题建模(Topic Modeling)是什么,以及常用的主题建模算法。⭐⭐⭐⭐
34. 什么是门控循环单元(Gated Recurrent Unit, GRU)?它与 LSTM 有什么区别和类似之处?⭐⭐⭐⭐⭐
35. BERT 是如何进行预训练和微调的?解释一下 BERT 的预训练任务和微调任务。⭐⭐⭐⭐⭐
36. BERT 的优势和局限是什么?它在哪些方面有改进空间?⭐⭐⭐⭐⭐
37. 最近的 BERT 模型变体有哪些?列举一些 BERT 的扩展和改进。⭐⭐⭐⭐⭐
38. 介绍一下 Word2Vec ⭐⭐⭐
45. GPT 与 BERT 相比有何不同?它们各自适用于哪些任务?⭐⭐⭐⭐
9. 深度学习——GAN
1. GAN 是用来干什么的,怎么用的,介绍一下⭐⭐⭐⭐⭐
2. GAN 的优缺点是什么?⭐⭐⭐⭐⭐
3. GAN 为什么不好收敛⭐⭐⭐⭐⭐
4. 为什么 GAN 中的优化器不常用 SGD⭐⭐⭐⭐⭐
5. 生成对抗网络在哪里用到的,起什么作用,损失函数是什么⭐⭐⭐⭐⭐
6. 训练 GAN 的一些技巧⭐⭐⭐⭐⭐
7. 说说 GAN 的训练过程⭐⭐⭐⭐⭐
8. Pix2pix 和 cycleGan 的区别⭐⭐⭐⭐⭐
9. GAN 中的模式崩溃(Mode Collapse)是什么?它如何产生?如何避免模式崩溃?⭐⭐⭐⭐⭐
10. 什么是生成对抗网络的改进版 DCGAN?它在原始 GAN 的基础上有什么改进?⭐⭐⭐⭐⭐
11. 生成对抗网络能否用于其他任务,而不仅仅是图像生成?请举例说明。⭐⭐⭐⭐⭐
12. 什么是生成对抗网络的生成器的输入噪声(Latent Noise)?为什么要引入噪声?⭐⭐⭐⭐⭐
13. 生成对抗网络如何处理多模态数据,例如文本到图像的生成?⭐⭐⭐⭐⭐
10. 深度学习——模型优化
1. 若 CNN 网络很庞大,在手机上运行效率不高,对应模型压缩方法有了解吗⭐⭐⭐⭐⭐
2. 介绍一下模型压缩常用的方法?为什么用知识蒸馏?⭐⭐⭐⭐⭐
3. 知道模型蒸馏吗?谈下原理⭐⭐⭐⭐
4. 做过模型优化吗?模型蒸馏和模型裁剪?⭐⭐⭐⭐⭐
5. squeezeNet 的 Fire Module 有什么特点?⭐⭐⭐⭐
6. 降低网络复杂度但不影响精度的方法⭐⭐⭐⭐⭐
7. 如果让模型速度提高一倍,有什么解决方案?⭐⭐⭐⭐⭐
12. 机器学习——评价指标
1. 说说机器学习评价指标⭐⭐⭐⭐⭐
2. AUC 是什么?AUC 是否对正负样本比例敏感?⭐⭐⭐⭐⭐
3. 分类模型如何评价⭐⭐⭐⭐⭐
4. 准确率与精准率的区别⭐⭐⭐⭐⭐
5. AUC 的意义和两种计算方法⭐⭐⭐⭐⭐
6. 讲讲分类,回归,推荐,搜索的评价指标⭐⭐⭐⭐⭐
7. AB test 的原理⭐⭐⭐⭐⭐
8. 解释一下混淆矩阵(Confusion Matrix),以及如何从中计算评价指标。⭐⭐⭐⭐
9. 说说判别式与生成式模型⭐⭐⭐⭐
10. 判别式与生成式模型对应的算法⭐⭐⭐⭐
11. 判别式与生成式模型的区别⭐⭐⭐⭐
12. 例举常用的机器学习算法⭐⭐⭐⭐
13. 机器学习——回归
1. 逻辑回归 LR 详细推导⭐⭐⭐⭐⭐
2. 回归和分类的区别⭐⭐⭐⭐⭐
3. 逻辑回归特征是否需要归一化⭐⭐⭐⭐⭐
4. 什么样的模型需要特征归一化⭐⭐⭐⭐⭐
5. 如何提升逻辑回归 LR 的模型性能?⭐⭐⭐⭐⭐
6. 逻辑回归为啥要做特征离散化⭐⭐⭐⭐⭐
7. LR 的详细过程,如何优化⭐⭐⭐⭐⭐
8. LR 公式推导⭐⭐⭐⭐⭐
9. 最小二乘法在什么条件下与极大似然估计等价?⭐⭐⭐⭐⭐
10. 逻辑回归为什么不用平方损失函数?⭐⭐⭐⭐⭐
11. LR 可以处理非线性情况吗?⭐⭐⭐⭐⭐
12. LR 的参数可以初始化 0 吗?⭐⭐⭐⭐⭐
13. 说一下机器学习和神经网络之间的模型之间的区别?⭐⭐⭐⭐⭐
14. 线性回归和逻辑回归的区别⭐⭐⭐⭐⭐
15. 线性回归和逻辑回归的优缺点⭐⭐⭐⭐⭐
16. 什么是多项式回归?它与线性回归有何区别?⭐⭐⭐⭐⭐
17. 请解释一下岭回归和 Lasso 回归。它们的作用是什么?⭐⭐⭐⭐⭐
18. 什么是最小二乘法?它在回归中有什么作用?⭐⭐⭐⭐⭐
19. 线性回归简单代码实现⭐⭐⭐⭐⭐
20. 逻辑回归简单代码实现⭐⭐⭐⭐⭐
14. 机器学习——kNN
1. kNN 介绍一下⭐⭐⭐⭐
2. kNN 优缺点⭐⭐⭐⭐
3. kNN 的 k 值怎么选⭐⭐⭐⭐
4. kNN 数据需要归一化吗?⭐⭐⭐⭐
5. kNN 三要素说一下⭐⭐⭐⭐
6. 欧式距离与曼哈顿距离区别⭐⭐⭐⭐
7. kNN 的 k 设置的过大或过小会有什么问题⭐⭐⭐⭐
8. kNN 算法在处理高维数据时有什么问题?⭐⭐⭐⭐
9. 如何处理不平衡数据集的情况下的 kNN 分类问题?⭐⭐⭐⭐
10. kNN 算法如何处理缺失值?⭐⭐⭐⭐
11. 如何加速 kNN 算法的计算过程?⭐⭐⭐⭐
12. kNN 简单代码实现⭐⭐⭐⭐
15. 机器学习——聚类
1. K-means 介绍一下⭐⭐⭐⭐⭐
2. K-means 优缺点⭐⭐⭐⭐⭐
3. K-means 的簇(K)怎么选⭐⭐⭐⭐⭐
4. K-means 如何调优⭐⭐⭐⭐⭐
5. 知道哪些聚类模型⭐⭐⭐⭐⭐
6. K-means 的过程⭐⭐⭐⭐⭐
7. K-means 聚类如何选择初始点⭐⭐⭐⭐⭐
8. K-means 聚类,聚的是特征还是样本?特征的距离如何计算?⭐⭐⭐⭐⭐
9. 聚类算法知道哪些⭐⭐⭐⭐⭐
10. K-means 算法和 EM 算法的区别⭐⭐⭐⭐⭐
11. 写 K-means 代码⭐⭐⭐⭐⭐
12. 介绍 K-means++⭐⭐⭐⭐⭐
13. K-means 算法的收敛条件是什么?⭐⭐⭐⭐⭐
14. K-means 算法在处理大规模数据时有什么问题?如何解决这些问题?⭐⭐⭐⭐⭐
15. 如何评估 K-means 聚类的性能和聚类结果的质量?⭐⭐⭐⭐⭐
16. K-means 算法的运行时间复杂度是多少?⭐⭐⭐⭐⭐
16. 机器学习——决策树
1. 决策树介绍一下⭐⭐⭐⭐⭐
2. 决策树优缺点⭐⭐⭐⭐⭐
3. 决策树的划分标准是什么⭐⭐⭐⭐⭐
4. ID3 和 C4.5 的区别⭐⭐⭐⭐⭐
5. 树模型对离散特征怎么处理的⭐⭐⭐⭐⭐
6. 树模型怎么决定一个叶子结点是否要分裂⭐⭐⭐⭐⭐
7. 决策树出现过拟合的原因及解决办法⭐⭐⭐⭐⭐
8. 如何对决策树进行剪枝?⭐⭐⭐⭐⭐
9. 决策树需要进行归一化处理吗⭐⭐⭐⭐⭐
10. 决策树与逻辑回归的区别⭐⭐⭐⭐⭐
11. 说下决策树的损失函数⭐⭐⭐⭐⭐
12. 决策树是如何处理连续特征和离散特征的?⭐⭐⭐⭐⭐
13. 决策树如何处理缺失值和异常值?⭐⭐⭐⭐⭐
14. 决策树简单代码实现⭐⭐⭐⭐
17. 机器学习——SVM
1. 推导 SVM⭐⭐⭐⭐⭐
2. LR 和 SVM 联系与区别⭐⭐⭐⭐⭐
3. SVM 介绍一下⭐⭐⭐⭐⭐
4. 讲一下 SVM 的原理⭐⭐⭐⭐⭐
5. 如果特征比较多,用 LR 还是 SVM?⭐⭐⭐⭐⭐
6. 介绍 SVM⭐⭐⭐⭐⭐
7. SVM 是否可以用随机梯度下降⭐⭐⭐⭐⭐
8. SVM 优缺点⭐⭐⭐⭐⭐
9. 为什么要将求解 SVM 的原始问题转换为其对偶问题⭐⭐⭐⭐⭐
10. 为什么 SVM 对缺失数据敏感⭐⭐⭐⭐⭐
11. SVM 怎么防止过拟合 ?⭐⭐⭐⭐⭐
12. SVM 如何处理线性可分和线性不可分的情况?⭐⭐⭐⭐⭐
13. SVM 中的核函数有什么作用?常见的核函数有哪些?⭐⭐⭐⭐⭐
14. 什么是支持向量?它们在 SVM 中起什么作用?⭐⭐⭐⭐⭐
15. SVM 的优化目标是什么?如何解决该优化问题?⭐⭐⭐⭐⭐
16. SVM的正则化参数C是什么?它对模型有什么影响?⭐⭐⭐⭐⭐
17. SVM如何处理多类分类问题?⭐⭐⭐⭐⭐
18. SVM在处理高维数据时有什么问题?如何应对?⭐⭐⭐⭐⭐
19. SVM用于解决什么类型的问题?它适用于分类问题还是回归问题?⭐⭐⭐⭐⭐
20. SVM 简单代码实现⭐⭐⭐⭐
18. 机器学习——集成学习
1. LightGBM 和 XGBoost、GBDT 的区别⭐⭐⭐⭐⭐
2. XGBoost 和 GBDT 的区别⭐⭐⭐⭐⭐
3. XGBoost 的 block 结构⭐⭐⭐⭐⭐
4. XGBoost 的优缺点⭐⭐⭐⭐⭐
5. 集成学习 Bootstrap Bagging Boosting⭐⭐⭐⭐⭐
6. RF 和 GBDT 的区别⭐⭐⭐⭐⭐
7. GBDT 是否适合于处理大规模的 ID 特征⭐⭐⭐⭐⭐
8. LightGBM 的直方图 排序后会比 XGBoost 的效果差吗,为什么⭐⭐⭐⭐⭐
9. XGBoost 正则化项和什么有关⭐⭐⭐⭐⭐
10. 随机森林哪两个随机⭐⭐⭐⭐⭐
11. bootstrap 怎么做的⭐⭐⭐⭐⭐
12. 介绍 GBDT 的详细计算过程⭐⭐⭐⭐⭐
13. XGBoost 的正则项是什么⭐⭐⭐⭐⭐
14. XGBoost 缺失值处理方法⭐⭐⭐⭐⭐
15. 为什么 xgboost 要二阶展开?⭐⭐⭐⭐⭐
16. 集成学习的方法有哪些⭐⭐⭐⭐⭐
17. 泰勒公式求 e 的近似值⭐⭐⭐⭐⭐
19. GBDT 的 G 梯度的向量长度为多少⭐⭐⭐⭐⭐
20. 什么是集成学习?简要解释其原理和优势。⭐⭐⭐⭐⭐
21. Bagging 和 Boosting 的区别是什么?⭐⭐⭐⭐⭐
22. 请解释一下随机森林(Random Forest)的原理。⭐⭐⭐⭐⭐
23. GBDT(Gradient Boosting Decision Trees)是如何工作的?请列出其算法步骤。⭐⭐⭐⭐⭐
24. Stacking 是什么?请解释其工作原理。⭐⭐⭐⭐⭐
25. 集成学习中如何处理模型之间的差异和冲突?⭐⭐⭐⭐⭐
26. 集成学习在解决什么类型的问题上表现较好?⭐⭐⭐⭐⭐
27. 在集成学习中,如何处理数据不平衡问题?⭐⭐⭐⭐⭐
19. 机器学习——朴素贝叶斯
1. 朴素贝叶斯介绍一下⭐⭐⭐⭐⭐
2. 朴素贝叶斯优缺点⭐⭐⭐⭐⭐
3. 贝叶斯公式⭐⭐⭐⭐⭐
4. 朴素贝叶斯中的“朴素”怎么理解?⭐⭐⭐⭐⭐
5. 什么是拉普拉斯平滑法?⭐⭐⭐⭐⭐
6. 朴素贝叶斯中有没有超参数可以调?⭐⭐⭐⭐⭐
7. 你知道朴素贝叶斯有哪些应用吗?⭐⭐⭐⭐⭐
8. 朴素贝叶斯对异常值敏不敏感?⭐⭐⭐⭐⭐
9. 频率学派与贝叶斯学派的差别⭐⭐⭐⭐
10. 概率与期望的公式⭐⭐⭐⭐
11. 先验概率与后验概率⭐⭐⭐⭐
12. 朴素贝叶斯算法中如何处理连续特征和离散特征?⭐⭐⭐⭐
13. 朴素贝叶斯算法有哪些常见的变种?请简要介绍其中一种变种。⭐⭐⭐⭐
20. 机器学习——PCA 与 LDA
1. PCA 介绍一下⭐⭐⭐⭐⭐
2. 说说 PCA 的步骤⭐⭐⭐⭐⭐
3. PCA 原理⭐⭐⭐⭐⭐
4. PCA 降维之后的维度怎么确定⭐⭐⭐⭐⭐
5. 说说 PCA 的优缺点⭐⭐⭐⭐⭐
6. 推导一下 PCA⭐⭐⭐⭐⭐
7. 降维方法有哪些?⭐⭐⭐⭐⭐
8. 介绍一下 LDA⭐⭐⭐⭐⭐
9. LDA 的中心思想是什么⭐⭐⭐⭐⭐
10. LDA 的优缺点⭐⭐⭐⭐⭐
11. 说说 LDA 的步骤⭐⭐⭐⭐⭐
12. 推导一下 LDA⭐⭐⭐⭐⭐
13. PCA 和 LDA 有什么区别⭐⭐⭐⭐⭐
14. 偏差与方差⭐⭐⭐⭐
15. SVD 懂么⭐⭐⭐⭐⭐
16. 方差和协方差的理解⭐⭐⭐⭐
17. 伯努利分布和二项分布的区别⭐⭐⭐⭐
18. 除了 PCA 和 LDA 之外,你还了解其他的降维方法吗?请简要介绍一种。⭐⭐⭐⭐
21. 机器学习——特征工程
1. 特征工程有哪些⭐⭐⭐⭐⭐
2. 遇到缺值的情况,有哪些处理方式⭐⭐⭐⭐⭐
3. 样本不均衡的处理办法⭐⭐⭐⭐⭐
4. 训练时样本不平衡问题如何解决;小样本问题如何解决⭐⭐⭐⭐⭐
5. 常见的筛选特征的方法有哪些?⭐⭐⭐⭐⭐
6. 数据怎么清洗,缺失值怎么填充⭐⭐⭐⭐⭐
7. 出现 Nan 的原因⭐⭐⭐⭐⭐
8. 特征筛选,怎么找出相似性高的特征并去掉⭐⭐⭐⭐⭐
9. 对于不同场景机器学习和深度学习你怎么选择,你更习惯机器学习还是深度学习?⭐⭐⭐⭐⭐
10. 包含百万、上亿特征的数据在深度学习中怎么处理⭐⭐⭐⭐⭐
11. 类别型数据你是如何处理的?比如游戏品类,地域,设备⭐⭐⭐⭐
12. 计算特征之间的相关性方法有哪些?⭐⭐⭐⭐
13. 解释一下特征缩放的作用和常用的特征缩放方法。⭐⭐⭐⭐
14. 什么是特征交互?为什么特征交互对模型性能有影响?⭐⭐⭐⭐
22. 传统算法
1. 傅里叶变换公式及其推导⭐⭐⭐
2. 边缘检测算法⭐⭐⭐
3. 牛顿法的推导过程⭐⭐⭐
4. 了解哪些插值算法⭐⭐⭐
5. SIFT的整个详细流程⭐⭐⭐
6. SIFT和SURF的区别⭐⭐⭐
7. 牛顿法和拟牛顿法⭐⭐⭐
8. FFT 和 DFT 的区别⭐⭐⭐
9. 双线性差值的操作过程⭐⭐⭐
10. 椒盐噪声用什么滤波?⭐⭐⭐
11. canny算子是怎么做的?简述Canny算子的计算步骤⭐⭐⭐
12. SIFT特征是如何保持旋转不变性的?⭐⭐⭐
13. LBP特征⭐⭐⭐
14. 图像特征提取之HOG特征⭐⭐⭐
15. 简述一下图像处理中的膨胀和腐蚀操作⭐⭐⭐
16. 简述一下分水岭算法⭐⭐⭐
23. Python
1. python 深拷贝与浅拷贝⭐⭐⭐⭐⭐
2. python 多线程能用多个 cpu 么?⭐⭐⭐⭐⭐
3. python 垃圾回收机制⭐⭐⭐⭐⭐
4. python 里的生成器是什么⭐⭐⭐⭐⭐
5. 迭代器和生成器的区别⭐⭐⭐⭐⭐
6. 装饰器⭐⭐⭐⭐⭐
7. python 有哪些数据类型⭐⭐⭐⭐⭐
8. Python 中列表( List )中的 del,remove,和 pop 等的用法和区别⭐⭐⭐⭐⭐
9. python yeild 和 return 的区别⭐⭐⭐⭐⭐
10. python set 底层实现⭐⭐⭐⭐⭐
11. python 字典和 set() 的区别⭐⭐⭐⭐⭐
12. 怎么对字典的值进行排序?⭐⭐⭐⭐⭐
13. __init__
和 __new__
和 __call__
的区别⭐⭐⭐⭐⭐
14. import 常用库⭐⭐⭐
15. python 的 lamda 函数⭐⭐⭐⭐⭐
16. Python 内存管理⭐⭐⭐⭐⭐
17. python 在内存上做了哪些优化?⭐⭐⭐⭐⭐
18. Python 中类方法和静态方法的区别⭐⭐⭐⭐⭐
19. python 多线程怎么实现⭐⭐⭐⭐⭐
20. 点积和矩阵相乘的区别?⭐⭐⭐⭐
21. Python 中错误和异常处理⭐⭐⭐⭐
22. Python 的传参是传值还是传址?⭐⭐⭐⭐
23. 什么是猴子补丁?⭐⭐⭐⭐
24. 当退出 Python 时是否释放所有内存分配?⭐⭐⭐⭐
25. Python 中的 is 和 == 有什么区别?⭐⭐⭐⭐
26. gbk 和 utf8 的区别⭐⭐⭐⭐
27. 遍历字典可以用什么方法⭐⭐⭐⭐
28. 反转列表的方法⭐⭐⭐⭐
29. python 元组中元组转为字典⭐⭐⭐⭐
30. range 在 python2 和 python3 里的区别⭐⭐⭐⭐
31. __init__.py
文件的作用以及意义⭐⭐⭐⭐
32. Python 列表去重复元素⭐⭐⭐⭐