• 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 的算法对这些决策树进行检查和选择。

     

     

     

     

     

  • 相关阅读:
    软件开发规范
    内置模块
    自定义模块
    装饰器 递归
    内置函数 闭包
    生成器 推导式
    函数名运用 新版格式化输出 迭代器
    函数进阶
    pycharm快捷键
    移动端必测点
  • 原文地址:https://www.cnblogs.com/shonelau/p/6380648.html
Copyright © 2020-2023  润新知