机器学习面试题(9月3日笔记)
1.介绍ROC曲线
横坐标为假阳性率(False Positive Rate,FPR);纵坐标为真阳性率(True Positive Rate,TPR)
FPR = FP / N
TPR = TP / P
其中P是真实的正样本的数量,N是真实的负样本的数量,TP是P个正样本中被分类器预测为正样本的个数,FP是N个负样本中被预测为正样本的个数。绘制ROC曲线:通过不断移动分类器的“截断点”来生成曲线上的一组关键点。在二分类问题中,模型输出一般是预测样本为正例的概率,在输出最终的正例负例之前,我们需要制定一个阈值。大于该阈值的样本判定为正例,小于该阈值的样本判定为负例。通过动态调整截断点,绘制每个截断点对应位置,再连接所有点得到最终的ROC曲线。
2. 误差分析是什么?如何进行误差分析?
误差分析:通过训练误差和测试误差来分析模型是否存在高方差、高偏差。
如果训练误差较高:说明模型的偏差较大,模型出现了欠拟合。
如果训练误差较低,而测试误差较高:说明模型的方差较大,出现了过拟合。
如果训练误差较低,测试误差也较低:说明模型的方差和偏差都适中,是一个比较理想的模型。
如果训练误差较高,且测试误差更高:说明模型的方差和偏差都较大。
3. 简单讲解SVM模型原理?
支持向量机是一种二类分类模型,它的基本模型是是定义在特征空间的间隔最大的线性分类器,间隔最大,间隔最大使它有别于感知机;支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略是间隔最大化,可形式化为求解凸二次规划的问题,也等价于正则化的合页损失函数最小化问题。
线性可分支持向量机:当训练数据线性可分,通过硬间隔最大化,学习一个线性的分类器
线性支持向量机:当训练数据近似线性可分,通过软间隔最大化,学习一个线性的分类器
非线性支持向量机:当训练数据线性不可分,通过使用核技巧及软间隔最大化,学习非线性分类器
4. 决策树的建树过程
自上而下,对样本数据进行树形分类的过程。每个内部节点表示一个特征,叶节点表示一个类别。从顶部根节点开始,所有的样本聚在一起。经过根节点的划分,样本被分到不同的子节点,再根据子节点的特征进一步划分,直至所有样本被归到某一个类别(叶节点)中。
5.如何评判模型是过拟合还是欠拟合?遇到过拟合或欠拟合时,如何解决?
过拟合是指学习时选择的模型所包含的参数过多,以至出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象
当训练集效果差,欠拟合(如accurarcy<0.8);训练集效果好,测试集效果差,过拟合
欠拟合解决方法:
增加特征
提高模型复杂度:神经网络提高神经元数、增加层数;SVM使用核函数
减小正则项的系数
过拟合解决方法:
提高样本数量:神经网络——Data Augmentation(数据增强)
简化模型:神经网络使用Dropout、Early Stopping;决策树剪枝、限制树的深度
加入正则化项或提高惩罚系数
使用集成学习
标签平滑
6. 奥卡姆剃刀定律是什么?对机器学习模型优化有何启发?举例说明
奥卡姆剃刀定律:若有多个假设与观察一致,则选最简单的那个
奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的,也就是应该选择的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。
7. GDBT是否对异常值敏感,为什么?
GDBT对异常值敏感。对于回归类问题,如果采用平方损失函数,当出现异常值时,后续模型会对异常值关注过多
8. 如何理解维度灾难?
特征数量超过一定值的时候,分类器的效果反而下降。原因:特征数过多,过拟合
9. 讲解一下droupt原理
在神经网络前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。
10. 训练模型的时候,是否可以把网络参数全部初始化为0?为什么?
不可以;参数全部为0时,网络不同神经元的输出必然相同,相同输出则导致梯度更新完全一样,会使得更新后的参数仍然保持完全相同。从而使得模型无法训练。