引用:

作者:xyzh

https://www.zhihu.com/question/26726794/answer/151282052

写给懒得看的人:

没有最好的分类器,只有最合适的分类器。

随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。

SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。

神经网络(13.2%)和boosting(~9%)表现不错。

数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。

数据量越大,神经网络就越强。

-----------------------------------------------------------------

多年前读书的时候问过师兄这样一个问题,那就是为什么现在已经有了这么多的机器学习模型我们还要继续研究开发新的机器学习模型,这个问题估计也是很多刚接触机器学习的小白会问到的问题,当时师兄给我解释说其实不同的模型对不同的任务和数据其性能表现不同的,我们需要不断的研究新的模型来解决新的任务和数据;这个或许是我最早对这个问题的思考。

其实,早就有论文在理论层面给出过解释,那就是每个模型都有“归纳偏置”,即“inductive bias”,说的直白些就是如果一个模型对所有假设都采用同样的偏好,那么这个模型将不具备任何泛化能力,也就是说任何一个模型其实都是有着自身的假设偏好的,这也说明对于一个任务和数据来说不同的模型会有着不同的性能表现的,所以不存在一个适用于所有环境的模型,对于不同的任务都会有更适合的模型。

对于传统的机器学习任务来说可供选择的模型还是比较少的,就如论文《Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?》给出的那些算法模型那样,可以说存在某类问题上平均表现最好的模型,但是不存在说某个模型一定在某类问题上比另个模型表现更好。

可以说这篇论文《Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?》以实证的角度进行用实验数据说明的方法来解释了这样一个问题,你就是不存在最后的模型算法,只存在最适合的算法模型,这也是为什么存在“算法模型研究”这个方向的原因。

==========================================

论文:

《Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?》

论文地址:

https://jmlr.org/papers/volume15/delgado14a/delgado14a.pdf

=============================================

参考:

https://www.zhihu.com/question/26726794/answer/151282052

https://zhuanlan.zhihu.com/p/25327755

=============================================

为什么我们需要不断的开发不同的机器学习模型 —— Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?的更多相关文章

  1. JavaScript 应用开发 #1:理解模型与集合

    在 < Backbone 应用实例 > 这个课程里面,我们会一起用 JavaScript 做一个小应用,它可以管理任务列表,应用可以创建新任务,编辑还有删除任务等等.这个实例非常好的演示了 ...

  2. 运维开发笔记整理-Django模型语法

    运维开发笔记整理-Django模型语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模型基本概念 1>.什么是模型 模型是你的数据唯一的,权威的信息源.它包含你所存储数 ...

  3. HoloLens开发手记 - 应用程序模型 App model

    HoloLens使用Universal Windows Platform (UWP)提供的应用模型.UWP应用模型定义了应用如何被安全和完全地安装.更新.版本控制和移除.它管理了应用生命周期 - 应用 ...

  4. Fireworks Extension —— 开发篇(Dom模型)

    如上一篇博文所叙述的,一个很偶然的机会,我得知可以使用Javascript开发Fireworks插件,又注意到了视觉小伙伴的需求,于是便上手开发Fireworks Extension了. 很幸运的,在 ...

  5. 【嵌入式开发】写入开发板Linux系统-模型S3C6410

    笔者 : 万境绝尘 转载请著名出处 最终拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧 ...

  6. sklearn:Python语言开发的通用机器学习库

    引言:深入理解机器学习并全然看懂sklearn文档,须要较深厚的理论基础.可是.要将sklearn应用于实际的项目中,仅仅须要对机器学习理论有一个主要的掌握,就能够直接调用其API来完毕各种机器学习问 ...

  7. 解锁云原生 AI 技能 - 开发你的机器学习工作流

    按照上篇文章<解锁云原生 AI 技能 | 在 Kubernetes 上构建机器学习系统>搭建了一套 Kubeflow Pipelines 之后,我们一起小试牛刀,用一个真实的案例,学习如何 ...

  8. 0009 基于DRF框架开发(02 创建模型)

    上一节介绍了DRF开发的基本流程,共五个步骤: 1 创建模型 2 创建序列化器 3 编写视图 4 配置URL 5 运行测试 本节主要讲解创建模型. 构建学校,教师,学生三个模型,这三个模型之间的关系是 ...

  9. 软件工程结组开发软件特色——NABC模型

    特点:通过学生提前点餐,可以让摊主在准备食材的时候有个参照,当准备的食材比较少的时候可以及时回家取来. N(Need):每当放学的时候,学校外边的卖饭摊位总是挤满了人,好多同学都要排好长的队等比较长的 ...

  10. IOS开发之动态获取模型的属性值

    #import "model.h" #import <objc/runtime.h> @implementation model +(instancetype)mode ...

随机推荐

  1. .NET FRAMEWORK Entity Framework,EF 手动DB FIRST,不使用设计器

    环境: VS2019 SQL SERVER 2012 一.在数据库(db1)创建表结构 "db1"是数据库名,"Table1"是表名. USE [db1] GO ...

  2. C#.NET AES CBC 加密

    重点: 1. KEY 和 IV 转 byte[] 时的编码. 2.要加密的字符串转 byte[] 时的编码. 3.AES 的PADDING,MODE. 4.加密后的byte[] 转字符串时的编码. 先 ...

  3. Django路由层、视图层及模板层

    Django路由层 URL配置(URLconf)就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表; 你就是以这种方式告诉Django,对于客户端发来的某个UR ...

  4. Vue学习:12.生命周期实例

    两个小例子,巩固一下生命周期钩子函数. 实例1:初始化渲染 实现功能: 在 Vue 实例数据为空的情况下,用户在一进入页面就向服务器发送请求获取数据,并在数据返回后进行动态渲染. 思路: 创建一个 V ...

  5. apollo数据库表查询方法-可以通过批量更新mysql数据库-比如批量更新IP地址等

    select `Id`, `AppId`, `Name` from ApolloPortalDB.App; select `NamespaceId`, `Key`, `Value`, `Comment ...

  6. spring多数据源配置笔记

    本文阐述使用多数据源的额场景,以及如何使用springboot的配置多数据源. 关于后者,主要是直接引用其它博文:https://blog.csdn.net/u012060033/article/de ...

  7. python重拾第九天-进程、线程、协程

    本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...

  8. 在Gerrit中修改project.config

    reference:https://blog.bruin.sg/2013/04/19/how-to-edit-the-project-config-for-all-projects-in-gerrit ...

  9. HTTP协议 学习:1-报文分析

    HTTP协议 学习:1-报文分析 背景 上一讲我们介绍了HTTP协议的一些 概念 ,对HTTP协议有了一个基础的认识. 正如之前学习MQTT协议一样,我们需要对HTTP的报文进行分析. HTTP 报文 ...

  10. Codeforces Global Round 26 A~C2

    惹啊啊啊啊,这场做得我发昏,最近总感觉不在状态,但还是再在冲击1600-1800的题目. A. Strange Splitting ---------------------------------题 ...