深入理解基于信息论的机器学习模型

前言

  上一篇(https://blog.csdn.net/weixin_40192195/article/details/88807562) 简单讲解了信息论的相关知识,今天将信息论实际应用到机器学习模型中,尽量充分讲解每一个点,思路如下:信息论–>决策树–>Bagging–>starcking

1. 决策树

  决策树模型作为另一种解决问题的思路。也是工业界常用的模型,因为建模简单,效果好。并且决策树既可以解决分类问题也可以解决回归问题。
  我们常用的建模方式,例如线性回归、逻辑回归等,使用的是将特征向量化,得到方程组进行求解,并且优化,是根据目标建立特征与其的映射关系,学习的是参数。


在这里插入图片描述

  可以简单对输入的特征进行数值化,例如将每个特征设置一个阈值,然后将每个输入特征进行判别,超过标1,为超过标0。当然还有其他的方法。这就是LR、感知机等模型建模的思路。而决策树建模的思路是类似于人类的思考


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  因为人们当遇见某件事情进行选择的时候,首先将自己认为最不能忍受(最重要)的因素作为判断依据。然后在判断其他的因素。决策树就是这种解决思路,首先通过算法在特征集合中去选择一个最重要的特征,作为规则,进行判别。然后将这一步进行递归,直到达成叶节点的预测目标纯度很高为止。
  所以这里比较重要的就是如何进行特征选择,上一篇信息论中讲解了信息熵,信息增益的问题,在信息论中,香农提出了一种可以度量信息量的方式,根据数据的概率分布,得到信息的信息量(不确定度)。
信息熵:H(p) = -∑ pi * log pi


在这里插入图片描述

信息增益ID3

  而信息增益就是解决决策树特征选择的一个重要的算法。信息增益描述的是当我知道一件事情X对我另一件事情Y起到了什么影响,是否将Y的不确定性降低了。所以直观的理解公式就是将原有的Y的信息熵减去知道了X后Y的信息熵,得到信息增益,不同的特征信息带给Y的信息增益不同,在决策树中,信息增益越大,说明特征对目标值的影响越大。则选择这个X特征作为当前节点的规则进行划分。

信息增益:G(Y|X) = H(Y)-H(Y|X)


在这里插入图片描述

  下面讲解一个信息增益的实例,图片来源于七月在线,数据是周志华老师的西瓜书。


在这里插入图片描述

  首先计算的是根节点处没有进行任何其他特征判别的情况下,根据Y的概率分布,求解Y的信息熵。H(Y)


在这里插入图片描述

  下面构建决策树的第一个节点,从数据中我们可以 知道,特征一共有6种,我们根据信息论中的信息增益来分别对这六种特征进行运算,以色泽为例,这个特征有三个属性,一个是青绿,一个是乌黑,一个是浅白。子集D(青绿) = {1,4,6,10,13,17},6个样例,其中正例为3个,反例为3个。H(D(青绿))= 1。同理其他的属性也可以求出来,带入公式求得当特征选择色泽的时候信息增益,将6个属性全部求得,选择其中最大的作为当前叶子节点的规则。


在这里插入图片描述

  缺点: 信息增益的缺点就在于,他是将所有的特征遍历选择其中可以使信息增益最大的特征,但是有些特征的属性非常多,例如可能100个样本,其中的一个特征有80个属性,直观来说这种特征的信息增益最佳,但泛化性太差。例如对班级的学生考试的优良进行预测,把学号当做了特征,虽然它的分类效果很好,但是不能预测其他人的。所以为了解决这个缺点,将信息增益这样的连续值转变为信息增益率。

信息增益率C4.5

  从下面的式子我们可以看出,但特征的属性数量大的时候,会在信息增益中加入一个惩罚项。这个惩罚项引入了所有属性的数量占比之和,属性越多,和越大,惩罚的越狠。使用信息增益率的思路,就是先求得所有特征的信息增益,然后将超过平均值的信息增益挑出,在从这个当中选择信息增益率最高的特征。


在这里插入图片描述

CART(分类回归树)

  CART(Classification And Regression Tree)二分决策树/分类回归树,和ID3、C4.5不同,CART对特征切分之后只会产生两个子节点,而另外的两种都是根据特征中属性的多少产生节点的。并且CART既可以是分类树,也可以是回归树。当CART是分类树的时候,使用的是GINI值作为特征选择的度量,是回归树的时候采用的是样本最小方差作为特征选择的度量。并且CART是二叉树。

基尼指数(分类树)

  从下图可知,基尼指数是二分决策树CART分类问题特征选择的算法。假如Y的类别有K个,样本属于第K类的概率是Pk。


在这里插入图片描述
在这里插入图片描述

  从上面的式子我们可以看出,基尼指数和熵一样都是描述随机变量内部的不稳定性的。


在这里插入图片描述

  基尼指数是逼近与信息熵的。所以在CART中使用基尼指数替代了信息熵进行了特征选择。


在这里插入图片描述

RSS(回归树)

  决策树不只可以完成分类任务,还可以完成回归任务。


在这里插入图片描述

  上图为一个实例,红黄为高收入,蓝绿为低收入。横坐标是工作年限,纵坐标是变现。根据回归树的判断,我们可以得到这样一颗回归树:


在这里插入图片描述 在这里插入图片描述

  回归树相当于将平面基于属性进行了划分,因为只有两个特征,所以是二维的,三个特征的话就是三维,划分是垂直于坐标轴的。
构建
  如图回归树的构建一共分为两个部分,第一步就是通过RSS将特征空间切分成没有重叠的多个区域,第二步就是将多个区域内的样本点真实值进行求和平均,作为这个区域输出。


在这里插入图片描述

RSS RSS就是将划分区域内的每个点和均值求差的平方,计算量比较大。所以采用递归二分的方式。


在这里插入图片描述

  每一次的划分都只考虑当前的最优,依据样本特征的不同属性,将他们划分为不同的规则,来计算预测值。


在这里插入图片描述

  自顶向下的二分,得到的一定是矩形,树的划分顺序不同,但是划分的结果一样。直观来说,分类树就是每个叶子节点(区域)都取一个类别,回归树就是每个区域都取一个值。

2)剪枝

  因为决策树的算法是可以将所有的数据都可以单独划分出一个叶子节点进行解释他们,所以很容易出现过拟合的现象,剪枝就成为我们常用在决策树算法上的降低过拟合的 方法。
预剪枝 (pre-pruning)
  决策树在构建当中使用策略就是当无法降低信息熵的时候,构建停止。所以我们可以在决策树建立的时候进行剪枝,我们设定一个信息熵降低的阈值,当信息增益虽然有但是达不到这个阈值的时候,我们不进行创建,但是在实际的问题中不清楚这个阈值设立多少合适。
  直观来说就是预剪枝是对划分前后进行对比。如果划分后的性能没有提高。则不进行分支的操作。

  1)根节点处,未划分,根据训练集中的类别数量最多的种类作为标记,选择好瓜作为根节点处所有样本的标记。


在这里插入图片描述

  2)根据信息增益的方法,选择信息增益最高的属性进行划分,选择脐部进行划分,它有3个属性。


在这里插入图片描述

  根节点按照脐部划分


在这里插入图片描述

  3)在将每个分支根据信息增益进行划分


在这里插入图片描述

  进行结果比较


在这里插入图片描述

  4)同理将上面的步骤中的其他分支计算后,得到如下的


在这里插入图片描述

  我们可以看到,因为很多的特征在继续划分的时候没有提高精度,所以得到了简单的决策树,虽然可以防止过拟合,但是也可能会出现欠拟合。
后剪枝(Post-Pruning)
  后剪枝是在决策树创建完成后,在从底向上的顺序进行剪枝,查看剪枝后提高准确度的话,就进行剪枝。
  1)创建完成的决策树


在这里插入图片描述

  结果如下,3/7的准确率


在这里插入图片描述

2)从最底部的纹理剪掉


在这里插入图片描述
在这里插入图片描述

  结果提升,进行剪枝。
  3)继续讲色泽剪掉,查看准确率


在这里插入图片描述
在这里插入图片描述

  准确度不变
  4)转移到左侧的分支,剪枝后


在这里插入图片描述
在这里插入图片描述

  5)安装上面的步骤,遍历完得到


在这里插入图片描述

  我们可以看到,后剪枝完成后会保留一部分的分支,所以可以防止欠拟合,但是训练时间也要比预剪枝大。
  剪枝部分参考:https://blog.csdn.net/zfan520/article/details/82454814

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值