【机器学习】面试大题
GBDT相关
1. GBDT适用范围?
- GBDT 可以适用于回归问题(线性和非线性);
- GBDT 也可用于二分类问题(设定阈值,大于为正,否则为负)和多分类问题。
2. GBDT和随机森林(RF)的区别?
相同点:
(1) 都是多棵树
(2) 最终结构由多棵树共同决定
不同点:
(1) RF的组成可以是分类树、回归树;组成 GBDT 只能是回归树。
(2) RF的树可以并行生成(Bagging);GBDT 只能串行生成(Boosting)
(3) 对于最终的输出结果而言,RF使用多数投票或者简单平均;而 GBDT 则是将所有结果累加起来,或者加权累加起来;
(4) RF对异常值不敏感,GBDT 对异常值非常敏感;
(5) RF对训练集一视同仁权值一样,GBDT 是基于权值的弱分类器的集成;
(6) RF通过减小模型的方差提高性能,GBDT 通过减少模型偏差提高性能。
3. GBDT相较于决策树有什么优点?
泛化性能更好!GBDT 的最大好处在于,每一步的残差计算其实变相的增大了分错样本的权重,而已经分对的样本则都趋向于 0。这样后面就更加专注于那些分错的样本。
4. GBDT的gradient体现在哪里?
可以理解为残差是全局最优的绝对方向,类似于求梯度。
5. GBDT的re-sample
GBDT 也可以在使用残差的同时引入 Bootstrap re-sampling,GBDT 多数实现版本中引入了这个选项,但是是否一定使用有不同的看法。
原因在于 re-sample 导致的随机性,使得模型不可复现,对于评估提出一定的挑战,比如很难确定性能的提升是由于 feature 的原因还是 sample 的随机因素。
1. 数据归一化和标准化区别及原因
- 标准化:数据缩放到一个小的特定区间
- 归一化:缩放到(0, 1)之间
2. 欧氏距离和曼哈顿距离的区别
- 公式
- 理解:曼哈顿距离就是街区距离,欧氏距离就是直线距离。
- 图解
3. 哪些机器学习算法不需要归一化?
首先,分类算法中
其次,预测算法中
- 贝叶斯分类:
- 决策树:不需要
- SVM:需要
- KNN(K近邻):需要
- LR:需要
- NN:不需要
- Adaboosting:需要
4. 为什么决策树不需要归一化?
因为决策树里面的分类就是按照该属性的取值进行分类,分类点的取值在属性的取值范围内,所以不需要归一化。
5. ML项目流程
理解:分为两个部分,特征相关和模型相关。
- 业务问题抽象为数学问题
- 数据获取
- 特征工程
- 模型训练,调优
- 模型验证,误差分析
- 模型融合
6. LR为什么要对特征离散化?
离散化:连续数值的离散化。
等宽分箱,等高分箱
7. 怎么防止过拟合?
- 清洗数据
- 减少样本
- 简化模型复杂度
- 增加正则项
- droupout
8. LR和SVM的区别
- 都是线性分类器
- 都是判别模型
- SVM不依赖所有点,LR受到所有点的影响,如果数据不同类别处于不平衡状态,需要先对数据进行平衡处理
- SVM需要对数据标准化,因为需要对距离进行规范化;LR不需要
- 损失函数不同,LR是logloss,SVM是hinge loss。
补充,hinge loss: f ( x ) = m a x ( 0 , 1 − x ) f(x) = max(0, 1-x) f(x)=max(0,1−x)
9. 核函数相关
- SVM如何选择核函数?
- 为什么其他算法没有用到核函数?
【机器学习基础】核函数详解
10. Gini指数 vs 熵
- 都可以表示数据的不确定性,不纯度。
- Gini指数的计算不需要对数运算,更加高效。
- Gini指数偏向于连续属性,熵更偏向于离散属性。