您的位置:首页 > 其它

利用AdaBoost元算法提高分类性能

2017-12-07 12:04 281 查看
一、
优点:泛化错误率降低,易编码,可以应用在大部分分类器上,无参数调整
缺点:对离群点敏感
使用数据类型:数值型和标称型数据

二、
1、元算法:对其他算法进行组合
不同算法集成、同一算法在不同设置下的集成、数据集不同部分分配给不同分类器之后的集成
2、算法比较:
bagging(自举汇聚法):从原始数据集随机选择S次后得到S个新数据集,不同分类器是通过串行训练获得的,每个新分类器都根据已训练出来的分类器的性能来进行训练;分类器权重相等
boosting:通过关注被已有分类器错分的数据来获得新的分类器;分类器权重不相等,每个权重代表对应分类器在上一轮迭代中的成功度

三、
Adaboost算法运行过程:
1.赋予每个样本一个权重,这些权重构成向量D,初始时权重相等
2.在训练数据上训练出一个弱分类器并计算分类器错误率
3.计算该弱分类器权重α,重新调整样本权重D,分对的样本权重降低,分错的样本权重提高,重新训练分类器
4.重复训练和调整权重,直到错误率为0或弱分类器数目达到用户指定值
5.最终分类结果=各弱分类器的结果加权求和
其中,
错误率=未正确分类的样本数目/所有样本数目
分类器权重α=1/2*ln((1-错误率)/错误率)
分对的样本权重D(t+1)=D(t)exp(-α)/sum(D)
分错的样本权重D(t+1)=D(t)exp(α)/sum(D)

四、
1、非均衡分类问题:在分类器训练时正例数目和反例数目相差很大
可以基于代价函数来控制分类器决策,可以通过过抽样和欠抽样调节数据集中正例和反例的数目
2、除了错误率外还有其他一些分类性能度量指标:正确率、召回率、ROC曲线



正确率=TP/(TP+FP),预测为正例的样本中实际为正例的比例
召回率=TP/(TP+FN),实际为正例的结果中预测为正例的比例
假阳率=FP/(FP+TN),实际为反例的结果中预测为正例的比例
真阳率=TP/(TP+FN),实际为正例的结果中预测为正例的比例

ROC曲线:用于度量分类中的非均衡性,ROC(receiver operating characteristic)

给出的是当阈值变化时假阳率和真阳率的变化情况
对不同ROC曲线进行比较时,用AUC(areaunder
the curve)评估,完美分类器的AUC为1.0,随机猜测的AUC为0.5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息