报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

统计建模与机器学习的区别

  • 2016-07-19
  • 本文字数:1814 字

    阅读完需:约 6 分钟

Oliver Schabenberger 是商业分析与商业智能软件 SAS 的副总裁,Analytic Server 的研发主管,他还是美国统计协会 ASA 的会士。作为分布式计算、云计算和机器学习方面的专家,他经常会被问到统计学(尤其是统计建模)、机器学习和人工智能的区别。最近,Schabenberger发表文章,专门解答了这个问题。从目标、技术和算法上来说,统计建模、机器学习和人工智能三个领域确实有重叠的部分。但困惑不仅来自于这些重叠的部分,更多是来自人们阅读的那些非科学文章中时髦用语的大杂烩。

统计建模

统计建模的基本目标是回答这样一个问题:“哪一个概率模型能够生成我观察到的数据?”所以你可以这样做:

  • 从一个合理的模型库里选一个候选模型
  • 评估它的未知量(参数,又称作匹配模型与数据)
  • 比对符合的模型和替代模型

举例来说,如果你的数据代表了总数,比如这个数字代表了客人感到反胃的数量,或者细胞分裂的数量,那泊松分布或者负二项分布、零膨胀模型中的某个模型就可能是适用的。

一旦选中了某个模型,那预估模型就会被用作一个查询设备:检验假设、建立预估值,还能测量信任度。预估模型就成了人们解释数据的棱镜。人们从来不声称预估模型带来了数据,但会把它当做一个在随机的过程中合理的近似,然后再基于它去验证推论。

验证推论是统计建模中一个重要的方面。举例来说,如果要在三个可能的医疗设备中,决定哪个对病人最有益,你就会对这样的模型感兴趣:它能捕捉病人使用什么样的途径治疗是明显有效果的。总是这样,那些能很好地捕捉数据生成途径的模型,同时也是在观测数据范围内最好地做出预测的模型,或许它还能预测出新的观测结果。

经典的机器学习

经典的机器学习是数据驱动的,它专注于回归和分类的算法,并被模式识别推动着。构成它基础的随机途径总是次要的和不被直接重视的。当然,很多机器学习的技术可以通过随机的模型和进程架构起来,但数据并不是通过模型生成的。相反,机器学习主要是为了辨识出运行某个特定任务的算法或技术(或者是二者兼有):顾客最好由 k-Means 算法分组吗?或者由 DBSCAN、决策树、随机森林,还是 SVM?

简而言之,对统计学家来说,模型是第一位的;对机器学习专家来说,数据是第一位的。因为机器学习强调的是数据,不是模型,把数据分离成训练和测试组的验证技术是非常重要的。一个解决方案的优劣不在于 p 值,而在于证明这个解决方案在以前看不到的数据方面预测良好。把一个统计建模和一套数据匹配,或者为一套数据训练决策树,就需要评估未知量。决策树的最佳分支点,是由预估参数数据决定的,而预估参数是从属变量的条件分布决定的。

Oliver Schabenberger 的观点是,没有一种技术能够自称会学习。训练才是塑造某物的必经之路。学习,从另一方面来讲,就暗示着获得新的技能,而训练是学习的一部分。通过训练一个深度神经网络,也就是说,通过输入数据设定好它的砝码和偏向,它就学会了分类,这个神经网络就变成了一个分类器。

现代的机器学习

如果一个机器学习系统没有被指定完成一项 _ 任务 _,它就真的是个学习系统,然而它是被指定去 _ 学习 _ 完成某项任务的。Schabenberger 把这个称为现代的机器学习。就像经典机器学习的变体一样,现代机器学习是一种数据驱动的训练。跟经典机器学习不同的是,现代机器学习不依赖于强悍的算法技术。几乎所有这种形式的机器学习应用,都是以深度神经网络为基础的。

现在,这个领域通常被称作深度学习,一个机器学习的专门科目。深度学习被频繁应用于各种弱人工智能应用,在这些领域,机器会去做人类的工作。

数据的角色

现在,通过学习数据的角色,就可以分清统计建模、经典机器学习和现代机器学习了。

在统计建模中,数据指引人们到一个随机模型的可挑选范围里,它就相当于是抽象的利益问题的概率表达,比如假说、预测和前瞻。

在经典的机器学习中,数据会驱动着分析技术的挑选范围,使得它们最高效地完成手边任务。数据训练了算法。

在现代的机器学习中,数据驱动着基于神经网络的系统,而为了学习一项任务,这些神经网络系统自主决定数据的规律性。在这个训练神经网络学习数据的过程中,它就学会了这项任务。就像有的人说的那样:“是数据完成了编程。”

查看英文原文 The difference between Statistical Modeling and Machine Learning, as I see it


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-19 19:005340

评论

发布
暂无评论
发现更多内容

2021年Java开发者跳槽指南,2021年我们程序员该如何进阶和规划

Java 程序员 后端

谈一谈最小二叉堆的几种操作

Regan Yue

算法 10月月更

2021年字节跳动74道高级程序员面试,2021Java面试真题精选干货整理

Java 程序员 后端

2021年网易Java岗面试必问,Java面试手册pdf

Java 程序员 后端

2021最新Java大厂面试真题大全,附学习笔记+面试整理+进阶书籍

Java 程序员 后端

2021年Java大厂面试分享,漫谈设计模式在Spring框架中的良好实践

Java 程序员 后端

2021年Java面试心得,从理论到实践!

Java 程序员 后端

2021年大厂Java面经,Java高并发编程详解pdf下载

Java 程序员 后端

2021年春招Java面试题,2021最新腾讯Java面试分享

Java 程序员 后端

2021年百度Java面试真题,面试官老爱问适配器模式与外观模式

Java 程序员 后端

Go 语言实现 gRPC 的发布订阅模式,REST 接口和超时控制

AlwaysBeta

golang gRPC Go 语言 publish REST API

2021年最新Java面试精讲,揭秘今年Java春招面试必问问题有哪些

Java 程序员 后端

2021年阿里+腾讯+快手offer都已拿到,Java开发环境

Java 程序员 后端

2021最新Java大厂面试真题大全,不明白JVM虚拟机还怎么面试

Java 后端

2021年Java常见面试题目,图灵学院诸葛,阿里P7大牛整理

Java 程序员 后端

2021年是意义非凡的一年,差点挂在第四面

Java 程序员 后端

2021新一波程序员跳槽季,零基础如何成为高级Java开发

Java 程序员 后端

云栖第一天:解密两个100%背后的云原生

阿里巴巴云原生

阿里云 云原生 公有云 云栖大会

2021年华为Java面经,顺利收获Offer

Java 程序员 后端

2021最新Java开发面试大全,阿里Java面试题库

Java 程序员 后端

2021年华为Java面经,【面试必备】

Java 程序员 后端

2021新鲜出炉阿里巴巴面试真题,王道训练营java百度云盘,阿里高级算法专家

Java 程序员 后端

阿里亿级长连网关的云原生演进之路

阿里巴巴终端技术

云原生 架构设计 网关 客户端开发

2021年京东Java岗面试必问,Java中级程序员面试题

Java 程序员 后端

2021年是意义非凡的一年,架构师带你玩转Redis高性能缓存设计实战

Java 程序员 后端

最新阿里P6-P7Java研发岗面经:技能要求+面试真题+经验总结

Java 程序员 面试 阿里

2021年最新Java面试精讲,java开发技术教程,Java简单入门教程

Java 程序员 后端

2021我是如何拿到小米、京东、字节的offer,Java篇

Java 程序员 后端

2021年Java岗位BAT大厂面试题知识点小结,挥泪整理面经

Java 程序员 后端

2021年上半年最接地气的Java面经,2021年Java常见面试题目

Java 程序员 后端

2021年大厂Java高级面试题分享,Java高并发秒杀面试题

Java 程序员 后端

统计建模与机器学习的区别_语言 & 开发_Oliver Schabenberger_InfoQ精选文章