当前位置: 首页 > news >正文

大数据应用发展史:从搜索引擎时代到机器学习时代

文章目录

  • 搜索引擎时代
  • 数据仓库时代
  • 数据挖掘时代
  • 机器学习时代
  • 小结

大数据技术的使用经历了一个发展过程

从最开始的Google在搜索引擎中开始使用大数据技术,到现在无处不在的各种人工智能应用,伴随着大数据技术的发展,大数据应用也从曲高和寡走到了今天的遍地开花。

Google从最开始发表大数据划时代论文的时候,也许自己也没有想到,自己开启了一个大数据的新时代。今天大数据和人工智能的种种成就,离不开全球数百万大数据从业者的努力,这其中也包括你和我。历史也许由天才开启,但终究还是由人民创造,作为大数据时代的参与者,我们正在创造历史。

搜索引擎时代

作为全球最大的搜索引擎公司,Google也是我们公认的大数据鼻祖,它存储着全世界几乎所有可访问的网页,数目可能超过万亿规模,全部存储起来大约需要数万块磁盘。

为了将这些文件存储起来,Google开发了GFS(Google文件系统),将数千台服务器上的数万块磁盘统一管理起来,然后当作一个文件系统,统一存储所有这些网页文件。

你可能会觉得,如果只是简单地将所有网页存储起来,好像也没什么太了不起的

没错,但是Google得到这些网页文件是要构建搜索引擎,需要对所有文件中的单词进行词频统计,然后根据PageRank算法计算网页排名。

这中间,Google需要对这数万块磁盘上的文件进行计算处理,这听上去就很了不起了吧。当然,也正是基于这些需求,Google又开发了MapReduce大数据计算框架。

其实在Google之前,世界上最知名的搜索引擎是Yahoo。但是Google凭借自己的大数据技术和PageRank算法,使搜索引擎的搜索体验得到了质的飞跃,人们纷纷弃Yahoo而转投Google。所以当Google发表了自己的GFS和MapReduce论文后,Yahoo应该是最早关注这些论文的公司。在科技方面,如果有可靠的产品力的情况下,竞争优势是很可怕的。

Doug Cutting率先根据Google论文做了Hadoop,于是Yahoo就把Doug Cutting挖了过去,专职开发Hadoop。可是Yahoo和Doug Cutting的蜜月也没有持续多久,Doug Cutting不堪Yahoo的内部斗争,跳槽到专职做Hadoop商业化的公司Cloudera,而Yahoo则投资了Cloudera的竞争对手HortonWorks。

顶尖的公司和顶尖的高手一样,做事有一种优雅的美感。你可以看Google一路走来,从搜索引擎、Gmail、地图、Android、无人驾驶,每一步都将人类的技术边界推向更高的高度。而差一点的公司即使也曾经获得过显赫的地位,但是一旦失去做事的美感和节奏感,在这个快速变革的时代,陨落得比流星还快。

数据仓库时代

Google的论文刚发表的时候,吸引的是Yahoo这样的搜索引擎公司和Doug Cutting这样的开源搜索引擎开发者,其他公司还只是“吃瓜群众”。但是当Facebook推出Hive的时候,嗅觉敏感的科技公司都不淡定了,他们开始意识到,大数据的时代真正开启了。

曾经我们在进行数据分析与统计时,仅仅局限于数据库,在数据库的计算环境中对数据库中的数据表进行统计分析。并且受数据量和计算能力的限制,我们只能对最重要的数据进行统计和分析。这里所谓最重要的数据,通常指的都是给老板看的数据和财务相关的数据。

而Hive可以在Hadoop上进行SQL操作,实现数据统计与分析。也就是说,我们可以用更低廉的价格获得比以往多得多的数据存储与计算能力。我们可以把运行日志、应用采集数据、数据库数据放到一起进行计算分析,获得以前无法得到的数据结果,企业的数据仓库也随之呈指数级膨胀。

不仅是老板,公司中每个普通员工比如产品经理、运营人员、工程师,只要有数据访问权限,都可以提出分析需求,从大数据仓库中获得自己想要了解的数据分析结果。

你看,在数据仓库时代,只要有数据,几乎就一定要进行统计分析,如果数据规模比较大,我们就会想到要用Hadoop大数据技术,这也是Hadoop在这个时期发展特别快的一个原因。技术的发展同时又促进了技术应用,这也为接下来大数据应用走进数据挖掘时代埋下伏笔。

数据挖掘时代

大数据一旦进入更多的企业,我们就会对大数据提出更多期望,除了数据统计,我们还希望发掘出更多数据的价值,大数据随之进入数据挖掘时代。

讲个真实的案例,很早以前商家就通过数据发现,买尿不湿的人通常也会买啤酒,于是精明的商家就把这两样商品放在一起,以促进销售。啤酒和尿不湿的关系,你可以有各种解读,但是如果不是通过数据挖掘,可能打破脑袋也想不出它们之间会有关系。在商业环境中,如何解读这种关系并不重要,重要的是它们之间只要存在关联,就可以进行关联分析,最终目的是让用户尽可能看到想购买的商品。

除了商品和商品有关系,还可以利用人和人之间的关系推荐商品。如果两个人购买的商品有很多都是类似甚至相同的,不管这两个人天南海北相隔多远,他们一定有某种关系,比如可能有差不多的教育背景、经济收入、兴趣爱好。根据这种关系,可以进行关联推荐,让他们看到自己感兴趣的商品。

更进一步,大数据还可以将每个人身上的不同特性挖掘出来,打上各种各样的标签:90后、生活在一线城市、月收入1~2万、宅……这些标签组成了用户画像,并且只要这样的标签足够多,就可以完整描绘出一个人,甚至比你最亲近的人对你的描述还要完整、准确。

除了商品销售,数据挖掘还可以用于人际关系挖掘。你听过“六度分隔理论”吗,它认为世界上两个互不认识的人,只需要很少的中间人就能把他们联系起来。这个理论在美国的实验结果是,通过六步就能联系上两个不认识的美国人。也是基于这个理论,Facebook研究了十几亿用户的数据,试图找到关联两个陌生人之间的数字,答案是惊人的3.57。你可以看到,各种各样的社交软件记录着我们的好友关系,通过关系图谱挖掘,几乎可以把世界上所有的人际关系网都描绘出来。

现代生活几乎离不开互联网,各种各样的应用无时不刻不在收集数据,这些数据在后台的大数据集群中一刻不停地在被进行各种分析与挖掘。这些分析和挖掘带给我们的是美好还是恐惧,依赖大数据从业人员的努力。但是可以肯定,不管最后结果如何,这个进程只会加速不会停止,你我只能投入其中。

机器学习时代

我们很早就发现,数据中蕴藏着规律,这个规律是所有数据都遵循的,过去发生的事情遵循这个规律,将来要发生的事情也遵循这个规律。一旦找到了这个规律,对于正在发生的事情,就可以按照这个规律进行预测。

在过去,我们受数据采集、存储、计算能力的限制,只能通过抽样的方式获取小部分数据,无法得到完整的、全局的、细节的规律。而现在有了大数据,可以把全部的历史数据都收集起来,统计其规律,进而预测正在发生的事情。

这就是机器学习。

把历史上人类围棋对弈的棋谱数据都存储起来,针对每一种盘面记录如何落子可以得到更高的赢面。得到这个统计规律以后,就可以利用这个规律用机器和人下棋,每一步都计算落在何处将得到更大的赢面,于是我们就得到了一个会下棋的机器人,这就是前两年轰动一时的AlphaGo,以压倒性优势下赢了人类的顶尖棋手。

再举个和我们生活更近的例子。把人聊天的对话数据都收集起来,记录每一次对话的上下文,如果上一句是问今天过得怎么样,那么下一句该如何应对,通过机器学习可以统计出来。将来有人再问今天过得怎么样,就可以自动回复下一句话,于是我们就得到一个会聊天的机器人。Siri、天猫精灵、小爱同学,这样的语音聊天机器人在机器学习时代已经满大街都是了。

将人类活动产生的数据,通过机器学习得到统计规律,进而可以模拟人的行为,使机器表现出人类特有的智能,这就是人工智能AI。

现在我们对待人工智能还有些不理智的态度,有的人认为人工智能会越来越强大,将来会统治人类。实际上,稍微了解一点人工智能的原理就会发现,这只是大数据计算出来的统计规律而已,表现得再智能,也不可能理解这样做的意义,而有意义才是人类智能的源泉。按目前人工智能的发展思路,永远不可能出现超越人类的智能,更不可能统治人类。

这种想法也太过偏激,未来也有可能出现基因突变的可能性。都不好说,量变引起质变。

小结

大数据从搜索引擎到机器学习,发展思路其实是一脉相承的,就是想发现数据中的规律并为我们所用。所以很多人把数据称作金矿,大数据应用就是从这座蕴含知识宝藏的金矿中发掘有商业价值的真金白银出来。

这也是公务员考试中常见的找规律,找规律是做事情,事半功倍的好思路。

数据中蕴藏着价值已经是众所周知的事情了,那么如何从这些庞大的数据中发掘出我们想要的知识价值,这正是大数据技术目前正在解决的事情,包括大数据存储与计算,也包括大数据分析、挖掘、机器学习等应用。

美国的西部淘金运动带来了美国的大拓荒时代,来自全世界各地的人涌向美国西部,将人口、资源、生产力带到了荒蛮的西部地带,一条条铁路也将美国的东西海岸连接起来,整个美国也随之繁荣起来。大数据这座更加庞大的金矿目前也正发挥着同样的作用,全世界无数的政府、企业、个人正在关注着这座金矿,无数的资源正在向这里涌来。

我们不曾生活在美国西部淘金的繁荣时代,错过了那个光荣与梦想、自由与激情的个人英雄主义时代。但是现在,一个更具划时代意义的大数据淘金时代已经到来,而你我正身处其中。

大数据时代就是属于我们的淘金时代。

相关文章:

大数据应用发展史:从搜索引擎时代到机器学习时代

文章目录 搜索引擎时代数据仓库时代数据挖掘时代机器学习时代小结 大数据技术的使用经历了一个发展过程 从最开始的Google在搜索引擎中开始使用大数据技术,到现在无处不在的各种人工智能应用,伴随着大数据技术的发展,大数据应用也从曲高和寡…...

java基础之String的不可变性

目录 概述 String是如何实现不可变的 String为何设计成不可变的 1.缓存和性能优化 2.安全性 3.线程安全性 4.API设计和预测性能 概述 String类的不可变性意味着一旦创建了一个字符串对象,它的值就不能被修改。 String是如何实现不可变的 查看源码 public …...

【JS】Promise详解

概述 在 JavaScript 中,Promise 是一个表示异步操作最终完成或失败的对象。它本质上是一个返回的对象,你可以附加回调函数,而不是将回调传递给函数。 let promise new Promise((resolve, reject) > {let condition true; // 这可以是某…...

原生微信小程序如何动态配置主题颜色及如何调用子组件的方法

一、最终效果 二、步骤 1、在初始化进入项目时,获取当前主题色 2、把主题色定义成全局变量(即在app.js中设置) 3、tabBar也需要定义全局变量,在首页时需要重新赋值 三、具体实现 1、app.js onLaunch () {//获取主题数据this.set…...

Java关键字(1)

Java中的关键字是指被编程语言保留用于特定用途的单词。这些关键字不能用作变量名或标识符。以下是Java中的一些关键字: public:表示公共的,可以被任何类访问。 private:表示私有的,只能被定义该关键字的类访问。 cl…...

【机器学习合集】深度生成模型 ->(个人学习记录笔记)

深度生成模型 深度生成模型基础 1. 监督学习与无监督学习 1.1 监督学习 定义 在真值标签Y的指导下,学习一个映射函数F,使得F(X)Y 判别模型 Discriminative Model,即判别式模型,又称为条件模型,或条件概率模型 生…...

Java将PDF转换为文本

在Java中&#xff0c;你可以使用现有的库来将PDF文件转换为文本。下面是一个简单的示例&#xff0c;使用Apache PDFBox库来实现PDF到文本的转换。首先&#xff0c;确保在你的项目中添加了Apache PDFBox库的依赖。你可以在 Maven 项目中添加以下依赖&#xff1a; <!--Pdf--&g…...

Linux 运维工具之1Panel

一、1Panel 简介 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。 特点&#xff1a; 快速建站&#xff1a;深度集成 Wordpress 和 Halo&#xff0c;域名绑定、SSL 证书配置等一键搞定&#xff1b;高效管理&#xff1a;通过 Web 端轻松管理 Linux 服务器&#xff0…...

深入了解小红书笔记详情API:为内容创新提供动力

一、小红书笔记详情API简介 小红书笔记详情API是一种允许开发者访问小红书平台上的笔记详细数据的接口。通过这个API&#xff0c;我们可以获取笔记的标题、内容、标签、点赞数、评论数等详细信息。这些数据对于内容创作者和品牌来说至关重要&#xff0c;可以帮助他们了解用户喜…...

Animate 2024(Adobe an2024)

Animate 2024是一款由Adobe公司开发的动画和互动内容创作工具&#xff0c;是Flash的演进版本。Animate 2024为设计师和开发者提供了更丰富的功能&#xff0c;让他们能够创建各种类型的动画、交互式内容和多媒体应用程序。 Animate 2024具有以下特点&#xff1a; 强大的设计工…...

尽量避免删改List

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 学习必须往深处挖&…...

【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;诗赋清音&#xff1a;柳垂轻絮拂人衣&#xff0c;心随风舞梦飞。 山川湖海皆可涉&#xff0c;勇者征途逐星辉。 目录 &#x1fa90;1 初识Linux OS &…...

计算机组成原理复习4

习题 练习题 下列不属于系统总线的为&#xff08;&#xff09; a.数据总线 b.地址总线 c.控制总线 d.片内总线 D 系统总线中地址总线的功能是&#xff08;&#xff09; a.选择主存单元地址 b.选择进行信息传输的设备 c.选择外存地址 d.指定主存和I/O设备接口电路的地址 D 解…...

AutoSAR(基础入门篇)3.3-Autosar中RTE的数据一致性与Interface接口

目录 一、RTE的数据一致性 1、什么是数据一致性 2、数据一致性的实现机制 2.1、利用RTE管理<...

超维空间S2无人机使用说明书——52、初级版——使用PID算法进行基于yolo的目标跟踪

引言&#xff1a;在实际工程项目中&#xff0c;为了提高系统的响应速度和稳定性&#xff0c;往往需要采用一定的控制算法进行目标跟踪。这里抛砖引玉&#xff0c;仅采用简单的PID算法进行目标的跟随控制&#xff0c;目标的识别依然采用yolo。对系统要求更高的&#xff0c;可以对…...

<JavaEE> TCP 的通信机制(一) -- 确认应答 和 超时重传

目录 TCP的通信机制的核心特性 一、确认应答 1&#xff09;什么是确认应答&#xff1f; 2&#xff09;如何“确认”&#xff1f; 3&#xff09;如何“应答”&#xff1f; 二、超时重传 1&#xff09;丢包的概念 2&#xff09;什么是超时重传&#xff1f; 3&#xff09…...

Spark任务调度与数据本地性

Apache Spark是一个分布式计算框架&#xff0c;用于处理大规模数据。了解Spark任务调度与数据本地性是构建高效分布式应用程序的关键。本文将深入探讨Spark任务调度的流程、数据本地性的重要性&#xff0c;并提供丰富的示例代码来帮助大家更好地理解这些概念。 Spark任务调度的…...

【论文阅读】Self-Paced Curriculum Learning

论文下载 代码 Supplementary Materials bib: INPROCEEDINGS{,title {Self-Paced Curriculum Learning},author {Lu Jiang and Deyu Meng and Qian Zhao and Shiguang Shan and Alexander Hauptmann},booktitle {AAAI},year {2015},pages {2694--2700} }1. 摘…...

C++简易线程池

原理说明&#xff1a; 1. 线程池创建时&#xff0c;指定线程池的大小thread_size。当有新的函数任务通过函数addFunction ()添加进来后&#xff0c;其中一个线程执行函数。一个线程一次执行一个函数。如果函数数量大与线程池数量&#xff0c;则后来的函数等待。 2. 线程池内部…...

【MATLAB】PSO粒子群优化LSTM(PSO_LSTM)的时间序列预测

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 PSO粒子群优化LSTM&#xff08;PSO-LSTM&#xff09;是一种将粒子群优化算法&#xff08;PSO&#xff09;与长短期记忆神经网络&#xff08;LSTM&#xff09;相结合的混合模型。该算法通过…...

产品经理学习-怎么写PRD文档

目录 瀑布流方法论介绍 产品需求文档&#xff08;PRD&#xff09;介绍 产品需求文档的基本要素 撰写产品需求文档 优先产品需求文档的特点 其他相关文档 瀑布流方法论介绍 瀑布流模型是一种项目的开发和管理的方法论&#xff0c;是敏捷的开发管理方式相对应的另一种方法…...

第3课 获取并播放音频流

本课对应源文件下载链接&#xff1a; https://download.csdn.net/download/XiBuQiuChong/88680079 FFmpeg作为一套庞大的音视频处理开源工具&#xff0c;其源码有太多值得研究的地方。但对于大多数初学者而言&#xff0c;如何快速利用相关的API写出自己想要的东西才是迫切需要…...

Spark编程实验四:Spark Streaming编程

目录 一、目的与要求 二、实验内容 三、实验步骤 1、利用Spark Streaming对三种类型的基本数据源的数据进行处理 2、利用Spark Streaming对Kafka高级数据源的数据进行处理 3、完成DStream的两种有状态转换操作 4、把DStream的数据输出保存到文本文件或MySQL数据库中 四…...

Flink去重计数统计用户数

1.数据 订单表&#xff0c;分别是店铺id、用户id和支付金额 "店铺id,用户id,支付金额", "shop-1,user-1,1", "shop-1,user-2,1", "shop-1,user-2,1", "shop-1,user-3,1", "shop-1,user-3,1", "shop-1,user…...

力扣:62. 不同路径(动态规划,附python二维数组的定义)

题目&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&…...

2022年全球运维大会(GOPS深圳站)-核心PPT资料下载

一、峰会简介 GOPS 主要面向运维行业的中高端技术人员&#xff0c;包括运维、开发、测试、架构师等群体。目的在于帮助IT技术从业者系统学习了解相关知识体系&#xff0c;让创新技术推动社会进步。您将会看到国内外知名企业的相关技术案例&#xff0c;也能与国内顶尖的技术专家…...

8868体育助力意甲罗马俱乐部 迪巴拉有望付出

8868体育助力意甲罗马俱乐部 迪巴拉有望付出 意甲罗马俱乐部是8868体育合作球队之一&#xff0c;本赛季&#xff0c;在意甲第14轮的比赛中&#xff0c;罗马客场2-1战胜萨索洛&#xff0c;积分上升到意甲第4位。 有报道称&#xff0c;迪巴拉在对阵佛罗伦萨的比赛中受伤&#xff…...

java设计模式实战【策略模式+观察者模式+命令模式+组合模式,混合模式在支付系统中的应用】

引言 在代码开发的世界里&#xff0c;理论知识的重要性毋庸置疑&#xff0c;但实战经验往往才是知识的真正试金石。正所谓&#xff0c;“读万卷书不如行万里路”&#xff0c;理论的学习需要通过实践来验证和深化。设计模式作为软件开发中的重要理论&#xff0c;其真正的价值在…...

小程序wx:if 和hidden的区别?

在小程序中&#xff0c;wx:if 和 hidden 是用于条件渲染的两种不同方式。 选择使用哪种方式取决于具体情况。如果条件变化频繁或节点包含复杂的子节点&#xff0c;可以考虑使用 wx:if 进行条件渲染&#xff1b;如果条件变化较少且节点结构简单&#xff0c;可以使用 hidden 控制…...

自动驾驶学习笔记(二十三)——车辆控制模型

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—>传送门 文章目录 前言 运动学模型 动力学模型 总结…...

电商网站设计与制作/营销策略主要包括哪些

最近准备编译chromium&#xff0c;发现有些包升级成最新版&#xff0c;但是相应的dev包却还没有升级的包。 这个问题困扰了我很久&#xff0c;最后发现原来新立得有一个强制版本的功能&#xff0c;这下好了&#xff0c;直接强制降级&#xff0c;然后后可以顺利的安装dev包了&am…...

cms网站系统/网络营销方法有什么

????????关注后回复 “进群” &#xff0c;拉你进程序员交流群????????平时工作累了&#xff0c;空(mo)闲(yu)时最喜欢逛的个人博客之一就是阮一峰老师的博客&#xff0c;昨天他的博客平台看到一篇文章(https://www.ruanyifeng.com/blog/2021/06/drunk-post-of…...

泸州大浪科技做网站/品牌词优化

function [Ibw, thres] autoThreshold(I) % 迭代法自动阈值分割 % % 输入&#xff1a;I - 要进行自动阈值分割的灰度图像 % 输出&#xff1a;Ibw - 分割后的二值图像 % thres - 自动分割采用的阈值thres 0.5 * (double(min(I(:))) double(max(I(:)))); %初始阈值 done …...

广州公司建站模板/seo推广什么意思

最近金融市场像过山车一样&#xff0c;高高低低&#xff0c;哀声一片&#xff0c;媒体称为全球股灾。虽然金融市场极其让人失望&#xff0c;但是互联网垂直B2B市场却异常的火爆&#xff0c;一两年时间&#xff0c;冒出了不少垂直B2B电商平台&#xff0c;最为显眼的&#xff0c;…...

wordpress 主题 ie8/成全在线观看免费高清动漫

首先要知道的是(如JLS所述)以下增强的for循环&#xff1a;for (String s : list) {// Do something with s}相当于&#xff1a;for (Iterator it list.iterator(); it.hasNext();) {String s it.next();// Do something with s}如果你看一下AbstractList中迭代器的实现,你会看…...

创意设计字体/seo团队

&#x1f352; 作者简介&#xff1a;大学机械本科&#xff0c;野生程序猿&#xff0c;学过C语言&#xff0c;玩过前端&#xff0c;还鼓捣过嵌入式&#xff0c;设计也会一点点&#xff0c;不过如今痴迷于网络爬虫&#xff0c;因此现深耕Python、数据库、seienium、JS逆向、安卓逆…...