随机森林与决策树
决策树
决策树学习采用的是自顶向下的递归方法, 其基本思想是以信息熵为度量构造一棵熵值 下降最快的树,到叶子节点处的熵值为零, 此时每个叶节点中的实例都属于同一类。
- 最大优点: 可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注,就能够进行学习。
- 显然,属于有监督学习。
三种生成算法
- ID3 --- 信息增益 最大的准则
- C4.5 --- 信息增益比 最大的准则
- 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”,意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法.
"拔靴法": 从手上有限的资料, 产生不同的副本, 来模拟不一样的资料.
- 从已知大小为 的数据集 中, 进行 的过程:
- 进行有放回的采样, 得到 大小的数据集 ,
- 从 中建立分类器 (ID3、C4.5、CART、SVM、Logistic回归等)
- 重复上述步骤, 得到 个分类器,
作用: 通过投票/平均, 降低变化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. 加入随机性: 加入新特征(合并, 低维的投影)
反馈与建议
- 微博:@Girl_AI