一 决策表(决策树)
(一)决策表
决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传统程序语言中的控制语句,决策表能将多个独立的条件和多个动作直接的联系清晰的表示出来。
1、定义
用表格的方式描述决策问题一种方法,这种表格也被称为决策矩阵。所谓决策表是指一个以行、列形式来描述和表示决策规则和知识信息的表,如果决策问题的后果是用损失的费用表示,这个表也被称为损失矩阵。
2、构成
桩部分
条目部分
条件部分
行动部分
3、优点
决策表能罗列出所有的可能情况,并清晰的指出相应的处理方式,用户不需要考虑其中的逻辑关系就能一眼看出其中什么样的动作对应什么样的情况,这比程序语言中层层嵌套的逻辑语句要强多了。而所有可能情况的平面罗列,也能避免在程序语言编写中,因为逻辑上的层层嵌套而产生遗漏,尤其在if-then-else结构中else部分是可选的情况下。
因为逻辑控制在编程中的重要地位,决策表成为设计逻辑控制时十分重要的一个工具。
4、应用范围
决策表广泛应用于逻辑控制设计,或是多因素逻辑决策。
5、使用方法及步骤
(1)确定判断要采用的的相关因素,即决策中的必要条件,而这些条件的选择必须是发生或不发生两种值。
(2)在各种不同的条件下确定各种相应的行动。
(二)决策树
决策树是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。
1、定义
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
2、构成
决策点
状态节点
结果节点
3、优点
1、可以生成可以理解的规则
2、计算量相对不是很大
3、可以处理连续和种类字段
4、可以清晰的显示哪些字段比较重要(这一特性可以用于特征选择)
4、应用范围
应用决策树决策方法必须具备以下条件:
(1)具有决策者期望达到的明确目标
(2)存在决策者可以选择的两个以上的可行的备选方案
(3)存在决策者无法控制的两个以上不确定因素
(4)不同方案在不同因素下的收益或损失可以计算出来
(5)决策者可以估计不确定因素发生的概率
5、使用方法及步骤
(1)画出决策树,画决策树的过程也就是对未来可能发生的各种事件进行周密思考、预测的过程,把这些情况用树状图表示出来.先画决策点,再找方案分枝和方案点.最后再画出概率分枝。
(2)由专家估计法或用试验数据推算出概率值.并把概率写在概率分枝的位置上。
(3)计算益损期望值,从树梢开始,由右向左的顺序进行.用期望值法计算.若决策目标是盈利时,比较各分枝,取期望值最大的分枝,其他分枝进行修剪。
二、回归VS回溯
(一)回归
回归决策树主要指CART(classification and regression tree)算法,内部结点特征的取值为“是”和“否”, 为二叉树结构。
所谓回归,就是根据特征向量来决定对应的输出值。回归树就是将特征空间划分成若干单元,每一个划分单元有一个特定的输出。因为每个结点都是“是”和“否”的判断,所以划分的边界是平行于坐标轴的。对于测试数据,我们只要按照特征将其归到某个单元,便得到对应的输出值。
(二)回溯
回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利用深度优先法搜索解空间。 4、利用限界函数避免移动到不可能产生解的子空间。 问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。
解决一个回溯问题,实际上就是一个决策树的遍历过程。你只需要思考 3 个问题:
1、路径:也就是已经做出的选择。
2、选择列表:也就是你当前可以做的选择。
3、结束条件:也就是到达决策树底层,无法再做选择的条件。