写点什么

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

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

评论

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

一文告诉你 K8s PR (Pull Request) 怎样才能被 merge?

腾源会

k8s

面试官:讲讲雪花算法,越详细越好

秦怀杂货店

分布式 雪花算法

干货分享:细说双 11 直播背后的压测保障技术

阿里巴巴云原生

阿里云 云原生 性能测试 PTS

flutter小部件知多少?

坚果

flutter 11月日更

数据库连接池Demo(1)单线程初步

Java 数据库 连接池

如何评价一个开源项目(一)--活跃度

腾源会

开源

【高并发】通过源码深度解析ThreadPoolExecutor类是如何保证线程池正确运行的

冰河

Java 并发编程 多线程 高并发 异步编程

我在 IBM 从事开源工作的十一年

腾源会

开源

SuperEdge 和 FabEdge 联合在边缘 K8s 集群支持原生 Service 云边互访和 PodIP 直通

腾源会

开源 边缘计算 superedge

腾讯开源全景图再刷新:社区贡献领跑国内企业,获超过38万开发者关注

腾源会

开源 腾讯

进击的Java(七)

ES_her0

11月日更

多模态内容理解算法框架项目 Lichee 正式开源,为微服务开源社区贡献力量

腾源会

开源

架构训练营 模块三 作业

dog_brother

「架构实战营」

模块八作业:设计消息队列存储消息数据的 MySQL 表格

apple

消息队列表设计

Rabbit

【LeetCode】反转链表Java题解

Albert

算法 LeetCode 11月日更

在华为云专属月,找到开启互联网第二增长曲线的一把钥匙

脑极体

CNCF 沙箱再添“新将”!云原生边缘容器开源项目 SuperEdge 正式入选

腾源会

开源 容器 云原生 cncf

腾讯云原生开源生态专场召开,洞察开源云原生技术发展趋势和商业化路径

腾源会

腾讯云 开源 云原生

腾讯自研分布式远程Shuffle服务Firestorm正式开源

腾源会

大数据 开源 腾讯

Prometeus 2.31.0 新特性

耳东@Erdong

release Prometheus 11月日更

npm必知必会点

废材壶

大前端 npm Node

赞!一篇博客讲解清楚 Python queue模块,作为Python爬虫预备知识,用它解决采集队列问题

梦想橡皮擦

11月日更

Ubuntu系统下《汇编语言》环境配置

codists

汇编语言

Android C++系列:JNI操作Bitmap

轻口味

c++ android jni 11月日更

Golang Gin 框架入门介绍(二)

liuzhen007

11月日更

腾讯发布 K8s 多集群管理开源项目 Clusternet

腾源会

开源 K8s 多集群管理 Clusternet

怎么清空.NET数据库连接池

喵叔

11月日更

[ CloudWeGo 微服务实践 - 08 ] Nacos 服务发现扩展 (2)

baiyutang

golang 微服务 11月日更

Serverless 架构模式及演进

阿里巴巴云原生

阿里云 Serverless 云原生 架构模式

Github webhooks 自动部署博客文章,使用总结【含视频】

小傅哥

GitHub 小傅哥 WEBHOOKS 自动部署 通知回调

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