【AI底层逻辑】——篇章4:大数据处理与挖掘

news2024/11/15 15:42:08

目录

引入

一、大数据概述

二、数据处理的流程&方法

1、数据收集——“从无到有”

2、数据加工——“从有到能用”

3、数据分析

三、大数据改变了什么

 往期精彩:


引入

AI的表现依赖大数据。曾经一段时间,对于图像识别的准确率只能达到60%~70%,这其中有机器学习算法和计算机硬件性能的局限,但是重要的时缺少数据2009年斯坦福大学教授李飞飞、普林斯顿大学教授李凯建立一个项目收集5000万张高清图片,标注8万多个单词,并举办ImageNet图像识别竞赛,促进计算机视觉的发展。随后一个课题组给出基于大数据的深度学习模型,进一步促进了图像识别的准确率。

大数据不仅可用来描绘客户行为和商业规律,也是训练AI模型的基本原料。但是,AI对数据有着严苛要求,不是所有数据都行,数据必须是完整的、大量的、有业务含义的、有特征标签的。有的数据需要加工和处理、分析和挖掘。

一、大数据概述

“大数据”的概念早在20世纪被提出,麦肯锡公司定义它为“一种规模大到在获取、存储、管理、分析方面大大超出传统数据库软件工具能力范围的数据集合”。今天大数据含义在不同语境下含义不同,既指复杂且大量的数据集合、也指一系列海量数据处理技术,还能代表一种由数据驱动的商业模式

大数据的“大”是相对的,没有确切的界定,大数据并不单指数据容量的大小,还要看对这些数据按照特定需求进行处理的难度。大数据不仅指大量数据,还要看数据类型丰富度、处理速度快、价值密度低等特点。“大”也带来一些问题——大数据中真正有价值的数据少,这种现象称价值洼地。数据的体量越大,挖掘有效数据难度越大,数据中的错误可能越多,面临的技术难度越大。

二、数据处理的流程&方法

数据使用的两种基本方式①数据面向“结果”:直接对数据进行分析和处理,找到数据关联关系,挖掘有价值的信息。②数据面向“过程”:通过机器学习的方式处理数据或构建AI模型,此时数据不再是直接分析的对象而是模型训练的输入。实际情况两种可混合使用。

下面主要介绍的是第①种方式,第②种会在后续章节机器学习算法中谈及:

1、数据收集——“从无到有”

本步骤最难也最重要,很多人误以为AI的关键是算法,其实不是,AI的大部分算法已经发展的较为成熟,很多研究工作是放在算法改进和优化上,底层逻辑与十几年前并无本质区别,但是数据收集则不同,这是前提和关键。——“数据决定了机器学习的上限,算法只是尽可能逼近这个上限!”

数据收集渠道:①一手数据:直接调查的原始数据,是数据源头,最新也最有价值;②二手数据:别人调查的数据,或将原始数据建工和汇总后公布的数据,可能掺杂错误。

不仅对科学研究,数据收集对AI的发展也至关重要。很多领域,研究人员回公开自己的算法但很少公开自己的数据,如谷歌首席科学家诺维格这样评价谷歌产品:“我们没有更好的算法,有的只是更多的数据。”

2、数据加工——“从有到能用”

a、ETL

数据加工分为3步骤:抽取、转换、加载,简称ETL。目的是将很多分散、零乱、标准不统一的数据整合到一起,为分析决策提供数据支撑。

数据抽取:难点在于数据源多样,数据保存在不同地方,可能涉及不同的数据库软件产品、不同的数据类型格式,因此需要挑选不同的抽取方法。

数据转换:数据按特定需求进行聚合、统计、汇总。数据加工环节中花费时间最长的,总工作量的6~7成,工作量很多,比如将字符型变量变成数字型变量,或处理缺失值、处理异常数据、剔除重复数据、检查数据一致性等。该过程之所以复杂,是因为数据质量、种类、保存类型各不相同,现实中多数数据存在口径不一致、不完整、格式混乱等问题——都是“脏数据”,需要清洗一下,例如男病人的病例记录中出现了卵巢癌!!

数据加载:一旦数据转换完成,数据就会经过加载最终写入数据仓库,将数据集中存储。集中存储数据有很多途径,如可以把各种类型的数据关联起来分析,也可对它们执行批量查询和计算

不同场景对数据处理的需求不同,离线、实时等方法离线处理:实时性要求低,处理总量大(总数据量),需更多存储资源。实时处理:实时性要求高,处理速度快(单位时间数据量),需要更多计算资源。

数据加工过程是让数据发挥价值的基础工作,市面很多ETL工具,,只看一个数据加工任务这些工具很好用,但是企业一般这样的任务成百上千,保证所有任务都不出错仍有巨大挑战!

b、独热编码和特征工程

例如有ABC三个人,A:32岁,男,程序员;B:28岁,女,老师;C:38岁,男,医生。
用计算机可识别的语言数字描述,年龄就是数字不用变;性别女0或男1;职业类型用向量表示,
比如世界上有30000种职业,编号程序员1,老师2,医生3,用30000维的向量表示为[1,0,0,0...,0]、
[0,1,0,0...,0]、[0,0,1,0...,0]。ABC三个人可用一个30002维的向量表示:
[32,1,1,0,0,0...,0]、[28,0,0,1,0,0...,0]、[38,1,0,0,1,0...,0],有点类似前面的老鼠试毒的例子。

但是实际数据类别很多,机器学习要处理海量数据的海量维度,这需要大量存储和计算资源“维度灾难”也是我们必须在选择算法和模型阶段要考虑的因素——简单说,有些特征需要转换编码,有些特征需要进一步做降维处理,还有些特征可能不必要(可剔除和整合

使用机器学习算法之前需要数据预处理,一个重要步骤是——特征工程。特征工程就是把实体对象特征化,它是把原始数据转变为模型训练数据的过程,对原始数据进行去除重复、填充空缺、修正异常值等,要找到具有代表性的数据维度,刻画解决问题的关键特点。如描绘一辆车,“形状”更有代表性,“颜色”则不行。

特征选择是一个复杂的组合优化问题,特征太多会带来“维度灾难”特征太少会让模型表现差特征工程的目的是获取好数据,本步骤做的好,简单的算法就可取得不错效果。

3、数据分析

数据分析、数据科学、数据挖掘、知识发现等术语有时会混用,无明确界定。数据分析的目的是帮助决策,常见的分析场景有:①问题已知,答案未知。如当月销售额多少?哪个卖的最好?;②问题和答案都未知。如超市人员不知道货架商品有无更好的摆放方式,只能通过用户购物数据尝试性寻找规律,这种情况并不确定一定能找出答案,甚至不清楚要哪些数据。①是用数据给出解释,②是对数据进行探索!

下面简单介绍一些数据分析的常见算法:

a:关联分析算法

很多APP会以“最佳组合”的形式推荐商品,让消费者看到自己感兴趣的商品,有一种高效的算法可以处理此类问题——Apriori算法(先验算法)。它是一种经典的关联规则挖掘算法,用于找出经常一起出现的集合——频繁项集

Apriori算法提出两个概念:支持度置信度支持度代表了某个商品或商品的集合在整个数据集中出现的比例,如100次购买记录中,人们购买A商品30次,30%就是支持度。置信度代表了在购买某种商品后,同时购买其他商品的概率,假设所有买A商品的30人中,有15人同时购买了B商品,则15/30=50%是商品B对A的置信度。

支持度和置信度都是重要的度量指标。以门店运营,通过支持度先滤掉一部分购买量本省就很少的商品;置信度表示两种商品的关联规则,置信度等同于条件概率,越高关联性越强,借此可找到关联性很强的商品组合。

Apriori算法在计算关联规则时,有一个先验原则如果某个集合是频繁的(经常出现),那么它的所有子集也是频繁的。这个原则很直观,但如果反过来看会发现另一层含义:如果某个集合不是频繁的,那么它的所有超集也不是频繁的。即如果{A}不是频繁的,那么所有包括A的集合如{A,B}也是非频繁的。这个结论会大大简化计算过程:

举例,假设我们拥有一批顾客购买商品的清单,Apriori算法计算过程如下:
第1步:设定支持度、置信度的阈值。
第2步:计算每个商品的支持度、去除小于支持度阈值的商品。
第3步:将商品(或项集)两两组合,计算支持度,去除小于支持度阈值的商品(或项集)组合。
第4步:重复上述步骤,直到把所有非频繁集合都去掉,剩下的频繁项集,就是经常出现的商品组合。
第5步:建立频繁项集的所有关联规则,计算置信度。
第6步:去掉所有小于置信度阈值的规则,得到强关联规则。对应的集合就是我们要找的具有
高关联关系的商品集合。
第7步:针对得到的商品集合,从业务角度分析实际意义。

由上可看出,Apriori算法的本质是“数数”,它循环检验哪些组合频繁地一起出现,并把它们找出来。Apriori算法通过支持度和置信度两个阈值,对原始数据集合做出层层筛选,每次筛选都淘汰一些不合条件的组合,直到找到最佳组合。

b:用户画像和商品推荐

除了关联分析,数据分析的另一种常见的应用场景是构建用户画像。用户画像是企业通过数据抽象出的关于用户的商业全貌,刻画了消费者的社会属性、消费习惯、消费行为,为产品设计、广告推送提供依据。如抖音通过点赞收藏等数据刻画用户,推送他们感兴趣的内容。

c:广告心理学和AB测试

当你拿着商家给你的优惠券尝试各种凑单、拼单等得到一定的优惠,但是因此你花出了更多的钱,买了很多非必要的物品。这背后就是商家在运用大数据分析、广告心理学、行为经济等手段,引导用户做出某些决策和行为。

心理学锚定现象:当人估算未知价格时,最初的数值(锚点)会在人的心里起到标杆和起点的作用。如订机票时,在推荐航班列表时,也不是所有航班都是最实惠的,很有可能明显高于其他推荐航班,它起的作用就是不被选而衬托出其他票价的实惠;再如在名表商店门口放一块价值100万的表,你不选择买它,但是它已在你的心中定下锚点,你的期望消费会变得比没看到之前高(低于100万范围内)。

虚拟商店的算法会不断试错,尝试找到最佳的推荐方案。“不断试错”经常在互联网产品开发中使用,如当产品面临多个选择方案时,可采用A/B测试的方法做出选择:即让一部分用户使用方案A,另一部分用户使用方案B。但是实际上,公司使用A/B测试不会仅仅两个版本,如设计广告标题,它的字体、粗细、大小、颜色、背景、语气、句式、布局等有着无数变化

拓展:人是视觉动物,对图像信息最为敏感,视觉反应区占了大脑皮层的40%。数据可视化设计要平衡好信息量和可读性之间的关系,做到——信(真实)、达(清晰)、雅(简洁美观)


三、大数据改变了什么

它改变了人们的生活习惯,所有的经验、时间、记忆在大数据时代将被重新定义!

大数据正在改变着人类发现问题、解决问题的方式。以前对于海量数据只能采用抽样的方法,但大数据时代可以直接分析全量数据,得到某些传统方法得不到的规律和结论。

人们思考问题从专家经验驱动到数据驱动,AlphaGo需要上亿棋局数据,智能汽车需要大量行驶过程中的实景路况数据,人脸识别也需要大量的人脸图像!

“知道数据在哪里,比知道数据本身更有价值!”

例如比起记忆圆周率,知道如何查到圆周率结果的资料显然更有用!用理解取代记忆,这是大数据给我们的另一个改变!

结语:海量丰富、高质量的数据是AI的基础,它帮助AI不断自我学习,改进性能!可以说——大数据赋予了AI“智能”,而让机器实现“智能”学习的过程,必须依赖强大的机器学习算法请继续关注后续章节...


 往期精彩:

【AI底层逻辑】——篇章3(下):信息交换&信息加密解密&信息中的噪声

【AI底层逻辑】——篇章3(上):数据、信息与知识&香农信息论&信息熵

【机器学习】——续上:卷积神经网络(CNN)与参数训练

【AI底层逻辑】——篇章1&2:统计学与概率论&数据“陷阱”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/706505.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BUUCTF 还原大师 1

题目描述: 我们得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母,为了确定这个神秘字符串,我们通过了其他途径获得了这个字串的32位MD5码。但是我们获得它的32位MD5码也是残缺不全,E903???4D…

Elasticsearch 集群日志收集搭建

Elasticsearch-7.2.0Logstash-7.2.0Kibana-7.2.0-Filebeat-7.6.0 第一台集群内网ip:10.0.0.223 ES配置文件:/es_data/es/elasticsearch-7.2.0/config/elasticsearch.yml ES启动命令:/es_data/es/elasticsearch-7.2.0/bin/elasticsearch cl…

报道|本科专业对收入影响巨大!最高以及最低收入的专业有这些

作者:Aimee Picchi 编者按 本文引用并翻译了发表在美国CBS的最新研究,希望能给刚高考完正在挑选大学以及专业的准大学生们一点帮助哦。 最新的研究发现,一个学生的专业和母校能明显地影响ta毕业四年后的收入水平。HEA Group的调查显示&#x…

Jenkins + gitlab 自动部署

1. 背景 作为后台开发,每次我们开发完或者修改一个bug后都要手动合并,打包或者连接服务器执行打包部署命令,每次手动操作,极大的影响了我们的开发效率,那么有没有一款工具能让我们只需要推送/合并代码到远端就能实现服…

【小沐学Python】Python实现Web服务器(Flask框架扩展:Flask-SQLAlchemy)

文章目录 1、简介2、安装3、开发3.1 数据库连接字符串3.2 SQLAlchemy参数设置3.3 SQLAlchemy字段类型3.4 SQLAlchemy列选项3.5 SQLAlchemy关系选项3.6 SQLAlchemy操作接口 4、代码测试4.1 用户管理4.2 用户角色管理4.3 学生管理4.4 图书管理 结语 1、简介 SQLAlchemy SQLALche…

windows下安装Visual Studio + CMake+OpenCV + OpenCV contrib+TensorRT

目录 1 安装visual studio 2 安装CMake 3 OpenCV源码安装 3.1 OpenCV源码下载 3.2 OpenCV contrib源码下载 3.3 安装OpenCV 3.4 安装OpenCV-crontrib 3.5 VS生成代码 4 环境配置 5 TensorRT安装 5.1 TensorRT安装 5.2 Python下安装TensorRT库 最近在研究windows系统…

Android学习_Mars老师之Mp3视频开发

实现的功能&#xff1a;开发一个可以播放音乐并同步显示歌词文件的APP. 成果展示&#xff1a; 总体设计图&#xff1a; 实现流程图 代码展示&#xff1a; AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:androi…

信道编码:MATLAB使用卷积编译码函数

信道编码&#xff1a;MATLAB 使用Conv函数 1. 相关函数 在进行卷积编码的过程中&#xff0c;使用的函数是convenc()函数和vitdec()函数&#xff0c;同时需要poly2trellis()函数。 1.1 poly2trellis()函数 先看poly2trellis()函数,用来生成卷积编码所需要的网表。 trellis …

svn commit 用法

转载   原文&#xff1a;https://blog.csdn.net/qq_39790633/article/details/103700391 使用svn进行代码的提交有两种方法&#xff1a;一种是通过TortoiseSVN客户端界面进行提交&#xff0c;另一种是通过svn commit指令提交。 方法一&#xff1a;通过TortoiseSVN客户端界面提…

【Python 随练】文本颜色设置

题目&#xff1a; 文本颜色设置 简介&#xff1a; 在本篇博客中&#xff0c;我们将学习如何在Python中设置文本的颜色。我们将介绍一个常用的库&#xff0c;并提供代码示例来演示不同颜色的设置。 问题分析&#xff1a; 我们需要在Python中设置文本的颜色&#xff0c;以增…

3.2迷宫求解

首先我没 看懂数据结构书上写得迷宫 求解 不过 不重要了 迷宫求解 需要先有个 迷宫 游戏 以下 是 Java写的 控制台迷宫游戏 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern;public class MazeGameJ {public static void main(St…

云原生|kubernetes|centos7下离线化部署kubesphere-3.3.2---基于kubernetes-1.22.16(从网络插件开始记录)

前言&#xff1a; kubesphere的离线化部署指的是通过自己搭建的harbor私有仓库拉取镜像&#xff0c;完全不依赖于外部网络的方式部署。 我的kubernetes集群是一个单master节点&#xff0c;双工作节点&#xff0c;总计三个节点的版本为1.22.16的集群。 该集群只是初始化完成了…

在Excel当前窗口显示最后一行数据

大家也许都知道Excel工作表中数据行数较多&#xff0c;使用<Ctrl下箭头>组合键可以快速定位最后一行&#xff0c;但是如果数据不是连续的&#xff08;也就是工作表中包含空行&#xff09;&#xff0c;这个方式就只能定位到当前连续数据区域的最后一行。 如下实例代码可以…

Visual Studio2019更改并下载.Net Framework目标框架

一、问题 当使用.net进行开发时&#xff0c;开发的项目与.net framework目标框架会非常密切相关的&#xff0c;所以当vs本地使用的.net framework框架与该项目工程的框架不一致的时候&#xff0c;就可能打开不了当前项目&#xff0c;解决这个问题的方法有&#xff1a; 第一种…

方向导数和梯度

理性认识的三个阶段&#xff1a;定义、判断、推理。 有位博主说过&#xff0c;数学中&#xff0c;定义占60%的内容。 方向导数定义如下&#xff1a; 注意的一点是&#xff1a; 该处的alpha&#xff0c;beta角度关系是alpha beta pi/2。t*cos alpha &#xff0c;t * cos …

两百行代码实现简易点云标注工具

夏天来了非常热&#xff0c;LZ周末不想出去玩&#xff0c;于是乎继之前的图片标注工具利用两个晚上写了一个简单的点云标注工具。该工具基于Qt5.14.2-msvc2017&#xff08;其实LZ的VS版本是2019&#xff0c;似乎兼容&#xff09;平台C语言开发&#xff0c;用到的第三方库为PCL1…

ModaHub魔搭社区:“百模大战”下,字节跳动选择做一个“大模型商场”

“火山方舟”面向企业提供模型精调、评测、推理等全方位的平台服务&#xff08;MaaS&#xff0c;即Model-as-a-Service&#xff09;&#xff0c;目前集成了百川智能、出门问问、复旦大学MOSS、IDEA研究院、澜舟科技、MiniMax、智谱AI等多家AI科技公司及科研团队的大模型。 这种…

通过elementui的el-table实现table嵌套展示

el-table属性&#xff1a; :expand-row-keys: 可以控制行的展开和关闭&#xff0c;也可以控制只能有一行进行展开 expand-change&#xff1a;是表格行的切换事件&#xff0c;具体方法如下 el-table-column属性&#xff1a; type"expand" &#xff1a;表示如果有子t…

从网上复制shell脚本 到 linux下运行 碰到的各种问题汇总

从网上复制shell脚本 到 linux下运行 碰到的各种问题汇总 快捷键CtrlU查看网页源码 一、报错现象&#xff1a;: No such file or directory 解决方法&#xff1a;在linux系统下执行&#xff1a;dos2unix filename 问题原因&#xff1a;本质是文件中二进制符号^M乱码问题 参考…

JAVA学习(七)

1. JAVA 多线程并发 1.1 JAVA 并发 并发知识库 1.2 JAVA 线程实现/创建 创建方式 1.2.1 承 继承 Thread 类 Thread 类本质上是实现了 Runnable 接口的一个实例&#xff0c;代表一个线程的实例。启动线程的唯一方 法就是通过 Thread 类的 start()实例方法。start()方法是一个…