机器学习算法之决策树(Decision Tree)

决策树

决策树是一系列相关选择的可能结果的映射,,是一种非参数的监督学习方法,常用来进行分类和回归。它首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上,决策树是通过一系列规则对数据进行分类的过程。常用的决策树算法:ID3、C4.5和CART.

决策树通常从单个节点开始,到该节点分支可能的结果;每一个结果又会产生额外的节点,这些节点会延伸到其他的可能性中;如此下去直到叶子结点。


                 

由上面两个例子可以看出,决策树主要由叶子节点和非叶子节点组成;非叶子节点主要是做决策选择的,叶子结点是决策的结果。

实现过程:

第一步,特征选择:如果特征数量很多,在决策树学习开始时对特征进行选择,只留下对训练数据有足够分类能力的特征

第二步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。

第三步,决策树的剪枝:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修下的过程,主要是用新的样本数据集(称为测试数据集)中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。

熵(Entropy):

熵是元素的随机性程度或者说混乱度、不确定性,也可以说它是杂质的量度。 在数学上,它可以借助于项目的概率来计算:,其取值范围从0到1,取1时表示最混乱。比如投硬币,出现正反面的概率都为1/2,那么熵就为-(1/2 * log(1/2) + 1/2 * log(1/2)) = 1,这表明投硬币出现某一面的不确定性最大。如果某一事件出现的可能性大于1/2,另一种情况的概率小于1/2,那么熵就会小于1。


在非叶子结点如何做出决策或者说如何评估好坏呢?对于当前数据集的每一次的划分,都希望根据某特征划分之后的各个子集的纯度更高,不确定性更小。一般用信息增益来判断当前节点应该用什么特征来划分,从而构建出决策树信息增益(Information Gain)在概率论和信息论中,信息增益是非对称的,用以度量两种概率分布P和Q的差异。

我们在决策树算法中定义:信息增益=划分前的熵-划分后的熵。以A属性划分数据集D,那么就有

公式中的H(D)是原始集合D的熵,H(D|A)是使用属性A对D进行分区后的熵。因为原始集合D的熵H(D)是确定的,所以信息增益越大,说明划分后的熵H(D|A)越小,即说明划分后的混乱度、不确定性越小,也即说明以A属性划分的效果比较好。


更多及参考来源:http://www.csun.edu/~twang/595DM/Slides/Week4.pdf

http://home.cse.ust.hk/~twinsen/Decision_Tree.ppt

https://www.cnblogs.com/fantasy01/p/4581803.html


猜你喜欢

转载自blog.csdn.net/weixin_40941966/article/details/80960757