Georgia Tech

机器学习->监督学习->分类学习->决策树

通过一个约会吃饭的例子,说明决策树。输入是饭店的特征,输出是是否进去吃饭。

输入即那些会影响输出的属性,比如饭店的类型,氛围,客人多少,约会对象如何,费用,天气,饿不饿,等等, 使用相关的属性,即特征来引导生成决策树

圆圈:

决策节点,该节点为一个属性(Attribute),提出有关该属性的问题。每个节点只能有一个属性

边:

决策节点代表属性的问题的值,每个节点可以有多个值

方框:

最终的输出

我们可以通过决策树提出一系列问题,并根据这些问题的答案顺树枝向下移动,直到获得最终的输出。决策树的使用方式总是从根部开始,即树的最顶端,依次问问题。

如何从诸多类型的决策树中,选择这一个特定的决策树?(后面有讲)

20个问题:

我们通过一个20 questions的游戏来演示决策过程(参考美剧中该游戏的玩法)。该游戏中提问的目的是为了缩小可能性的范围。

1. 挑选最佳的属性。何为最佳?(后面有讲)

2. 问问题

3.顺着问题的路径下延

4.go to 1.

  直到得到正确的答案

机器学习->监督学习->分类学习->决策树->运算

A and B:

A,B可以交换

A or B:

A,B可以交换

A xor B:

A为T或B为T时,结果为T.

A为T且B为T时,结果为F.

你想去游泳还是看电影?这其实是一个xor问题,因为你不可能同时做这两样。

n-or:

需n个节点

n-xor:

在奇校验时,若T为奇数则输出为T

n-xor需要2^n-1个节点。O(2^N). xor问题是指数问题,是邪恶的!

机器学习->监督学习->分类学习->决策树->规模

为了找到合适的决策树,我们要检查所有可能的决策树,那么我们需要考虑多少种决策树?

假设该决策树有n个属性,每个属性都是boolean类型,输出也是boolean的。

问题就是:有多少种可能的树的形状?

先看看n个属性有多少可能的组合:

总共有2^N行。由于输出是boolean,因此,该真值表有2^2^N种填法,也即有2^2^N个决策树。

当n=6 时,会有:1.844674407×10¹⁹种决策树。

因此需要一个NB 的算法对这些决策树进行检查和选择。

 

 

 

 

 

原文地址:https://www.cnblogs.com/shonelau/p/6380648.html