写点什么

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

  • 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:005221

评论

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

中科曙光加入OpenCloudOS操作系统社区,携手共建应用生态体系

OpenCloudOS

十二、云原生安全趋势

穿过生命散发芬芳

云原生安全 5月月更

LabVIEW虚拟数字示波器

不脱发的程序猿

数据采集 LabVIEW 虚拟示波器 信号发生VI

Go Web 编程入门:中间件

宇宙之一粟

中间件 Go web 5月月更

多个平台显示IP地址:如何看待互联网实名制

石头IT视角

上证数据可视化分析展示-数据分析学习笔记-2

清林情报分析师

数据分析 学习笔记 数据处理 证券 上市公司

虎符Hoo重点布局合规 打造安全稳定交易环境

区块链前沿News

国际化 Hoo 合规

AiTalk创始人梁宇淇:镜像连接虚拟与现实的纽带

阿里云弹性计算

vr XR 数字人

Docker下RabbitMQ四部曲之一:极速体验(单机和集群)

程序员欣宸

Java RabbitMQ 5月月更

LinkedHashMap 源码分析-访问

zarmnosaj

5月月更

基线监控:基于依赖关系的全链路智能监控报警

字节跳动数据平台

监控 SLA 基线检查

flask框架关于静态文件及其模板生成

恒山其若陋兮

5月月更

勇往直前,做全能开发者,华为伙伴暨开发者大会2022精彩活动正式解锁!

华为云开发者联盟

云计算 量子计算

全国超市区域分布分析-数据分析学习笔记-1

清林情报分析师

数据分析 学习笔记 数据处理 数据可视化 知识图谱

内网穿透的实现原理(附源码)

风斩断晚霞

Java Go 网络编程 Netty 内网穿透

Java Core「5」自定义注解编程

Samson

学习笔记 5月月更 Java core

Seektiger DAO的共识增长计划,锁仓STI长线价值投资

股市老人

密码学系列之:使用openssl创建私有CA

程序那些事

密码学 程序那些事 5月月更

寻找智能精灵:出海与创新时代的开发者之需

脑极体

LabVIEW实现Modbus通信

不脱发的程序猿

LabVIEW Modbus 串口通信 VISA 工业通信

LabVIEW操作鼠标滚轮放大/缩小图像

不脱发的程序猿

图像处理 LabVIEW 鼠标滚轮来放大和缩小图片

DataPipeline完成B+轮1.2亿元人民币融资,定义基于DataOps理念的下一代数据基础设施

DataPipeline数见科技

Flutter的特别之处

Geek_99967b

flutter 小程序开发

DNS解析过程

工程师日月

5月月更

Netty实战-实现内网穿透(一)

风斩断晚霞

Java Go Netty 内网穿透

经典递归 - 青蛙跳台阶问题

芒果酱

递归 C语言 5月月更

阿里云“大算力”支持嬴彻自动驾驶仿真提速 20 倍

阿里巴巴云原生

阿里云 容器 云原生 ACK 客户案例

【LeetCode】括号的分数Java题解

Albert

LeetCode 5月月更

JavaScript获取元素的宽高

空城机

JavaScript 5月月更

搜狐全员遭诈骗,暴露哪些问题?

Authing

身份云 信息 统一身份认证 mfa

LabVIEW使用移位寄存器计算平均值

不脱发的程序猿

LabVIEW 移位寄存器计算平均值 移位寄存器

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