Tree Learning

1. Symbolic/Concept Learning & Version Space

1.1. Symbolic Learning

符号学习是一类归纳推理

  • 演绎 (正向) 推理: $P\land (P\to Q)\Rightarrow Q$
  • 反绎 (溯因/反向) 推理: $(Q\land (P\to Q))\to P$
  • 归纳推理: $P\land (P\to Q)\not\Rightarrow Q$

1.2. Concept Learning

定义: 给定样例集合, 以及每个样例是否属于某个概念, 自动地推断出该概念的一般定义.

Formally, for

  • a set of instances $X$,
  • a target concept $c^*:X\to\{T, F\}$,
  • training examples $D=\{(x_1, c^*(x_1)), (x_2, c^*(x_2)), \cdots, (x_m, c^*(x_m))\}$,
  • a hypothesis set $H$ of functions, $\forall h\in H(h:X\to \{T,F\})$,

the concept learning problem is to find a hypothesis $h\in H$ such that

$$\forall x\in X, h(x)=c^*(x) $$

2. Inductive Bias

归纳偏置

归纳推理/机器学习不得不考虑下面的几个基本的问题:

  • 目标概念假设不在假设空问怎么办
  • 能设计包含所有假设的空间吗
  • 假设空间大小对未见实例的泛化能力有什么影响
  • 假设空间大小对所需训练样例数量有什么影响

3. ID3 Algorithm

3.1. Decision Tree Learning

实例属性-值对表示应用最广的)纳推理算法之一
目标函数具有离散的输出值
很好的健壮性(样例可以包含错误也可以处理缺少属性值的实例
丷能够学习析取表达式
口算法
V ID3, Assistant, C4.5
搜索一个完整表示的假设空间表示为多个Ifthen规则
口归纳偏置
优先选择较小的树

Information Gain

我的这篇数据科学笔记记录了更多关于信息熵部分的知识

4. Other Tree Algorithms

简单直观生成的决策树很直观相比于神经网络之类的黑盒分类模型
决策树在逻辑上可以很好解释
口基本不需要预处理不需要提前归一化和处理缺失值既可以处理离散值
也可以处理连续值很多算法只是专注于离散值或者连续值
口可以处理多维度输出的分类问题
口使用决策树预测的代价是0109211)m为样本数
口可以交叉验证的剪枝来选择模型从而提高泛化能力
口对于异常点的容错能力好健壮性高

树学习算法缺点
口树算法非常容易过拟合导致泛化能力不强可以通过设置节点最少样本
数量和限制决策树深度来改进
口决策树会因为样本发生一点的改动导致树结构的剧烈改变可以通过集
成学习之类的方法解决
口寻找最优的决策树是一个NP难题通过启发式方法容易陷入局部最优
可以通过集成学习的方法来改善
口比较复杂的关系(如异或决策树很难学习一般这种关系只能用其他学
习方法(如神经网络)来解决
口如果某些特征的样本比例过大生成决策树容易偏向于这些特征可以通
过调节样本权重来改善