数据驱动(Data-Driven)和以数据为中心(Data-Centric)的区别

2024-05-26 12:44

本文主要是介绍数据驱动(Data-Driven)和以数据为中心(Data-Centric)的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、什么是数据驱动?

数据驱动(Data-Driven)是在管理科学领域经常提到的名词。数据驱动决策(Data-Driven Decision Making,简称DDD)是一种方法论,即在决策过程中主要依赖于数据分析和解释,而不是依赖于直觉或个人经验。它是相对于传统的经验驱动、直觉驱动或者偏见驱动的决策来讲的。

Case1:数据驱动的案例

Netflix公司通过收集和分析用户的观看习惯,评分,搜索和其他行为数据,开发出高度个性化的推荐算法,以提高用户体验并增加用户观看时间。这种数据驱动的方法也被应用于决定哪些电影和电视节目应该被购买或制作。例如,它的原创剧集"纸牌屋"(House of Cards)就是基于大量用户数据分析的结果决定制作的。

我们拿到数据,经过数据预处理,然后用来训练模型,利用模型进行决策,这就是数据驱动的决策。可以说,目前的机器学习方法和深度学习方法大都是这个形式。但是早期的机器学习方法就是经验驱动的偏多了。经验驱动模型的设计和开发基于专家的经验知识,目的是将特定领域的专家知识和推理过程编码到计算机程序中。这些系统利用了人工智能中的知识表示和知识推理技术,特别是规则基础的推理,来模仿人类专家的决策过程。如早期的专家系统:

Case2:经验驱动的下象棋模型

比如我们想创建一个会下象棋的模型,这个模型就需要在博弈中决策每一步的棋子走法。经验驱动的模型是这样设计的,首先把每个棋子的规则写进模型,如“马走日,象飞田”等,然后找几个下象棋的高手,然后把这些高手的下棋套路写进模型,如对方“当头炮”,那模型就要“把马跳”,把高手的每一步应对策略当做规则写进模型里。

 同样的案例,数据驱动的决策模型就不依赖专家规则:

Case3:数据驱动的下象棋模型

我收集大量的博弈数据,构建象棋数据集,比如根据几百年来的棋谱和高手博弈的数百万场棋局中的每一步走法创建一个如下的数据集:

Xy
兵1兵2...
(4,5)(4,5)(4,5)(-1,-1)兵1向右移动1格
(4,6)(4,5)(4,5)(-1,-1).....

不需要告诉模型“马走日,象飞田”这些基本规则,只需要把数据输入到模型(如逻辑回归,当然这个模型很垃圾)中进行训练,就可以得到一个会下象棋的决策模型。

二、什么是以数据为中心?

在上面的Case3中提到,我们得到数据后,使用逻辑回归来拟合这个分类模型,由于逻辑回归的算法很简单,效果很差,所以大家就会琢磨更多更复杂更厉害的算法来拟合这些数据,比如深度学习算法,慢慢的,随着技术的发展,模型能力越来越好。直到2017年,谷歌提出Attention is All you Need,从此来到了Transformer一统天下的地步,直到现在(2024.05),还没有产生可以挑战Transformer模型架构的新架构出现,尤其是大语言模型诞生后,Transformer架构的能力给予人们巨大的震撼。

由此可见,随着技术的发展,算法的复杂性已经不再是限制模型能力的瓶颈。之前人们卷算法、卷模型的时代,可以称作“Model-Centric”,人们的重点关注对象是模型。而现在,模型已经不是限制人工智能的主要方面,所以有人提出了“Data-Centric”以数据为中心的人工智能,Data-Centric的意思不是说不关注模型,而是说把模型和数据看的一样重要,毕竟AI领域有句俗语“Garbage in garbage out”——垃圾进,垃圾出。意思是垃圾的数据进去,无论模型多NB,出来的还是垃圾的模型,大不了是个过拟合的垃圾模型。

尤其是ChatGPT的训练路径,可以看出在数据集上的大量人力标注和筛选,保证高质量的数据。

数据降噪、数据去偏、数据增强、数据平衡、数据配比、数据课程这些方法都属于Data-Centric的范畴,目前发展还处于初步阶段。


参考文献

什么是数据驱动?到底如何驱动?数据驱动的内涵、方法、案例、优势和特征分析

专家系统简要介绍 - 乔胤博的文章 - 知乎
https://zhuanlan.zhihu.com/p/381896056

目前以数据为中心(Data-centric)的人工智能发展如何? - 知乎
https://www.zhihu.com/question/521096166

Data-Centric AI思考和实践 - 北冥有歌的文章 - 知乎
https://zhuanlan.zhihu.com/p/593692636

2023年后,AI 还有什么研究方向有前景? - 一堆废纸的回答 - 知乎
https://www.zhihu.com/question/591140366/answer/2961915932

这篇关于数据驱动(Data-Driven)和以数据为中心(Data-Centric)的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004498

相关文章

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入