引用:

作者: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. FlashDuty Changelog 2023-09-21 | 自定义字段和开发者中心

    FlashDuty:一站式告警响应平台,前往此地址免费体验! 自定义字段 FlashDuty 已支持接入大部分常见的告警系统,我们将推送内容中的大部分信息放到了 Lables 进行展示.尽管如此,我们 ...

  2. Selenium模块的使用(二)

    selenium处理iframe - 如果定位的标签存在于iframe标签之中,则必须使用switch_to.frame(id) - 动作链(拖动):from selenium.webdriver i ...

  3. 函数式表达式基本类型及固定类型 demo

    1.常见类型及使用 import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.ut ...

  4. 解决NodeJS Downloading node-sass 卡死慢安装失败的问题

    之前写过一篇从0开始的NodeJS安装配置教程,在那篇文章结尾提到使用过程中还有一个坑,只是没有遇到就没写,时隔多日在我使用某开源项目的时候又遇到了这个问题 下载依赖时一直卡在 Downloading ...

  5. LiveCharts2:简单灵活交互式且功能强大的.NET图表库

    前言 之前的文章中提到过ScottPlot.与oxyplot,这两个是比较常用的.NET图表库,今天介绍一款新的.NET图表库:LiveCharts2. LiveCharts2介绍 LiveChart ...

  6. __int1024!

    使用说明: 数据范围约为\(-2^{1024}\le N \le2^{1024}\),反映到十进制约为\(-10^{309}\le N \le10^{309}\),但不保证完全如此. 输入输出使用自带 ...

  7. CLR via C# 笔记 -- 异常和状态管理(20)

    1. 异常是指成员没有完成它的名称所宣称的行动,异常类继承System.Exception. 2. .Net Framework 异常处理机制是用Microsoft windows提供的结构化异常处理 ...

  8. 15-BFC

    01 BFC官方解释 https://www.w3.org/TR/CSS2/visuren.html#normal-flow 大致意思如下 02 什么情况下会形成BFC MDN解释 https://d ...

  9. .NET 日志系统-3 结构化日志和集中日志服务

    .NET 日志系统-3 结构化日志和集中日志服务 系列文章 认识.NET 日志系统 https://www.cnblogs.com/ZYPLJ/p/17663487.html .NET 认识日志系统- ...

  10. 『vulnhub系列』BEELZEBUB- 1

    『vulnhub系列』BEELZEBUB- 1 下载地址: https://www.vulnhub.com/entry/beelzebub-1,742/ 信息搜集: 使用nmap扫描存活主机,发现主机 ...