数据中心化(Zero-centered或者Mean-subtraction)处理和标准化(Standardization或Normalization)的目的:通过中心化和标准化处理,得到均值为0,标准差为1的服从标准正态分布的数据。数据标准化是指:数值减去均值,再除以标准差;所谓中心化,是指变量减去它的均值。
在一些实际问题中,得到的样本数据都是多个维度的,即一个样本是用多个特征来表征的。比如在预测房价的问题中,影响房价的因素有房子面积、卧室数量等,我们得到的样本数据就是这样一些样本点,这里的、又被称为特征。很显然,这些特征的量纲和数值得量级都是不一样的,在预测房价时,如果直接使用原始的数据值,那么他们对房价的影响程度将是不一样的,而通过标准化处理,可以使得不同的特征具有相同的尺度(Scale)。这样,在使用梯度下降法学习参数的时候,不同特征对参数的影响程度就一样了。
- 简言之,当原始数据不同维度上的特征的尺度(单位)不一致时,需要标准化步骤对数据进行预处理。
- 下图中以二维数据为例:左图表示的是原始数据;中间的是中心化后的数据,数据被移动大原点周围;右图将中心化后的数据除以标准差,得到为标准化的数据,可以看出每个维度上的尺度是一致的(红色线段的长度表示尺度)。
其实,在不同的问题中,中心化和标准化有着不同的意义,
- 比如在训练神经网络的过程中,通过将数据标准化,能够加速权重参数的收敛。
- 另外,对于主成分分析(PCA)问题,也需要对数据进行中心化和标准化等预处理步骤。
以PCA为例说下中心化的作用。
下面两幅图是数据做中心化(centering)前后的对比,可以看到其实就是一个平移的过程,平移后所有数据的中心是(0,0).
在做PCA的时候,需要找出矩阵的特征向量,也就是主成分(PC)。比如找到的第一个特征向量是a = [1, 2],a在坐标平面上就是从原点出发到点(1,2)的一个向量。
如果没有对数据做中心化,那算出来的第一主成分的方向可能就不是一个可“描述/概括/解释”数据的方向。如图:
黑色线就是第一主成分的方向。只有中心化数据之后,计算得到的方向才能比较好的“概括”原来的数据。
对数据进行中心化预处理,这样做的目的是要增加基向量的正交性。
对数据标准化的目的是消除特征之间的差异性。便于对一心一意学习权重。
去中心化:构成大数据样本的首要条件
现在很多人抱怨,说信息过载,大量的信息浪费了自己太多的时间。克莱-舍基就在演讲里说,问题不是信息太多,而是你的管理方式不对。那些抱怨信息过载的人都在用图书馆的方式管理信息。未来,我们应该用无组织的、去中心化的方式管理大数据。以下是详细介绍。
其实,人们觉得信息太多,并不是互联网出现之后才有的想法。以前的印刷时代,书籍特别多,超过了人们需求的时候,人们也觉得是负担,当时的方法是建了很多的大型图书馆。但这只能存放信息,还是筛选不出有用的信息。所以,克莱-舍基说,想要解决信息过载的问题,就得用新的方法识别和筛选数据。
有什么方法呢?克莱-舍基提出了一个概念,叫无组织的组织。意思是说,不要让中心化的组织来归纳总结一件事,可以让每个用户来参与做这件事。比如几年前,美国国防部研究中心有一个挑战项目,把十个红色的测量气球放在了美国不同的地方,谁能最先全部找到,谁就能获得10万美元。他们想通过这个项目,看看各个组织是怎么合作的。当时,麻省理工学院的团队觉得,知道线索的人肯定在无数的美国人当中,问题是怎么把这些人找出来。他们决定,无论是目击者,还是能提供中间线索的人,都可以来分奖金。主办方当时给所有参赛团队一个月的时间,而麻省理工团队按照自己的思路,只用了9个小时,就找到了所有的气球。
再举个例子,一位肯尼亚的女性发现,非洲总有暴力事件,但是得不到大家的重视。于是她就联合开发者,共同研发了地图,每个人都可以上传自己看到的暴力事件,而且每个事件都加上了特定的标签和GPS定位。最后,她的危机地图能显示哪里最不安全。这个模式很快传到了世界各地,美国、日本都用这个方法设计了相关地图。你看,未来的组织方式就是无组织、去中心化的,数据增值速度快,分析速度也特别快。
在识别和筛选数据方面,光靠人工筛选跟不上信息积累的速度,传统的方式肯定是不管用的。克莱-舍基说,内容和技术要结合起来,形成合力。比如,怎么知道用户喜欢什么内容呢?用户看得越多的内容,说明就越受欢迎。除此之外,我们还可以分析用户的行为,比如他们喜欢在什么时候打卡,某个时间段有什么爱好。分析完以后,你可能就会发现,总看教育新闻的读者,也会关注教育背后的技术变革,你再推送关于教育技术的文章就更容易吸引用户了。
克莱-舍基说,用工具收集内容数据和用户行为数据,再进行分析处理,让数据增值,才是管理信息的正确方式。这也是未来数据时代的趋势。
大数据处理信息服务商金盛网聚WJFabric认为,在数据时代,人人都是数据的使用者和受益者,同时也是数据的提供者和建设者。去中心化,意味着原有的组织已无法解决新出现的问题,这一点在大数据领域尤为突出。从本质上来讲,只有越来越多参与者的加入,才能实现大数据样本的丰富性,进而提升分析结果的精准性。因此说,没有任何一家机构是可以独自将大数据样本做到100%的。专业从事大数据业务的企业其优势在于对数据样本的分析,与目标需求的结合,进而为满足需求提供方案依据。大数据是去中心化得以成功应用的首个领域,这也为解决其他社会问题提供了范例。“从群众中来,到群众中去”的去中心化理念将会成为解决固有社会问题的重要基础。
参考文档:
https://www.zhihu.com/question/37069477/answer/132387124
https://www.toutiao.com/i6505171854267777549/
附:海量数据处理的常用技术可分为:
外排序:因为海量数据无法全部装入内存,所以数据的大部分存入磁盘中,小部分在排序需要时存入内存。
MapReduce:分布式处理技术
hash技术:以Bloom filter技术为代表
外排序:主要适用于大数据的排序、去重。
分布式处理技术:MapReduce 技术思想是将数据交给不同的机器去处理,将数据切分,之后结果归约。
举例,统计出一批数据的TOP N
首先可以根据数据值或者数据HASH(MD5)后的值将数据按照范围划分,不同的服务器负责处理各种的数值范围,实际上就是map,得到结果后,各个服务器拿出各自的出现次数最多的前N个数据,然后汇总,选出所有的数据中出现次数最多的前N个数据,这实际上就是reduce的过程。
1、处理海量数据的常用技巧,比如分区操作。比如针对按年份或按月份存取的数据,将数据分散开,减少磁盘I/0,减少系统负荷,也可将日志、索引存放于不同的分区下。
2、提高硬件条件、增加CPU,加大磁盘空间等。
3、加大虚拟内存。
4、分批处理。 可以对海量数据分批处理,处理后的数据再进行合并操作,这样逐个击破,有利于下哦数据量的处理。 一般按日、月等存储的数据,都可以采用先分后合的方法,对数据分开处理。
5、使用临时表和中间表。 如果大表处理不了,只能拆分为多个小表,不要一个sql语句全部完成,卡死你。
6、部分文件可以使用文件格式进行处理。一般海量的网络日志都是文本格式或者CSV格式,对它进行处理牵扯到数据清洗,可以利用程序进行处理,无需导入数据库再做清洗。