机器学习面笔试-决策树篇

1. 决策树怎么做回归

让所有节点求平均值。

2. 熵、联合熵、条件熵、交叉熵、KL散度(相对熵),信息增益,互信息,信息增益率的计算

简介:
熵用于衡量不确定性,所以均分的时候熵最大
KL散度用于度量两个分布的不相似性,KL(p||q)等于交叉熵H(p,q)-熵H(p)。交叉熵可以看成是用q编码P所需的bit数,减去p本身需要的bit数,KL散度相当于用q编码p需要的额外bits。
交互信息Mutual information :I(x,y) = H(x)-H(x|y) = H(y)-H(y|x) 表示观察到x后,y的熵会减少多少
具体计算公式参考【这里

3. 信息增益有什么缺点?

信息增益的大小是相对训练数据而言的,没有绝对的意义。
在分类困难时,也就是说在训练数据集的经验熵大的时候,信息增益值会偏大,反之则偏小。
使用信息增益比可以矫正这一缺点。

4.ID3、C4.5、CART树搭建方法

分别利用信息增益、信息增益率、Gini指数作为数据分割标准。
信息增益衡量按照某个特征分割前后熵的减少程度,其实就是上面说的交互信息。李航书中的公式:


infogain

用上述信息增益会出现优先选择具有较多属性的特征,毕竟分的越细的属性确定性越高。所以提出了信息增益率的概念,让含有较多属性的特征的作用降低。

infogain——rate

CART树在分类过程中使用的基尼指数Gini,只能用于切分二叉树,而且和ID3、C4.5树不同,Cart树不会在每一个步骤删除所用特征。

Gini

5. 决策树如何防止过拟合?

剪枝可防止过拟合;
剪枝分为前剪枝和后剪枝,前剪枝本质就是早停止,后剪枝通常是通过衡量剪枝后损失函数变化来决定是否剪枝。
后剪枝有:错误率降低剪枝、悲观剪枝、代价复杂度剪枝

6.如何剪枝?

决策树的剪枝是通过极小化决策树的损失函数来实现的。
设树叶节点个数为T个,t是树的某个叶节点,该叶节点上有Nt个样本,其中k类别的样本点有Ntk个,Ht(T)为叶节点t上的经验熵,则决策树的损失函数为

Cα(T)=t=1TNtHt(T)+αT

经验熵
Ht(T)=kNtkNtlogNtkNt

C(T)=t=1TNtHt(T)=t=1Tk=1KNtklogNtkNt

剪枝就是当α确定时,选择损失函数最小的模型。
剪枝流程:
输入:生成算法产生的这个树T,参数α
输出:修剪后的树
(1)计算每个节点的经验熵
(2)递归地从树的叶节点向上回溯,直到不能继续为止,返回损失最小的树。

7.前剪枝的几种停止条件

节点中样本为同一类;
特征不足返回多类;
如果某个分支没有值则返回父节点中的多类;
样本个数小于阈值返回多类。


https://blog.csdn.net/u011239443/article/details/76360294

原文地址:https://www.cnblogs.com/siucaan/p/9623117.html