算法面试问题集锦
一、机器学习
1、机器学习中,为何要经常对数据做归一化?
https://blog.csdn.net/code_lr/article/details/51438649
2、简单说说特征工程
https://www.cnblogs.com/dshn/p/8856173.html
3、pca和lda降维原理
https://www.jianshu.com/p/982c8f6760de
https://blog.csdn.net/dongyanwen6036/article/details/78311071
4、常见的过拟合的解决办法
https://www.cnblogs.com/jiangxinyang/p/9281107.html
5、协方差和相关性有什么区别?
https://blog.csdn.net/weixin_38314865/article/details/84181454
6、bagging和boosting的区别
https://www.cnblogs.com/liuwu265/p/4690486.html
7、简单说说贝叶斯定理
https://www.jianshu.com/p/42a8d4efdc9a
8、为什么朴素贝叶斯如此“朴素”?
https://blog.csdn.net/duwenchao_Tom/article/details/78232992
9、谈谈判别式模型和生成式模型?
https://blog.csdn.net/huangfei711/article/details/79834780
10、简单说下有监督学习和无监督学习的区别?
https://blog.csdn.net/u010299280/article/details/82981106
11、线性分类器与非线性分类器的区别以及优劣。
https://blog.csdn.net/weixin_42234472/article/details/85061567
12、衡量分类器的好坏
https://blog.csdn.net/jiemo_99/article/details/80997700
13、回归模型评价指标
https://www.jianshu.com/p/9ee85fdad150
14、交叉验证问题,模型选择问题,模型融合问题
https://www.cnblogs.com/wzdLY/p/9592633.html
15、讲一下常用的损失函数以及各自的适用场景。
https://blog.csdn.net/zuolixiangfisher/article/details/88649110
16、数据不平衡问题
https://blog.csdn.net/shenxiaoming77/article/details/72616333
17、常见分类模型(svm,决策树,贝叶斯等)的优缺点,适用场景以及选型;
https://www.zhihu.com/question/318728147/answer/640908155
18、如何处理缺失值
https://qinqianshan.com/math/statics_topic/deal-na/
19、如何处理异常值
https://www.jianshu.com/p/4f23fb63c7a3
20、何为共线性, 跟过拟合有啥关联?
https://blog.csdn.net/weixin_42137700/article/details/82107041
二、优化问题
1、讲下拟牛顿法
https://blog.csdn.net/songbinxu/article/details/79677948
2、熵、联合熵、条件熵、交叉熵、KL散度(相对熵)计算
https://www.cnblogs.com/kyrieng/p/8694705.html
3、为什么线性回归要用差的平方和作损失函数,理论依据
https://blog.csdn.net/saltriver/article/details/57544704
4、梯度下降的优缺点;
https://www.zhihu.com/question/25000420
5、如何用尽可能少的样本训练模型同时又保证模型的性能;
留出法,交叉验证法和自助法
1)对于数据量充足的时候,通常采用留出法或者k折交叉验证法来进行训练/测试集的划分;
2)对于数据集小且难以有效划分训练/测试集时使用自助法;
3)对于数据集小且可有效划分的时候最好使用留一法来进行划分,因为这种方法最为准确
6、是否所有的优化问题都可以转化为对偶问题:
https://www.zhihu.com/question/43830699
7、最大似然估计与最小二乘的区别
https://blog.csdn.net/u013344884/article/details/79483705
8、如何避免陷入局部最优解
https://blog.csdn.net/lfc2017/article/details/84864302
三、L1、L2正则化
1、为什么L1很多系数可以被压缩为0,L2是被压缩至接近于0?坐标下降法的具体实现细节
https://www.jianshu.com/p/4bad38fe07e6
https://www.cnblogs.com/wangkundentisy/p/9260790.html
2、如何解决L1求导困难
https://blog.csdn.net/mei86233824/article/details/79181377
3、L1和L2正则先验分别服从什么分布?
https://blog.csdn.net/m0_38045485/article/details/82147817
四、逻辑回归
1、LR为什么用sigmoid函数。优缺点?为什么不用其他函数?
https://blog.csdn.net/qq_39503189/article/details/82528191
2、LR模型为什么采用似然估计损失函数
https://www.cnblogs.com/stAr-1/p/9020537.html
https://www.cnblogs.com/ModifyRong/p/7739955.html
3、LR如何解决低维不可分,LR和SVM对比
https://blog.csdn.net/cuiy0818/article/details/81288701
4、LR和SVM哪个更能对付异常点?
https://www.jianshu.com/p/1a41a1567b87
5、LR与线性回归的区别与联系?
https://blog.csdn.net/huangfei711/article/details/79826781
五、SVM
1、SVM的基本思想
https://blog.csdn.net/ttransposition/article/details/17306867
2、SVM为什么采用间隔最大化?
http://www.360doc.com/content/18/0905/17/17157244_784140267.shtml
3、SVM为什么样本点到决策面是 1/||w||
https://blog.csdn.net/qxqsunshine/article/details/87913758
4、SVM原问题和对偶问题关系?以及好处?为什么求解对偶问题更加高效?
https://blog.csdn.net/xiaocong1990/article/details/83037848
5、KKT条件有哪些,完整描述
https://www.cnblogs.com/chenzhanxun/articles/8607250.html
6、SVM怎么防止过拟合
https://www.jianshu.com/p/9b03cac58966
7、常用核函数及核函数的条件
https://blog.csdn.net/weixin_41048094/article/details/82796312
8、SVM各种核函数,每个是如何实现升维
https://blog.csdn.net/guoziqing506/article/details/81120354
9、SVM在哪个地方引入的核函数, 如果用高斯核可以升到多少维。
https://www.cnblogs.com/futurehau/p/6149558.html
10、RBF核一定是线性可分的吗
https://www.cnblogs.com/volcao/p/9465214.html
11、SVM多分类方法(1对1 ,1对多,多对多)及SVM的缺点?
https://blog.csdn.net/weixin_42296976/article/details/81946047
12、为什么SVM对缺失数据敏感?
涉及到距离度量时,如两个矢量之间的距离,缺失数据问题就变得很重要,缺失值处理不当就会导致效果很差,SVM没有缺失值处理机制,所以对缺失数据敏感。
树模型对缺失值敏感度较低;线性模型的代价函数涉及距离度量,对缺失值敏感;神经网络鲁棒性强对缺失值不敏感;贝叶斯模型对缺失值也较稳定。
所以对于缺失值在经过缺失值处理后:
数据量小,用朴素贝叶斯;
数据量适中,用树模型,优先xgboost;
数据量较大,可用神经网络;
避免使用距离度量相关模型,如KNN,SVM等。
六、决策树
1、决策树如何防止过拟合
https://blog.csdn.net/sinat_32043495/article/details/78729610
2、C4.5比较ID3的优点。
https://www.cnblogs.com/wxquare/p/5379970.html
3、决策树处理连续值的方法;特征选择的方法;
https://blog.csdn.net/u012328159/article/details/79396893
4、和其他模型比,它的优点?
https://blog.csdn.net/xuxiatian/article/details/54340428
5、能具体谈谈特征选择、模型生成、决策树的剪枝这三个步骤吗?
https://blog.csdn.net/qq_39422642/article/details/78555353
七、RF
1、随机森林怎么解决样本不均衡问题
组合/集成方法指的是在每次生成训练集时使用所有分类中的小样本量,同时从分类中的大样本量中随机抽取数据来与小样本量合并构成训练集,这样反复多次会得到很多训练集和训练模型。最后在应用时,使用组合方法(例如投票、加权投票等)产生分类预测结果。在随机森林中,虽然每个小决策树的分类能力很弱,但是通过大量的“小树”组合形成的“森林”具有良好的模型预测能力。
2、随机森林的优缺点?
https://blog.csdn.net/qq_39303465/article/details/79234950
3、随机森林怎么取最后的结果
对于分类任务,随机森林是多数表决
对于回归任务,随机森林是简单平均
4、随机森林是怎样避免ID3算法信息增益的缺点的?
首先说下信息增益的过程,决策树算法本质上就是要找出每一列的最佳划分以及不同列划分的先后顺序及排布。信息增益的缺点是比较偏向选择取值多的属性。而gini系数每次都是二分,所以跟属性多少没有关系。
八、GBDT
1、gbdt的算法的流程?
https://blog.csdn.net/xiaokang06/article/details/76783971
2、gbdt如何选择特征,gbdt 如何构建特征 ,gbdt 如何用于分类?
http://www.cnblogs.com/ModifyRong/p/7744987.html
3、gbdt通过什么方式减少误差 ?gbdt的效果相比于传统的LR,SVM效果为什么好一些 ?gbdt 如何加速训练?
https://blog.csdn.net/tinkle181129/article/details/79681702
4、gbdt的参数有哪些,如何调参 ?
https://blog.csdn.net/brucewong0516/article/details/78682634
九、XGBoost
1、XGBoost的参数调优有哪些经验
https://www.cnblogs.com/mfryf/p/6293814.html
2、XGBoost的正则化是如何实现的
https://www.jianshu.com/p/7467e616f227
3、XGBoost为什么要用泰勒展开,优势在哪里?
https://www.jianshu.com/p/629edf6412de
4、XGBoost如何寻找最优特征?是又放回还是无放回的呢?
https://blog.csdn.net/a819825294/article/details/51206410
https://x-algo.cn/index.php/2016/07/24/xgboost-principle/
十、K-means
1、K-means的原理,优缺点以及改进;
https://blog.csdn.net/u014465639/article/details/71342072
2、K-means聚类个数选择,做什么样的试验来确定K;
http://www.cnblogs.com/kemaswill/archive/2013/01/26/2877434.html
3、K-means为什么会收敛?
https://www.cnblogs.com/little-YTMM/p/5885153.html
4、K-means或kNN,我们是用欧氏距离来计算最近的邻居之间的距离。为什么不用曼哈顿距离?
https://www.jianshu.com/p/69304789afab
5、K-means代码;
https://blog.csdn.net/lanse_zhicheng/article/details/79031016
6、K-means与em的关系;
https://blog.csdn.net/shulixu/article/details/52986585
7、KNN 和 K-means
https://www.cnblogs.com/190260995xixi/p/5945652.html
十一、深度学习
1、手推BP
https://juejin.im/post/5c13b00d518825314143675c
2、讲一下pooling的作用, 为什么max pooling要更常用?哪些情况下,average pooling比max pooling更合适?
https://www.cnblogs.com/zongfa/p/9760623.html
3、梯度消失和梯度爆炸的原因是什么?有哪些解决方法?
https://blog.csdn.net/qq_25737169/article/details/78847691
4、CNN和RNN的梯度消失是一样的吗?
https://blog.csdn.net/u013250416/article/details/81410693
5、有哪些防止过拟合的方法?
https://blog.csdn.net/chen645096127/article/details/78990928
6、讲一下激活函数sigmoid,tanh,relu. 各自的优点和适用场景?
https://blog.csdn.net/garrulousabyss/article/details/83231283
7、relu的负半轴导数都是0,这部分产生的梯度消失怎么办?
使用leaky relu,可以在负半轴也有较小的斜率,这样求导时也会有一定的梯度。
8、batch size对收敛速度的影响。
https://blog.csdn.net/ycheng_sjtu/article/details/49804041
9、讲一下batch normalization
https://blog.csdn.net/u014038273/article/details/79951670
https://zhuanlan.zhihu.com/p/34879333
10、data augmentation有哪些技巧?
https://blog.csdn.net/qq_32768091/article/details/78735140
11、讲一下你了解的优化方法,sgd, momentum, rmsprop, adam的区别和联系
https://blog.csdn.net/u010089444/article/details/76725843
12、如果训练的神经网络不收敛,可能有哪些原因?
https://blog.csdn.net/xlbryant/article/details/48470987
13、Loss有哪些定义方式 (基于什么?) 有哪些优化方式,怎么优化,各自的好处,以及解释。
https://blog.csdn.net/zc199329/article/details/80907249
14、简述下什么是生成对抗网络
https://www.sohu.com/a/240165899_100205241?sec=wd&spm=smpc.author.fd-d.11.1553522981087j9xa2G6
十二、CNN
1、CNN做卷积运算的复杂度。如果一个CNN网络的输入channel数目和卷积核数目都减半,总的计算量变为原来的多少?
https://blog.csdn.net/dcrmg/article/details/79652521
2、讲一下AlexNet的具体结构,每层的作用
https://blog.csdn.net/Rasin_Wu/article/details/80017920
3、讲一下你怎么理解dropout,分别从bagging和正则化的角度
https://blog.csdn.net/daizongxue/article/details/79123134
https://blog.csdn.net/u010194274/article/details/62898332
4、说一下你理解的卷积核, 1x1的卷积核有什么作用?
https://blog.csdn.net/l494926429/article/details/51768535
十三、RNN
1、手推RNN和LSTM结构
https://www.cnblogs.com/zhangchaoyang/articles/6684906.html
2、LSTM中每个gate的作用是什么,为什么跟RNN比起来,LSTM可以防止梯度消失
https://blog.csdn.net/weixin_42421001/article/details/81663774
3、请简要介绍下Tensorflow的计算图。
https://blog.csdn.net/sinat_32043495/article/details/78860109
4、说一下RNN原理
https://blog.csdn.net/ieyibinxu/article/details/80251781
5、为什么会出现长时依赖的问题
https://blog.csdn.net/YZXnuaa/article/details/80009769
6、LSTM/GRU如何解决长时依赖的问题
https://blog.csdn.net/qq_28743951/article/details/78974058
7、那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?
https://www.cnblogs.com/eilearn/p/9307872.html