大数据计算架构
数据存储系统包括数据采集层(系统日志、网络爬虫、无线传感器网络、物联网,以及各种数据源),数据清洗、抽取与建模(将各种类型的结构化、非结构化、异构数据转化为标准存储格式数据,并定义数据属性及值域),数据存储架构(集中式或分布式文件系统、关系型数据库或分布式数据库、行存储数据结构或列存储数据结构,键值对结构,哈希表(Hash Table)检索等)。
数据存储架构是大数据计算的基础,上层各种分析算法、计算模型及计算性能都依赖于数据存储系统的表现,因此,数据存储系统是大数据研究的一个重要领域。
数据处理系统包括针对不同类型数据的计算模型(如针对非结构化数据的MapReduce 批处理模型、针对动态数据流的流计算(Stream Compating)模型、针对结构化数据的大规模并发处理(MPP)模型、基于物理大内存的高性能内存计算(In-memory Computing) 模型);针对应用需求的各类数据分析算法(回归分析、聚合算法、关联规则算法、决策树算法、贝叶斯分析、机器学习算法等);提供数据计算处理各种开发工具包和运行支持环境的计算平台(如Hadoop、 Spark、Storm等)。
数据应用系统是基于上述存储系统和计算处理平台提供各行业领域的大数据应用技术解决方案。
数据分析算法分类
回归算法是通过最小化预测值与实际结果之间的差值而得到输入特征之间关系的一类算法。常见算法如下:
1) Ordinary Least Squares Regression(OLSR)
2)Linear Regression
3)Logistic Regression
4)Stepwise Regression
5)Locally Estimated Scatterplot Smoothing(LOESS)
6)Multivariate Adaptive Regression Splines(MARS)
指的是最后建成的模型对原始数据样本实例依旧有很强的依赖性。这类算法在做预测决策时,一般都是使用某类相似度准则,比对待预测的样本和原始样本的相近度,再给出相应的预测结果。常见算法如下:
1)k-Nearest Neighbour (kNN)
2)Learning Vector Quantization (LVQ)
3)Self-Organizing Map (SOM)
4)Locally Weighted Learning (LWL)
决策树类算法会基于原始数据特征,构建一棵包含很多决策路径的树。预测阶段选择 路径进行决策。常见算法如下:
1) Classification and Regression Tree (CART)
2) Iterative Dichotomiser 3 (1D3)
3) C4.5 and C5.O (different versions of a powerful approach)
4) Chi-squared Automatic Interaction Detection (CHAID)
5) Conditional Decision Trees
指的是在分类和回归问题中,隐含使用了贝叶斯原理的算法,常见算法如下:
1) Naive Bayes
2) Gaussian Naive Bayes
3) Multinomial Naive Bayes
4) Averaged One-Dependence Estimators (AODE)
5) Bayesian Belief Network (BBN)
6) Bayesian Network (BN)
聚类算法是把输人样本汇聚成围绕一些中心的“数据团”,以发现数据分布结构的一些 规律。常用算法如下:
1) K-means
2) Hierarchical Clustering
3) Expectation Maximization (EM)
关联规则算法试图抽取出最能解释训练样本之间关联关系的规则,也就是获取一个事件和其他事件之间依赖或关联的知识,常见算法如下:
1) Apriori algorithm
2) Eclat algorithm
这是受人脑神经元工作方式启发而构造的一类算法。这里说的人工神经网络偏向于更传统的感知算法,包括:
1) Perceptron
2) back-Propagation
3) Radial Basis Function Network (RBFN)
深度学习是机器学习领域的算法,相对于上述算法,有更深的层次和更复杂的结构。常见算法如下:
1) Deep Boltzmann Machine (DBM)
2) Deep Belief Networks (DBN)
3) Convolutional Neural Network (CNN)
4) Stacked Auto-Encoders
降维算法试图用更少的信息(更低维的信息)总结和描述出原始信息的大部分内容,很多时候用它先预处理数据,主要算法如下:
1) Principal Component Analysis (PCA)
2) Principal Component Regression (PCR)
3) Partial Least Squares Regression (PLSR)
4) Sammon Mapping
5) Multidimensional Scaling (MDS)
6) Linear Discriminant Analysis (LDA)
7) Mixture Discriminant Analysis (MDA)
8) Quadratic Discriminant Analysis (QDA)
9) Flexible Discriminant Analysis (FDA)
模型融合算法像是一种优化手段/策略,它通常是结合多个简单的弱机器学习算法去做更可靠的决策。主要算法如下:
1) Random Forest
2) Boosting
3) Bootstrapped Aggregation (Bagging)
4) AdaBoost
5) Stacked Generalization (blending)
6) Gradient Boosting Machines (GBM)
7) Gradient Boosted Regression Trees (GBRT)
其他大数据计算还涉及的算法有预测算法(如遗传算法BP)、推荐算法(PageRank,EdgeRank,协同过滤)等。
数据预处理
数据预处理就是在数据挖掘前,先对原始数据进行必要的清洗、集成、转换、离散和规约等一系列的处理工具,使之达到挖掘算法进行知识获取研究所要求的最低规范和标准。[2]
数据预处理的主要任务如下:
1) 数据清洗:填补缺失数据、消除噪声数据等。(异常检测、去重、填补缺失值)
2) 数据集成:将所有的数据统一存储在数据库、数据仓库或文件中形成一个完整的数据集,这一过程主要用于消除冗余数据。
3) 数据转换:主要是对数据进行规格化操作,如将数据值限定在特定的范围内。
4) 数据规约:剔除无法刻画系统关键特征的数据属性,只保留部分能够描述关键特征的数据属性集合。(降维、删减、离散化)
数据清洗技术的研究,最早是从纠正美国的社会保险号开始的。研究内容包括:
噪声数据是一组测量数据中由随机错误或偏差引起的孤立数据。消除噪声数据的主要方法是分箱方法。分箱方法根据拟处理数据周围的数据值,平滑需要处理的数据。具体分为"按箱平均值平滑"和"按箱边界平滑"。
参考:
[1]《大数据分析与计算》 汤羽/林迪/范爱华 清华大学出版社
[2]《基于数据仓库的数据清洗方法研究》周芝芬