集成模型
- “三个臭皮匠,顶个诸葛亮”,个体方法总有不足,博采众长,考虑问题不同视角,通过将多个模型的结果进行综合,集成方法通常能获得比单个学习模型更好的预测性能以及更准确的结果,常应用于有监督模型。
- 前提要求:基模型的预测能力比随即猜测好,且多个基模型之间具有差异性。
- 集成方法:增强模型的表达能力;降低误差,大幅度提升模型预测性能【前提:基模型之间相互独立】
-
- 集成分类器误差:
- 构建集成模型步骤
- 构造多个基模型
- 可同一类型也可不同
- 根据一定策略,将基模型组合成集成模型
- 多数投票方法、平均值方法、加权平均方法、堆叠方法【将基模型的输出当作输入,将数据真实标签当作输出从而训练一个新模型】
- 构造多个基模型
-
Bagging
- 改进多个随机分类器性能
- 主要:减小方差
- 核心:自主抽样、Aggregating
- 过程
- 从训练数据中自助抽样获取多分抽样数据
- 有放回、得到与原始数据集D大小一样的样本集Dt
- 一个样本不被抽到的概率为1-1/n,则
- D中有36.8%的数据不会出现在Dt中,训练集中包含63.2%的不同样本
- 每个Dt学习得到一个训练器Mt
- 利用抽样数据训练基模型
- 平均所有基模型的预测结果得到集成模型
- 对于分类问题,采用多数投票;回归问题,采用平均值
- 从训练数据中自助抽样获取多分抽样数据
- Bagging优势:
- 大大降低模型的方差,适用于提高方差大但偏差小的基模型预测性能【方差大-单个模型不稳定,对训练数据轻微的改变能够造成其性能较明显的变化】
- 可综合投票结果,从而提高稳定性、准确率
- 便于并行化【数据获取及基模型训练互相没有关联】
-
随机森林
- 核心:随机
- 应用:市场营销、股票市场分析、金融欺诈检测、基因组数据分析和疾病风险预测
- 特点:
- 对样本进行有放回抽样Bootstrap抽样【保证每棵树学习到的数据侧重点不同,提高了决策树之间的独立性】【前提:每棵树各不相同且预测结果相互独立】
- 对特征进行随机抽样、特征阈值随机选取【引入随机性,进一步降低决策树之间的相关性】
- 基本分类器:决策树
- 特征数量m的选取(m<d特征维度)
- 大的m值可以使得决策树的准确率提高,但是多棵决策树之间的相关性很高【独立性下降】
- 需要较小的m值
- 确定方法:交叉验证法【m值多取几次验证】;经验性的设置方法m=log2d+1
- 性能评估和特征评估
- 性能评估
- 分类间隔
- 森林中正确分类样本的决策树的比例减去错误分类样本的比例,平均随机森林在各个样本上的分类间隔得到随机森林的分类间隔
- 大的分类间隔表示分类效果稳定,泛化效果较好
- 袋外误差
- 袋外样本:部分没有被抽样到称为被训练的样本
- 袋外误差:随机森林对袋外样本的预测错误率
- 计算方式:
- 对每个样本,计算把该样本作为袋外样本的树对该样本的分类情况;
- 以简单多数投票作为该样本的分类结果;
- 以误分样本个数占样本总数的比率作为随机森林的袋外误差
- 分类间隔
- 特征评估
- 计算特征平均信息增益
- 有利于具有更多特征值的特征,在不同特征的特征值种类有较大区别时会失效,不能用于解释特征的重要性
- 计算每个特征对模型准确率的影响
- 样本数量对结果有很大影响
- 通过打乱样本某一特征的特征值顺序,产生新样本,将新样本放入建立好的随机森林模型中计算准确率,但对于重要特征来说,打乱顺序会极大降低模型的准确率。
- 计算特征平均信息增益
- 算法分析
- 假设单棵决策树的方差为σ2(x),任意两棵决策树之间的相关性为ρ(x),则T棵决策树的集成随机森林模型的方差为
- 随T的增加,方差的第二项逐渐减少→随机森林能够降低模型误差
- 完全不相关-var=0;有很强的相关性var=σ2(x)
- 假设单棵决策树的方差为σ2(x),任意两棵决策树之间的相关性为ρ(x),则T棵决策树的集成随机森林模型的方差为
- 随机森林优点:
- 大大减小模型方差,提高预测能力
- 处理高维数据,不用做特征选择
- 样本和特征双重抽样且多个决策树的训练过程相互独立,因此随机森林能够处理样本数和特征数量很大的数据,并能很好进行并行化
- 袋外误差代替交叉验证作用,达到了将数据集成不同的子集去验证模型的效果
- 特征之间存在多重共线性不敏感,能在一定程度上处理缺失数据和不均衡数据
- 随机森林缺点:
- 在处理噪音较大的小规模数据和低维数据时,随机森林容易产生过度拟合问题
- 相对于决策树,可解释性差,预测速度慢
- 性能评估
-
Boosting
- 串行训练多个模型,后面的模型是基于前面模型的训练结果(误差)
- 主要:减小偏差
- 基本想法:从训练数据集中训练得到一个弱分类器,下一个弱分类器基于前一个弱分类器的表现,重点关注前一个弱分类分类的样本,尽量将前一个弱分类器分错的样本分对【考试,错题本】
- Boosting-改变样本权重,根据基模型的预测性能,给不同的基模型以不同的权重,基分类器的误差越高,则该基分类器的权重越低;Bagging-多数投票/平均,相当于每个基模型具有相同的权重
- Boosting缺陷:需要预先知道弱分类模型的误差上界
-
AdaBoost
- 不需要预先确定弱分类器的误差上界
- 两个权重:
- 样本权重:分错样本权重提高【下一个分类器注重于分错的样本,意将分错的样本分对】
- 分类器权重:在最终的预测过程中,当前弱分类器占多大重要性,预测性能越高的弱分类器具有更高的权重
- 流程
- 给训练集的样本赋予一个权重,初始权重为1/n;
- 每一次迭代过程中,被当前弱分类器分错的样本权重会相应同比例提高,分对的降低【权重由当前分类器加权错误率决定】
- 将弱分类器以加权的形式线性组合成一个强分类器
- 误差分析
- 泛化误差
- 随着弱分类器数目T的增大,泛化误差上界会增大,从而可能导致过度拟合,但经验性结果表明,T达到上千级别,也不会过度拟合
-
- 泛化误差
- AdaBoost优点:
- 防止过拟合;减小方差、偏差;
- 除了弱分类器数目T外,几乎没有额外的参数需要调整【弱分类器本身参数除外】
- 提供一种框架,弱分类器可选择决策树或其他分类算法
- AdaBoost缺点:
- 集成多个弱分类器导致模型的可解释性降低
- 对异常值敏感
- 当弱分类器太复杂或效果太差时,容易导致过拟合
-