多种分类器
2016-03-06 15:12
106 查看
摘要
本文共介绍了179中分类器,来自于17个不同的类别(辨别分析,贝叶斯神经网络,支持向量机,决策树,基于规则的分类器,boosting算法,随机森林,最近邻,主成分回归等等),使用不同的编程语音,UCI上的12个数据集和其他一些真实的数据,来获得关于分类器的有意义的结论。这其中分类效果最好的是随机深林(random forest),其次是SVM,神经网络和boosting ensembles。introduction
不同的分类器来自于不同的数学以及计算机的研究背景,classifier families | 分类器名称 |
---|---|
统计学 | 线性判别分析,广义线性模型 |
人工智能和数据挖掘 | 基于规则的分类器,决策树 |
联结主义方法 | 神经网络 |
选出分类效果最好的分类器
将每个分类器按照他的准确度进行排序
确定每一个分类器的可以达到的最好的分类精度
评估在不同的数据集下的分类器的性能的变化
在使用UCI测试数据集进行测试的过程中容易出现一些有趣的错误,下面综合这些错误并讨论如何避免
有时使用的测试数据集会使得实验结果不准确,因此本文所使用的数据集都是来自于UCI分类库,这样可以避免一些小数据集得到不准确结果的情况,当然不能说UCI的所有数据集合都是完整、可靠地标准化的试验样本。
在提出一个新的分类器时存在两个问题:以往的一些文章是否选择的learners足够多,以及是否将选择的learners都配置到了它们最好的一个状态。有的时候对分类器的知识储备并不足,就一通乱改,这样在对分类器进行优化的时候会使结果跑偏。因此本文不会随意的更改以往的经典分类器算法,只是调参来使分类效果达到最好。
很难获得一个分类器在一个数据集上可能达到的最大的精度,这对评估分类器很困难。本文做一个假定就是所有得到的最高的准确度就是分类器的最高准确度。
数据集可能不完整,也可能存在错误,也就是所谓的噪声,那么本文还是认为测到的就是准确的,哪个分类器效果不好也是因为分类器自身的局限性。
缺乏标准的数据分割,本文的解决方法就是对每个数据集使用相同的分割方法
实验结论
通过实验发现大部分的分类器能够获得最好分类效果的可能性小于10%,实验中有二十个分类器的最高准确率高于95%引用文章:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
相关文章推荐
- 进程等待示例(wait与waitpid调用)
- 3.1
- 顺序表[A+B->A]
- SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-001- 配置SpringFlow(flow-executor、flow-registry、FlowHandlerMapping、FlowHandlerAdapter)
- java 线程学习-课前须知
- Qt 样式表 边界盒模型
- OpenCV环境配置
- Gradle 构建工具
- 搜索算法阶段性总结
- 安卓基础:使用WebView浏览网页
- if与if-else的区别
- 第24讲项目1——分段函数求值
- 嵌入式Linux解析XML开发之:(一)XML基础
- if-else与if的区别
- 基于人工神经网络的五子棋博弈(转载请注明出处!)
- Linux下tomcat JVM内存 配置
- C语言实现使用动态数组来构造栈结构
- CAF(C++ actor framework)使用随笔(延迟发送,消息转发,消息优先级)(四)
- 随机生成三十个二年级的加减乘除法的题目代码
- 操作系统是如何工作的--知识总结及实验报告