数据驱动(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

相关文章

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

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 指针接收者和值接收者的区别指针接收者和值接收者的