机器学习-面试精选
作者:互联网
-
什么是机器学习过拟合?
过拟合:指模型在训练集上的效果很好,在测试集上的预测效果很差,一般是偏差低,方差高
-
如何避免过拟合问题?
-
重采样bootstrap
-
L1,l2正则化
-
决策树的剪枝操作
-
交叉验证
-
3.什么是机器学习的欠拟合?
欠拟合:指模型复杂度低或者数据集太小,对模型数据的拟合程度不高,因此模型在训练集上的效果就不好.一般是偏差高,方差低
-
如何避免欠拟合问题?
1.增加样本的数量
2.增加样本特征的个数
3.特征维度扩展
5.什么是交叉验证?交叉验证的作用是什么?交叉验证主要方法?
交叉验证:就是将原始数据集(dataset)划分为两个部分.一部分为训练集用来训练模型,另外一部分作为测试集测试模型效果.
交叉验证作用: 1)交叉验证是用来评估模型在新的数据集上的预测效果,也可以一定程度上减小模型的过拟合
2)还可以从有限的数据中获取尽可能多的有效信息。
交叉验证主要方法:
①留出法.简单地将原始数据集划分为训练集,验证集,测试集三个部分.
②k折交叉验证.(一般取5折交叉验证或者10折交叉验证)
③留一法.(只留一个样本作为数据的测试集,其余作为训练集)---只适用于较少的数据集
④ Bootstrap方法.(会引入样本偏差)上采样和下采样
6.有监督算法和无监督算法有什么区别?
有标签的称为有监督算法,无标签的则称为无监督算法.
7常见的距离度量公式有那些?
1)Minkowski(闵可夫斯基距离)
--- P=1:曼哈顿距离(城市距离)
---P=2:欧式距离
---P=∞无穷:切比雪夫距离
2) 夹角余弦相似度
3) KL距离(相对熵)
4) 杰卡德相似度系数(集合)
5) Pearson相关系数ρ(距离= 1-ρ)
8.文本数据处理的方式和区别?
1) 词袋法(BOW/TF)\词集法(SOW)
---不考虑文本的语法和语序,只考虑单词存在的次数(BOW/TF)或者是否存在(SOW)
2) TF-IDF
---既考虑文本的词频,也考虑文件的逆文档频率(基本思想是:单词的重要性与单词在文档中出现的次数成正比,与单词在语料库中出现的次数成反比)
3) HashTF-IDF(不计算词频,计算单词进行Hash后的Hash值的数量)
4) 哑编码(OneHotEncoder)
5) Word2Vec (通过对文档中的所有单词进行分析->>获得单词之间的关联程度->>进而形成词向量矩阵)
9.什么是最小二乘法?
使预测值和真实值误差的平方和最小
10.常见的优化算法有那些,以及这些优化算法有那些优缺点;
1)梯度下降法(Gradient Descent)
---BGD--->每一步迭代都需要遍历所有的样本数据,消耗时间长,但是一定能得到最优解.
---SGD--->迭代速度快,得到局部最优解(凸函数时得到全局最优解)
---MBGD--->小批量梯度下降法
2)牛顿法和拟牛顿法
牛顿法--->牛顿法是二阶收敛,收敛速度快的迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂。
拟牛顿法--->改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度.
3)共轭梯度法
共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点。其优点是所需存储量小,而且不需要任何外来参数。
4) 启发式的方法
启发式优化方法种类繁多,包括经典的模拟退火方法、遗传算法、蚁群算法以及粒子群算法等
5)拉格朗日乘子法
-
请描述一下拉格朗日乘子法和KKT条件;
拉格朗日乘子法就是一种将具有约束条件的目标函数转化为没有约束的目标函数的方法.对于不等式约束条件,要求不等式f(x)<=0. KKT条件:要求α*f(x)=0, f(x)<=0; α>=0并且要求各参数的导数为0
12.如何避免数据不平衡?
1)bootstrap(重采样)--->上采样和下采样
2)数据合成-->利用已有样本生成更多样本
3)数据加权
4)看成一分类或者异常检测的问题
正负样本都非常之少-->数据合成的方式
负样本足够多,正样本非常之少且比例及其悬殊-->一分类方法
正负样本都足够多且比例不是特别悬殊-->采样或者加权的方法。
13.算法的误差一般是由那几个方面引起的?
1)因模型无法表示基本数据的复杂度而造成的偏差(bias).---欠拟合
2)因模型过度拟合训练集数据而造成的方差(variance).---过拟合
14.在数据缺失特征的样本如何进行处理?
根据样本缺失的实际情况,我们一般运用:
1)均值,中值,最大最小值等来填充数据
2)根据经验值补全数据
3)通过相关计算得到缺失值
4)样本数量足够,则可以直接删除有缺失值的样本
15.连续性数据分区转换为离散数据有什么优点?
1)易于模型的快速迭代
2)很强的鲁棒性
3)引入非线性,提升模型的表达能力
4)降低了模型过拟合的风险
16.哑编码的作用是什么?
哑编码是一种将字符串类型的特征转化为数值型的方法.
17.决策树的常用算法有那些,这些算法有什么区别?
常用的有:ID3,C4.5,CART三种算法
区别:
1) 纯度量化指标不同.ID3-->信息增益,C4.5-->信息增益率,CART-->基尼系数
2) 数据处理能力不同. ID3-->离散数据,C4.5,CART--->连续数据离散化,剪枝操作
3)树的类型不同.ID3和C4.5->多叉树, CART->只能是二叉树.
18.决策树的数据split原理或者流程;
1)将所有样本看做一个节点
2)根据纯度量化指标.计算每一个特征的’纯度’,根据最不’纯’的特征进行数据划分
3)重复上述步骤,知道每一个叶子节点都足够的’纯’或者达到停止条件
19.决策树算法中如何避免过拟合和欠拟合;
过拟合:1、选择能够反映业务逻辑的训练集去产生决策树;2、剪枝操作(前置剪枝和后置剪枝); 3、限制树的高度(K折交叉验证)
欠拟合:增加树的深度,RF
20.回归决策树算法和分类决策树算法有什么区别与联系?
回归决策树解决的是回归的问题.分类决策树解决的是分类的问题.他们在决策树的构建上是一样的(最优划分),回归决策树是计算预测点所在的叶子节点的均值或者加权平均值得到回归结果.分类是通过多数投票或者加权的多数投票得到分类结果,回归决策树是MAE,MSE 分类决策树是:信息熵、基尼系数、错误率
21.数据标准化、数据归一化、区间缩放法有什么作用以及各个方法之间有什么区别
数据标准化是将数据集转化为服从标准正态分布的数据.(常用于离散程度较高的数据)
数据归一化是将每个样本的向量转化为单位向量(矩阵的行操作)
区间缩放法是对于分布较大的数据集,通过等比缩放的方法缩放到feature_range=(0,1).
22.特征选择的目标是什么?
选择离散程度高且与目标的相关性强的特征
23.常用的特征选择方式有那些?
①过滤法
过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,从而选择特征;常用方法包括方差选择法、相关系数法、卡方检验、互信息法等
②包装法
包装法,根据目标函数(通常是预测效果评分),每次选择若干特征或者排除若干特征;常用方法主要是递归特征消除法。
③嵌入法
嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权重系数,根据系数从大到小选择特征;常用方法主要是基于惩罚项的特征选择法.
24.降维的作用是什么?
①降维可以缓解维度灾难问题
②降维可以在压缩数据的同时让信息损失最小化
③维度的数据通过可视化理解更容易
25.常见的降维方式有那些?
PCA(主成分分析法)-->无监督的降维(无类别信息)-->选择方差大的方向投影,方差越大所含的信息量越大,信息损失越少.可用于特征提取和特征选择。
LDA(线性判别分析法)-->有监督的降维(有类别信息)-->选择投影后的类别内的方差小,类别间的方差较大.
-
PCA降维的原理是什么?
PCA是无监督的降维算法,通过线性变换将样本数据从高维投影到低维,并且投影后的数据具有最大的方差
-
LDA线性判别分析降维的原理是什么?
LDA是有监督的降维算法,它是将高维数据投影到低维上,投影后类内方差最小,类间方差最大(投影后每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大)
28.机器学习中模型参数和超参的区别?超参给定的方式有那些?
模型参数是模型内部的配置变量,(可以用数据估计模型参数的值);
模型超参是模型外部的配置,必须手动设置参数的值。(通过网格交叉验证来取值,也可以通过经验选定.)
29.常用的机器学习工具有那些?
Python,Numpy,pandas,matplotlib,scikit-learn……
-
SVD矩阵奇异值分解在机器学习中有那些作用?
LSA(潜在语义分析),PCA降维……
31.Logistic算法的目标函数是什么?
Sigmoid函数,极大似然估计(MLE) , 似然函数L(θ)
32.请描述SVM的原理
SVM就是找到一个超平面,使得距离这个超平面最近的点(支持向量)距离超平面最远.
-
SVM中为什么采用间隔最大化?
间隔最大化可以使得样本的置信度上升,分类器更健壮. 当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。 感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。
线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。
然后应该借此阐述,几何间隔,函数间隔,及从函数间隔—>求解最小化1/2 ||w||^2 时的w和b。即线性可分支持向量机学习算法—最大间隔法的由来。
34.请推导线性可分SVM算法
西瓜书公式推导。。。
-
请描述软间隔线性可分SVM算法的原理以及应用场景
对于一些不满足函数间隔大于1的样本点,我们在线性可分的基础上加入了松弛因子ξ和惩罚项系数C. C越大,对误分类的惩罚越大(越不允许分错);当C无限大时就是线性可分问题.
36.请描述SVM如何解决非线性可分的问题
通过引入核函数,使得高维内积转换为低维内积计算
37.核函数有什么作用?常见的核函数有那些?
低维映射到高维-----核函数(rbf,linear,poly)----在低维度计算,得到高维分类的效果.
常见的核函数有:线性核函数、多项式核函数、高斯核函数、拉去拉斯核函数
-
SVM如何处理多分类问题?
ovo(一对一法)或者ovr(一对多法)
-
Logistic回归和SVM算法有什么区别和联系?
相同点: 1)Logistic回归和SVM都是分类算法. 2)如果不考虑使用核函数,LR和SVM都是线性分类模型,也就是说它们的分类决策面是线性的。 3)都是有监督学习的算法 4) LR和SVM都是判别模型。 不同点: 1)损失函数不同 LR基于概率理论,通过极大似然估计方法估计出参数的值,然后计算分类概率,取概率较大的作为分类结果, SVM基于几何间隔最大化,把最大几何间隔面作为最优分类面。 2)SVM只考虑分类面附近的局部的点,即支持向量,LR则考虑所有的点,与分类面距离较远的点对结果也起作用,虽然作用较小。 3)在解决非线性分类问题时,SVM采用核函数,而LR通常不采用核函数。 4)SVM不具有伸缩不变性,LR则具有伸缩不变性。 5)Logistic回归是通过sigmoid函数来进行分类的,类别分为{0,1},SVM是通过sign函数来进行分类的,类别分为{+1,-1}.
-
Logistic回归和Linear线性回归有什么区别和联系?
1)线性回归要求变量服从正态分布,logistic回归对变量分布没有要求。
2)线性回归要求因变量是连续性数值变量,而logistic回归要求因变量是分类型变量。
3)线性回归要求自变量和因变量呈线性关系,而logistic回归不要求自变量和因变量呈线性关系
4)logistic回归是分析因变量取某个值的概率与自变量的关系,而线性回归是直接分析因变量与自变量的关系 -
如何评价算法模型的效果?
分类算法评价:准确率(Accuracy),精确率(Precision),召回率(Recall),F1值,ROC曲线(AUC值) 回归算法评价: MAE,MSE,可解释方差的回归评分函数(explained_variance_score)
42.分类算法的评估指标有那些?
准确率(Accuracy),精确率(Precision),召回率(Recall),F1值,ROC曲线(AUC值)
43.混淆矩阵的作用?(模型效果评价)
混淆矩阵可以清晰的反映出真实值与预测值相互吻合和不吻合的部分,实现预测值与真实值在相同特征下的比较,如果同时成立则放入相对应的矩阵位置,如果不成立则放入不相匹配的矩阵位置,将真实值与预测值相互匹配与不匹配项放入矩阵中,我们称这个矩阵为混淆矩阵。
-
召回率、精确率、准确率、F1指标的作用以及区别?
召回率(Recall)-->预测正确的真正例/全部真正例 精确率(Precision)-->预测正确的真正例/被预测为真正例的所有样本数 准确率(Accuracy)-->预测正确的正负样本数/样本总数 F1值--> 2/(1/Precision +1/Recall)-->精确率和召回率的调和平均值
-
ROC和AUC的作用?
TPR(TruePositive Rate): TP/(TP+FN),实际就是Recall FPR:FP/(FP+TN),错误接收率,误报率,即负样本被识别为正样本的概率. ROC曲线就是以FPR为横轴,TPR为纵轴,绘制出的一条曲线.AUC为ROC曲线下方的面积. ROC曲线是评价分类模型效果的常用方法.AUC的值越大,表示模型效果越好.
46.回归算法的评估指标有那些?
MAE,MSE, R2
-
MSE、MAE、R2指标的作用和区别?
MSE--->均方差. MAE--->平均绝对误差. R2--->分母理解为原始数据的离散程度,分子为预测数据和原始数据的误差,二者相除可以消除原始数据离散程度的影响.
-
损失函数和目标函数的区别?
损失函数(代价函数)-->损失函数越小,就代表模型拟合的越好。 目标函数-->把要最大化或者最小化的函数称为目标函数.有正则项的必定是目标函数.
-
在机器学习中,模型的选择指的是?如何进行模型选择?
模型选择就是算法模型及模型参数的选择.(就是说选择什么算法) 如何进行模型选择--->交叉验证,选择效果好的模型.
50.在机器学习中,模型效果不好的时候,如何调试学习算法模型?
1)获取更多的数据量
2)特征的增加和减少
3)模型超参数的调节
4) 模型融合(提升算法)
51.请描述随机森林(RF)的原理
1)通过对数据集进行Bootstrap(重采样),获取m个样本.
2)对这m个样本并进行特征随机选择,再训练出m棵决策树模型.
3)根据这m棵决策树,运用投票表决或者加权投票表决的方式进行分类,运用平均值或者加权平均进行回归.
52.请描述RF和GBDT之间的相同点和不同点
RF和GBDT相同点:
1)都是使用决策树作为基模型.
2)都是集成算法的一种
3)都是由多棵树组成, 最终的结果都是由多棵树一起决定
RF和GBDT不同点:
1、组成随机森林的树可以是分类树,也可以是回归树;而GBDT只由回归树组成
2、组成随机森林的树可以并行生成;而GBDT只能是串行生成(强融合)
3、对于最终的输出结果而言,随机森林采用多数投票等;而GBDT则是将所有结果累加或者加权累加起来
4、随机森林对异常值不敏感,GBDT对异常值非常敏感
5、随机森林对训练集一视同仁,GBDT是基于权值的弱分类器的集成
6、随机森林是通过减少模型方差提高性能,GBDT是通过减少模型偏差提高性能
-
XGBoost的作用是什么
0.0
54.在XGBoost中,构建树的时候使用那些优化的方式
0.0
55.集成学习的原理/作用是什么?
原理:’博采众长’
作用:根据一定的结合策略,将多个弱学习器组成一个强学习器.
-
RF、GBDT在特征选择中的作用是什么?
在进行特征选择时,我们可以使用RF、GBDT首先对模型进行训练,得到feature_importance参数值,再给定的阈值就可以进行特征选择
57.交叉验证方法介绍
重采样:
留出法:
留一法:
k折交叉验证:
58.L1,L2正则化的作用?
59.决策树的剪枝如何操作?
60.牛顿法、拟牛顿法原理?
————————————————
版权声明:本文为CSDN博主「霜过后的菜芽」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41175904/article/details/117471330
标签:机器,函数,精选,--,模型,---,面试,算法,决策树 来源: https://blog.csdn.net/qq_42994177/article/details/120223913