西瓜书学习:决策树(4.1-4.2)笔记

机器学习西瓜书学习笔记

目录

 

1.证明信息熵Ent(D)满足:

2.信息增益Gain(D,a)

3.CART算法


1.证明信息熵Ent(D)满足:0\leqslant Ent(D)\leq \log_2|y|

信息熵定义:

                        Ent(D)=-\sum_{k=1}^{|y|}p_k\log_2p_k

其中,p_k是第k类样本占比例,所以有:0\leq p_k \leq 1\tiny \sum_{k=1}^{|y|} p_k = 1

如果令\tiny n=|y| , p_k=x_k,那么信息熵Ent(D)可以看作一个n元实值函数:

                                                            \tiny Ent(D)=f(x_1,x_2,....,x_n)=-\sum_{k=1}^n x_k\log_2x_k

其中\tiny 0<x_k<1 , \sum_{k=1}^nx_k=1,所以证明Ent(D)的最值就等同于证明下面等式:

                                                              \large \left \{ ^{min\sum_k^n x_k \log_2x_k} _{s.t. \sum_{k=1}^nx_k=1}

\tiny x_k\log_2x_k的一阶导数:\tiny \frac{\partial x_k \log_2x_k}{\partial x_k} =\log_2 x_k+ \frac{1}{\ln_2}

\tiny x_k\log_2x_k的二阶导数:\tiny \frac{\partial \log_2x_k+\frac{1}{\ln_2}}{\partial x_k} = \frac {1}{x_k\ln_2}>0

所以我们要优化的函数\tiny min\sum_k^n x_k \log_2x_k}是一个凸函数,关于如何证明一个函数是凸函数,可以参看:什么是凸函数及如何判断一个函数是否是凸函数

如果s.t.限制条件\tiny \sum_{k=1}^nx_k=1是一个线性函数且优化函数是一个凸函数,那么我们称这个优化问题为凸优化问题。

凸优化问题比较好解决,只要满足KKT条件的点就是该优化问题的最优解。如果想要证明这个结论,可以查看天燕军,梁治安.最优化基础理论与方法[M].复旦大学出版社,2011.

什么是KKT条件,这个在SVM中会详细讲解。在这里,我们令优化函数的拉格朗日函数一阶偏导等于0,就可以满足KKT条件。

下面运用拉个朗日乘子法,写出该优化问题的拉个朗日函数:

                                                  \tiny L(x_1,....,x_n, \lambda ) = \sum_{k=1}^n x_k \log_2 x_k+\lambda (\sum_{k=1}^n x_k-1)   

拉格朗日函数分别对\tiny x_1,...,x_n, \lambda求一阶偏导:

                            \tiny \frac{\partial L(x_1,...,x_n,\lambda )}{\partial x_1} = \frac {\partial \sum_{k=1}^n x_k \log_2x_k+\lambda(\sum_{k=1}^1 x_k-1) }{\partial x_1} = 0 \Rightarrow \log_2 x_1+\frac{1}{\ln_2}+ \lambda = 0                                                                       \tiny \frac{\partial L(x_1,....,x_n,\lambda )}{\partial \lambda } =0 \Rightarrow \sum_{k=1}^n x_k=1     

所以,该优化问题得到的最优解为:\tiny x_1 = x_2=...........=x_n= \frac{1}{n}

验证最优解:显然\tiny 0< \frac{1}{n} <1,所以\tiny x_1 = x_2=...........=x_n= \frac{1}{n}同时满足约束条件:\tiny 0<x_k<1 , \sum_{k=1}^nx_k=1

\tiny x_1 = x_2=...........=x_n= \frac{1}{n}是满足所有约束条件的最优解,是当前最小化问题的最小值,也是\tiny f(x_1,x_1,....,x_n)的最大值。

所以有:

              \tiny f(\frac{1}{n},\frac{1}{n},...,\frac{1}{n}) = -\sum_{k=1}^n \frac{1}{n}\log_2\frac{1}{n}=-n*\frac{1}{n}\log_2\frac{1}{n}=\log_2{n}

前面假设n=|y|,所Ent(D)的最大值为\tiny \log_2n=\log_2|Y|

 

 

      

 

 

 

 

参考文献:

信息熵最大值的证明

什么是凸函数及如何判断一个函数是否是凸函数

2.信息增益Gain(D,a)

为什么信息增益会对取值数目较多的属性有所偏好

3.CART算法

CART分类算法

CART回归算法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haimianjie2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值