结论:技术蛮牛,体验一般。
——————————————————————————————————————————
现在大数据被媒体一帮理工文盲玩坏了。。。觉得数据量大就是大数据,或者甚至里面数字大也是大数据。。。。唉
请问统计个搜索量跟大数据有什么关系......
所谓Big Data其实是有两部分组成的。一部分是海量运算存储能力,一部分是数据建模算法。
第二部分其实是一个蛮久的学科了。20年前我们叫做statistical analysis,10年前叫data mining,5年前叫machine learning,最近叫big data。其实就是用数学建模的方法对过去的数据建模,以期可以预测未来的行为。比如netflix用你的历史评分来猜你喜欢的电影,yelp用你历史喜好来预测你的口味。。。
但是在之前人们发现虽然模型看起来不错,但是第一海量的数据不好存储,第二是超大型矩阵运算要很长时间,这对于一个需要快速响应的系统显然是不行的。
最直接的方式就是提高硬盘和CPU的capacity,但是后来发现远远赶不上需求。于是大量的研究聚集到了并行计算的架构上。感谢google带来的mapreduce和hadoop,码农们有了一个标准化和广泛接受的并行存储计算框架。之前的bottleneck在近几年突然被突破了,人们发现可以实时运算数据量瞬间达到了PB级别。面对这样的海量数据人们提出了Big Data的概念。
另外一点就是互联网的急速发展,一方面大带宽促进了并行计算发展,一方面人们越来越多的在网络发布自己的信息。这使得挖掘数据越来越成为一个有商业前景的技术。
下面来回答题主的问题:大数据到底牛不牛?
就并行计算来讲确实很牛。但原理很简单,就是把一个巨型的矩阵切片分给一个个小的机器来处理(Map),然后把计算结果汇总处理(Reduce)。这样不用提高单个核心的运算频率的条件下,通过并行运算来达到速度加倍的效果。虽然说起来很简单,但其中牵扯到的数据存储方式、计算负荷分配等技术确实到近几年才突飞猛进的发展完善。吐槽一下....看到有人说hadoop被sql虐。这很正常好嘛....能一台机器上解决的事情你分一堆机器做,网络不要时间么....
但是这些后台的东西,我们普罗大众是感受不到的。我们能感受到是处理以后的结果,也就是模型的质量。这部分牛不牛,个人觉得其实一般般。
大数据应用比较广泛的一个领域就是推荐系统(Recommander System)。其中很有名的事件是在2009年,netflix举办了一个奖金一百万美金的比赛。netflix开放了一部分数据库的用户数据,要求每个参赛者根据这些数据预测这些用户未来对影视作品的打分。但是结果如何呢?
这是当时的leaderboard,第一名的得分是0.86左右。什么意思呢?就是他对用户打分的预测有平均0.86的误差。也就是说如果你给一个电影评分3.5,表示你还算满意,结果预测是2.7,表示不满意....而且最悲催的是netflix花了一百万之后的来的模型,他们决定不用了,因为太复杂,运算起来不划算。当时他们自己的误差是0.9以上。
值得注意的是这里面没有冷启动问题。什么意思呢?就是在test set里面没有出现新用户。Yelp在去年举办了类似的比赛,其中就涉及了冷启动的问题。就是要求模型在已知用户基本信息(性别,地理位置,年龄...)而没有历史评分的情况下预测他们对饭店的打分。
看到了吧。结果更加差强人意。。。
这个结论最直观的表现就是,我们在电商网站上经常会被推送一些莫名其妙的东西....
还有一个很火的概念是利用社交网站的sentimental data来预测市场走势。我来给大家看一个利用社交网站数据来预测每分钟股票价格的比赛....
这是比赛的结果,看上去不错哈。
...这是简单用上分钟的收盘价来预测的结果。是不是很打击.....
这方面反而不如简单统计google关键词搜索量来的表现好
这是最近一篇nature的文章。有兴趣可以去看看。