机器学习面试笔记整理3-决策树

机器学习面试笔记整理3-决策树

算法思想

基于特征对实例进行分类,以信息熵为度量构造一颗熵值下降最快(不确定消除最快)的树,到叶子节点处的熵值为0,其中每个内部节点表示一个属性划分,每个叶节点表示一个类别。 剪枝。

优缺点

优点:
1.可自学习,不需过多背景知识,只需对训练样本较好标注
2.可解释性强,给出重要性特征
3.适用于处理含有缺失值的样本
4.非参数模型
5.可处理高维数据,但也易过拟合
6.决策树算法对于噪声的干扰具有相当好的鲁棒性
7.能同时处理数值型,类别类数据
8.可处理具有不相关特征的数据
9.在类别不平衡数据上表现不错

缺点:
1.泛化能力弱,依赖于训练样本,对于没出现过的值几乎没有办法。
2.易过拟合–(剪枝/随机森林)
3.对异常值敏感,易导致树的结构发生巨大变化

面试问题收集

1.信息增益/互信息:当前特征对不确定性消除的程度
信息增益 = entroy(前) - entroy(后)
缺点:偏向取值较多的特征

2.信息增益率:为解决信息增益的缺点,加入惩罚参数。
信息增益比 = 惩罚参数 * 信息增益

3.Gini指数(Gini不纯度): 表示在样本集合中一个随机选中的样本被分错的概率。
基尼指数(基尼不纯度)= 样本被选中的概率 * 样本被分错的概率

4.ID3,C4.5,CART三者区别?
(1)ID3,C4.5用于分类,CART可用于分类与回归
(2)ID3,C4.5节点下的叉树由特征取值决定,形成多叉树;CART的节点特征取值为‘是’‘否’,形成二叉树
(3)ID3-信息增益,C4.5-信息增益比,CART分类树-GINI,CART回归-平方误差(最优特征+最优二值切分点)

5.Gini系数与熵之间的关系图?
Gini系数与熵相似,因为f(x) = -lnx在x=1的泰勒展开近似f(x)=1-x

6.处理过拟合?
剪枝,随机森林(常用)

7.节点分裂?
1.离散点特征取值是否;
2.连续值切割相邻两点,小于或者大于阈值

8.连续值处理方式?
对于连续属性a,将a在D上出现的不同取值进行排序,基于划分点t将D分为两个子集。一般对每一个连续的两个取值的中点作为划分点(二分法)。

9.决策树的损失函数?
正则化的极大似然函数: C a ( T ) = C ( T ) + a ∣ T ∣ C_a(T)=C(T)+a|T| Ca(T)=C(T)+aT, C ( T ) C(T) C(T)表示决策树T对训练数据集的预测误差, ∣ T ∣ |T| T表示决策树的叶节点个数,即模型复杂度, a a a是权衡因子。其中 C ( T ) C(T) C(T)通常有两种衡量方法:熵,GINI指数。

10.剪枝?
减小决策树模型的整体损失函数,分为两种情况:一般情况和CART剪枝。
(1)一般情况:根据正则化的极大似然函数,判断是否继续分裂;
(2)CART剪枝:不同提前确定 a a a值,计算公式: g ( t ) = C ( t ) − C ( T t ) / ∣ T t ∣ − 1 g(t)={C(t)-C(T_t)}/{|T_t|-1} g(t)=C(t)C(Tt)/Tt1, T t T_t Tt表示以内部结点t为根节点的子树, g ( t ) g(t) g(t)则表示剪枝前后损失函数减少程度,选择 g ( t ) g(t) g(t)最小的 t t t进行剪枝。

11.递归终止条件?
(1)所有训练样本子集基本正确分类了;
(2)没有可划分特征,或者可用特征的信息熵/Gini指数达到某个阈值

12.决策树如何处理缺失值?
从三个角度考虑:
(1)在选择分裂属性的时候,训练样本存在缺失值,如何处理?(计算分裂损失减少值时,忽略特征缺失的样本,最终计算的值乘以比例(实际参与计算的样本数除以总的样本数))
(2)分类属性选择完成,对训练样本分类,发现样本属性缺失怎么办?(将该样本分配到所有子节点中,但是更改该样本权重,由1变为具有属性a的样本被划分成的子集样本个数的相对比率。最终分配到误差率最低的方向
为什么要更改权重?计算错误率的时候,需要考虑到样本权重。
(3)训练完成,给测试集样本分类,有缺失值怎么办?(分类时,如果待分类样本有缺失变量,而决策树决策过程中没有用到这些变量,则决策过程和没有缺失的数据一样;否则,如果决策要用到缺失变量,决策树也可以在当前节点做多数投票来决定(选择样本数最多的特征值方向)。)
可根据实际情况,采用以下措施:
(U)如果有单独的缺失分支,使用此分支。©把待分类的样本的属性a值分配一个最常出现的a的属性值,然后进行分支预测。(S)根据其他属性为该待分类样本填充一个属性a值,然后进行分支处理。(F)在决策树中属性a节点的分支上,遍历属性a节点的所有分支,探索可能所有的分类结果,然后把这些分类结果结合起来一起考虑,按照概率决定一个分类。(H)待分类样本在到达属性a节点时就终止分类,然后根据此时a节点所覆盖的叶子节点类别状况为其分配一个发生概率最高的类。

13.关于模型缺失值的处理?
以决策树为原型的树模型优于依赖距离度量的模型
(1) 树模型对于缺失值的敏感度较低,大部分时候可以在数据有缺失时使用。
(2) 神经网络的鲁棒性强,对于缺失数据不是非常敏感,但一般没有那么多数据可供使用。
(3) 贝叶斯模型对于缺失数据也比较稳定,数据量很小的时候首推贝叶斯模型。
(4) 涉及到距离度量(distance measurement)时,如计算两个点之间的距离,缺失数据就变得比较重要。因为涉及到“距离”这个概念,那么缺失值处理不当就会导致效果很差,如K近邻算法(KNN)和支持向量机(SVM)。
(5) 线性模型的代价函数(loss function)往往涉及到距离(distance)的计算,计算预测值和真实值之间的差别,这容易导致对缺失值敏感。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值