ID3

决策树算法是数据挖掘领域的核心分类算法之一,其中ID3算法是最为经典的决策树算法。ID3算法理论清晰、使用简单、学习能力较强,且构造的决策树平均深度较小,分类速度较快,特别适合处理大规模的学习问题,目前已得到广泛应用。


基本思想

角度1.  越是小型的决策树越优于大的决策树(尽管如此该算法也不是总是生成最小的树形结构)

角度2. 引入信息论中互信息(信息增益),作为判别因素的度量,即:以信息熵的下降速度作为选取测试属性的标准,所选的测试属性是从根到当前节点的路径上尚未被考虑的具有最高信息增益的属性


基本原理:

在ID3决策树归纳方法中,通常是使用信息增益方法来帮助确定生成每个节点时所应采用的合适属性。这样就可以选择具有最高信息增益(熵减少的程度最大)的属性最为当前节点的测试属性,以便对之后划分的训练样本子集进行分类所需要的信息最小,也就是说,利用该属性进行当前(节点所含)样本集合划分,将会使得所产生的样本子集中的“不同类别的混合程度”降为最低。因此,采用这样一种信息论方法将有效减少对象分来所需要的次数,从而确保所产生的决策树最为简单。 

下面是计算信息熵的方法(摘抄别人的成果引用下):

信息熵就是一组数据包含的信息,概率的度量。一组数据越有序信息熵也就越低,极端时如果一组数据中只有一个非0,其它都是0,那么熵等于0,因为只有可能是这个非0的情况发生,它给人们的信息已经确定了,或者说不含有任何信息了,因为信息熵含量为0。一组数据越无序信息熵也就越高,极端时如果一组数据均匀分布,那么它的熵最大,因为我们不知道那种情况发生的概率大些。如一组数据由{d1,d2,...,dn}构成,其和是sum,那么求信息熵的公式是ID3算法

    分类预测算法属于有指导学习,方法是通过训练数据,按照参考属性对目标属性的依赖程度对参考属性分级别处理,这种分级别处理体现在创建决策树,目的是通过生成的判别树,产生规则,用来判断以后的数据。以如下数据为例



ID3算法


共14条记录,目标属性是,是否买电脑,共有两个情况,yes或者no。参考属性有4种情况,分别是,age,income,student,credit_rating。属性age有3种取值情况,分别是,youth,middle_aged,senior,属性income有3种取值情况,分别是,high,medium,low,属性student有2种取值情况,分别是,no,yes,属性credit_rating有2种取值情况,分别是fair,excellent。我们先求参考属性的信息熵:

ID3算法,式中的5表示5个no,9表示9个yes,14是总的记录数。接下来我们求各个参考属性在取各自的值对应目标属性的信息熵,以属性age为例,有3种取值情况,分别是youth,middle_aged,senior,先考虑youth,youth共出现5次,3次no,2次yes,于是信息熵:ID3算法
类似得到middle_aged和senior的信息熵,分别是:0和0.971。整个属性age的信息熵应该是它们的加权平均值:

ID3算法。下面引入信息增益(information gain)这个概念,用Gain(D)表示,该概念是指信息熵的有效减少量,该量越高,表明目标属性在该参考属性那失去的信息熵越多,那么该属性越应该在决策树的上层(如果不好理解,可以用极限的方法,即假如在age属性上,当为youth时全部是on,当为middle时也全部是no,当为senior时全不是yes,那么Hage(D)=0)。ID3算法,类似可以求出Gain(income)=0.029,Gain(stduent)=0.151,Gain(credit_rating)=0.048。最大值为Gain(age),所以首先按照参考属性age,将数据分为3类,如下:ID3算法

然后分别按照上面的方法递归的分类。递归终止的条件是,

1,当分到某类时,目标属性全是一个值,如这里当年龄取middle_aged时,目标属性全是yes。

2,当分到某类时,某个值的比例达到了给定的阈值,如这里当年龄取youth时,有60%的是no,当然实际的阈值远远大于60%。

最后在剪纸,重新排序等,最终得出所需要的最小树。

      ID3算法有很多变种,但是基本思想不变。但是它很可能需要多次遍历数据库,效率不高,不然朴素贝叶斯分类。

代码:


ID3算法
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值