BAT机器学习面试1000题(401~405题)


401、对于维度极低的特征,选择线性还是非线性分类器?

解析:

非线性分类器,低维空间可能很多特征都跑到一起了,导致线性不可分。

  1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM

  2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel

  3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况。


402、请问怎么处理特征向量的缺失值

解析:

一方面,缺失值较多.直接将该特征舍弃掉,否则可能反倒会带入较大的noise,对结果造成不良影响。

另一方面缺失值较少,其余的特征缺失值都在10%以内,我们可以采取很多的方式来处理:

1) 把NaN直接作为一个特征,假设用0表示;

2) 用均值填充;

3) 用随机森林等算法预测填充。

403、SVM、LR、决策树的对比。

解析:

模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝

损失函数:SVM hinge loss; LR L2正则化; adaboost 指数损失

数据敏感度:SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感

数据量:数据量大就用LR,数据量小且特征少就用SVM非线性核

404、什么是ill-condition病态问题?

解析:

训练完的模型,测试样本稍作修改就会得到差别很大的结果,就是病态问题,模型对未知数据的预测能力很差,即泛化误差大。

405、简述KNN最近邻分类算法的过程?

解析:

  1. 计算测试样本和训练样本中每个样本点的距离(常见的距离度量有欧式距离,马氏距离等);

  2. 对上面所有的距离值进行排序;

  3. 选前 k 个最小距离的样本;

  4. 根据这 k 个样本的标签进行投票,得到最后的分类类别;
已邀请:

要回复问题请先登录注册

返回顶部