XGBOOST算法完整推论

X G B O O S T XGBOOST XGBOOST


ID3:

信息增益(information gain)
G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) ( 1 ) Gain(D,a)=Ent(D)-\sum_{v=1}^V\dfrac{|D^v|}{|D|}{Ent(D^v)}\quad\quad(1) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)(1)
其中: E n t ( D ) = − ∑ k = 1 y P k l o g 2 P k Ent(D)=-\sum_{k=1}^y{P_klog_2P_k} Ent(D)=k=1yPklog2Pk也称为熵。
\quad\quad 决策树的本质是训练数据集中归纳出一组分类规则,我们需要的是一个训练数据矛盾较小的决策树,同时具有很好的泛化能力。 E n t ( D ) Ent(D) Ent(D)的值越小,则 D D D的训读就越高,熵表示随机变量不确定性的度量。
表 一 : 贷 款 申 请 样 本 数 据 表 表一:贷款申请样本数据表

ID 年龄 有工作 有自己房子 信贷情况 类别
1 青年 一般
2 青年
3 青年
4 青年 一般
5 青年 一般
6 中年 一般
7 中年
8 中年
9 中年 非常好
10 中年 非常好
11 老年 非常好
12 老年
13 老年
14 老年 非常好
15 老年 一般

例题一:计算上述个样本的信息增益
H ( D ) = − 9 15 l o g 2 9 15 − 6 15 l o g 2 6 15 = 0.971 H(D)=-\dfrac{9}{15}log_2\dfrac{9}{15}-\dfrac{6}{15}log_2\dfrac{6}{15}=0.971 H(D)=159log2159156log2156=0.971

g ( D , A 1 ) = H ( D ) − [ 5 15 H ( D 1 ) + 5 15 H ( D 2 ) + 5 15 H ( D 3 ) ] g(D,A_1)=H(D)-[\dfrac{5}{15}H(D_1)+\dfrac{5}{15}H(D_2)+\dfrac{5}{15}H(D_3)] g(D,A1)=H(D)[155H(D1)+155H(D2)+155H(D3)]

\quad\quad\quad\quad = 0.971 − [ 5 15 ( − 2 5 l o g 2 2 5 ) − 3 5 l o g 2 3 5 ) =0.971-[\dfrac{5}{15}(-\dfrac{2}{5}log_2\dfrac{2}{5})-\dfrac{3}{5}log_2\dfrac{3}{5}) =0.971[155(52log252)53log253)

\quad\quad\quad\quad\quad\quad\quad\quad + 5 15 ( − 3 5 l o g 2 3 5 ) − 2 5 l o g 2 2 5 ) +\dfrac{5}{15}(-\dfrac{3}{5}log_2\dfrac{3}{5})-\dfrac{2}{5}log_2\dfrac{2}{5}) +155(53log253)52log252)

\quad\quad\quad\quad\quad\quad\quad\quad + 5 15 ( − 4 5 l o g 2 4 5 ) − 1 5 l o g 2 1 5 ) ] +\dfrac{5}{15}(-\dfrac{4}{5}log_2\dfrac{4}{5})-\dfrac{1}{5}log_2\dfrac{1}{5})] +155(54log254)51log251)]

\quad\quad\quad\quad = 0.971 − 0.888 =0.971-0.888 =0.9710.888
\quad\quad\quad\quad = 0.083 =0.083 =0.083
g ( D , A 2 ) = H ( D ) − [ 5 15 H ( D 1 ) + 10 15 H ( D 2 ) ] g(D,A_2)=H(D)-[\dfrac{5}{15}H(D_1)+\dfrac{10}{15}H(D_2)] g(D,A2)=H(D)[155H(D1)+1510H(D2)]
\quad\quad\quad\quad\quad = 0.971 − 0.647 =0.971-0.647 =0.9710.647
\quad\quad\quad\quad\quad = 0.324 =0.324 =0.324
g ( D , A 3 ) = H ( D ) − [ 6 15 H ( D 1 ) + 9 15 H ( D 2 ) ] g(D,A_3)=H(D)-[\dfrac{6}{15}H(D_1)+\dfrac{9}{15}H(D_2)] g(D,A3)=H(D)[156H(D1)+159H(D2)]

\quad\quad\quad\quad\quad = 0.971 − 0.551 =0.971-0.551 =0.9710.551
\quad\quad\quad\quad\quad = 0.420 =0.420 =0.420
g ( D , A 4 ) = H ( D ) − [ 4 15 H ( D 1 ) + 6 15 H ( D 2 ) + 5 15 H ( D 3 ) ] g(D,A_4)=H(D)-[\dfrac{4}{15}H(D_1)+\dfrac{6}{15}H(D_2)+\dfrac{5}{15}H(D_3)] g(D,A4)=H(D)[154H(D1)+156H(D2)+155H(D3)]

\quad\quad\quad\quad\quad = 0.971 − 0.608 =0.971-0.608 =0.9710.608
\quad\quad\quad\quad\quad = 0.363 =0.363 =0.363

C4.5:

\qquad 特征A对训练数据集D的信息增益比 g R ( D , A ) g_R(D,A) gR(D,A)定义为其信息增益 g ( D , A ) g(D,A) g(D,A)与训练数据集D关于特征A的值的熵 H A ( D ) H_A(D) HA(D)之比即: g a i n R a t i o ( D , A ) = g ( D , A ) H A ( D ) ( 2 ) gainRatio(D,A)=\frac{g(D,A)}{H_A(D)}\quad\quad(2) gainRatio(D,A)=HA(D)g(D,A)(2)
其中: H A ( D ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ l o g 2 ∣ D i ∣ ∣ D ∣ H_A(D)=\sum_{i=1}^n\frac{|D_i|}{|D|}log_2\frac{|D_i|}{|D|} HA(D)=i=1nDDilog2DDi
例如:对年龄求 H A ( D ) H_A(D) HA(D)
H A 1 ( D ) = − 5 15 ( − 2 5 l o g 2 5 − 3 5 l o g 3 5 ) H_{A_1}(D)=-\dfrac{5}{15}(-\dfrac{2}{5}log\dfrac{2}{5}-\dfrac{3}{5}log\dfrac{3}{5}) HA1(D)=155(52log5253log53)

   = − 5 15 ( − 3 5 l o g 3 5 − 2 5 l o g 2 5 ) \quad\quad\quad\quad=-\dfrac{5}{15}(-\dfrac{3}{5}log\dfrac{3}{5}-\dfrac{2}{5}log\dfrac{2}{5}) =155(53log5352log52)

   = − 5 15 ( − 4 5 l o g 4 5 − 1 5 l o g 1 5 ) \quad\quad\quad\quad=-\dfrac{5}{15}(-\dfrac{4}{5}log\dfrac{4}{5}-\dfrac{1}{5}log\dfrac{1}{5}) =155(54log5451log51)

   = 0.888 \quad\quad\quad\quad=0.888 =0.888
g a i n R a t i o ( D , A 1 ) = g ( D , A 1 ) H A 1 ( D ) = 0.083 0.888 = 0.093 gainRatio(D,A_1)=\dfrac{g(D,A_1)}{H_{A1}(D)}=\dfrac{0.083}{0.888}=0.093 gainRatio(D,A1)=HA1(D)g(D,A1)=0.8880.083=0.093

同理: g a i n R a t i o ( D , A 2 ) = 0.324 0.647 = 0.501 gainRatio(D,A_2)=\dfrac{0.324}{0.647}=0.501 gainRatio(D,A2)=0.6470.324=0.501

g a i n R a t i o ( D , A 3 ) = 0.420 0.551 = 0.762 \quad\quad gainRatio(D,A_3)=\dfrac{0.420}{0.551}=0.762 gainRatio(D,A3)=0.5510.420=0.762

g a i n R a t i o ( D , A 4 ) = 0.363 0.608 = 0.597 \quad\quad gainRatio(D,A_4)=\dfrac{0.363}{0.608}=0.597 gainRatio(D,A4)=0.6080.363=0.597
\quad 增益率准则对可取值数目较少的属性有所偏好,因此C4.5算法并不是直接选取增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益最高的。
剪枝
\quad 预剪枝:在决策树生成过程过程中,在每个节点上划分之前先进行估计,若当前节点的划分不能带来决策树的泛化性能提升,则停止划分并将当前节点标记为叶节点。
\quad 后剪枝:是先从训练集中生成一棵完整的决策树,然后自底向上对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能的提升,则将该子树替换为叶节点。
\quad 决策树的剪枝,往往是通过极小化决策树整体的损失函数或代价函数来实现,决策树学习的损失函数可以定义为: C α ( T ) = ∑ t = 1 ∣ T ∣ N t H t ( T ) + α ∣ T ∣ ( 3 ) C_\alpha(T)=\sum_{t=1}^{|T|}N_tH_t(T)+\alpha|T|\quad\quad(3) Cα(T)=t=1TNtHt(T)+αT(3)
其中: ∣ T ∣ |T| T为叶子节点个数, t t t是树 ∣ T ∣ |T| T的叶节点,该叶节点有 N t N_t Nt个样本点,其中 k k k类的样本点有 N t k N_{tk} Ntk个。
H t ( T ) = − ∑ k N t k N t l o g 2 N t k N t ( 4 ) H_t(T)=-\sum_{k}\dfrac{N_{tk}}{N_t}log_2\dfrac{N_{tk}}{N_t}\quad\quad(4) Ht(T)=kNtNtklog2NtNtk(4)
在损失函数中
C ( T ) = ∑ t = 1 ∣ T ∣ N t H t ( T ) = − ∑ t = 1 ∣ T ∣ ∑ k = 1 K N t k l o g 2 N t k N t ( 5 ) C(T)=\sum_{t=1}^{|T|}N_tH_t(T)=-\sum_{t=1}^{|T|}\sum_{k=1}^{K}N_{tk}log_2\dfrac{N_{tk}}{N_t}\quad\quad(5) C(T)=t=1TNtHt(T)=t=1Tk=1KNtklog2NtNtk(5)
C α ( T ) = C ( T ) + α ∣ T ∣ C_\alpha(T)=C(T)+\alpha{|T|} Cα(T)=C(T)+αT

例: ∣ T ∣ {|T|} T其实就是模型的复杂度。

颜色 测试人员 结果
yellow adult 1
yellow child 0

1 ° 1^° 1°局部剪枝前,该节点的损失为: C α ( T ) = C ( T ) + α ∣ T ∣ = 0 + 2 α = 2 α C_\alpha(T)=C(T)+\alpha{|T|}=0+2\alpha=2\alpha Cα(T)=C(T)+αT=0+2α=2α
2 ° 2^° 2°局部剪枝后,该节点的损失为: C α ( T ) = C ( t ) + α ∣ t ∣ = C ( t ) + α C_\alpha(T)=C(t)+\alpha{|t|}=C(t)+\alpha Cα(T)=C(t)+αt=C(t)+α

其中: C ( t ) = N t H t = 2 ( − 1 2 l o g 1 2 − 1 2 l o g 1 2 ) = 2 C(t)=N_tH_t=2(-\dfrac{1}{2}log\dfrac{1}{2}-\dfrac{1}{2}log\dfrac{1}{2})=2 C(t)=NtHt=2(21log2121log21)=2

故: C α ( T ) = 2 + α C_\alpha(T)=2+\alpha Cα(T)=2+α,定义 α = 特 征 个 数 2 \alpha=\frac{特征个数}{2} α=2

CART

\quad CART同样是由特征选择树的生成及剪枝组成,既可用于分类也可用于回归,常用Gini系数度量。
\quad CART由两步组成,①决策树的生成基于训练数据生成决策树,生成的树尽量大。②决策树的剪枝,用验证数据集对已经生成的树进行剪枝,并选择最优子树,此时用损失函数最小作为剪枝的标准。
**例:**还以前面表格为例
A 1 , A 2 , A 3 , A 4 \quad A_1,A_2,A_3,A_4 A1,A2,A3,A4分别表示年龄、有工作、有自己房子和信贷情况这四个特征并以1、2、3表示青中老年,以1、2表示有工作和有自己房子的值为是和否,以1、2、3表示信贷情况的值为非常好、好、一般,求特征A的基尼指数。
G a i n ( D , A 1 = 1 ) = 5 15 [ 2 × 2 5 × ( 1 − 2 5 ) + 10 15 [ 2 × 7 10 × ( 1 − 7 10 ) ] = 0.44 Gain(D,A_1=1)=\frac{5}{15}[2×\frac{2}{5}×(1-\frac{2}{5})+\frac{10}{15}[2×\frac{7}{10}×(1-\frac{7}{10})]=0.44 Gain(D,A1=1)=155[2×52×(152)+1510[2×107×(1107)]=0.44

G a i n ( D , A 1 = 2 ) = 5 15 [ 2 × 3 5 × ( 1 − 3 5 ) + 10 15 [ 2 × 6 10 × ( 1 − 6 10 ) ] = 0.48 Gain(D,A_1=2)=\frac{5}{15}[2×\frac{3}{5}×(1-\frac{3}{5})+\frac{10}{15}[2×\frac{6}{10}×(1-\frac{6}{10})]=0.48 Gain(D,A1=2)=155[2×53×(153)+1510[2×106×(1106)]=0.48

G a i n ( D , A 1 = 3 ) = 5 15 [ 2 × 4 5 × ( 1 − 4 5 ) + 10 15 [ 2 × 5 10 × ( 1 − 5 10 ) ] = 0.44 Gain(D,A_1=3)=\frac{5}{15}[2×\frac{4}{5}×(1-\frac{4}{5})+\frac{10}{15}[2×\frac{5}{10}×(1-\frac{5}{10})]=0.44 Gain(D,A1=3)=155[2×54×(154)+1510[2×105×(1105)]=0.44
即: A 1 、 A 3 A_1、A_3 A1A3都可以,选 A 1 A_1 A1青年一类,(中、老年)为一类。
有工作和有自己的房子都是二份,可以不用切分,则信贷情况 A 4 A_4 A4:
G a i n ( D , A 4 = 1 ) = 4 15 × 0 + 11 15 [ 2 × 5 11 × ( 1 − 5 11 ) ] = 0.36 Gain(D,A_4=1)=\dfrac{4}{15}×0+\dfrac{11}{15}[2×\dfrac{5}{11}×(1-\dfrac{5}{11})]=0.36 Gain(D,A4=1)=154×0+1511[2×115×(1115)]=0.36

G a i n ( D , A 4 = 2 ) = 0.47 Gain(D,A_4=2)=0.47 Gain(D,A4=2)=0.47

G a i n ( D , A 4 = 3 ) = 0.32 Gain(D,A_4=3)=0.32 Gain(D,A4=3)=0.32
则: G a i n ( D , A 4 = 3 ) Gain(D,A_4=3) Gain(D,A4=3)最小,故选为最优切分点。
{ G a i n ( D , A 1 = 3 ) = 0.44 G a i n ( D , A 2 = 1 ) = 0.32 = 5 15 × ( 1 × 0 × 2 ) + 10 15 × ( 4 10 × 6 10 × 2 ) = 0.32 G a i n ( D , A 3 = 1 ) = 0.27 = 6 15 × ( 1 × 0 × 2 ) + 9 15 × ( 3 9 × 6 9 × 2 ) = 0.27 G a i n ( D , A 4 = 3 ) = 0.32 \begin{cases} Gain(D,A_1=3)=0.44\\&&&&\\ Gain(D,A_2=1)=0.32=\frac{5}{15}×(1×0×2)+\frac{10}{15}×(\frac{4}{10}×\frac{6}{10}×2)=0.32\\&&&&\\ Gain(D,A_3=1)=0.27=\frac{6}{15}×(1×0×2)+\frac{9}{15}×(\frac{3}{9}×\frac{6}{9}×2)=0.27\\&&&&\\ Gain(D,A_4=3)=0.32 \end{cases} Gain(D,

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值