算法概述
优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整
缺点:对离群点敏感
适用数据类型:数值型和标称型
bagging
自举汇聚法,是在从原始数据集选择S次后得到S个数据集的一种技术。
新数据集和原数据集的大小相等
每个数据集都是通过在原始数据集中随机选择样本来进行替换而得到的
S个数据集建好之后,将某个学习算法分别作用于每个数据集就得到S个分类器
选择分类器投票结果中最多的类别作为最后的分类结果
改进的bagging方法:随机森林等
boosting
集中关注被已有分类器错分的哪些数据来得到新的分类器
bagging的分类器权重是相等的,boosting的权重并不相等,每个权重代表的是其对应分类器在上一轮迭代中的成功度
一般流程
1.收集数据:可以使用任意方法
2.准备数据:依赖于所使用的弱分类器类型,这里使用的单层决策树可以处理任何数据类型。当然也可以使用任意分类器作为弱分类器,作为弱分类器,简单分类器的效果最好
3.分析数据:可以使用任意方法
4.训练算法:分类器将多次在同一数据集上训练弱分类器
5.测试算法:计算分类的错误率
6.使用算法:同SVM一样,adaboost预测两个类别中的一个,若要运用到多个类别,也要使用核函数
组合弱分类器
多专家组合
一种并行结构,所有的弱分类器都给出各自的预测结果,通过“组合器“把这些预测结果转化为最终结果。eg:投票(voting)及其变种、混合专家模型
多级组合
一种串行结构,其中下一个分类器只在前一个分类器预测不够准(不够自信)的实例上进行训练或检测。eg:级联算法(cascading)
基本概念
训练误差分析
由:
得到###### 伪代码
将最小错误率minError设为正无穷
对数据集中的每一个特征(第一层循环):
对每个步长(第二层循环):
对每个不等号(第三层循环):
建立一颗单层决策树并利用加权数据集对它进行测试
如果错误率低于minError,则将当前单层决策树设为最佳单层决策树
返回最佳单层决策树