大数据浅析

到底什么是大数据(Big data)呢?大数据通常是用来形容大量的非结构化或半结构化的数据,这样的数据要想将他们转化为关系型数据用作日后分析使用所需的前期处理需要花费高昂的代价。而大数据技术,就是从各种类型的数据中快速获得有价值信息的技术。

一般来说大数据有这样 4 个特点:容量(Volume)、种类(Variety)、价值(Value)和速度(Velocity)。前面我们只谈到的大容量,这个是大家最好理解 的,但大数据并不只有大容量,其包含的数据类型也是多种多样的,在大量的数据中往往有用有价值的数据很少也即价值密度很低,最后当然要求处理速度够快,比 如你用 Google 搜索引擎去搜索相关感兴趣的内容,其能够很快的检索到你需要的内容,谁也不想为此等上数分钟。

“按图索骥”背后的机器学习技术:主动学习和半监督

下面的探讨我们将大数据限定到图像上。在《探寻“找图”的最佳方式》有谈到,

根据你输入的文字,然后找到与之相关的图片,仍然是搜索引擎寻找图片的基本方法:基于文字词义的理解。

对于通过文本标签做图像检索 Google 早早将该技术融入到其搜索引擎中,包括后来的 Bing 。要实现这样的搜索是需要建立在数以万计乃至数以亿计的大量图像数据基础之上的,不但要首先获得这样的数据而且还需要对这些数据进行类别标注,这其中就包 括添加文本标签。但这样的工作显然太费人力,成本代价极其高昂。

为了解决这样的问题,有两种机器学习领域的技术发挥重要作用:主动学习技术和半监督学习技术。

主动学习技术,以图像分类为例,就是利用少量已标记的图像去学习一个分类模型,然后根据这个模型对未标记图像进行分析。根据各种准则,分析这些未标 记图像中最不能判定是哪个类别的图像,再交由人来分类标记。随着这个过程不断进行,训练集不断增大,当要求的精度满足时停止迭代,剩余的未标记样本就可以 通过之前学习到的分类模型全部自动分类,通过理论和大量实验可知这样需要人来参与分类标记的图像是很少的,这也就大大降低了成本。

半监督学习技术,与主动学习相比,其又利用了未标记图像的结构信息—可能是图像的流形信息,使得最后的判断更加可靠。但研究所使用的数据集都不大, 如果将这些算法搬到大数据上所花费的时间成本也是巨大的。如果单靠一种分类器无法满足性能要求时,我们就需要尝试采用集成方法将多个分类器或多种不同分类 器进行结合来处理大规模数据,如果再结合并行的思想将使集成方法更如虎添翼。

基于图片内容搜索的技术

虽然 Google 于 2008 年提出图片直接搜索服务,但那时其技术与其他竞争对手相比可真是差强人意。图像直接搜索的老牌服务提供者是 TinEye , 自从 2008 年出现就要比 Google 的算法更加精确,可以非常精确的在整个互联网上匹配到你需要的目标图像而且搜索速度非常快。像这种基于内容的图像搜索有很多好处,比如有时你根本不知道你想要搜索的对象叫什么,当然也就无法通过文本去搜索。

而这种基于内容的图像检索一般分为三步:

  • 将目标图片进行特征提取,主要就是通过各种特征提取算法比如目前最好的就是 SIFT 描述子(Descriptor ),这样就不必对图片进行像素级的处理减少运算量。
  • 将图像特征进行编码,并将海量图像编码做成库或表。(如果目标图像分辨率很高,也可以进行下采样减少运算量后再进行特征提取和编码)。
  • 相似度匹配计算,利用目标图像的编码值在图像搜索引擎中的图像库进行全局或局部相似度计算,相似度高的预保留下来,然后可以进行进一步的筛选。得到的这些图像也可以作为其他机器学习方法的训练数据集。

随着这几年图像搜索技术的日趋成熟,Google 也全面改进了图像搜索技术,现在也可以实现基于内容的图像搜索,同 Tineye 类似也可以将图片直接拖进搜索框中或者把图像的 URL 地址直接复制进搜索框中,便可以得到相关图像。

根据 Neal Krawetz 博士的解释,Google 采用了”感知哈希算法”(Perceptual hash algorithm),给每张图片生成“指纹”,通过比较“指纹”的近似值,以找出相似的图片。在这一过程中,Google 所做的事情包括:

  • 缩小图片尺寸:将图片的尺寸缩小到 8 x 8,去除图片细节,保留基本结构、明暗等信息;
  • 转化色彩:将色彩转化为 64 级灰度;
  • 计算平均值:计算所有像素的灰度平均值;
  • 比较像素的灰度:比较每个像素的灰度与灰度平均值之间的差异;
  • 计算哈希值:将比较结果组合在一起,便得到图片的“指纹”信息。

【补充】Google 的这种方式也不能说十全十美——如果图片中有干扰噪声比如添加了文字或其他遮挡物,那搜索结果将很不一样,因为哈希值会变得非常离谱,那个方法只能用来从 低像素的图片搜高像素的图片(要求哈希值几乎相同),而不能搜到相关强的图片(可能有适度的遮挡或文字等信息,哈希值大不相同),应用范围较为狭窄。

实例:用 Google 来按图索骥

这里我们做了一个尝试,将 Anne Hathaway 的这幅图片作为目标图片,将其拖到 TinEye 和 Google 图片搜索引擎中去搜索,注意如图 1 所示,我们故意更改了图片名称(文字标注)。图 2 和图 3 分别为 TinEye 与 Google 图片搜索的结果。

图 1 我们故意将图片的名称取作 Google Chrome.png

 图 2 TinEye 的搜索结果

图 3 Google 图片搜索的结果

可以看出,检索结果都相当精确,包括给出了图片出自的网址,Google 图片搜索甚至给出了图片上人物姓名的猜测,虽然不是完全正确但也是相当了不起了。 TinEye 的数据库与 Google 的相比相对来说小些,相信不就的将来也会得到扩充。提供具有类似功能的还有诸如 Incogna 以及 百度识图 等。

计算机看到的图片不仅仅是成百上千的像素,其需要从中分析颜色,亮度,从而进行图片的特征提取,以目前最具实力的 Google 为例,Google 采用了超大规模的实时并行计算。自 2010 年以来 Google 搜索引擎发生了重大变革,将其搜索迁移到了新的软件平台 Caffeine 使得搜索更加高效,其可以对来自互联网的几百亿张图片进行实时的图像特征匹配,从而更加快速的反馈用户相关的搜索结果。这些都需要大数据背景下机器学习等 技术作为坚实的后盾。而数据挖掘技术又是大数据背景下机器学习应用的另一个重要领域。谁能尽早的向数据“掘金”,谁就能在今后的激烈竞争中先拔头筹。

大数据背景下的“按图索骥”及基于图片内容搜索的技术相关推荐

  1. 浅谈大数据背景下数据库安全保障体系

    现阶段大数据产业的快速发展创造了极大的经济效益,大数据的出现推动了社会经济发展,但是随之而来的数据库安全问题也引起了学者对大数据信息安全问题的反思.大数据时代下的信息与隐私安全问题已经成为全球性重点关 ...

  2. 基于大数据背景下的全国各大城市地铁客流量分析

    目录 第一章 项目介绍 第二章 项目组织与项目计划 第三章 数据采集 3.1 数据采集目标 3.2 数据采集工具与方法 3.3 数据采集流程 3.4 数据采集保存 3.5 本章小结 第四章 数据预处理 ...

  3. 大数据架构详解_【数据如何驱动增长】(3)大数据背景下的数仓建设 amp; 数据分层架构设计...

    背景 了解数据仓库.数据流架构的搭建原理对于合格的数据分析师或者数据科学家来说是一项必不可少的能力.它不仅能够帮助分析人员更高效的开展分析任务,帮助公司或者业务线搭建一套高效的数据处理架构,更是能够从 ...

  4. 【2016年第2期】大数据背景下的治理现代化:何以可能与何以可为(下)

    4  大数据时代治理现代化: 何以可为 大数据确实给国际治理现代化带来了诸多机遇,同时也带来了诸多挑战,比如数据暴力和数据鸿沟.数据隐私的泄漏.数据质量难以保证等.人们需要思考的是推进治理现代化应何以 ...

  5. 大数据背景下的信息资源管理

    摘要:随着网络信息化时代的日益普遍,我们正处在一个数据爆炸性增长的"大数据"时代,在我们的各个方面都产生了深远的影响.大数据是数据分析的前沿技术.简言之,从各种各样类型的数据中,快 ...

  6. 学界 | 大数据背景下,景观研究怎么做?

    在这篇文章的开头,在下并不想将很多有关于大数据景观的大概念和大理论摆出来,因为并不直观也很难理解,所以,直接想给大家分享两个案例,之后我们在逐步深入说明: 巴塞罗那大时代--用展现来强化文化遗产和社会 ...

  7. 大数据背景下网络信息安全分析探讨

    大数据背景下网络信息安全分析探讨 刘松溢 (华北理工大学 河北省唐山市曹妃甸区华北理工大学063210) 摘要:在经济快速发展的今天,大数据技术已被广泛地运用于社会生活中,这些技术的应用给人类的生产和 ...

  8. 大数据学情分析_大数据背景下的大学生学情分析研究

    宋承云 张琼敏 石美凤 厉华杰 摘 要:"学情分析"是教学活动的基本环节,也是教学研究的基本内容.在我国大学生教育从"量"到"质"转型的背景 ...

  9. 大数据开发:大数据背景下的数据库选型

    在IT技术领域,数据库技术是重要的支撑性技术,尤其是进入大数据时代以来,海量的数据累积起来,成为庞大的数据集合,更是需要强大的数据库去完成存储支持.今天我们主要来讲讲,大数据背景下的数据库选型. 整体 ...

最新文章

  1. Java中date和calendar的用法
  2. Ubuntu18.04安装Dlib-19.19.0成功
  3. GoogLeNet Inception 系列
  4. 拨号云服务器怎么自动配置网关_教你在阿里云创建增强型云网关
  5. (十)IDEA添加mybatis-mapp.xml文件
  6. Turtlebot3调试必看——爬坑笔记
  7. 实用网址(平时记下的)
  8. AdvStringGrid 复选框、goRowSelect
  9. php mysql 任务队列_PHP+MySQL实现消息队列步骤详解
  10. 设置将Maven的jar包发布到lib
  11. 移动端APP测试概要
  12. vb.net使用hook技术之键盘鼠标钩子
  13. 多渠道门店如何进行会员管理和会员营销
  14. 双向链表DoublyLinkedList类
  15. Chrome\Edge 更新后访问网站变慢或加载不出来,其他浏览器正常
  16. Python3 安装cx_Oracle 指导手册
  17. 《流畅的Python第二版》读书笔记——文本和字节序列
  18. 外包公司值不值得去?外包公司的面试特点
  19. 月嫂公司如何把一次性的生意,变成源源不断的生钱机器
  20. js 中国标准时间,时间戳 ,yyyy-mm-dd格式之前相互转换

热门文章

  1. 讯飞语音——离线命令词+语义识别
  2. elementui tree父节点
  3. python django 在线练习题系统
  4. 神秘的大连高新园区房产交易管理网
  5. 模式识别:让数据说话,让机器决策
  6. 三星3475处理器_三星新入门手机Galaxy O5 采用Exynos 3475处理器
  7. 2023最新可用泛目录,苹果cms泛目录蜘蛛池
  8. 实验1 线性回归 实操项目1——糖尿病情预测
  9. 小程序 表单 formId 为 the formId is a mock one
  10. python显示结果带单位_python怎么设置页面显示单位