1.集成学习的概念
集成学习(Ensemble learning)通过构建多个学习器来完成学习任务,有时也被称为多分类器系统,基于委员会的学习等等。结构如下:
[](
2. 个体学习器的概念
个体学习器通常由一个现有的学习算法从训练数据中产生。
集成中只包含同种类型的个体学习器叫同质学习器,也叫基学习器,相应的算法被称为基学习算法。
对应包含不同类型的个体学习器的集成,叫异质学习器,由不同的学习算法组成。此时,集成里的个体学习器被称为组件学习器。
3. boosting bagging的概念、异同点
boosting: 是一族可以将弱学习器提升为强学习器的算法。
工作机制:
1. 先从初始训练集训练出一个基学习器
2. 根据基学习器对样本分布进行调整,使得先前基学习器做错的训练样本在后续过程受到更多重视
3. 然后基于调整后的训练样本分布来训练下一个基学习器
4. 重复若干次,直至基学习器数目达到指定值
T
T
T
5. 将这
T
T
T个基学习器进行加权组合。
bagging: 并行式集成学习算法,直接基于自助采样法。
工作机制:
1. 给定包含
m
m
m个样本的数据集
2. 先随机取出一个样本放入采样集中,再把样本放回初始数据集
3. 经过
m
m
m次采样操作,得到含有
m
m
m个样本的采样集
4. 如此,我们可以采样出
T
T
T个含
m
m
m个训练样本的采样集
5. 基于每个采样集训练出一个基学习器
6. 再将这些基学习器进行结合
在对预测输出进行结合时,Bagging对不同的任务有不同的结合策略:
回归任务 | 分类任务 |
---|---|
简单平均法 | 简单投票法 |
4. 不同的结合策略(平均法,投票法,学习法)
- 平均法
对于数值型输出最常见的结合策略是平均法。
- 简单平均法
H ( x ) = 1 T ∑ i = 1 T h i ( x ) H(x) = \frac{1}{T} \sum^T_{i = 1} h_i(\bm{x}) H(x)=T1i=1∑Thi(x) - 加权平均法
H ( x ) = 1 T ∑ i = 1 T w i h i ( x ) H(x) = \frac{1}{T} \sum^T_{i = 1} w_i h_i(\bm{x}) H(x)=T1i=1∑Twihi(x)
加权平均法不一定优于简单平均法。
- 投票法
将 h i h_i hi在样本 x \bm x x上的预测输出表示为一个 N N N维向量 ( h i 1 ( x ) ; h i 2 ( x ) … ; h i n ( x ) ) (h_i^1(\bm x);h_i^2(\bm x) …;h_i^n(\bm x)) (hi1(x);hi2(x)…;hin(x)),其中 ; h i n ( x ) ;h_i^n(\bm x) ;hin(x)是 h i h_i hi在类别标记 c j c_j cj上的输出。
- 绝对多数平均法
H ( x ) = { c j i f ∑ i = 1 T h i j ( x ) > 0.5 ∑ k = 1 N ∑ i = 1 T h i k ( x ) r e j e c t , o t h e r w i s e H(x) = \begin{cases} c_j & if \sum^T_{i=1}h_i^j(\bm x) > 0.5 \quad \sum^N_{k=1} \sum^T_{i=1} h_i^k(\bm x) \\ ~\\ reject & , otherwise \end{cases} H(x)=⎩⎪⎨⎪⎧cj rejectif∑i=1Thij(x)>0.5∑k=1N∑i=1Thik(x),otherwise
若某标记得票过半,则预测为该标记,否则拒绝 - 相对多数投票法
H ( x ) = c a r g m a x ∑ i = 1 T h i j ( x ) H(x) = c_{arg\ max \sum^T_{i=1} h_i^j(\bm x)} H(x)=carg max∑i=1Thij(x)
预测为得票最多的标记 - 加权投票法
H ( x ) = c a r g m a x ∑ i = 1 T w i h i j ( x ) H(x) = c_{arg\ max \sum^T_{i=1}w_i h_i^j(\bm x)} H(x)=carg max∑i=1Twihij(x)
- 学习法
即通过另一个学习器来进行结合。
5. 随机森林的思想
传统决策树在划分选择属性时是在当前节点的属性集合中选择一个最优属性。
在RF中,对基决策树的每个节点,先从该节点的属性集合中随机选择一个包含 k k k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。
参数 k k k控制了随机性的引入程度:若 k = d k=d k=d则基决策树的构建与传统决策树相同;若 k = 1 k=1 k=1是随机选择一个属性用于划分;一般情况下,推荐 k = l o g 2 d k=log_2d k=log2d。
6. 随机森林的推广
7. 随机森林的优缺点
优点:简单、容易实现、计算开销小,在很多任务中表现好
8. 随机森林在sklearn中的参数解释
- max_features: RF划分时考虑的最大特征数。
- max_depth: 决策树最大深度。默认为"None",
- min_samples_split: 内部节点再划分所需最小样本数,默认2。 min_samples_leaf:叶子节点最少样本数。
- min_weight_fraction_leaf:叶子节点最小的样本权重和。
- max_leaf_nodes: 最大叶子节点数。
- min_impurity_split: 节点划分最小不纯度。
- splitter: 随机选择属性"random"还是选择不纯度最大"best"的属性
- presort:是否对数据进行预分类,以加快拟合中最佳分裂点的发现。
-
9. 随机森林的应用场景
数据维度相对低(几十维),同时对准确性有较高要求时。