数据挖掘的若干问题

来源:互联网 发布:阿里金融云 编辑:程序博客网 时间:2024/05/16 15:19

最近几年大数据被炒得很火,而数据分析也逐渐吃香。由于不下心在这个行业呆过两年,把自己的丁点儿想法写下来,供大家指正交流。

大数据VS小数据(引子):数据分析并不是互联网出现之后才有的,早期的天文学家开普勒、哥白尼之所以提出日心说,都是基于大量的观测数据而得到结论。尤其是普通物理学的各种定律等,往往都是以实验室的实验数据为基础。以此并不能发现,数据分析对近代社会的科学发展带来了不可磨灭的贡献。但是互联网时代开始,人们的网上行为都被记录下来,或许当‘物联网’时代来临之后,绝大多数的行为事件都会被记录,“大”的时代就这样来临。

现在提到的大数据的“大”往往隐含了数据的更新快速、种类繁杂、数据量大、价值密度低、对分析者更高的数据掌控理解的要求等等一些特征,有时候故障、人为引起的异常数据也会混杂其中。而与此相对我们说的小数据则种类单一(我们做安培定律的实验时不需要关心什么时候做实验,做实验之前上的是语文课还是数学课,做实验的时候心情怎么样,最后的结果都是安培定律又一次被验证了,而对于用户而言即使我们知道发身在他身上的一切,也可能猜不到下一刻他要干啥),数据量小(一个4*4的表格的数据就基本够我们下结论了),并且数据的正确性有足够的保证。不禁有些期待在小数据都有如此惊人的成就时,大数据又带来怎样的变革?

理性VS直觉:在招聘数据分析师的条条框框中经常看到“较强的数据感”,咋一看怎么都不明白什么,怎么算有数据感,后来一想大概就是直觉,初听起来和数据分析这种“死理性派”的东西有点格格不入,这个东西真的很重要吗?在数学上有一条定理叫费马小定理,说的是一个叫费马的人不知道哪天吃错了药,猜出一个费马小定理(当然那个时候可能不这么叫,感兴趣的可以百度一下具体内容),三百年后终于被当代的杰出青年证明出来了。类似于此的例子在自然科学领域比比皆是,比如相对论在提出的时候其实也是没有任何数据支撑的,有一群人(虽然他们站错了队,但也是当时的杰出青年)设计了巧妙的实验企图证明它是荒谬的,于是数据支撑也就渐渐多了。不管怎么说,如果在解一道题之前就猜到了正确答案,对于解题的帮助可是不小的;当然如果经常猜错,那就是没数据感了。其实直觉判断对于我们经常遇到的事物所做的判断一般都会很准确(比如:我们起床之后从来都不会思考先穿袜子还是先穿鞋,但我们就是知道要先穿袜子),但是面对新鲜事物时,我们的大脑就好像一个没有被训练过的神经网络模型,会给出十分荒谬的答案,模型没错,错的是没经验。

设计VS训练:往往一提到数据挖掘、机器学习之类的,大家很容易想到“训练”之类的词汇,而往往不会想到“设计”这个词;但对于一个应用的model而言,其中特征的选取、量化、组合方式,训练集测试集的选取,异常数据的处理这些部分都是由modeler设计而来,最后剩下少量测参数由训练给出结果。其中设计的部分主观成分很多,虽然我们引用各种统计学知识作为证据,但是不同的modeler设计出的东西可能完全不同,但是训练的部分则会更倾向于客观。不同的model训练和设计所占的比重可能不同,比如对于一个ictclas中文分词算法来说,其中所有参数都是统计而来,而最后只看成句的概率高低,完全没有发现其中有任何训练的痕迹,现在一般提到的item based,user based 的协同过滤算法也是设计为主,不含训练的而成分;但是对于一个神经网络的系统而言,除了特征的组合方以及神经网络的层数等被事先给定,参数几乎完全是训练学习而来(或基于统计结果的优化),而较热的深度学习甚至连特征选取都交给训练完成(虽然这个训练的目标已经不是过去的最优函数,而是自编码,不过应该还是属于训练的范畴)。对于训练模型来说有一个梦魇永远如影随形,就是过拟合(通俗点就是model只对当前训练集有效),有时候人们用正则项来应对这个问题。假如有一天深度学习取代了其他所有方法一家独大,”数据感“一词估计就会退出舞台,不过那个时候电脑估计也能思考了。

特征VS算法:算法是个什么东西呢?如果我们用X表示所有的相关因素的集合,Y表示相关因素X确定后的某个我们关注事物。因为事物之间的必然联系,我们知道有一个函数H使得我们在X已知时可以判断Y,即Y=H(X)。一般来说大家说的算法就是指H,也就是处理已知的X然后得到未知Y的方法(函数),当然,特征指的就是X了。但从这个数学形式上面来看,算法H和特征X都是直接影响输出重要因素,但是我们总是看到利用了“XXX算法”准确度提升了“XXX”之类的报告,却很少有说利用“XXX特征”,原来的算法准确度提升了“XXX”;算法为什么就被宣传得“高大上”,而特征却默默无闻呢?这里我也不多说,大家可以看看这篇小文http://yanyiwu.com/work/2014/06/01/tuijian-xitong-de-nadianshi.html;虽然作者可能有点小愤青,但是其中一些观点也是我想说的,脱离特征的算法是不可取的。其实工作中我有两个词是不太愿意用的,一个是“算法”,另一个是“模型”。

因果VS相关:《大数据》一书浓墨重彩的的说了一个观点:是相关关系,而不是因果关系。有时候也有些人引用这一观点,但是我想为“因果关系”说句话。在数据分析中我们发现的是相关关系,数据并不能够证明其因果性;如果我们仅仅满足于观察了解世界,相关的确足够了,但是如果想改变,则必须因果关系。为了说明这一问题,我举一个例子:某餐饮公司通过长期的数据观察发现如下两条线索:A.每月的绩效和每月的食材进货量正相关;B.每月的绩效和每月的广告宣传正相关。老板看了这两个线索后,提出两个方案,希望能够提高绩效:A)每月进货量提升为原来的1.2倍 B)每月的广告费用提升为原来的1.2倍。老板采用了方案A然后大赚特赚,大家觉得可能吗?但是如果供货商想根据下游的进货量去估测下游商家的绩效以及发展情况,A线索却仍然是一个不错的选择。因此对于想要改变现状的人们来说,相关关系并不足够,必须清楚各个事物之间的因果关联才能做出正确的选择。我们从数据中统计发现的是相关关系,但是我们追求的是因果关系。

简VS繁:之前一段时间去听过一个讲座,是关于 NIID的(非独立同分布)。主要是说绝大多数已统计学为出发点的算法都有一个基本假设:独立同分布;但是现实事物之间的联系往往错综复杂,并不能满足这一假设。因此提出为了更好的预测效果,需要弃用这一假设,建立更精细的模型,考虑更全面的联系,更多的还原世界的本来面貌;最后演讲者也给出了不少很有说服力的证据。这些观点很合情理也,也合乎逻辑;但是我没有买账。在《大数据时代》中提出的简单算法在大数据集下显示出比复杂算法较优的效果的现象我也亲身经历过类似情况,在吴军的《数学之美》中也提到了两种人:一种崇尚简单,另一种推崇精细。我个人还是认为在大数据量的情况下把事情考虑的太精细有可能是不正确的。虽然宏观上各种规律客观存在,但是当微观到某一个个体时随机性却通常变为其重要特征,一个复杂的系统是会放大这种个体随机性最后影响全局。有电影《蝴蝶效应》讲述的是主人公不满意现实生活,回到过去阻止一件关键事件的发生,但回来现在后却发现一切都改变了。真实的世界是一个混沌系统,蝴蝶的翅膀也可能扇出飓风。如果我们有一个非常接近真实世界的模型,那么就必须保证如蝴蝶一般微小的信息差错都不存在,才能保证模型和我们的真实世界朝相同方向发展,但是数据量一旦大了,个别的差错在所难免。

结束语:茶后闲话,饭后谈资,若有失语之处,请海涵之。





0 0
原创粉丝点击