随机森林与决策树

决策树

决策树学习采用的是自顶向下的递归方法, 其基本思想是以信息熵为度量构造一棵熵值 下降最快的树,到叶子节点处的熵值为零, 此时每个叶节点中的实例都属于同一类。

  • 最大优点: 可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注,就能够进行学习。
  • 显然,属于有监督学习

三种生成算法

  1. ID3 --- 信息增益 最大的准则
  2. C4.5 --- 信息增益比 最大的准则
  3. CART
    • 回归树: 平方误差 最小 的准则
    • 分类树: 基尼系数 最小的准则

1. 信息增益

定义: 特征A对训练数据集D的信息增益 g(D,A), 定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:

  • 显然,这即为训练数据集D和特征A的互信息。

基本记号

  • 设训练数据集为D, 表示样本个数。
  • 设有K个类 , 有:
  • 设特征A有n个不同的取值 , 根据特征A的取值将D划分为n个子集 ,有:
  • 记子集 中属于类 的样本的集合为

经验熵

计算数据集D的经验熵:

其中,

经验条件熵

遍历所有特征,对于特征A:

  • 计算特征A对数据集D的经验条件熵H(D|A)
  • 计算特征A的信息增益:g(D,A)=H(D) – H(D|A)
  • 选择信息增益最大的特征作为当前的分裂特征

2. 信息增益比

3. 基尼系数

对于二分类问题:

对于二分类问题, 在特征 A 的条件下,

Bagging

bagging: bootstrap aggregation

bootstrap

Bootstraping的名称来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法.

"拔靴法": 从手上有限的资料, 产生不同的副本, 来模拟不一样的资料.

  1. 从已知大小为 的数据集 中, 进行 的过程:
    • 进行有放回的采样, 得到 大小的数据集 ,
    • 中建立分类器 (ID3、C4.5、CART、SVM、Logistic回归等)
  2. 重复上述步骤, 得到 个分类器,

作用: 通过投票/平均, 降低变化variance 与决策树恰好相反, 决策树的作用, 是使variance变大, 对数据敏感.

决策树的优缺点

  • 优点: 决策树对训练属于有很好的分类能力,
  • 缺点: 但对未知的测试数据未必有好的分类能力,泛化 能力弱,即可能发生过拟合现象。
    • 剪枝
    • 随机森林

随机森林

随机森林能够解决, 决策树的过拟合问题. 随机森林用训练集生成多个(非常深的)决策树.在预测时, 每个树的都会预测一个结果, 每个结果加权表决, 来避免过拟合. 例如, 如果你训练了3个树, 其中有2个树的结果是A, 1个数的结果是B, 那么最终结果会是A.

Random Forest classifiers work around that limitation by creating a whole bunch of decision trees (hence "forest") — each trained on random subsets of training samples (drawn with replacement) and features (drawn without replacement) — and have the decision trees work together to make a more accurate classification.

1. 加入随机性: 训练集的子空间(有放回采样)

  • Bagging: 不太稳定, 变化较大, g(t) 通过投票/平均, 来 reduce variance
  • CART: 对不同资料相对敏感, variance large, especially fully-grown tree

2. 加入随机性: 采样特征子空间(无放回采样)

从100维选10维, 即做了低维度的投影. P是投影矩阵, 每行row是natural basis代表平常单位的各自的方向.

3. 加入随机性: 加入新特征(合并, 低维的投影)


反馈与建议

参考文献

results matching ""

    No results matching ""