大数据就是一切
大数据是一个营销术语,而不是技术术语。如今,一切都是大数据。我的U盘现在是“个人云”,我的硬盘是大数据。严重地。这是一个完全不具体的术语,主要由各种非常乐观的公司的营销部门可以出售的产品定义 - 以及大公司的 C*O 购买的产品,以使奇迹发生。更新:到目前为止,这同样适用于数据科学。这只是营销。
数据挖掘是旧的大数据
实际上,数据挖掘也被过度使用了......它可能意味着任何东西,例如
- 收集数据(想想 NSA)
- 存储数据
- 机器学习/人工智能(早于数据挖掘一词)
-
非 ML 数据挖掘(如“知识发现”中,数据挖掘一词实际上是创造出来的;但重点是新知识,而不是现有知识的学习)
- 业务规则和分析
- 可视化
- 任何涉及您想卖掉一大笔钱的数据
只是营销需要一个新术语。 “商业智能”、“商业分析”……他们仍然继续销售相同的东西,现在只是更名为“大数据”。
大多数“大”数据挖掘并不大
由于大多数方法 - 至少是那些给出有趣结果的方法 - 只是无法扩展,因此“挖掘”的大多数数据实际上并不大。它显然比 10 年前大得多,但不像艾字节那样大。 KDnuggets 的一项调查显示,平均“分析的最大数据集”为 1-10 GB。那不是任何数据管理手段的大数据;只有使用 complex 方法可以分析的东西才大。 (我不是在谈论诸如 k-means 之类的琐碎算法)。
大多数“大数据”不是数据挖掘
现在“大数据”是真实的。谷歌有大数据,欧洲核子研究中心也有大数据。大多数其他人可能没有。数据开始变大,当您需要 1000 台计算机来存储它时。
Hadoop 等大数据技术也是真实存在的。它们的使用并不总是明智的(不要费心运行少于 100 个节点的 hadoop 集群——因为此时您可能可以从精心挑选的非集群机器上获得更好的性能),但当然人们会编写这样的软件。
但大多数正在做的不是数据挖掘。它是Extract, Transform, Load (ETL),所以它正在取代数据仓库。不是使用具有结构、索引和加速查询的数据库,而是将数据转储到 hadoop 中,当您弄清楚要做什么时,您重新读取所有数据并提取您真正需要的信息,对其进行转换,然后将其加载到您的 Excel 电子表格中。因为经过选择、提取和转换后,通常它不再“大”了。
数据质量受大小影响
大数据的许多营销承诺不会成立。 Twitter 为大多数公司提供的洞察力比广告宣传的要少得多(除非你是青少年摇滚明星); Twitter 用户群有很大的偏见。纠正这种偏差很困难,需要经验丰富的统计学家。
数据偏差是一个问题 - 如果您只是从互联网或应用程序中收集一些随机数据,它通常不具有代表性;特别是不是潜在用户。相反,如果您无法消除这些影响,您将过度适应现有的重度用户。
另一个大问题是噪音。您有垃圾邮件机器人,但也有其他工具(想想导致“趋势”强化的 Twitter“趋势主题”)使数据比其他来源更嘈杂。清理这些数据困难,而且不是技术问题,而是统计领域专业知识。例如,Google Flu Trends 一再被发现是相当不准确的。它在较早的几年中有效(可能是因为过度拟合?),但质量不再好。
不幸的是,很多大数据用户对此关注得太少了;这可能是大多数大数据项目似乎失败的众多原因之一(其他原因是管理不善、期望过高和不切实际,以及缺乏公司文化和技术人员)。
Hadoop != 数据挖掘
现在是您问题的第二部分。 Hadoop 不进行数据挖掘。 Hadoop 管理数据存储(通过 HDFS,一种非常原始的分布式数据库)并调度计算任务,允许您在存储数据的同一台机器上运行计算。它不做任何复杂的分析。
有一些工具试图将数据挖掘引入 Hadoop。尤其是Apache Mahout可以称为Apache官方在Hadoop上进行数据挖掘的尝试。除了它主要是一种机器学习工具(机器学习!=数据挖掘;数据挖掘有时使用机器学习的方法)。 Mahout 的某些部分(例如集群)远非先进。问题是 Hadoop 适合线性问题,但大多数数据挖掘不是线性的。非线性算法不仅可以扩展到大数据;您需要仔细开发线性时间近似值并忍受精度损失 - 损失必须小于仅处理较小数据所损失的损失。
这种权衡问题的一个很好的例子是 k-means。 K-means 实际上是一个(大部分)线性问题;所以它可以在Hadoop上运行。单次迭代是线性的,如果你有一个好的实现,它可以很好地扩展到大数据。然而,直到收敛的迭代次数也随着数据集的大小而增长,因此它并不是真正的线性。然而,由于这是一种寻找“手段”的统计方法,结果实际上并没有随着数据集的大小而有太大改善。因此,虽然您可以在大数据上运行 k-means,但它并没有多大意义——您可以只取数据样本,运行高效的单节点版本的 k-means,结果将一样好。因为额外的数据只是为您提供了一些您不需要那么精确的值的额外精度。
由于这适用于很多问题,Hadoop 上的实际数据挖掘似乎还没有开始。每个人都试图这样做,而且很多公司都卖这种东西。但它并没有比非大版本好多少。但只要客户想买这个,公司就会出售这个功能。只要它得到你的资助,研究人员就会在这方面写论文。不管它是否有效。这就是生活。
在少数情况下,这些东西会起作用。谷歌搜索就是一个例子,Cern。但图像识别(但不使用 Hadoop,GPU 集群似乎是通往那里的方式)最近也受益于数据大小的增加。但在任何这些情况下,您都有相当干净的数据。谷歌索引一切; Cern 丢弃任何不感兴趣的数据,只分析有趣的测量值 - 没有垃圾邮件发送者将他们的垃圾邮件输入 Cern ......在图像分析中,你训练预先选择的相关图像,而不是网络摄像头或来自互联网的随机图像(和如果是这样,您将它们视为随机图像,而不是代表性数据。