机器学习之-Adaboost元算法-具体怎么实现及应用
2017-03-21 16:08
381 查看
1、AdaBoost的优缺点及适用数据类型:
优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整。
缺点:对离群点敏感。
适用数据类型:数值型和标称型数据。
2、什么是bagging:
基于数据随机重抽样的分类器构建方法。
就是从原始的数据集进行抽样,抽样得到的数据集大小与原数据集大小一样,但是抽样得到的数据集里含有重复的样本,通过这种方法创建S个这样的抽样数据集,然后将某个学习算法用作于这S个抽样数据集,就得到了S个分类器。当有新的数据时,就用这S个分类器对这个新数据进行分类,选择分类器投票结果中最多的类别作为最后的分类结果。
3、什么是boosting:
boosting与bagging很类似,即它们所使用的多个分类器的类型都是一致的(多个分类器使用的算法是一样的),区别在于boosting的多个分类器是通过串行训练而获得的,每个新分类器都根据已训练出的分类器的性能来进行训练,是通过集中关注被已有分类器错分的那些数据来获得新的分类器,并且boosting分类的结果是基于所有分类器的加权求和结果的。
4、什么是AdaBosst:
boosting方法拥有多个版本,其中一个最流行的版本就是AdaBoost。
5、AdaBoost的一般流程
1)收集数据:可以使用任意方法。
2)准备数据:依赖于所使用的的若分类器类型,本章使用的是单层决策树,这种分类器可以处理任何数据类型。也可以使用任意分类器作为若分类器,前面提到的多个分类器都可以充当AdaBoost的弱分类器,然而值得一提的是:简单分分类器的效果更好。
3)分析数据:可以使用任意方法。
4)训练算法:AdaBoost的大部分时间都用在训练上,分类器将多次在同一数据集上训练弱分类器。
5)测试算法:计算分类的错误率。
6)使用算法:同SVM一样,AdaBoost预测两个类别中的一个,如果想把它应用到多个类别的场合,那么就要像多累SVM中的做法一样对AdaBoost进行修改。
6、啥叫弱分类器:
“弱”意味着分类器的性能比随机猜测要略好,但是也不会好太多。
7、AdaBoost的运行过程:
训练数据中的每个样本都赋予其一个权重,这些权重构成了向量D。一开始这些权重都初始化为相等值。首先在训练数据集上训练出一个弱分类器并计算该分类器的错误率,然后在同一数据集上再次训练弱分类器。在分类器的第二次训练当中,将会重新调整每个样本的权重,其中第一次分对的样本的权重将会降低,而第一次分错的样本的权重将会提高。为了从所有弱分类器中得到最终的分类结果,AdaBoost为每个分类器都分配了一个权重值alpha,这些alpha值是基于每个弱分类器的错误率进行计算的。用alpha值对D进行更新。
终止条件为:训练错误率为0或者弱分类器的数目达到用户的指定值。
8、啥叫单层决策树:
也叫决策树桩,是一种简单的决策树,它仅基于单个特征来做决策,由于这棵树只有一次分裂过程,因此它实际上就是一个树桩。
9、使用单层决策树作为弱分类器的AdaBoost算法的伪代码实现:
对每次迭代:
在数据集上找到最佳的单层决策树
将最佳单层决策树加入到单层决策树数组
计算alpha
计算新的权重向量
更新累计类别估计值
如果错误率等于0.0,则退出循环
10、在一个难数据集上的AdaBoost应用:
a)收集数据:提供的文本文件;
b)准备数据:确保类别标签式+1和-1而非1和0;
c)分析数据:手工检查数据;
d)训练算法:在数据上,利用AdaBoostTrainDS()函数训练出一系列的分类器
e)使用算法。
优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整。
缺点:对离群点敏感。
适用数据类型:数值型和标称型数据。
2、什么是bagging:
基于数据随机重抽样的分类器构建方法。
就是从原始的数据集进行抽样,抽样得到的数据集大小与原数据集大小一样,但是抽样得到的数据集里含有重复的样本,通过这种方法创建S个这样的抽样数据集,然后将某个学习算法用作于这S个抽样数据集,就得到了S个分类器。当有新的数据时,就用这S个分类器对这个新数据进行分类,选择分类器投票结果中最多的类别作为最后的分类结果。
3、什么是boosting:
boosting与bagging很类似,即它们所使用的多个分类器的类型都是一致的(多个分类器使用的算法是一样的),区别在于boosting的多个分类器是通过串行训练而获得的,每个新分类器都根据已训练出的分类器的性能来进行训练,是通过集中关注被已有分类器错分的那些数据来获得新的分类器,并且boosting分类的结果是基于所有分类器的加权求和结果的。
4、什么是AdaBosst:
boosting方法拥有多个版本,其中一个最流行的版本就是AdaBoost。
5、AdaBoost的一般流程
1)收集数据:可以使用任意方法。
2)准备数据:依赖于所使用的的若分类器类型,本章使用的是单层决策树,这种分类器可以处理任何数据类型。也可以使用任意分类器作为若分类器,前面提到的多个分类器都可以充当AdaBoost的弱分类器,然而值得一提的是:简单分分类器的效果更好。
3)分析数据:可以使用任意方法。
4)训练算法:AdaBoost的大部分时间都用在训练上,分类器将多次在同一数据集上训练弱分类器。
5)测试算法:计算分类的错误率。
6)使用算法:同SVM一样,AdaBoost预测两个类别中的一个,如果想把它应用到多个类别的场合,那么就要像多累SVM中的做法一样对AdaBoost进行修改。
6、啥叫弱分类器:
“弱”意味着分类器的性能比随机猜测要略好,但是也不会好太多。
7、AdaBoost的运行过程:
训练数据中的每个样本都赋予其一个权重,这些权重构成了向量D。一开始这些权重都初始化为相等值。首先在训练数据集上训练出一个弱分类器并计算该分类器的错误率,然后在同一数据集上再次训练弱分类器。在分类器的第二次训练当中,将会重新调整每个样本的权重,其中第一次分对的样本的权重将会降低,而第一次分错的样本的权重将会提高。为了从所有弱分类器中得到最终的分类结果,AdaBoost为每个分类器都分配了一个权重值alpha,这些alpha值是基于每个弱分类器的错误率进行计算的。用alpha值对D进行更新。
终止条件为:训练错误率为0或者弱分类器的数目达到用户的指定值。
8、啥叫单层决策树:
也叫决策树桩,是一种简单的决策树,它仅基于单个特征来做决策,由于这棵树只有一次分裂过程,因此它实际上就是一个树桩。
9、使用单层决策树作为弱分类器的AdaBoost算法的伪代码实现:
对每次迭代:
在数据集上找到最佳的单层决策树
将最佳单层决策树加入到单层决策树数组
计算alpha
计算新的权重向量
更新累计类别估计值
如果错误率等于0.0,则退出循环
10、在一个难数据集上的AdaBoost应用:
a)收集数据:提供的文本文件;
b)准备数据:确保类别标签式+1和-1而非1和0;
c)分析数据:手工检查数据;
d)训练算法:在数据上,利用AdaBoostTrainDS()函数训练出一系列的分类器
e)使用算法。
相关文章推荐
- 机器学习之-用k-均值聚类算法对未标注数据分组-具体怎么实现及应用
- 机器学习之-支持向量机-具体怎么实现及应用
- 机器学习之-使用FP-growth算法来高效发现频繁项集-具体怎么实现及应用
- 机器学习之-决策树-具体怎么实现及应用
- 机器学习之-朴素贝叶斯-具体怎么实现及应用
- 机器学习之-预测数值型数据:回归-具体怎么实现及应用
- 机器学习之-使用Apriori算法进行关联并分析-具体怎么实现及应用
- 机器学习之-用k-均值聚类算法对未标注数据分组-具体怎么实现及应用
- 机器学习之-逻辑回归-具体怎么实现及应用
- 机器学习之-回归树-具体怎么实现及应用
- 机器学习之-knn-具体怎么实现与应用
- MySQL数据库接口的VC具体实现与应用
- 具体该怎么来实现呢
- heartbeat2.1.4 实现监控应用服务(httpd)具体步骤
- PF_NETLINK应用实例NETLINK_KOBJECT_UEVENT具体实现--udev实现原理
- PF_NETLINK应用实例NETLINK_KOBJECT_UEVENT具体实现--udev实现原理
- java怎么实现导出excel表(poi包的应用)
- win8怎么固定应用到Metro的开始屏幕具体步骤
- Silverlight企业应用快速开发平台框架设计(二)分析-平台实现重点是什么,要怎么做?
- IAP应用内付费怎么实现?