5.1 大数据挖掘平台(第一层)
由于分布式环境的应用数据的多源、海量、异构、动态等特性,大数据的最重要特征之一是对PB甚至EB量级的数据执行复杂的计算过程。因此,利用并行计算框架、相应程序语言支持以及软件模型,高效地分析并挖掘分布式数据,是大数据处理从"数量"转换成"质量"的关键目标。
当前,大数据处理主要依赖并行编程模型,如MapRuduce,而且为公众提供了大数据服务的云计算平台。MapReduce是一个面向批处理的并行计算模型。与关系型数据库在性能上仍然有一定的差距。随着MapReduce并行程序设计被应用到许多机器学习和数据挖掘算法中,提高MapReduce的性能并增强大规模数据处理的实时特性受到了大量关注。数据挖掘算法通常需要扫描训练数据,以获取解决或优化模型参数的统计数据。频繁地访问大规模数据需要密集的计算。为了增强算法效率,Chu等人提出了一种通用目标的并行编程方法,适用于基于多核处理器上简单MapReduce程序设计模型的大量机器学习算法。这一框架实现了十大经典数据挖掘算法,包括局部加权线性回归,k-Means,逻辑回归,朴素贝叶斯,线性支持向量机,独立变量分析,高斯判决分析,最大期望,以及反向传播神经网络[14]。通过分析这些机器学习算法,我们主张算法学习过程的计算性操作可以转化成对一些训练数据集的汇总操作。汇总操作可以容易地在MapReduce程序设计平台上独立地执行于不同的子集上,并实现统计惩罚。从而,一个大规模数据集可以分成几个子集,分配到多个映射节点上。随后,在映射节点上执行多种汇总操作,来收集中间结果。最后,学习算法通过在规约节点上合并汇总,并行执行。Ranger等人[39]提出了一个基于MapReduce的应用编程接口"凤凰",支持多核多处理器系统的并行编程环境,实现了包括k-Means、主成分分析和线性回归等三种数据挖掘算法。Gillick等人[22]改进了Hadoop中MapReduce的实现机制,评估了该算法在MapReduce框架之内在单次学习、迭代学习和基于查询的学习中的性能,研究了并行学习算法和分布式数据存储中所涉及计算节点之间的数据共享,然后通过在中等规模集群上测试一系列标准数据挖掘任务,证明了MapReduce机制适合于大规模数据挖掘。Papadimitriou和Sun[38]提出了一个分布式协作聚合框架(DisCo),使用实用性分布数据预处理和协作聚合技术。通过在一个开源MapReduce项目中的Hadoop上的实现,表明这一框架具有完美的可扩展性,能够处理和分析大规模数据集(上百GB)。
为了改进传统分析软件可扩展性低和Hadoop系统分析能力弱的问题,Das等人[16]对R语言集成软件(开源统计分析软件)和Hadoop进行了研究。深入的集成化推动了并行化处理的数据计算过程,使得Hadoop具有了强大的深度分析能力。Wegener等人[47]完成了Weka(一个开源机器学习和数据挖掘软件工具)和MapReduce之间的集成。标准Weka工具只能在单机运行,内存限制在1GB大小。算法并行化以后,Weka突破了这一限制,通过并行计算的优势改善了性能,在MapReduce集群上可以处理大于100GB的数据。Ghoting等人[21]提出了Hadoop-ML,可以允许开发者通过语言运行时环境下的程序块,轻松地建立并行任务或者并行数据机器学习和数据挖掘算法。
5.2 大数据语义和应用知识(第二层)
在大量数据的隐私保护中,Ye等人[55]提出了一个多层的粗糙集模型,能够精确描述由不同级别的一般化产生的颗粒度变化情况,为匿名化过程提供了衡量数据有效性准则的理论基础,设计了一个平衡隐私和数据效用的动态机制,以解决分类问题中的最优泛化或细化顺序问题。最近一篇关于大数据机密性保护的论文[4]总结了一些用于保护公开发布数据方法,包括聚类(例如k-匿名、I-多样性等)、压缩(即删除敏感数值)、数据交换(即交换敏感数据记录的值从而避免用户匹配)、添加随机噪声、或简单地把处于较高暴露危险中的原始数据值整体替换成根据模拟分布合成的数值。
对于涉及大数据和巨大数据体量的应用,数据在物理上分布在不同位置的情况时有发生,这意味着用户不再拥有他们数据的物理存储。为了进行大数据挖掘,拥有一种高效可行的数据访问机制是至关重要的,尤其是对于想要雇佣第三方(如数据矿工或数据审计)来处理数据的用户。在这种环境下,用户的隐私限制可能包括:(1)不允许本地数据备份或下载,(2)所有的分析必须基于已有数据存储系统来执行,而不违反现存隐私设定,以及许多其他限制。Wang等人[48]提出了一种针对大规模数据存储(例如云计算系统)的隐私保护公共审计机制。这种基于密钥的公共机制用来保证第三方审计,让用户得以安全地允许第三方来分析他们的数据,而不破坏安全规则或在数据隐私上做出妥协。
对于大多数大数据应用,隐私问题关注于拒绝第三方(例如数据矿工)直接访问原始数据。通用解决方案是依赖于一些隐私保护方法或加密机制来保护数据。Lorch等人[32]最近的一项成果表明用户的"数据访问模式"也可能具有一些数据隐私问题,引起地理位置相同的用户或者有共同兴趣的用户(例如,两个搜索同一地图位置的用户可能地理位置相同)的暴露。在他们的系统,即Shround,中,来自服务器的用户数据接入模式通过虚拟磁盘来隐藏起来。因此,它可以支持许多大数据应用,例如微博搜索和社交网络查询,无需考虑妥协用户隐私。
5.3 大数据挖掘算法(第三层)
为了适应多源、海量、动态的大数据,研究人员已经通过许多途径扩展了现存的数据挖掘方法,包括单一来源的知识发现方法[11]的效率改进,从多源的角度设计一种数据挖掘机制[50],[51],以及针对动态数据挖掘方法的研究和流数据的分析[18],[12]。从大量数据中发现知识的主要动机,在于提高单一来源挖掘方法的效率。基于计算机硬件功能的逐渐提升,研究人员继续探索提高知识发现算法效率的方式,来使他们更适于海量数据。由于海量数据通常是从不同数据源收集而来的,因此海量数据的知识发现必须使用多源挖掘机制来执行。因为现实世界的数据经常作为数据流或者特性流出现,需要一种固定的机制来发现知识和控制动态数据源的知识演进。因此,多源数据海量、异构、实时的特性在单一来源知识发现和多源数据挖掘之间产生了本质不同。
Wu等人[50],[51],[45]提出并建立了局部模式分析理论,为多源数据挖掘中的全局知识发现奠定了基础。这一理论不仅为全文搜索问题提供了解决方案,而且找到了一种传统挖掘算法无法发现的全局模型。数据处理的局部模式分析可以避免将不同数据源放在一起来执行中心化计算。
数据流广泛应用于财务分析、线上交易、医学检测等。静态知识发现方法无法适应动态数据流的特征,例如连续性、可变性、快速性和无穷性,而且易于引起有用信息的丢失。因此,需要有效的理论和技术框架,来支持数据流挖掘[18],[57]。
在现实世界系统中,知识演进是一种常见现象。例如,临床医生的治疗方案应该持续调整以适应患者的状态,例如家庭经济状况、医疗保险、治疗疗程、治疗效果以及心血管分布和过去一段时间的其他慢性流行病学变化。在知识发现过程中,概念漂移旨在分析隐式的目标概念变化或者甚至由动态性和数据流环境引发的根本性改变。根据概念漂移的不同类型,知识演进可以具有突变漂移、渐进漂移和数据分布漂移等形式,基于单一特征、多特征和流特征。
六、结论
受到现实世界应用和主要产业利益相关方的驱动,由国家资助机构发起,大数据的管理和挖掘已经成为一项具有挑战性而引人注目的任务。虽然大数据一词字面上是关于数据体量的,我们的HACE理论提出大数据的关键特征在于:(1)大量的、异构的(H)、数据源多样化的,(2)自发(A)的分布式去中心化控制,(3)复杂(C)且数据和知识关联处于演进(E)之中。这种联合特征表明大数据需要"大胸襟"来联合数据,发挥其最大价值[27]。
为了探索大数据,我们在数据、模型和系统层面分析了几项挑战。为了支持大数据挖掘,需要高性能计算平台,实施系统的设计来释放大数据的全部功能。在数据层面,自发的信息来源和多样的数据收集环境,通常导致数据具有复杂的情况,例如缺失或不确定的值。在其他情况下,隐私问题、噪声、误差会被引入到数据中,产生变化的数据副本。发展一种安全成熟的信息共享协议是一项主要挑战。在模型层面,主要挑战是通过结合局部发现的模式来形成同一视图,生成全局模型。这需要认真设计的算法来分析分布式站点模型的相关性,并融合来自多个数据源的决定,获取大数据的最佳模型。在系统层面,关键的挑战是大数据挖掘框架需要考虑样本、模型和数据源之间的复杂关系,以及它们随时间和其他可能因素的演进和变化。一个系统需要被仔细设计,从而非结构化数据可以通过它们复杂的关系来连接,形成有用的模式,并且数据量的增长和数据项的关系应该辅助生成预测未来趋势的合理模型。
我们把大数据视为一种新兴趋势,对大数据挖掘的需求正在所有科学工程领域产生。使用大数据技术,我们有望能够提供最贴切和最精准的社会感知反馈,来更好地对我们的社会进行实时地了解。进一步,我们可以刺激公众参与社会和经济事件中的数据生产循环。大数据时代已经到来。
致谢
本工作受到中国国家863计划(2012AA011005)、中国国家973计划(2013CB329604)、中国国家自然科学基金(NSFC 61229301,61273297,61273292)、美国国家科学基金会(NSF CCF-0905337)、以及澳大利亚研究委员会未来研究员(FT100100971)和发现计划(DP130102748)的支持。作者感谢那些匿名评审员们在改进本文上提出的具有价值和建设性意义的评论。
参考文献
[1] R. Ahmed and G. Karypis, "Algorithms for Mining the Evolution of Conserved Relational States in Dynamic Networks," Knowledge and Information Systems, vol. 33, no. 3, pp. 603-630, Dec. 2012.
[2] M.H. Alam, J.W. Ha, and S.K. Lee, "Novel Approaches to Crawling Important Pages Early," Knowledge and Information Systems, vol. 33, no. 3, pp 707-734, Dec. 2012.
[3] S. Aral and D. Walker, "Identifying Influential and Susceptible Members of Social Networks," Science, vol. 337, pp. 337-341, 2012.
[4] A. Machanavajjhala and J.P. Reiter, "Big Privacy: Protecting Confidentiality in Big Data," ACM Crossroads, vol. 19, no. 1, pp. 20-23, 2012.
[5] S. Banerjee and N. Agarwal, "Analyzing Collective Behavior from Blogs Using Swarm Intelligence," Knowledge and Information Systems, vol. 33, no. 3, pp. 523-547, Dec. 2012.
[6] E. Birney, "The Making of ENCODE: Lessons for Big-Data Projects," Nature, vol. 489, pp. 49-51, 2012.
[7] J. Bollen, H. Mao, and X. Zeng, "Twitter Mood Predicts the Stock Market," J. Computational Science, vol. 2, no. 1, pp. 1-8, 2011.
[8] S. Borgatti, A. Mehra, D. Brass, and G. Labianca, "Network Analysis in the Social Sciences," Science, vol. 323, pp. 892-895, 2009.
[9] J. Bughin, M. Chui, and J. Manyika, Clouds, Big Data, and Smart Assets: Ten Tech-Enabled Business Trends to Watch. McKinSey Quarterly, 2010.
[10] D. Centola, "The Spread of Behavior in an Online Social Network Experiment," Science, vol. 329, pp. 1194-1197, 2010.
[11] E.Y. Chang, H. Bai, and K. Zhu, "Parallel Algorithms for Mining Large-Scale Rich-Media Data," Proc. 17th ACM Int'l Conf. Multimedia, (MM '09,) pp. 917-918, 2009.
[12] R. Chen, K. Sivakumar, and H. Kargupta, "Collective Mining of Bayesian Networks from Distributed Heterogeneous Data," Knowledge and Information Systems, vol. 6, no. 2, pp. 164-187, 2004.
[13] Y.-C. Chen, W.-C. Peng, and S.-Y. Lee, "Efficient Algorithms for Influence Maximization in Social Networks," Knowledge and Information Systems, vol. 33, no. 3, pp. 577-601, Dec. 2012.
[14] C.T. Chu, S.K. Kim, Y.A. Lin, Y. Yu, G.R. Bradski, A.Y. Ng, and K. Olukotun, "Map-Reduce for Machine Learning on Multicore," Proc. 20th Ann. Conf. Neural Information Processing Systems (NIPS '06), pp. 281-288, 2006.
[15] G. Cormode and D. Srivastava, "Anonymized Data: Generation, Models, Usage," Proc. ACM SIGMOD Int'l Conf. Management Data, pp. 1015-1018, 2009.
[16] S. Das, Y. Sismanis, K.S. Beyer, R. Gemulla, P.J. Haas, and J. McPherson, "Ricardo: Integrating R and Hadoop," Proc. ACM SIGMOD Int'l Conf. Management Data (SIGMOD '10), pp. 987-998. 2010.
[17] P. Dewdney, P. Hall, R. Schilizzi, and J. Lazio, "The Square Kilometre Array," Proc. IEEE, vol. 97, no. 8, pp. 1482-1496, Aug. 2009.
[18] P. Domingos and G. Hulten, "Mining High-Speed Data Streams," Proc. Sixth ACM SIGKDD Int'l Conf. Knowledge Discovery and Data Mining (KDD '00), pp. 71-80, 2000.
[19] G. Duncan, "Privacy by Design," Science, vol. 317, pp. 1178-1179, 2007.
[20] B. Efron, "Missing Data, Imputation, and the Bootstrap," J. Am. Statistical Assoc., vol. 89, no. 426, pp. 463-475, 1994.
[21] A. Ghoting and E. Pednault, "Hadoop-ML: An Infrastructure for the Rapid Implementation of Parallel Reusable Analytics," Proc. Large-Scale Machine Learning: Parallelism and Massive Data Sets Workshop (NIPS '09), 2009.
[22] D. Gillick, A. Faria, and J. DeNero, MapReduce: Distributed Computing for Machine Learning, Berkley, Dec. 2006.
[23] M. Helft, "Google Uses Searches to Track Flu's Spread," The New York Times, http://www.nytimes.com/2008/11/12/technology/ internet/12flu.html. 2008.
[24] D. Howe et al., "Big Data: The Future of Biocuration," Nature, vol. 455, pp. 47-50, Sept. 2008.
[25] B. Huberman, "Sociology of Science: Big Data Deserve a Bigger Audience," Nature, vol. 482, p. 308, 2012.
[26] "IBM What Is Big Data: Bring Big Data to the Enterprise," http:// www-01.ibm.com/software/data/bigdata/, IBM, 2012.
[27] A. Jacobs, "The Pathologies of Big Data," Comm. ACM, vol. 52, no. 8, pp. 36-44, 2009.
[28] I. Kopanas, N. Avouris, and S. Daskalaki, "The Role of Domain Knowledge in a Large Scale Data Mining Project," Proc. Second Hellenic Conf. AI: Methods and Applications of Artificial Intelligence, I.P. Vlahavas, C.D. Spyropoulos, eds., pp. 288-299, 2002.
[29] A. Labrinidis and H. Jagadish, "Challenges and Opportunities with Big Data," Proc. VLDB Endowment, vol. 5, no. 12, 2032-2033, 2012.
[30] Y. Lindell and B. Pinkas, "Privacy Preserving Data Mining," J. Cryptology, vol. 15, no. 3, pp. 177-206, 2002.
[31] W. Liu and T. Wang, "Online Active Multi-Field Learning for Efficient Email Spam Filtering," Knowledge and Information Systems, vol. 33, no. 1, pp. 117-136, Oct. 2012.
[32] J. Lorch, B. Parno, J. Mickens, M. Raykova, and J. Schiffman, "Shoroud: Ensuring Private Access to Large-Scale Data in the Data Center," Proc. 11th USENIX Conf. File and Storage Technologies (FAST '13), 2013.
[33] D. Luo, C. Ding, and H. Huang, "Parallelization with Multiplicative Algorithms for Big Data Mining," Proc. IEEE 12th Int'l Conf. Data Mining, pp. 489-498, 2012.
[34] J. Mervis, "U.S. Science Policy: Agencies Rally to Tackle Big Data," Science, vol. 336, no. 6077, p. 22, 2012.
[35] F. Michel, "How Many Photos Are Uploaded to Flickr Every Day and Month?" http://www.flickr.com/photos/franckmichel/ 6855169886/, 2012.
[36] T. Mitchell, "Mining our Reality," Science, vol. 326, pp. 1644-1645, 2009.
[37] Nature Editorial, "Community Cleverness Required," Nature, vol. 455, no. 7209, p. 1, Sept. 2008.
[38] S. Papadimitriou and J. Sun, "Disco: Distributed Co-Clustering with Map-Reduce: A Case Study Towards Petabyte-Scale End-to- End Mining," Proc. IEEE Eighth Int'l Conf. Data Mining (ICDM '08), pp. 512-521, 2008.
[39] C. Ranger, R. Raghuraman, A. Penmetsa, G. Bradski, and C. Kozyrakis, "Evaluating MapReduce for Multi-Core and Multiprocessor Systems," Proc. IEEE 13th Int'l Symp. High Performance Computer Architecture (HPCA '07), pp. 13-24, 2007.
[40] A. Rajaraman and J. Ullman, Mining of Massive Data Sets. Cambridge Univ. Press, 2011.
[41] C. Reed, D. Thompson, W. Majid, and K. Wagstaff, "Real Time Machine Learning to Find Fast Transient Radio Anomalies: A Semi-Supervised Approach Combining Detection and RFI Excision," Proc. Int'l Astronomical Union Symp. Time Domain Astronomy, Sept. 2011.
[42] E. Schadt, "The Changing Privacy Landscape in the Era of Big Data," Molecular Systems, vol. 8, article 612, 2012.
[43] J. Shafer, R. Agrawal, and M. Mehta, "SPRINT: A Scalable Parallel Classifier for Data Mining," Proc. 22nd VLDB Conf., 1996.
[44] A. da Silva, R. Chiky, and G. He´brail, "A Clustering Approach for Sampling Data Streams in Sensor Networks," Knowledge and Information Systems, vol. 32, no. 1, pp. 1-23, July 2012.
[45] K. Su, H. Huang, X. Wu, and S. Zhang, "A Logical Framework for Identifying Quality Knowledge from Different Data Sources," Decision Support Systems, vol. 42, no. 3, pp. 1673-1683, 2006.
[46] "Twitter Blog, Dispatch from the Denver Debate," http:// blog.twitter.com/2012/10/dispatch-from-denver-debate.html, Oct. 2012.
[47] D. Wegener, M. Mock, D. Adranale, and S. Wrobel, "Toolkit-Based High-Performance Data Mining of Large Data on MapReduce Clusters," Proc. Int'l Conf. Data Mining Workshops (ICDMW '09), pp. 296-301, 2009.
[48] C. Wang, S.S.M. Chow, Q. Wang, K. Ren, and W. Lou, "Privacy- Preserving Public Auditing for Secure Cloud Storage" IEEE Trans. Computers, vol. 62, no. 2, pp. 362-375, Feb. 2013.
[49] X. Wu and X. Zhu, "Mining with Noise Knowledge: Error-Aware Data Mining," IEEE Trans. Systems, Man and Cybernetics, Part A, vol. 38, no. 4, pp. 917-932, July 2008.
[50] X. Wu and S. Zhang, "Synthesizing High-Frequency Rules from Different Data Sources," IEEE Trans. Knowledge and Data Eng., vol. 15, no. 2, pp. 353-367, Mar./Apr. 2003.
[51] X. Wu, C. Zhang, and S. Zhang, "Database Classification for Multi-Database Mining," Information Systems, vol. 30, no. 1, pp. 71- 88, 2005.
[52] X. Wu, "Building Intelligent Learning Database Systems," AI Magazine, vol. 21, no. 3, pp. 61-67, 2000.
[53] X. Wu, K. Yu, W. Ding, H. Wang, and X. Zhu, "Online Feature Selection with Streaming Features," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 35, no. 5, pp. 1178-1192, May 2013.
[54] A. Yao, "How to Generate and Exchange Secretes," Proc. 27th Ann. Symp. Foundations Computer Science (FOCS) Conf., pp. 162-167, 1986.
[55] M. Ye, X. Wu, X. Hu, and D. Hu, "Anonymizing Classification Data Using Rough Set Theory," Knowledge-Based Systems, vol. 43, pp. 82-94, 2013.
[56] J. Zhao, J. Wu, X. Feng, H. Xiong, and K. Xu, "Information Propagation in Online Social Networks: A Tie-Strength Perspective," Knowledge and Information Systems, vol. 32, no. 3, pp. 589-608, Sept. 2012.
[57] X. Zhu, P. Zhang, X. Lin, and Y. Shi, "Active Learning From Stream Data Using Optimal Weight Classifier Ensemble," IEEE Trans. Systems, Man, and Cybernetics, Part B, vol. 40, no. 6, pp. 1607- 1621, Dec. 2010.