欢迎来到易发表网,发表咨询:400-808-1701 订阅咨询:400-808-1721

关于我们 期刊咨询 科普杂志

数据分析方向优选九篇

时间:2023-05-26 18:03:18

数据分析方向

数据分析方向第1篇

[关键词]新媒体营销;企业转型升级;市场营销模式

1引言

新媒体营销是随着互联网技术不断发展而衍生的重要产物,它是以移动平台为载体,以信息技术为桥梁而实现的企业网络市场竞争的过程。这种模式的出现意味着企业与现代科学技术的接轨,是企业智能化数据化发展的鲜明体现。企业在新媒体平台和技术的指导下,能够依靠各类先进技术,转变自身的发展方式。其中最为突出的应用便在于企业对数据分析的引进。

2分析数据,确立市场受众群体

企业要想在众多新媒体平台营销中脱颖而出,就必须掌握符合自身市场定位的消费群体,要让自身生产的产品能够有广泛的接受度,要取得属于自身独有的市场信任感和公信力。这也就意味着企业要主动出击,积极地吸引消费者群体的关注和重视。如果一个企业发展自身新媒体营销的方法,仅仅是通过水军或者是买来的粉丝,或者是通过转发抽奖等,那么这个企业只会在短时间内取得一定的爆发式关注,无法取得长远的市场利益,也没有办法真正的给消费者留下深刻的印象,自然也不能根据消费者的喜好和兴趣制订出针对性的市场营销方案。这就需要企业通过数据分析的方法来明确自身的受众群体。[1]首先,企业要用数据分析的方法,对自身已有的市场发展基础进行系统的分析和总结,整理出自身的市场定位和发展特点,包括品牌形象、竞争优势、产品性质等。在此基础上,大致地规划消费者的群体范围,制订相应的宣传方案和宣传规划,同时也要注意把握时间的限制,要尽可能地寻求时间和效益之间的平衡。在这一过程中,企业要按照消费者的点击喜好和频率,来制定有针对性的宣传模式,这样可以更为有效地吸引消费者的关注。其次,企业要重视用户之间的传播和转发,企业要在吸引一批粉丝的基础上适当地进行转发和抽奖活动,扩大自身的市场影响力。最后,企业也要在这一过程中精确自身的市场定位,要动态地观察宣传的成果和绩效,要寻找大众的认同感。这便要求企业要借助数据分析和检索的平台,搜索与自身宣传相关的信息确立关键词和重点语句,并分析大众对于自身的评价和看法,更好地改进营销中存在的缺陷和不足。同时要在此基础上,让自身的宣传内容更加量化和准确,更好地提升在用户之间的口碑。

3分析数据,确立市场营销载体

根据上文所述,企业在新媒体营销中所进行的宣传是离不开固定的平台和载体的,移动平台是企业信息和展现自身形象的基础与保障。因此,企业要十分重视自身新媒体营销工具的选择,要运用数据分析的方法精准地统筹和管理市场营销的信息,推动网络营销能够适应自身发展的特点和规律。同时,数据分析方法还可以把企业自身经营的特点与不同的新媒体平台进行融合,对比其结合后的实际效益和成果,同时也可以与事先的市场规划设计相比较,在此基础上选择最为合适的企业新媒体营销载体。[2]之所以运用数据分析的方法来选择企业新媒体营销载体,是因为现阶段网络企业的发展形式多种多样,不同的企业也有自身不同的市场定位和产品特点,彼此之间相互独立,但是也紧密联系。这也就意味着,各类企业在共同运用新媒体网络平台这一方法进行市场营销的同时,也要根据自身的发展特点来选择适合自己的宣传载体和工具,只有这样才可以促进宣传内容的有效传播。当下企业利用新媒体进行宣传的主要形式包括纪录片、文字和图像等,也可以是多种表现形式的结合。尽管在宣传方式上具有多样性,但是否能真正的起到吸引用户的作用还需要依靠用户的主观能动性。这就要求企业在选择好自身营销载体的基础上,利用后台运行接收数据信息的方法,分析用户点击频率最多的板块和内容,总结出现阶段自身市场发展应当跟随的主流趋势,以及分析当下营销平台运行的成果。例如当下的微博小程序,就是企业依靠文字推送或者视频的方式,与用户建立线上的交流和沟通,在此基础上根据用户的点击频率来制订出更有针对性的市场营销方案。

4分析数据,确立信息展示模式

现阶段,有许多企业建立了自身运营的自媒体平台,有相当一部分是需要用户下载相应的软件,并注册账号才可以获得相关的信息。用户在注册之后,便可以通过在移动端登录的方法来完成后续操作。[3]但也正是因为这种登录方法的存在,用户会获得比其他平台更多的市场信息。这就在一定程度上激发了用户的厌烦心理,有相当一部分用户会由于时间的限制,直接略过企业所的信息。同时,也有一部分企业将自身的信息运用网页链接或者是二维码的方式展现出来,用户必须要在登录网站的基础上再一次点开网页链接,这就会让用户觉得浏览信息是一件非常烦琐的事情。因此,企业要重视自身信息展现形式的转变,企业要尽可能地选择简洁明了的形式突出自身信息的重点,要让用户可以看到自身营销的优势和特点。企业可以用数据分析的方法,统计出用户容易接受的信息展现形式,并按照类别进行划分。当下,用户容易接纳的是企业图文并茂的信息展现形式,可以是图片和文字链接的结合,也可以是视频和文字链接的结合,或者是将链接安置在图片上。企业就可以根据用户的喜好,将自身内容展现的形式进行改革和优化,例如企业可以将市场经营的方向和产品的性能,利用形象化的图片展示出来。让用户可以一眼就看到自身的品牌特色,提高自身的吸引力。在这一过程中企业要意识到信息真实准确表达的重要性,企业可以在原有的基础上进行适当地渲染和润色,但是不能虚假信息,不能夸大其词,不能让用户接受错误且夸张的市场营销数据。

5分析数据,确定市场发展价值

企业运用数据分析的重点不仅是要打造更为针对性的市场营销方案,更是要在数据信息的分析过程中审视自身的市场经营价值,分析自身的发展建设前景,评估现阶段自身方案的质量和效益,并以此来为未来的长远发展打下坚定的基础。因此企业要用数据分析的方法,对自身新媒体运营平台进行阶段性和周期性的监督,分析现阶段自身在市场竞争中的地位。[4]监督的内容主要包括平台粉丝的浏览量和点击率、粉丝的转发量、粉丝总量的增减、除粉丝之外的市场其他用户点击率,以及现阶段市场营销的经济利润和收益等。这样就可以在很大程度上帮助企业确定自身营销平台选择的正确性,分析自身市场发展定位的准确性。

数据分析方向第2篇

关键词:大数据 统计专业 核心

中图分类号:G632 文献标识码:A 文章编号:1674-2117(2014)10-0008-02

1 大数据的统计涵义

通常来说,凡是数据量超过一定大小,导致常规软件无法在一个可接受的时间范围内完成对其进行抓取、管理和处理工作的数据即可称为大数据。业界通常用4个V(即Volume、Variety、Value、Velocity)来概括大数据的特征:数据体量巨大、数据类型繁多、价值密度低、处理速度快。

大数据潮流让我们获得了海量的数据,数据已经成为相关行业创造价值的重要资源。因此,许多IT企业和互联网企业都已将业务范围延伸至大数据产业,探索大数据驱动的业务模式。2012年,美国政府投资2亿美元启动的“大数据研究和发展计划”,更是将大数据的研究上升到国家战略层面。然而,大数据的真正意义不在于数据量的巨大,而在于对数据信息进行专业化的处理,核心是对数据进行分析。面对大数据,越来越多的领域都开始运用数学特别是统计学的工具,挖掘大数据中真正蕴藏的价值。正如西内启在《看穿一切数字的统计学》书中所指出的,“从数据中得出有意义的结果,关键在于控制和减少误差,得出因果关系,单纯收集数据并加以全部量化分析在很多情况下会得出谬误结果,”而科学的统计学方法是得出因果关系的最佳方法。

从统计学角度看,一方面,大数据具有类型繁多、结构复杂、体量巨大等特点,海量数据以分布式方式进行存储,特别是图片、音频、视频等非结构化数据的广泛存在,传统的统计方法和统计分析工具已无法满足大数据分析的需要,亟需统计方法的革新。另一方面,数据分析结果需要用生动、直观、容易被接受的方式展示给读者,可视化分析能够直观地呈现大数据的特点,阐释数据与数据之间的联系。因此,统计学要挺立大数据潮头,创新统计分析工具、可视化分析方法,以大数据的挖掘和应用为核心,将传统文本、图像的统计、分析向数据分析转变,以适应大数据时代的发展及其对统计学带来的挑战。

2 大数据时代统计学教育面临的挑战与应对

据互联网数据中心(Internet Data Center)预测,中国大数据技术与服务市场将会从2011年的7760万美元快速增长到2016年的6.16亿美元,而据业界专家估算,中国大数据市场的人才需求量至少为100万人,其中统计人才、技术更是捉襟见肘。传统数据收集和分析技术的知识结构已不能满足大数据时代对“数据科学家”的要求,多家企业在面对大数据发展时遭遇人才瓶颈。大数据相关人才供给不足将会成为影响大数据市场发展的一个重要因素。

当前,全世界范围内已有数百个高校开设了大数据分析专业。卡内基梅隆大学和新泽西州立大学在培养目标和课程设置上项目设置偏重于计算机方向。课程设置偏重统计学与运筹学(包括决策科学)的典型学校有田纳西大学和约克大学。2013年,北京航空航天大学与慧科教育合作开办了国内首个“大数据技术与应用”软件工程硕士项目研究生班,这是目前国内唯一一个培养大数据行业专业型人才的项目,但其培养目标、知识体系是面向计算机领域,而立足统计学基础的大数据分析人才培养项目,在国内可谓是凤毛麟角。

知者随事而制。高等院校统计学专业要通过有效利用和整合人才培养资源,承担大学人才培养的责任,驾驭大数据的浪潮,占领大数据发展人才培养的制高点,体现高等院校向社会、企业提供智力支撑,输送企业亟需的复合型、实用性大数据分析人才的载体作用,确保产业科学、持续、高速的发展。一是教育资源的整合,走在前列的首都经济贸易大学、北京大学、中国人民大学、中国科学院大学、中央财经大学五所应用统计专业硕士培养单位在北京成立了“中国大数据教育协同创新体”,在高校之间实现学科融合、优势互补、强强联合,通过共享优质资源平台、共同建立课程体系、共同建设案例资源库、联合搭建实践实训平台等多种形式,创新人才培养体制机制。二是高等院校教育资源与业界资源的整合,通过与国有超大型企业、互联网翘楚的协同培养,立足应用统计专业硕士教育,建立人才培养基地,进行协同创新,探索构建应用统计(大数据分析)专业硕士人才协同培养模式。以缓解当前大数据人才供需矛盾为目的,建立“校校协同、校企协同、院系协同”的大数据分析方向人才协同培养模式,最终实现协同培养“数据科学家”的目标。[5]

3 面向大数据分析方向的应用统计专业硕士培养模式的构建

本研究认为,可以将大数据分析及相关的案例教学模式融入应用统计专业硕士学位研究生的培养过程,进而打破统计学传统的以阐述统计理论、公式推导、数学计算为主的教学模式。以情境浸润为基础,为学生呈现统计学在大数据领域应用为核心的教学模式,可以培养学生对大数据的挖掘、整合、分析价值的能力,以期更好、更快地适应企业对数据分析师、数据科学家的需求。

3.1 科学构建课程体系,突出大数据分析特点

大数据具有强烈的行业特点,在充分借鉴国外大学成功经验的基础上,大数据分析专业硕士的课程设置,强化数据分析能力和数据挖掘能力,注重上述技术在金融等领域的应用。必修课在讲授统计基础理论(描述、多元、时序、空间、可视化等)课程的基础上,为增强学生的大规模分布式计算技能,引入主流的大数据计算平台,如Hadoop分布式平台、MapReduce并行编程算法。与此同时,为提高学生动手能力,构建数据模型思维,开设《大数据分析案例》等多门课程。选修课方面,考虑到学生二次开发的需要,设置大数据开发基础课程,如C++、Java等。为突出应用统计专业硕士侧重应用的特点,开设面向数据的编程语言,如R、SAS、Python等课程。这些课程模块的设置并非体现某一学科知识的纵深发展,而是将相关学科的知识融合,有利于突出大数据分析的特点。

3.2 创新教学培养模式,注重培用结合

以“编组”方式开展教学活动。授课教师和学生均采用团队编组模式,多名教师协同工作,共同完成一门课程的授课任务。打破原有学科思维、教材的束缚。采用导师指导与集体培养相结合的方式。教师不可照搬旧有的教学大纲、课程内容,要学习和熟悉大数据相关知识体系与技术新进展,充分结合大数据分析需求和实际案例,使课程内容紧贴实际需求,注重培养学生对模型的理解,对数据的想象力,真正实现学以致用、培用结合。

采取“订制化”培养模式,突出培养与应用相结合的特点,力争做到人、岗的高度匹配。“订制化”培养模式打破了目前应用统计专业硕士统一培养、与市场需求脱节的模式壁垒,教学实践以市场需求为导向,依照企业的岗位标准、用人要求,强调以岗位需求制定培养方案,更好地满足用人单位对大数据分析人才的需求。

3.3 开展校企协同培养,构建问题导向、项目牵引的实践教学模式

根据国务院学位委员会的规定,应用统计学专业硕士学位研究生教育的目的是培养具有良好的统计学背景,系统掌握数据采集、处理、分析和开发的知识与技能,具备熟练应用计算机处理和分析数据的能力,能够并适应行业或职业实际工作需要的应用型高层次人才。因此,要摒弃普遍存在的重理论轻实践、重知识轻技能的教学方式。

协同创新培养在实践教学中建立了以问题为导向,以项目为牵引的运作机制,强调实践教学内容的呈现方式要面向企业需求,让学生参与到企业的项目运行过程中,引导学生建立业务建模能力,培养学生的数据资源整合能力,激发学生参与项目的积极性和自觉性。学生不拘泥于学校的实验实训基地和各类实验室,在第二学年中安排一定时间走出校门,进入到企业的实际环境中,参与企业的项目组织、实施过程,在实践过程中提升自我认知能力,在实践过程应用知识和理论研究实际问题的能力,培养和锻炼数据资源整合能力、沟通协调能力、IT支撑能力、业务建模能力,真正实现面向能力培养的目的。指导教师方面,在案例教学和实习阶段引进业务素质高、项目经验丰富、对大数据发展有敏锐洞察力的企业高级数据分析人员,指导学生在实习实践中提出问题、建立模型、解决问题的能力。

4 结语

应用统计(大数据分析)专业硕士人才协同培养模式,是一项可持续发展的应用统计专业硕士人才培养的新模式,是专业硕士教学实践的创新举措,也是在全国率先建立起来的立足统计学,在大数据分析人才层面建立的校校协同、校企系统办学体。体现了面向能力培养、面向社会需求培养、面向人才价值培养的“三个面向”的培养目标,着重培养学生分析数据、处理数据、展示数据的能力,对于培养“高层次、实用性、复合型、国际化”大数据分析人才意义重大,同时也是顺应大数据技术革命的浪潮,必将对大数据等新兴技术产业的发展注入活力。

(首都经济贸易大学,北京 100070)

参考文献:

[1]刘军.Hodoop大数据处理[M].人民邮电出版社,2013.

[2]大数据的四个典型特征[N].中国电子报、电子信息产业网,2012(12).

[3]CCF大数据专家委员会.2014年大数据发展趋势预测[J].中国计算机学会通讯,2014(1):32-36.

数据分析方向第3篇

摘要:在当前移动互联时代,云计算、物联网等新的信息技术的发展,使得网络中的数据信息呈现出几何递增的趋势,大数据逐渐成为了通信运营商关注的焦点。文章结合大数据的相关概念,对大数据平台建设的有效方案和措施进行了分析,希望能够为运营商大数据平台的设计规划提供一些借鉴。

数据分析方向第4篇

随着计算机技术和互联网以及物联网的不断发展,各种系统结构化和非结构化数据以前所未有的惊人速度迅猛增长,“大数据”时代已经到来。大数据是指数据结构比较复杂、数据规模大的数据集合。其数据量已经远远超出了一般数据管理工具可以承受的处理时间以及数据处理及存储管理能力。在当今大数据环境下,高校管理系统的数据结构及数据量发生了巨大的变化。在数据存储、数据管理、数据分析及数据挖掘等方面面临着巨大的机遇和挑战。为了有效地利用大数据为高校决策分析提供更好的服务,我们必须基于大数据建立相应的决策分析系统。

目前许多高校已积累大量的教学资源和管理数据,从而形成了规模巨大、结构复杂的数据集,为高校的教学管理决策提供了强有力的支持,成了高校教学管理不可缺少的一部分。随着教学改革的不断推进,高校对数据的需求已经从原来的简单事务处理方式转向面向信息分析处理、数据挖掘及决策支持等。因此,针对现有的大数据集合建立决策分析系统,对高校决策分析具有重要的实际意义。决策分析系统是目前知识发现和数据管理领域中的一项重要技术,它基于神经网络算法、机器学习及人工智能等方法进行数据挖掘和知识发现,从而在大数据中获取数据之间内在的相互联系,以及其中可能存在的某种规律,从而帮助决策者快速做出正确的决策,进而提高高校教学管理的科学性,为高校带来良好的决策管理。

1 基于大数据决策分析系统的数据存储方式

高校基于大数据决策分析系统存储数据主要是从校内外各种数据源中获得最原始数据,并对该部分数据进行整合形成数据层,然后将数据层中的数据经过抽取、清洗、转换、装载进入数据仓库从而形成支撑层,在支撑层的基础上,可以根据需求对数据进行挖掘分析,从而构建决策层。当前高校基于大数据决策分析系统的数据存储方式包括基于关系数据库的存储、基于多维数据集存储和虚拟化存储3种数据组织方式。

1.1 基于关系数据库的存储方式

该存储方式主要依托关系数据库存储数据,基于关系的数据存储方式是将分析决策系统中的数据存储在关系型数据库的表中,同时在元数据的管理下进行数据存储管理,从而完成数据分析、决策支持功能。该存储方式在构建数据库时主要采取以下步骤进行数据的抽取:首先,利用图形化的操作界面进行操作,用户能够对关系数据库的数据进行选择操作,同时可以建立和定义多维度数据模型;然后,采用特定程序从关系数据库中抽取某一维度数据。基于关系数据库的存储方式不是简单的从业务系统中抽取数据,而是对业务系统中的数据进行清洗、加工、汇总和整合,从而保证基于大数据分析决策系统内的需要,是针对高校全局的一致的数据。总之,基于关系数据库存储方式要求将学校内各个业务系统的原始数据整合,从而用来支持特定的查询、统计分析和决策支持,以便管理层对某一阶段历史数据进行统计分析。

1.2 基于多维度的数据集存储方式

基于多维度的数据存储方式和基于关系的数据库存储方式不同,是采用数据立方体的方式管理与存储数据,同时以多维度显示与组织数据,是一种基于在线联机分析处理(OLAP)的数据组织形式。该数据存储方式主要采用多维数组结构文件进行数据存储,同时具有不同维度索引及数据管理文件与数据一一对应。该数据存储方式采用“多维数据集(CUBE)”,多维数据集将传统的二维关系表组合成多维数据立方体,数据属性对应为维度(Dimension),在数据属性下的值被称作度量(Measure)。也就是说,将数据由传统的二维关系表组合成多维度立方体,在数据立方体上进行切块(Dicing)与切片(Slicing)、旋转(Turning)、上卷(Rolling-up)、下钻(Drilling-down)等一系列操作(如图1)。

图1 数据立方体的上卷、下钻等一系列操作

1.3 基于虚拟化的数据存储方式

虚拟化存储方式主要有两种存储方式,第一种是将企业内外部结构化和非结构化数据整合到单一的数据存储平台上,从而形成一个单一的数据存储资源池,这样有利于存储基础设施进行统一管理,从而容易实现数据资源共享、存储容量回收和存储空间最大化利用,进而更好的实现存储设施的重复使用,最终实现提高存储基础设施容量效率,以满足当前基于大数据的决策分析系统的需要。第二种存储方式是仅从逻辑上进行整合,也就是说,决策分析系统中没有专门的存储空间,系统中的所有数据一律存储在源业务系统的数据库中,根据决策分析系统的不同维度的需求,业务系为决策分析系统提供数据接口,形成针对决策分析系统的维度视图,决策分析系统临时从业务系统数据库中提取所需数据,从而完成不同维度的数据分析。该存储方式实现简单、成本底,但最大弱点是对业务系统数据规范性、完备性要求极高。同时,还要求业务系统数据模型应非常接近决策分析系统的多维数据模型。

2 基于大数据高校决策分析系统的层次结构

根据高校管理决策需求的特点,首先将当前各信息系统的信息如学籍信息、学工信息、招生就业信息等当前及历史数据和一些其它辅助数据经数据抽取、清洗、转换、装载进入数据仓库,在数据仓库的基础上进行数据挖掘。基于大数据的高校决策分析系统应该三层,分别为数据层支撑层和决策层(如图2)。

图2 基于大数据的高校决策分析系统层次结构

2.1 数据层

分析决策系统的底层是数据层,该层是构建决策系统的数据仓库的基础。数据层包括校内外的各种数据源,内部数据源主要包括学校的各种应用系统的数据库、数据中心的各种备份数据库和存档、以及学校内的各种其它数据资源。外部数据源包括学校之外的各种数据库和数据资源。从而形成一个内容覆盖面广且时间跨度长的海量数据仓库,位学校决策支持提供了庞大的数据基础。

2.2 支撑层

支撑层作为决策层访问数据层的桥梁,有效的解决了分析决策需求目标难以量化的特点,该层对不同数据源中数据进行收集、分类、抽取、清洗、转换从而装载到数据仓库,通过数据仓库可以对不同数据源进行统一管理,可以为决策层的各种应用提供了标准接口,从而可以构造面向主体分析的更高粒度的数据集市。同时,支撑层将数据仓库中的数据按照特定的层次进行汇总聚合,构成数据分析的多维视图。以便决策层从不同角度进行分析使用。

2.3 决策层

决策层由通用平台和面向主题平台组成。为了适应决策需求不稳定的特点,通用平台是提供一些简单分析模型和常用的数据挖掘方法,以便在通常情况下不必建立专门应用分析系统。极大提高了决策支持系统的灵活性和通用性。针对相对稳定且复杂的决策需求,面向主题平台从数据仓库抽取特定数据,建立面向主题的数据集市,建立面向主题的分析系统。

3 基于大数据分析决策系统的系统实现

基于大数据高校分析决策系统建设的总体思想是,不考虑数据源中数据的结构化问题,首先由高校管理方面的专家将所积累的管理知识整理,然后把这些知识转化成集计算机可以识别和存储的语言,从而形成知识库。其次,依靠知识库和专家知识从各种数据源中提取有用的数据,对数据进行收集、分类、抽取、清洗、转换后以新的组合形式储存到数据仓库中。在数据仓库中,经过分类、抽取、清洗、转换后的数据是以一系列元数据的形式存储的。最后,在数据仓库的基础上,可以建立通用的和面向主题的分析平台,从多维度进行统计分析,最终为不同层次决策者提供支持。因此,该基于大数据的高校决策分析系统的体系结构由数据源、数据收集、分类、清洗、转换、存储和管理、数据挖掘及知识发现、分析决策等部分组成(如图3)。

图3 基于大数据的高校决策分析系统的体系结构

3.1 数据源

数据源是指来学校内部或外部的各种结构化和非结构化的数据,这些数据可以是来自关系数据库,也可以是非关系数据库的数据,例如学籍信息、学工信息、人事管理信息、图书信息等为结构化数据。非结构化数据如教学视频、存档的试卷信息等,数据源是学校决策支持系统获取各类教学管理信息的来源,从数据源获取的数据经过分类、清洗转换、及相应的处理后存入数据仓库,作为分析决策系统的基础数据。

3.2 数据收集、抽取、分类、清洗、转换

该步骤主要完成数据的收集、抽取转换、清洗和监视等工作。目的是对来自不同数据源的信息进行整理,同时把有可能影响分析决策的数据转换成系统的数据格式;数据清洗是为了是保持数据的一致性,同时减少系统中的数据冗余;同时监视数据源上数据的是否发生变化,发现信息源的数据发生变化时,定期对数据源数据进行收集进行数据、抽取、分类、清洗、转换,以扩充和更新决策系统中的数据信息。

3.3 数据存储及数据管理

数据存储主要对数据仓库中的结构化和非结构化数据的存储和管理,数据仓库中存储了海量与高校决策有关的重要数据。支撑层中的知识库存放了大量的决策分析的共性知识、教育法规、学籍管理规定等;模型库存放决策分析的系统运行模型和处理模型,同时整个数据仓库的数据存储采用元数据管理,数据存储及管理主要负责数据仓库的数据同步、整合工作。

3.4 数据挖掘及知识发现

数据挖掘及价值发现主要采取机器学习、神经网络、知识处理等技术和传统统计学算法及计算智能(遗传算法、模糊集等)和数据库相结合的方法,从数据仓库的大数据中挖掘隐藏的规律,也就是说数据仓库中挖掘和发现知识,掌握大数据间存在的某种相互关联、提取面向主题的信息进行分析,为各种管理决策层决策提供有效的依据。

3.5 决策分析

决策层主要由面向通用的分析平台和面向主题的分析平台组成, 面向通用的分析平台是针对学校教学改革的推进,管理需求存在不稳定的特点,提供一些简单分析模型和常规的数据挖掘方法,可以为管理层提供快速决策的参考。针对相对稳定的学校战略决策需求,可以从数据仓库中抽取面向主题数据,从而建立数据集市,开发面向主题的决策平台。对于学校的各个管理层决策,可以利用这些通用分析和面向主题分析平台,从而进行多维度的综合分析,从而制定出学校的战略决策和日常的管理决策。

数据分析方向第5篇

关键词:大数据;数据存储方式;数据立方体

中图分类号:TP311.13

随着计算机技术和互联网以及物联网的不断发展,各种系统结构化和非结构化数据以前所未有的惊人速度迅猛增长,“大数据”时代已经到来。大数据是指数据结构比较复杂、数据规模大的数据集合。其数据量已经远远超出了一般数据管理工具可以承受的处理时间以及数据处理及存储管理能力。在当今大数据环境下,高校管理系统的数据结构及数据量发生了巨大的变化。在数据存储、数据管理、数据分析及数据挖掘等方面面临着巨大的机遇和挑战。为了有效地利用大数据为高校决策分析提供更好的服务,我们必须基于大数据建立相应的决策分析系统。

目前许多高校已积累大量的教学资源和管理数据,从而形成了规模巨大、结构复杂的数据集,为高校的教学管理决策提供了强有力的支持,成了高校教学管理不可缺少的一部分。随着教学改革的不断推进,高校对数据的需求已经从原来的简单事务处理方式转向面向信息分析处理、数据挖掘及决策支持等。因此,针对现有的大数据集合建立决策分析系统,对高校决策分析具有重要的实际意义。决策分析系统是目前知识发现和数据管理领域中的一项重要技术,它基于神经网络算法、机器学习及人工智能等方法进行数据挖掘和知识发现,从而在大数据中获取数据之间内在的相互联系,以及其中可能存在的某种规律,从而帮助决策者快速做出正确的决策,进而提高高校教学管理的科学性,为高校带来良好的决策管理。

1 基于大数据决策分析系统的数据存储方式

高校基于大数据决策分析系统存储数据主要是从校内外各种数据源中获得最原始数据,并对该部分数据进行整合形成数据层,然后将数据层中的数据经过抽取、清洗、转换、装载进入数据仓库从而形成支撑层,在支撑层的基础上,可以根据需求对数据进行挖掘分析,从而构建决策层。当前高校基于大数据决策分析系统的数据存储方式包括基于关系数据库的存储、基于多维数据集存储和虚拟化存储3种数据组织方式。

1.1 基于关系数据库的存储方式

该存储方式主要依托关系数据库存储数据,基于关系的数据存储方式是将分析决策系统中的数据存储在关系型数据库的表中,同时在元数据的管理下进行数据存储管理,从而完成数据分析、决策支持功能。该存储方式在构建数据库时主要采取以下步骤进行数据的抽取:首先,利用图形化的操作界面进行操作,用户能够对关系数据库的数据进行选择操作,同时可以建立和定义多维度数据模型;然后,采用特定程序从关系数据库中抽取某一维度数据。基于关系数据库的存储方式不是简单的从业务系统中抽取数据,而是对业务系统中的数据进行清洗、加工、汇总和整合,从而保证基于大数据分析决策系统内的需要,是针对高校全局的一致的数据。总之,基于关系数据库存储方式要求将学校内各个业务系统的原始数据整合,从而用来支持特定的查询、统计分析和决策支持,以便管理层对某一阶段历史数据进行统计分析。

1.2 基于多维度的数据集存储方式

基于多维度的数据存储方式和基于关系的数据库存储方式不同,是采用数据立方体的方式管理与存储数据,同时以多维度显示与组织数据,是一种基于在线联机分析处理(OLAP)的数据组织形式。该数据存储方式主要采用多维数组结构文件进行数据存储,同时具有不同维度索引及数据管理文件与数据一一对应。该数据存储方式采用“多维数据集(CUBE)”,多维数据集将传统的二维关系表组合成多维数据立方体,数据属性对应为维度(Dimension),在数据属性下的值被称作度量(Measure)。也就是说,将数据由传统的二维关系表组合成多维度立方体,在数据立方体上进行切块(Dicing)与切片(Slicing)、旋转(Turning)、上卷(Rolling-up)、下钻(Drilling-down)等一系列操作(如图1)。

图1 数据立方体的上卷、下钻等一系列操作

1.3 基于虚拟化的数据存储方式

虚拟化存储方式主要有两种存储方式,第一种是将企业内外部结构化和非结构化数据整合到单一的数据存储平台上,从而形成一个单一的数据存储资源池,这样有利于存储基础设施进行统一管理,从而容易实现数据资源共享、存储容量回收和存储空间最大化利用,进而更好的实现存储设施的重复使用,最终实现提高存储基础设施容量效率,以满足当前基于大数据的决策分析系统的需要。第二种存储方式是仅从逻辑上进行整合,也就是说,决策分析系统中没有专门的存储空间,系统中的所有数据一律存储在源业务系统的数据库中,根据决策分析系统的不同维度的需求,业务系为决策分析系统提供数据接口,形成针对决策分析系统的维度视图,决策分析系统临时从业务系统数据库中提取所需数据,从而完成不同维度的数据分析。该存储方式实现简单、成本底,但最大弱点是对业务系统数据规范性、完备性要求极高。同时,还要求业务系统数据模型应非常接近决策分析系统的多维数据模型。

2 基于大数据高校决策分析系统的层次结构

根据高校管理决策需求的特点,首先将当前各信息系统的信息如学籍信息、学工信息、招生就业信息等当前及历史数据和一些其它辅助数据经数据抽取、清洗、转换、装载进入数据仓库,在数据仓库的基础上进行数据挖掘。基于大数据的高校决策分析系统应该三层,分别为数据层支撑层和决策层(如图2)。

图2 基于大数据的高校决策分析系统层次结构

2.1 数据层

分析决策系统的底层是数据层,该层是构建决策系统的数据仓库的基础。数据层包括校内外的各种数据源,内部数据源主要包括学校的各种应用系统的数据库、数据中心的各种备份数据库和存档、以及学校内的各种其它数据资源。外部数据源包括学校之外的各种数据库和数据资源。从而形成一个内容覆盖面广且时间跨度长的海量数据仓库,位学校决策支持提供了庞大的数据基础。

2.2 支撑层

支撑层作为决策层访问数据层的桥梁,有效的解决了分析决策需求目标难以量化的特点,该层对不同数据源中数据进行收集、分类、抽取、清洗、转换从而装载到数据仓库,通过数据仓库可以对不同数据源进行统一管理,可以为决策层的各种应用提供了标准接口,从而可以构造面向主体分析的更高粒度的数据集市。同时,支撑层将数据仓库中的数据按照特定的层次进行汇总聚合,构成数据分析的多维视图。以便决策层从不同角度进行分析使用。

2.3 决策层

决策层由通用平台和面向主题平台组成。为了适应决策需求不稳定的特点,通用平台是提供一些简单分析模型和常用的数据挖掘方法,以便在通常情况下不必建立专门应用分析系统。极大提高了决策支持系统的灵活性和通用性。针对相对稳定且复杂的决策需求,面向主题平台从数据仓库抽取特定数据,建立面向主题的数据集市,建立面向主题的分析系统。

3 基于大数据分析决策系统的系统实现

基于大数据高校分析决策系统建设的总体思想是,不考虑数据源中数据的结构化问题,首先由高校管理方面的专家将所积累的管理知识整理,然后把这些知识转化成集计算机可以识别和存储的语言,从而形成知识库。其次,依靠知识库和专家知识从各种数据源中提取有用的数据,对数据进行收集、分类、抽取、清洗、转换后以新的组合形式储存到数据仓库中。在数据仓库中,经过分类、抽取、清洗、转换后的数据是以一系列元数据的形式存储的。最后,在数据仓库的基础上,可以建立通用的和面向主题的分析平台,从多维度进行统计分析,最终为不同层次决策者提供支持。因此,该基于大数据的高校决策分析系统的体系结构由数据源、数据收集、分类、清洗、转换、存储和管理、数据挖掘及知识发现、分析决策等部分组成(如图3)。

图3 基于大数据的高校决策分析系统的体系结构

3.1 数据源

数据源是指来学校内部或外部的各种结构化和非结构化的数据,这些数据可以是来自关系数据库,也可以是非关系数据库的数据,例如学籍信息、学工信息、人事管理信息、图书信息等为结构化数据。非结构化数据如教学视频、存档的试卷信息等,数据源是学校决策支持系统获取各类教学管理信息的来源,从数据源获取的数据经过分类、清洗转换、及相应的处理后存入数据仓库,作为分析决策系统的基础数据。

3.2 数据收集、抽取、分类、清洗、转换

该步骤主要完成数据的收集、抽取转换、清洗和监视等工作。目的是对来自不同数据源的信息进行整理,同时把有可能影响分析决策的数据转换成系统的数据格式;数据清洗是为了是保持数据的一致性,同时减少系统中的数据冗余;同时监视数据源上数据的是否发生变化,发现信息源的数据发生变化时,定期对数据源数据进行收集进行数据、抽取、分类、清洗、转换,以扩充和更新决策系统中的数据信息。

3.3 数据存储及数据管理

数据存储主要对数据仓库中的结构化和非结构化数据的存储和管理,数据仓库中存储了海量与高校决策有关的重要数据。支撑层中的知识库存放了大量的决策分析的共性知识、教育法规、学籍管理规定等;模型库存放决策分析的系统运行模型和处理模型,同时整个数据仓库的数据存储采用元数据管理,数据存储及管理主要负责数据仓库的数据同步、整合工作。

3.4 数据挖掘及知识发现

数据挖掘及价值发现主要采取机器学习、神经网络、知识处理等技术和传统统计学算法及计算智能(遗传算法、模糊集等)和数据库相结合的方法,从数据仓库的大数据中挖掘隐藏的规律,也就是说数据仓库中挖掘和发现知识,掌握大数据间存在的某种相互关联、提取面向主题的信息进行分析,为各种管理决策层决策提供有效的依据。

3.5 决策分析

决策层主要由面向通用的分析平台和面向主题的分析平台组成, 面向通用的分析平台是针对学校教学改革的推进,管理需求存在不稳定的特点,提供一些简单分析模型和常规的数据挖掘方法,可以为管理层提供快速决策的参考。针对相对稳定的学校战略决策需求,可以从数据仓库中抽取面向主题数据,从而建立数据集市,开发面向主题的决策平台。对于学校的各个管理层决策,可以利用这些通用分析和面向主题分析平台,从而进行多维度的综合分析,从而制定出学校的战略决策和日常的管理决策。

4 结束语

总之,高校基于大数据分析决策系统的建设是一项周期长、规模大、业务十分复杂的工程,由于数据量大、数据结构复杂、数据源分散以及涉及的对象众多,因此首先应该遵循循序渐进的原则,从某个的主题着手,比如分别在学籍管理、教学质量管理、实践创新管理等方面建立面向主题的分析平台,同时建立通用的分析平台,从而形成建设决策系统的开端,再全面进行决策系统的建设。高校基于大数据分析决策系统建设的核心是研制适合高校业务管理的数据挖掘算法,并在此基础上形成以高校教学和管理为主题的教学综合分析决策系统模型,最终建立可用的分析决策系统,为各类教学决策提供科学的依据,并为高校人才培养服务。

参考文献:

[1]徐子沛.大数据:正在到来的数据革命[M].桂林:广西师范大学出版社,2012.

[2]范范.大数据前景展望[N].网络世界,2012.

[3]大数据时代下,企业信息管理的新革命[J].网络与信息,2012.

[4]刘欢,张瑾.数据挖掘改善校园网体验[J].中国教育网络,2012.

[5]张春阳.基于数据仓库的决策支持系统的构建[J].计算机工程,2002(28).

[6]蔡勇.数据挖掘技术在生源分析中的应用研究[J].计算机应用研究,2004.

[7]高正光.基于神经网络与遗传算法的数据挖掘体系结构[J].计算机工程,2004(30).

[8]傅国强.基于数据仓库的校园管理与决策支持系统的设计.微机发展,2003(11).

[9]董彩云.数据挖掘及其在高校教学系统中的应用[J].济南大学学报(自然科学版),2004.

数据分析方向第6篇

关键词:核函数;主成分分析;特征提取;协方差矩阵;Gram矩阵

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)28-6659-04

智能时代的到来,模式识别得到了广泛的重视和应用。支持向量机(SVM)由于有着坚实的统计学理论基础,能够实现结构风险最小化,特别是能够克服机器学习中经常遇到的“维数灾难”问题,并且在二类分类中表现出优异的性能,从而在分类中占有重要地位。SVM不仅能够进行线性分类,而且在非线性分类中也表现出良好的性能。这归因于SVM中成功应用了核函数的思想,把在低维空间中不可分的输入数据映射到高维的特征空间(也叫希尔伯特空间)中去,在高维空间中就有可能可分。核函数思想在SVM中的成功应用,打开了核函数的应用领域,从本质上来说,只要一个应用中直接或间接地需要用到两个向量内积的运算,核函数都有可能在该领域有所作为。这样,核函数的应用,并没有改变本来应用的思路,同时,核函数注重的是两个向量之间的内积结果,使得在应用中并不需要知道真正的变换函数是什么,从而方便了分类或聚类等应用。主成分分析(Principal component analysis,PCA)在模式识别中得到了广泛的应用,是一个对线性输入空间进行降维的有效方法,但实际工程应用中的数据空间往往不是线性的,如果能够将核函数的思想应用到PCA中,就能够使得PCA对非线性的数据空间也能够进行有效降维,能够有效改进模式识别的算法效率,降低对存储空间的要求。

当前对核主成分分析的研究取得了很多成果,在应用中也得到了有效应用。但是,核主成分分析的具体实现过程、核函数的参数选择、核函数的直接构造、由函数产生核以及主成分分析不考虑分类类别的改进上,还有很多工作需要做,该文在以上几方面予以分析,并在应用中予以实验验证。

1 核函数

核函数的研究起源于1909年,Mercer提出了核的定理与条件,1940年后,再生核得到研究,1964年Aizermann等人将核的思想运用到机器学习领域,1992年Vapnik等人在SVM中成功应用了核函数,从此核函数得到了深入的研究与应用。

核函数是一个n维欧氏空间Rn到希尔伯特空间H的变换上的内积函数,即K(x1,x2)= (Φ(x1)Φ(x2) )。

核函数具有一个重要特性:一个对称函数K(x1,x2)是核函数,那么K(x1,x2)对应于x1,x2…xn的Gram矩阵非负定;反过来,若K(x1,x2)对应于x1,x2…xn的Gram矩阵非负定,则K(x1,x2)是核函数。

因此寻找核函数可以利用以上性质,只要找到一个对称函数K(x1,x2),做出其对应的Gram矩阵,判断该矩阵的正定性就可以得出K(x1,x2)是否是核函数。当前较为广泛使用并有效的核函数有高斯径向基核函数[K(x1,x2)=exp(-||x1-x2||2/(2σ)2))]、多项式函数K(x1,x2)=((x1x2)+1)d。

但是,在实际工程应用中,有些应用场合,数据分布具有一定的特殊形式,通过多项式核函数或高斯径向基核函数并不能达到最佳效果,即使通过大量的实验,也很难找到最恰当的核函数参数。这时,可以根据数据分布的特点,进行核函数构造,这样构造出的核函数在数据处理上有可能达到很高的效率。

另外,还可以根据某些不是核函数的函数,通过一定的方式,构造出核函数。因为,根据核函数的性质,一个函数若是核函数,它对应的Gram矩阵必是非负定的。那么,若一个函数不满足这个特性,则可以通过一个过渡函数,运用以下公式将它改造为核函数:

[K(x1,x2)=i=1Ntrans(xi,x1)trans(xi,x2)]

其中,N为输入空间中样本的个数,x1、x2是输入空间的向量,trans()是一个过渡函数。实际上,Sigmoid核函数f(x)=1/(1+e-x)在手写数字识别领域得到了应用并取得较好效果,但是Sigmoid函数对应的Gram矩阵不具有非负定特性,因此,严格意义上来说Sigmoid函数不是一个真正的核函数,而是一个经过某个过渡函数改造成的核函数。[1]

2 主成分分析

2.1 主成分分析(PCA)

在对输入数据进行模式识别时,经常会发现样本数和输入的向量的维数很大的情况,这对处理时间和所占用的空间有很高的要求,处理得不好,会导致主存溢出的情况。因此,对于很大的维数,往往需要通过某种手段,将维数降低。实际上,这种情况是可行的。因为,在采集的数据样本中,很多属性之间有着关联。例如对学生考试进行分析,若有七门功课:语文、数学、英语、政治、生物、物理、化学,这些科目的成绩中很多科目成绩之间是相关的;再如,在定制衬衣时,需要身高、胸围、坐高、臂长、腰围、肋围等六项数据,但这些数据往往是相关的,实际中只要身高、胸围、腰围几项即可。

主成分分析(PCA)是数据降维的有效手段,特别是对于线性数据。PCA通过变换使得结果具有最大的均方差,在二维空间中,能够将每个样本投影到一个一维空间中。对于n维空间,可以将输入数据样本的协方差矩阵求出。协方差矩阵cov为:

[cov(A)pXp=1N-1i=1p(xi-x)(xj-x)] A为nXp数据输入矩阵

协方差矩阵是个对称矩阵,对角线上diag(cov(A))的元素即为对应向量的标准差。协方差矩阵保持了原始输入空间的信息,特别是,若原始输入空间数据满足高斯分布,则该输入数据的所有信息都在协方差矩阵中反映出来。

将协方差矩阵cov(A)求出特征值和特征向量,并将这些向量按照特征值的大小按降序排列。根据应用的需要,对特征值进行分析。将特征值的累计贡献率计算出来,并根据应用的要求,若一般应用环境,累计贡献率取85%即可;对于一些精度要求高的应用,累计贡献率取95%甚至以上。这样,将大于累计贡献率的特征值取出,将对应的特征向量排列成矩阵,将输入空间的数据通过该特征向量矩阵进行转换,就得到降维后的输入数据。

例如,当一个输入空间有30个数据,每个数据7个特征,经过计算得到7X7的协方差矩阵,对此协方差矩阵求特征值、特征向量,假设根据累计贡献率的要求,只需要4个主特征,得到一个7X4的特征向量矩阵。用输入样本数据或测试样本乘以这个矩阵,就得到降维后的数据。当然,数据原始信息会有一定的损失,但很小,一般不影响分类结果。

经过PCA降维后的数据,可以通过降维过程的逆操作,恢复成原来的数据。累计贡献率阈值越大,恢复数据的精度也就越高。注意降维过程减去了均值,恢复数据要加上这个均值。

2.2 Fisher判别分析(FDA)

PCA主要应用在线性数据降维上,在降维的过程中,可以发现主要通过协方差矩阵,对原始输入数据进行处理,并没有用到类别的信息,因此PCA是一种无监督的线性降维方式,这种降维方式对于有些分类,对导致较大偏差。

Fisher判别分析(FDA)在对主要成分进行分析时,不仅要进行原始数据的处理,同时要关注类别信息,因此,被称为有监督的主成分分析。FDA采用类间散布矩阵和类内散布矩阵,然后计算特征值和对应的特征向量。

Fisher判别分析(FDA)采用类内聚集程度与类间离散程度的比值也决定,该比值越大,说明对分类的贡献越大,该成分就有可能成为是主成分。

2.3 核主成分分析与核Fisher判别分析

主成分分析(PCA)对线性输入空间数据有良好的降维效果,采用核函数的思想,将核函数应用到PCA中,形成核主成分分析,这样,将在低维空间非线性很难降维的数据通过核函数映射到高维特征空间(希尔伯特空间)中,通过选择适当的核函数与参数,就有可能在高维空间中进行有效降维。FDA也可以采用核函数思想改进为核Fisher判别分析。

在分类中,有了降维后的数据,时间和空间效率能够提升,但在核主成分分析时没有对类别信息加以利用,因此在实际的分类中,可以采用核主成分分析结合核Fisher判别分析进行,这样对有些难以分类的数据集能够有效进行分类。

3 核主成分分析及其应用

3.1 核主成分分析的过程

传统PCA中,首先需要计算协方差矩阵:

[cov(A)pXp=1N-1i=1p(xi-x)(xj-x)]

采用核函数的特征空间的协方差矩阵为:

[cov(A)pXp=1N-1i=1p(?(xi)-?(x))(?(xj)-?(x))],其中[K(xi,xj)=?(xi)?(xj)]

若输入空间数据满足“中心化”,即[?(x)]=0,则上式可简化为:

[cov(A)pXp=1N-1i=1p(?(xi)(?(xj)]

根据PCA的特点及再生核理论,最优投影轴应该是特征空间中的样本的线性组合,写成拉格朗日函数形式并对线性相关系数求导,得:

[Kα=λα],其中[α]为特征空间的样本之间线性组合的系数。到了这一步,就可以对K矩阵求特征值和特征向量即可。

以上核主成分分析是假设数据的中心化即均值为零的情况。若不满足此条件,可以通过对特征空间的所有数据在希尔伯特空间平移一个均值的距离,这样的平移不改变特征数据的形状。

在进行核主成分分析时,也可以通过以下公式进行核矩阵K的中心化(标准化):

[K_new=K-U*K-K*U+U*K*U,其中U=(1)N*N/N(N是样本的个数)]

3.2 核主成分分析的应用与实现要点

Matlab在模式识别上具有直观、有强大的计算能力以及绘图能力,下面以Matlab 7.1作为平台,对核主成分分析进行实现。

3.2.1 传统PCA在Matlab上的实现

传统PCA在Matlab中有两个函数可以完成数据降维。

若输入数据的协方差矩阵已知,则可以通过pcacov()函数进行PCA降维。设协方差矩阵为V,则通过[c,l,e]=pcacov(V)就能得到V的所有特征值的降序排列l,每个主成分的贡献率e以及主成分系数c。可以通过函数barttest()进行Bartlett维数校验,通过pcares()函数进行主成分的残差分析。

最常用的做PCA分析的函数是pcacomp(),只需要输入数据矩阵X,就可以通过:

[c,s,l ,t2]=princomp进行PCA降维分析。C代表主成分的系数矩阵,s代表主成分矩阵,l代表降序排列的样本协方差矩阵的特征值,t2代表某个样品对应的霍特林(Hotelling) T2的统计量,这个统计量可以用来进行设备运行的故障检测,用来表示某个观测值与观测数据中心的距离,可以用作异常点分析。

在对输入数据矩阵计算协方差矩阵时,需要进行数据的标准化。可以用三种方法进行标准化(设输入数据矩阵为X,是一个nXp矩阵):

1) s=std(X)

stds=X./s(ones(n,1),:)

[c,s,l ,t2]=princomp(stds)

2) s=std(X)

stds=X./repmat(s,n,1)

[c,s,l ,t2]=princomp(stds)

3) s=zscore(X)

[c,s,l ,t2]=princomp(stds)

此外,在协方差的计算上,计算的顺序将会大大影响最终的结果。如100个样本30维特征,应该计算出的协方差矩阵是30X30,若没有注意到这一点,最终可能算出的协方差矩阵是100X100。

3.2.2 核主成分分析在Matlab上的实现

Matlab在模式识别工具箱stprtool里提供了进行核主成分分析的kpca()函数。stprtool工具箱不是Matlab 7.1的标准工具箱,需要下载后并设置到Matlab路径下。

%X是数据输入矩阵,数据分布可以不是线性,可以是圆状、椭圆状等

opt.ker=’rbf’%opt是结构变量,ker分量指出核函数类型,arg是参数

opt.arg=5

opt.new_dim=2 %new_dim是输出维数

Y=kpca(X,opt)

采用kpca函数很简单,但并不灵活。下面采用类Matlab来进行核主成分分析的算法实现。由于很多场合下的数据分布接近高斯分布,并且高斯分布的协方差矩阵对原始信息无丢失,下面核函数采用高斯径向基函数,高斯径向基函数需要输入一个参数。步骤如下:

1) 准备好训练数据T,测试数据TT,并设置高斯径向基函数的参数rbf,累计贡献率大小为thres;

2) 训练数据T、测试数据TT标准化;

3) 运用高斯核函数计算核矩阵,由于核矩阵是对称的,只需要计算出上三角矩阵即可,另一半元素用赋值完成,可以提高运算效率;

K(i,j)=exp(-norm(T(i,:)-T(j,:))^2/rbf);

4) 运用K_new=K-U*K-K*U+U*K*U中心化高斯核矩阵;

5) 对K_new进行特征值及特征向量的计算:[ev,evalues]=eig(K_new);

6) 计算累计贡献率;

7) 找出累计贡献率大于或等于thres的特征值,将对应的特征向量组成矩阵;

8) 对测试数据TT进行测试。

上述算法可以看出,采用了核函数,PCA成为核主成分分析,但具体的实现过程与传统的PCA很类似,但带来的效果是可以进行非线性降维。并且采用了核函数,从线性空间向高维空间的转换并不需要具体关心转换函数的形式。

3.3 核主成分分析的效果

下面用上述的核主成分分析算法对Matlab 7.1自带的cities.mat数据进行分析。cities.mat共收集了美国329个城市在历史上一段时期内城市生活质量的数据统计,共有9个指标:艺术、住房、健康、气候、娱乐、犯罪率、经济、交通和教育。

不同指标的数据值相差很大,需要进行标准化处理。

图1 核主成分分析后的第1主成分和第3主成分

图2 cities的主成分pareto图

从运行的结果看,核主成分分析能够对cities.mat的数据进行降维,效果与传统PCA精度相当,运用tic、toc指令进行计时,传统PCA执行时间约 2.6秒,核主成分分析需时4.6秒,这是因为核主成分分析需要计算核矩阵,高斯核需要计算二范数以及exp运算。但核主成分分析由于采用了核,计算量上有所增加,但对线性、非线性输入空间都能进行有效降维。

4 结束语

核主成分分析在传统的主成分分析的基础上,有机地结合了核函数的思想,从而使得核主成分分析能够有效处理非线性的输入空间数据的降维。核主成分分析如果结合核聚类、核Fisher判别分析,充分利用输入数据的特点和分类类别,进行数据维度的降低,不仅能够加速分类的效率,而且能够提高精度。由于核函数的引入,因此,对于核函数的参数选择,核函数根据数据输入特点的直接构造,或从任一函数生成一个核函数就显得至关重要。未来的进一步应用将会在核函数的生成与核主成分分析、核Fisher判别分析的结合上,作为模式识别的预处理,将做深入的探讨。

参考文献:

[1] 徐勇,张大鹏,杨健.模式识别中的核方法及其应用[M].北京:国防工业出版社,2010:27-39,138-142.

[2] 邓乃扬,田英杰.支持向量机-理论、算法与拓展[M].北京:科学出版社,2009:92-96,105-114.

[3] 万家强,王越,刘羽.改进KPCA对分类数据的特征提取[J].计算机工程与设计,2010,31(18):4085-4092.

[4] 汪司飞,黄斐.基于K-均值聚类的KPCA在故障诊断中的应用[J].计算机应用与软件,2013,3(4):120-130.

[5] 邓貌,陈旭,陈天翔,等.采用核聚类分析的KPCA改进算法[J].智能系统学报,2010,5(3):221-226.

数据分析方向第7篇

——IBM彭明盛

一、新的计算理念与潮流

综合各方面信息显示,未来全球技术最有潜力的方向包括:移动互联网、可扩展的企业服务生态网络、软件定义的系统环境、感知环境的企业、多媒体理解和可视化分析等等。这些发展都是以认知计算与数据科学的创新突破为前提的。例如,移动互联网下一代的发展方向是语义网(WEB),大数据正在引发数据科学的突破(鄂维南院士认为“数据科学将逐步达到与其他自然科学分庭抗礼的地位”)等等。因此从认知计算和数据科学角度观察IBM创新的方向,捕捉其中蕴含的全局方向性的信号,非常有意义。

从认知计算和数据科学角度看,IBM的智慧的运算,有几个关键之处,代表了未来真正的方向。

首先是情境计算的概念。目前国内外都有一股潮流,把大数据引向集中计算方向。例如把大数据理念片面引向决定论的宿命论,把大数据当成了集中模式的网格计算,在认知计算孤立迷信数学算法,将大数据应用引导到建设集中模式的BI上面。这会整体误导个性化定制的技术方向。

我在国内外同IBM的科学家交流中有一个共识,认为这不符合图灵的初衷,违背了人工智能、认知科学在人机关系上的平衡。情境计算可以视为一个方向上的纠偏,IBM在这方面的创新正在颠覆冯诺依曼体系。IBM研究中心(IBM Research)计划领导人Dharmendra Modha表示:“感知电脑必须能整合来自情境依赖形式(context dependent fashion)下不同传感器的输入信息,才能接近人脑的实时感觉运动反馈回路(sensory-motor feedback loop)。”IBM中国开发中心首席技术官毛新生也认为,在将来的企业整合(enterprise integration)和情境加速(context accumulation)中,人们的关系将从交易变为交互体验,转向了感性,其中蕴育着对算法突破的需求。

目前除了IBM之外,已有越来越多主流公司如微软、英特尔都认同情境感知(Context Awareness)这一方向。包括一向迷信数学算法的谷歌,在Facebook新算法的冲击下,也开始相信情境计算。

与这一计算方向最终同步的,将是商业上的情境定价(Contextual Pricing)模式,情境定价自美国去年12月兴起,将在多年后在中国广泛为人们认知。届时人们会彻底颠覆现在搞反方向的个性化定制。

其次,IBM对分析洞察的强调,对大数据的流俗理念也是一个纠偏。目前大数据的流俗理念普遍强调大数据的客体特征,而忽略其主体特征。IBM则以智慧来解大数据。智慧是人的特征,而非物的特征。数据只是物,是工具手段,只有同人的目的结合起来,转化为智慧,才是有用的。为此,IBM在强调大数据的3V——数量(Volume)、多样性(Variety)、速度(Velocity)——同时,着重强调第四个V,即真实性(Veracity)。IBM认为真实性是当前企业亟需考虑的重要维度。强调分析洞察,就是为了把数据转化为真实性判断。否则,大数据只能“乱花渐欲迷人眼”,让人愈发不智慧。

在这个方向上,IBM明确以"智慧的分析洞察"为核心的大数据战略,在"大数据平台"外,特别提出"大数据分析",两手都要硬。这是与众不同之处。

这对行业与企业尤为重要。因为按现在的搞法,弄了一大堆数据,却没有加工能力,就好比煤采出来了,却没法加工利用。IBM是目前业界唯一能够集咨询、服务、软硬件综合实力,提供端到端全面整合解决方案的厂商,致力于帮助用户通过大数据分析,向着更具洞察力,反应力和协作力的方向持续转型。

为此,IBM对企业提供了五项面向商业价值而非技术价值的关键建议,包括:以"客户为中心",制定前期"大数据战略规划"、制定全面完整的企业"大数据蓝图"、从现有数据入手,设定并完成短期和阶段性的"大数据战略目标"、根据业务优先级,逐步建立分析体系,循序渐进提升"大数据分析能力"以及定制可衡量的指标分析"大数据 ROI(投资回报率)"。这无疑是一个正确的方向。对当下以自我为中心,为技术而技术的大数据错误潮流,是一个有力的纠正。

二、新一代智慧运算体系的启示

当前大数据还面临初级阶段发展的特有问题,发展不成体系,呈现把行业当业务去做的“大规模的小生产”现象。但凡成点规模的公司,人人都想定制出个大数据系统,由于缺乏底层科学基础,弄得顾头不顾尾,封闭有余,开放不足,虽可以满足一时应用,但给将来的升级和持续发展留下隐患。相当于给未来的大个子穿上了一件小衣服。

作为行业领导者,IBM的智慧运算体系及时给大家做出了示范,我们可以从中看出适合未来产业做大后的体系框架。

"智慧的运算"提供了一种数字平台,用于整合硬件、基于分析的软件、网络管理服务和虚拟化,整个基础架构正在变得可以由软件定义,且工作负载可被所需分配到可编程的基础架构上。这一平台可通过三个主要特征来描述:

1. 为大数据设计(Designed for Big Data)。大数据和信息集成功能可以从大量数据中获得洞察力,从根本上改变公司使用信息的方式。

2. 由软件定义(Software-defined Environments)。为了应对当前的数据数量、多样性和速度,企业数据中心必须更动态、更灵活,在"由软件定义"的环境中,网络、存储和服务器以及软件可以随需地根据工作负载进行调试。

3. 开放协作(Open and Collaborative)。只有通过开放标准和平台,企业才能在当前丰富的创新生态系统中支持日益增多的非结构化数据、设备和服务,并且开展业务。

这三个特点,代表了三个重要的方向,都很有针对性。

目前许多厂家搞出的大数据,更象是为一大堆数据设计,而非为大数据设计。缺点是看不出给未来分析加工留下的发展纵深在哪里。举例来说,大家一窝蜂都去搞互联网支付,但将来形成的数据怎么处理?现有方案多是为自己处理数据设计,而没有考虑将来外包数据分析的需要。一旦各行各业发展起细分的支付信息分析需求和分析能力,这样的系统不可能象自用那样,为别人一一定制。就会出现当年用友的“定制”不受行业认可那样的尴尬局面。所以光有大数据平台还不够,还需要分析平台,分析生态系统设计甚至硬的分析实力。到2015年IBM在大数据分析方面的收入将有望达到160亿美金。这方面投入值得注意。

由软件定义不难,但关键难在“更动态、更灵活”。最早的时候,要实现行业与业务扩展,需要对软件系统不断进行定制,成本极高;后来SOA、中间件兴起,情况在PC时代得到极大缓解;但在移动互联网和云计算时代,更加复杂的应用环境,要求架构上的进一步创新。IBM在这方面的创新,可能代表一种新的方向。其特点类似于把软件做成一个松耦合体系,一方面是半成品软件(相当于面向体操规定动作),另一方面是根据应用待定的编程接口系统(相当于面向体操自选动作)。特别之处在于,将来APP部分是否会向自组织编程方向发展,值得密切关注。

数据分析方向第8篇

关键词:大数据 大数据分析方法 情报研究 适用性

中图分类号: G250.2 文献标识码: A 文章编号: 1003-6938(2014)05-0013-07

Preliminary Study on the Big Data Analytics and Its Adaptability in Intelligence Studies

Abstract Big data analytics has brought new opportunities for data-oriented or information-oriented intelligence studies' development. Based on existing research, the author makes a review of three viewpoints of big data analytics based on data, process and information technology, and then summarizes five levels of analytics which including statistics, mining, discovery, predict and integrate, and its 17 kinds of relevant research methods. The adaptability of big data analytics in the intelligence studiesis discussed and it is found that 10 research methods can be directly transplanted to intelligence studies, 2 research methods should be adjusted for transplantation, 2 research methods are inapplicable, and 3 research methods needfurther study.

Key words big data; big data analytics; intelligence studies; adaptability

大数据分析(Big Data Analytics,BDA)是以“深度的发现分析、引领行动”作为目标的工作[1-2],它包括由多个任务组成的高度重复执行的步骤[3-4]。BDA通常要集成多种分析技术与软件工具,以便让海量数据的处理及分析变得更加容易,从数据中提取有用信息并形成结论,用来验证、指导及规范组织或个人的决策行动;BDA的执行过程一般包括问题需求及假设提出、数据获取及记录、信息抽取及清洗、数据整合及表示、选择建模及分析方法、结果诠释、评测结果有效性及监控等几个阶段。从以上BDA的定义及过程来看,BDA与情报学领域中的情报研究(也称情报分析)在本质上是一致的,两者至少在方法与技术(以下简称方法)上可以相互借鉴或补充。本文基于情报学的视角,关注哪些BDA方法可以为情报研究提供借鉴,并解决情报研究的相关问题。因此,本文首先概略总结BDA的方法体系,然后探讨BDA方法在情报研究中的适用性。

1 大数据分析的方法分类

到目前为止,尚没有公认的BDA方法的分类体系,甚至对BDA包括哪些方法,也有不同的认识。本文首先综述现有的相关研究,并以此为基础提出我们的分类体系。

1.1 相关研究

不同学者对BDA方法的看法各有差异,概括起来,主要有三种分类体系,分别是面向数据视角的分类、面向流程视角的分类以及面向信息技术视角的分类。

(1)面向数据视角的BDA方法分类。这类研究主要是以BDA处理的对象“数据”作为分类依据,从数据的类型、数据量、数据能够解决的问题、处理数据的方式等角度对BDA方法进行分类。

Power[5]依据分析需求将数值型数据的分析方法划分为三类:①若是模式理解及对未来做出推论,可采取历史数据及定量工具进行“回顾性数据分析”;②若要进行前瞻及预测分析,可采取历史数据及仿真模型进行“预测性数据分析”;③若要触发事件,可采取实时数据及定量工具进行“规范性数据分析”。美国国家研究委员会在2013年公布的《海量数据分析前沿》研究报告中提出了七种基本统计数据分析方法[6],包括:①基本统计(如一般统计及多维数分析等);②N体问题(N-body Problems)(如最邻近算法、Kernel算法、PCA算法等);③图论算法(Graph-Theoretic Algorithm);④线性代数计算(Linear Algebraic Computations);⑤优化算法(Optimizations);⑥功能整合(如贝叶斯推理模型、Markov Chain Monte Carlo方法等);⑦数据匹配(如隐马尔可夫模型等)。

针对非纯粹的数值型数据,Li、Han[7]梳理了面向“时空数据”(Spatiotemporal Data)的BDA方法,通过对动态数据挖掘出主体的预测性,如运用物理工程领域的傅立叶变换(Fourier Transform)及自相关匹配(Autocorrelation)侦查某一时间区段的信号、发生的事件或生物基因中的周期性节律,也可运用时间序列方法预测地点位置的变化;魏顺平[8]以教育领域为例,梳理了面向学生与学习环境的“学习分析方法”(Learning Analytics),此方法集成了内容分析、话语分析、社会网络分析、统计分析、数据挖掘等多种方法,从中挖掘学习的各种语义关系,并回答“谁在学、学什么、怎么学、学的结果如何”等问题,为教学与优化学习提供参考。

Mohanty等人[3]从数据获取(Data Ingestion)角度,依照处理的数据量从小至大的顺序,区分出八种分析方法:①流分析(Streaming Analytics),以预定模式及时处理数据流;②高速的数据采集(High Velocity Data Ingestion),不转换任何格式,可稍晚处理; ③链结分析(Linkage Analysis),构建不同数据源的关系与链接;④罕见事件侦查(Rare-Event Detection),从庞大数据集中寻找特定模式;⑤数据聚合(Data Mash-Ups),需要对数据属性发展故事线或链接关系进行分析;⑥文本分析(Text Analytics),如观点挖掘或社会网络分析等;⑦时间序列分析(Time-Series Analysis),通过模式侦测及事件发生概率来处理时空数据;⑧数据辩论(Data Forensic),用于数据科学家探索大规模数据集。

Chen等人[9]认为,在商业智能分析发展的过程中,商业智能分析经历了从处理结构化程度较高的数据、到处理网络上半结构化数据、再到处理移动数据的发展,涵盖了五类核心的分析方法:①数据分析,涉及数据仓储、ETL、联机分析及数据挖掘等分析技术,可应用在时间序列挖掘、网站挖掘、空间数据挖掘等;②文本分析,涉及信息检索、查询处理、相关反馈等分析技术,可应用在QA系统、观点挖掘、多语义分析、可视化分析等;③网站分析,涉及信息检索、网络爬虫、日志分析等分析技术,可应用在云计算、社会网络分析、网站可视化等;④网络分析,涉及信息计量、引用网络、数学网络模式等分析技术,可应用在链结分析、社区发现、社会影响力及扩散模式等;⑤移动分析,可应用在移动通讯服务、个性化分析、游戏营销分析等。

(2)面向流程视角的BDA方法分类。这类研究主要是依据BDA的步骤和阶段对BDA方法进行分类。

美国计算社区协会出版的《大数据的机会与挑战》白皮书指出BDA是一个多阶段任务循环执行过程[4],从整体看,其分析的过程包括了五个阶段,每一个阶段都包含该阶段需要使用的方法:①数据获取及记录,从各种感知工具中获取的数据通常与空间时空相关,需要及时分析技术处理数据并过滤无用数据;②信息抽取及清洗,从异构数据源抽取有用信息,并转换为结构化的格式;③数据整合及表示,将数据结构与语义关系转换为机器可读取、自动解析的格式;④数据建模及分析,从数据中挖掘出潜在规律及知识,涉及可扩展的挖掘算法或知识发现等方法;⑤诠释,为了让用户容易解读分析结果,可视化分析技术变得十分重要。此外,严霄凤、张德馨[10]依照搜集、分析到可视化的流程,梳理了适用于大数据的关键技术,包括:遗传算法、神经网络、数据挖掘、回归分析、分类、聚类、关联规则、数据融合、机器学习、自然语言处理、情感分析、网络分析、空间分析、时间序列分析等多种方法。

(3)面向信息技术视角的BDA方法分类。这类研究强调大数据技术本身涉及到的新型信息技术,将大数据处理架构、大数据计算模式、大数据系统等作为BDA方法分类的依据。

孟小峰、慈祥[11]着眼于大数据处理框架,梳理了数据抽取与集成、数据分析及数据解释所使用的分析方法,在数据抽取与集成方面,可区分为基于物化(Materialization)或ETL的方法、基于联邦数据库或中间件的方法、基于数据流的方法以及基于搜索引擎的方法等四类;在数据分析方面,传统的数据挖掘、机器学习或统计分析面临数据规模、算法调整等困难,需进一步发展;在数据解释方面,引入可视化技术或交互式的数据分析过程,有助于用户理解分析结果。覃雄派等人[12]认为,非关系数据管理(如MapReduce)扩展了数据分析的多维视角,使数据分析的生态系统从“大量数据的移动”转向“直接对数据进行分析”。

2012~2013年在印度召开了两次BDA国际研讨会[13-14],会上分别就BDA中的机器学习面临数据规模与多维度问题、可扩展的机器学习算法(如随机映射、随机梯度下降等)、机器学习在MapReduce的应用、社交媒体数据挖掘(如话题检测与跟踪、地点推理、语义连接等)、高维数据降维分析(如主成分分析、因子分析、经典相关分析等)、图像挖掘(如Main Memory Approach、Disk-Based Approaches、Database-Oriented Approach)及图像比对分析(如特征提取、Iterative Methods)等进行了探讨。2013年IEEE计算机协会在美国召开大数据国际研讨会,BDA结合MapReduce、Hadoop等模型的分析方法仍是主流,研究的内容包括了Map-Based Graph Analysis、Sketch-Based Load Balancing Algorithm、Large Scale Neural Networks等方法。

1.2 BDA方法的分类――面向层次的BDA方法框架

上述三种视角的BDA分类各有特点,都有一定的道理。从面向数据的视角来看,BDA方法正从统计(Statistics)转向挖掘(Mining),并提升到发现(Discovery)和预测(Prediction)。基于流程的BDA分类则更能反映BDA过程的集成性(Integration),也就是说,在完成一项分析任务时,需要综合使用多种方法。从面向信息技术的BDA分类中可以看出,这种分类方式强调使用新技术对传统数据处理方法进行改进和创新,同时更重视新型系统架构与分析方法的集成,例如,各种数据挖掘算法的MapReduce化,就是这方面的典型实例。

本文认为,如果综合上述三种分类体系中体现的层次性,将可以更准确描述BDA方法。在此,本文提出一个面向层次的BDA分类框架,将BDA方法分为统计、挖掘、发现、预测及集成五个层次,并初步归纳出17种BDA相关方法(见表1)。

2 BDA方法在情报研究中的适用性探讨

如前所述,BDA与情报研究在本质上有共同之处,BDA方法可为情报研究提供借鉴,因此,探讨BDA方法对情报研究的适用性就很有必要性。以下综合考虑方法本身的完善性及可操作性、情报研究的分析对象特征、方法的可移植性[15]等因素,对本文所列举的17种面向层次的BDA方法在情报研究中的适用性进行分析。

2.1 可直接移植的方法

可直接移植方法是指这些方法的原理、流程、算法等可以直接应用于情报研究,用来对情报研究的数据源(如科技文献、网络资源等)进行处理,解决情报研究过程中的一个或几个步骤中要解决的问题。在本文所列举的17种面向层次的BDA方法中,数据挖掘、文本挖掘、知识发现、观点挖掘、话题演化分析、多元统计分析、时间序列分析、海量数据的基本统计方法、高维数据降维分析方法、多源数据融合方法等10种方法均属于可直接移植方法,其中有些方法在情报研究中已经有多年的应用历史。

(1)数据挖掘与文本挖掘。数据挖掘与文本挖掘是不同概念,两种方法分别使用不同的发现技术,文本挖掘属于基于计算机语言学及统计方法的发现技术,用来揭示文本中的词与句法特征;数据挖掘以数据库中的大量结构化的数据挖掘为基础,用来揭示数据中潜在的、可能的数据模式及关联规律[16]。在情报学领域的实践应用中,数据挖掘多应用在图书馆自动化技术与服务方面,例如,馆藏采购决策、个性化服务、信息检索、读者管理、馆藏布局等。文本挖掘在情报研究的价值在于弥补了情报学专门分析方法对科技文献内在知识挖掘不足的缺欠,例如,祝清松、冷伏海[17]为了解决引文分析方法无法揭示论文的研究内容这个问题,提出引文内容分析,先建立基于规则的引文内容抽取来识别引用句,再通过基于C-value多词术语识别算法找出高被引论文主题,相比于引文分析,这种方法较能提供客观的语义信息与文献之间的语义关系。

(2)知识发现。情报研究中所说的知识发现,主要是指基于文献的知识发现,例如,张树良、冷伏海[18]在共词、共引、文本挖掘等方法基础上,提出了“基于文献的知识发现”,包括:基于相关文献、基于非相关文献及基于全文献三种条件下的知识发现,完整揭示文献的知识结构与演化情况。在网络环境下,李楠、张学福[19]认为关联数据的RDF数据模型、数据访问机制、URIs及自描述数据等规范所形成的数据共享环境,为知识发现提供了新的研究潜力,包括知识发现的范围被扩展成全球数据空间、高效率理解及处理数据间的语义关系等。简言之,知识发现从不同数据源之间的复杂关系中获得隐含的知识或规律,甚至可对未来进行预测。

(3)观点挖掘与话题演化分析。观点挖掘与话题演化分析两种方法实际上是数据挖掘及文本挖掘的具体及深化应用。观点挖掘主要有三种挖掘任务:情感分类、基于特征的观点挖掘、比较语句和关系挖掘[20],例如,黄晓斌、赵超[21]通过对网络舆情信息的文本挖掘,找出不同民众对某一社会事件的情绪、态度及观点,再通过关联分析找出网络舆情信息的各种关联性。赵洁、温润[22]认为微博情感分析的关键是观点句识别,并根据文本特征的差异性,提出了基于新词扩充和特征选择的观点句识别方法,即先扩充情感词典来提高分词准确率,再结合微博特征进行句子选取。话题演化分析方法是近年文本挖掘的研究热点,借助不同的话题模型,包括基于LSI模型、基于pLSI模型、基于LDA模型等,获取文本中的一组词语,表示为某一话题的集合,再引入时间信息模拟该话题随着时间推移所表现的受关注程度及关注点的变化[23]。又例如,贺亮、李芳[24]利用LDA模型抽取科技文献中的话题(即主题词),再计算话题的强度与内容演化,从而区分热门与冷门话题及其历年特征词的演化趋势。

(4)多元统计分析与时间序列分析。多元统计分析与时间序列分析两种方法也是情报研究常见的定量分析方法[25],前者研究客观事物中多个变量(或多个因素)之间相互依赖的统计规律,后者则是基于随机过程理论和数理统计学方法,研究动态数据序列的规律性。这两种分析方法的一个重要特点在于能基于历史数据的变化,评价事物现状或预测事物未来的发展。

(5)海量数据的基本统计分析方法。海量数据的七种基本统计分析方法适用于情报研究的原因是,专家们普遍认为,在现有硬件技术条件下要开发一个海量数据分析系统的难度过高,且高性能计算领域也面临许多困难,因而转向寻找共通的基础性计算方法来帮助运算[6],同时这些统计方法也经常应用于数据挖掘或文本挖掘。对情报研究来说,处理的数据量不及高性能计算领域的海量数据,因此可以容易地应用这些基本统计分析方法。尽管如此,随着情报研究处理的文本量增加,包括文献计量或信息计量方法在内的定量分析方法,仍然要经常借鉴基础性的计算方法,并进行公式改进。

(6)高维数据降维分析方法。高维数据降维分析方法反映了海量的数值型数据在数据缩减的重要性,常见的降维(Dimensionality Reduction)方法包括主成分分析、因子分析、典型相关分析、独立成分分析、投影寻踪等[26]。高维数据经常存在大量的弱相关内容或噪音,通过线性(如主成分分析、典型相关分析等)或非线性(如投影寻踪、核方法等)映射可以将数据样本从高维空间映射到低维空间,从而提高机器学习的效率[27-28]。情报研究在处理文本语料时,广泛使用基于向量空间模型来表示文本,形成的高维特征集会对文本分类或机器学习的效果产生很大影响,通过特征选择(如特征频率、互信息等)进行特征抽取(如PCA、LSI、NMF等),转换成一个低维的特征集来提高训练效果,是非常必要的[29]。

(7)多源数据融合方法。多源数据融合方法是解决大数据环境下异构数据整合而提出的方法,例如,为了解决不同研究阶段产生的各类科学数据集成问题,白如江、冷伏海[30]认为解决关键在于中间件构建,例如,通过基于XML模型将异构数据源的元数据映射到全局视图,解决了不同数据源的关系描述问题,并提供用户可灵活订制查询规则;但基于XML模型只能提供语法层次的整合,为了提供数据在语义层次的整合,可通过基于语义模型对XML的对象进行分类,在对象模型的基础上生成逻辑规则,揭示隐含在科学数据中的语义信息。此外,也可以通过基于物化或ETL方法、基于数据流方法或其他方法对异构数据源中的数据抽取出实体与关系,再进行数据集成或数据清洗[11]。多源数据融合方法是进入数据分析之前的重要任务,对情报研究来说,需要多种来源支持情报分析工作,包括同型异源信息、异质异构信息、多语种信息等,都需要通过异源信息字段的映射、拆分、滤重、加权等进行融合分析[31]。

2.2 调整后移植的方法

调整后移植的方法是指其在原本的领域已经成功应用,但由于该方法最早或成功应用的领域在任务需求、数据处理、分析过程有自身的特点,若移植到情报研究时,需要根据情报研究自身的特征进行调整。数据可用处理及分析方法、时空数据分析等两种分析方法就属于这类情况。

(1)数据可用处理及分析方法。大数据环境中容易产生许多劣质数据来降低数据可用性,为了提高数据可用性及数据质量,李建中及刘显敏[32]梳理了数种数据可用性的相关方法,包括高质量数据获取与整合、数据错误自动检测与修复、弱可用数据处理与分析等,分别解决了大规模数据集预处理阶段常见的一致性、精确性、完整性、时效性及实体同一性等问题。对情报研究来说,情报素材、产品形式及工作任务分解的质量控制是情报工作的核心[33],其中,情报素材的质量对后续的情报分析成败存在着至关重要的作用,当数据或信息是错误或不完整时,提炼出来的情报势必会存在缺陷或错误。过去对情报研究的质量控制取决于人,如果能引入数据可用处理及分析方法解决数据或信息源可能存在的不一致、不精确、遗漏、滞后或重复等问题,有助于提高情报分析素材的可用性与正确性。

(2)时空数据分析。时空数据分析是地球信息科学相关领域的研究热点,其中最常使用“周期”(Periodic Behavior)分析,例如天气预报、环境监控、地理信息系统、城市交通网络管理等都是常见的应用实例[7]。现有研究的多数做法是采取基于时间序列的方法进行周期建模,但建模过程容易出现对象可能没有周期、时间点分布不一定呈现周期性等问题,为了解决这些问题,王阅等人[34]提出基于ERP的周期检测方法解决周期长度定义问题,孟志青等人[35]提出多粒度时间文本下的周期模式挖掘算法解决时态文本数据挖掘问题。对情报研究来说,时间是文本中一个重要的属性,如文献发表规律、舆情监控、科研人员的研究主题周期等。在原有数据基础上增加时间维度进行长时段分析是多数研究的常见做法,但并没有呈现出其中的周期性规律,特别是文本中的规律特征较难发现,如果能引入此类方法,将有助于找出情报演化的周期模式。

2.3 不适用的方法

考虑学科领域差异,本文认为 “翻译生物信息学分析”及“学习分析方法”两种专门研究方法不适合情报研究。

(1)翻译生物信息学分析。翻译生物信息学分析是生物信息学的专门分析方法,这种方法是依据特定目的整合多数据源及促进领域知识的有效利用,其结果可应用在生物医学研究、产生支持医疗人员在治疗点中的“可操作的决策”(Actionable Decision),同时能对人类与疾病的关联关系提供更好的理解。生物信息学为了找出更多基因与疾病的关系,通过翻译生物信息学分析,可以将分析方法与工具开发从系统层面横跨到分子、个人或全人类层面,分析视角从单一基因或多肽(Polymorphic)挖掘的研究转向新基因或遗传性状组合与预测研究[36]。从分析方法的操作过程来说,考虑到数据源的特殊性(如DNA编码数据、蛋白质结构等)、分析视角、工具构建及使用等因素,并不符合情报学的学科研究特色。

(2)学习分析方法。学习分析方法是搜集、分析及评测学习者及其学习语境的分析方法,目的在于理解与优化学习及其学习环境[8]。从UNESCO IITE机构在2012年11月出版的学习分析方法政策简报可知,学习分析方法的数据分析功能是基于数据挖掘从而开展相关分析内容,包括行为分析、学习资源浏览分析、各种关联分析与影响因素分析等。虽然数据挖掘是情报研究的常见方法,但学习分析方法的结果意义在于解释学习者的学习语境,为教师或管理者提供决策支持,从而改善学习者的学习习惯及促进学习效果。由于这种方法有其特定的含义和应用环境,离开了学习语境,方法的内涵和外延可能就会产生变化,因此,难以移植到情报研究。

2.4 需要继续关注的方法

基于MapReduce或Hadoop的衍生分析方法、图模型分析与挖掘以及商务智能分析,是近年研究探讨较多的方法,但目前尚未形成一个成熟且完善的方法体系,例如,MapReduce或Hadoop等之类的工具还在持续发展中,本身也存在不断的改进空间,它们与各种分析方法的集成缺乏公认的标准和规范,同样地,对于关注图像与事物之间关联的图模型分析与挖掘也尚没有发展出固定的技术,又例如,商务智能分析被定义为由数据仓库、ETL、联机分析、数据挖掘、客户关系管理、知识管理等多种技术融合的一组系统,通过BI系统管理组织内部及个人相关的商业数据、专家信息及知识,涉及数据的融合、取用及分析等方法与工具[37-38],目前也没有标准化的体系架构。

因此,本文还无法明确回答上述三种方法将如何应用于情报研究、在应用过程中需要做哪些调整、这些方法与现有的情报研究方法的关系如何等相关问题,但可以肯定的是,这些方法对未来的情报研究具有借鉴价值,例如,一旦情报研究的处理对象(即数据)积累到了一定程度,成为传统关系数据库处理不了的大数据,那么,使用基于MapReduce或Hadoop的衍生分析方法就成为了必然。又如,图模型分析与挖掘可补充情报研究在图像分析的不足,而商务智能分析可理解为一套集成系统,可应用在情报机构的知识库或机构典藏,找出组织的知识缺口等方面。

3 结语

大数据时代就是一个数据分析的时代,学界和业界提出了很多大数据分析的方法与技术,这些方法与技术对情报研究产生了积极的借鉴作用,本文总结了大数据分析的方法,提出面向层次的BDA方法框架,归纳总结了其中的17种BDA方法,并从可直接移植、将调整后移植、不适用于情报研究以及需要继续关注等四个方面对这些方法在情报研究中的适用性进行了分析,以期为情报研究借鉴或移植BDA相关方法提供参考,促进情报研究的理论与实践发展。

参考文献:

[1]Lavalle S, Lesser E, Shockley R, et al. Big Data, Analytics and the Path From Insights to Value[J].MIT Sloan Management Review,2011,52(2):21-32.

[2]Russom P. BIG DATA ANALYTICS[R].The Data Warehousing Institute,2011.

[3]Mohanty S, Jagadeesh M, Srivatsa H. Big Data Imperatives - Enterprise Big Data Warehouse, BI Implementations and Analytics[M]. New York: Apress, 2013.

[4]Computing community consortium. Challenges and Opportunities with Big Data[R]. Washington, DC:Computing Research Association,2012.

[5]Power D J. Using "Big Data" for analytics and decision support[J].Journal of Decision Systems,2014,23(2): 222-228.

[6]Nationalresearchcouncil.Frontiers in Massive Data Analysis[R].Washington,DC:The National Academies Press, 2013.

[7]Li Z H, Han J W. Mining Periodicity from Dynamic and Incomplete Spatiotemporal Data[A]. Chu W W,Data Mining and Knowledge Discovery for Big Data[M].Germany:Springer Berlin Heidelberg, 2014:41-81.

[8]魏顺平. 学习分析技术:挖掘大数据时代下教育数据的价值[J]. 现代教育技术,2013, 23(2): 5-11.

[9]Chen H C, Chiang R H L, Storey V C. Business Intelligence and Analytics: From Big Data to Big Impact[J]. MIS Quarterly,2012, 36(4): 1165-1188.

[10]严霄凤,张德馨. 大数据研究[J].计算机技术与发展, 2013, 23(4): 168-172.

[11]孟小峰,慈祥. 大数据管理:概念、技术与挑战[J]. 计算机研究与发展,2013, 50(1): 146-169.

[12]覃雄派,王会举,杜小勇,等. 大数据分析――RDBMS与MapReduce的竞争与共生[J].软件学报,2012, 23(1): 32-45.

[13]Sengamedu S. Scalable Analytics-Algorithms and Systems[A].Srinivasa S, Bhatnagar V.Big Data Analytics[M].India:Springer Berlin Heidelberg, 2012:1-7.

[14]Mehta S, Subramaniam L V. Tutorial : Social Media Analytics[M].Bhatnagar V, Srinivasa S.Big Data Analytics[M].India:Springer International Publishing, 2013:1-21.

[15]王炼,武夷山. 方法移植对科学计量学研究的方法论启示[J]. 科学学研究,2006, 24(4): 503-507.

[16]Kroeze J H, Matthee M C, Bothma T J D. Differentiating Data-and Text-Mining Terminology: The 2003 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology[Z]. South Africa:2003:93-101.

[17]祝清松,冷伏海. 基于引文内容分析的高被引论文主题识别研究[J]. 中国图书馆学报,2014,(1):39-49.

[18]张树良,冷伏海. 基于文献的知识发现的应用进展研究[J]. 情报学报,2006, 25(6): 700-712.

[19]李楠,张学福. 基于关联数据的知识发现应用体系研究[J]. 图书情报工作,2013,(6):127-133.

[20]王辉,王晖昱,左万利. 观点挖掘综述[J]. 计算机应用研究,2009,26(1):25-29.

[21]黄晓斌,赵超. 文本挖掘在网络舆情信息分析中的应用[J]. 情报科学,2009:(1): 94-99.

[22]赵洁,温润. 基于新词扩充和特征选择的微博观点句识别方法[J]. 情报学报,2013,32(9): 945-951.

[23]单斌,李芳.基于LDA话题演化研究方法综述[J]. 中文信息学报,2010, 24(6): 43-49.

[24]贺亮,李芳. 科技文献话题演化研究[J]. 现代图书情报技术,2012,(4): 61-67.

[25]查先进.信息分析[M].武汉:武汉大学出版社,2011.

[26]Lakshminarayan C. High Dimensional Big Data and Pattern Analysis: A Tutorial[A].Bhatnagar V, Srinivasa S.Big Data Analytics[M].India:Springer International Publishing, 2013: 8302, 68-85.

[27]胡洁. 高维数据特征降维研究综述[J]. 计算机应用研究,2008,(9): 2601-2606.

[28]吴晓婷,闫德勤. 数据降维方法分析与研究[J]. 计算机应用研究,2009,(8):2832-2835.

[29]陈涛,谢阳群. 文本分类中的特征降维方法综述[J]. 情报学报,2005,24(6): 690-695.

[30]白如江,冷伏海. “大数据”时代科学数据整合研究[J]. 情报理论与实践,2014, 37(1): 94-99.

[31]化柏林. 多源信息融合方法研究[J]. 情报理论与实践,2013,(11): 16-19.

[32]李建中,刘显敏. 大数据的一个重要方面:数据可用性[J].计算机研究与发展,2013,50(6):1147-1162.

[33]王延飞,王林兰. 论情报研究质量[J].图书情报工作,2010,54(10):35-39.

[34]王阅,高学东,武森,等. 时间序列周期模式挖掘的周期检测方法[J]. 计算机工程,2009, 35(22): 32-34.

[35]孟志青,楼婷渊,胡强.多粒度时间文本数据的周期模式挖掘算法[J]. 计算机科学,2013,(S2): 251-254.

[36]Bellazzi R, Diomidous M, Sarkar I, et al. Data analysis and data mining current issues in biomedical informatics[J]. Methods of Information in Medicine,2011,50(6):536-544.

[37]Negash S. Business intelligence[J]. Communications of the Association for Information Systems,2004,13(1):177-195.

数据分析方向第9篇

对未知网络协议进行逆向解析在网络安全应用中具有重要的意义。现有的协议逆向解析方法大都存在无法处理加密协议和无法获取协议字段语义信息的问题。针对这一问题,提出并实现了一种基于数据流分析的网络协议解析技术。该技术依托动态二进制插桩平台Pin下编写的数据流记录插件,以基于数据关联性分析的数据流跟踪技术为基础,对软件使用的网络通信协议进行解析,获取协议的格式信息,以及各个协议字段的语义。实验结果证明,该技术能够正确解析出软件通信的协议格式,并提取出各个字段所对应的程序行为语义,尤其对于加密协议有不错的解析效果,达到了解析网络协议的目的。

关键词:

数据流分析;网络协议逆向;加密协议解析;动态二进制插桩;协议字段语义

0引言

随着互联网的发展和网络应用的普及,网络通信已经成为各种软件系统的重要功能。如何通过软件逆向分析的方法分析软件网络行为、解析软件使用的通信协议,是现阶段网络安全领域的一大热点,也是软件安全性分析、网络安全策略制定等工作的重要内容[1]。

协议逆向解析是指采用逆向分析的思想,解析出目标网络应用程序所使用的协议格式,以及各个协议字段所对应的程序语义信息,其在漏洞挖掘、网络入侵检测、网络管理、指纹生成、应用程序会话重放等网络安全领域具有十分重要的应用价值[2]。

现阶段对于协议逆向解析已经取得了一些研究成果。Cui等[3]提出了一种通过观察网络数据流中不同协议字段的出现次数,推断协议字段结构的方法。由于这种方法不考虑具体协议内容,因此分析效果依赖于样本数据流中字段重复出现的次数和每次出现的形式是否一致。Ma等[4]通过对网络流量的内容进行统计建模,识别和区分流量对应的不同协议;但该方法只能用于识别协议类型,无法解析具体的协议结构。Small等[5]则设计并实现了利用自然语言处理和字符串对齐算法对网络数据流进行学习,自动地对收到的网络请求进行应答的方法;该方法能够根据数据内容的排列模式从样本数据中选择类似的会话用于自动应答,但无法分析具体协议语法和语义。这类基于统计分析的方法需要大量的网络数据作为分析样本,同时无法处理混淆、加密流量,更无法获取协议字段的语义信息。

基于上述研究现状,结合解析网络协议的目的,本文提出了一种基于数据流分析[6]的网络协议解析技术,以解决加密网络协议的逆向解析问题。数据流分析技术关心的是数据在程序执行过程中的传播路径,通过动态污点跟踪的方法,分析污点数据在内存中的读写情况,达到分析软件行为的目的。这种方法在保证分析效率的前提下,能够有效应对协议格式加密、软件加壳、代码混淆等情形。

1基于Pin的动态数据流记录

本文将协议逆向解析的工作划分为数据流记录、数据流分析和网络协议逆向解析三个阶段。

要进行数据流分析,首先要获得程序的动态数据流信息。由于程序在动态运行期间,实际执行到的指令条数往往能够达到千万甚至亿数量级,规模庞大,因此如何提高记录效率是数据流信息记录的关键。

动态二进制插桩平台Pin[7]在效率和可扩展性两方面有着独特的优势,因此,本文结合条件插桩、延迟写入、代码缓存刷新等技术,设计并实现了一款基于Pin的动态数据流记录插件,可高效准确地记录用户指定程序片段在执行期间的数据流信息,并生成含有指令地址、指令机器码、内存、寄存器和指令属性等信息的二进制文件,再对这些文件进一步加工处理合并,最终生成具有统一格式的指令信息二进制文件。

2基于数据关联性分析的数据流跟踪

传统的数据流跟踪过程需要事先指明污点源[8],且一次分析仅能获得与污点源相关的少量信息,污点源变更后又要重新分析,而整个分析过程涉及到污点传播分析、污点管理[9]等很多复杂的工作,因此会造成严重的时间浪费。为避免此问题,本文将传统的数据流跟踪划分为数据关联性分析和数据流跟踪两个阶段。

2.1数据关联性分析

数据关联性分析处理所有程序执行期间使用过的内存和寄存器信息,并最终生成一张全局性的数据关联图,该图能够标识出不同层次间和层次内的数据关联性信息。数据关联性分析过程中涉及到污点传播分析和污点管理,因此用时较长,但仅需执行一次,待数据关联图生成完毕,后续的数据流跟踪只需在数据关联图基础上进行。当污点源发生改变后,无需重复污点传播分析等耗时过程,可大大缩短分析时间,提高分析效率。

该方法首先将函数指令划分为一个个独立的区域,在此基础上进行数据关联性分析,具体过程描述如下。

2.2数据流跟踪

数据流跟踪分为正向跟踪和反向跟踪两种。由2.1节可知,本文数据流跟踪建立在数据关联图基础之上,而并不以原始的程序轨迹信息作为输入。对程序从网络获取的数据进行正向跟踪,可以分析得到程序对获取到的数据进行处理的过程,进而达到解析协议的目的。而反向数据流跟踪的作用在于分析程序发送的数据的生成过程,从而得到发送数据的协议格式。

2.2.1正向数据流跟踪算法

本文设计了一种基于数据关联图的正向数据流跟踪算法。该算法首先需要指定污点源,然后顺着程序的执行流程分析污点的传播,最后生成一张正向数据流传播图。该算法能够解决污点源扩散到了哪些地方,影响了哪些数据,是否会影响到程序执行流程等问题。算法具体步骤如下:

1)将指定的污点源加入污点集合,从区域信息数组中取出第一个区域,作为待分析区域;

2)若待分析区域的某些输入出现在污点集合中,则将这些输入所关联的输出加入污点集合,并对该区域做上标记;

3)若已到达区域信息数组的尾部,转4),否则读取后一个区域作为待分析区域,转2);

4)输出污点集合中的所有污点以及与其关联的污点源,输出所有被标记的区域。

2.2.2反向数据流跟踪算法

与此同时,本文也设计了一种基于数据关联图的反向数据流跟踪算法。该算法首先需要指定污点源,然后逆着程序的执行流程分析污点的传播,最终生成一张反向数据流传播图。该算法能够解决污点源从哪里来,是由哪些数据、经过什么路径产生的等问题。若将污点源指定为影响某条跳转指令的标志位,则可对此处引起程序执行流程改变的所有数据进行捕获。反向跟踪算法与正向跟踪算法十分类似,具体步骤如下:

1)将指定的污点源加入污点集合,从区域信息数组中取出最后一个区域,作为待分析区域;

2)若待分析区域的某些输出出现在污点集合中,则将这些输出所关联的输入加入污点集合,并对该区域做上标记;

3)若已到达区域信息数组的头部,转4),否则读取前一个区域作为待分析区域,转2);

4)输出污点集合中的所有污点以及与其关联的污点源,输出所有被标记的区域。

3基于数据流跟踪的网络协议解析

软件所使用的网络通信协议格式对于研究软件的网络行为有着重要的意义[10],对于未知网络协议的逆向解析,主要目的是解析出分隔符、关键词、长度域、目标域等格式信息,以及各个字段,尤其是协议中的加密字段在程序运行过程中对应的行为语义信息。利用第2章所阐述的数据流跟踪算法,可以达到这些目的。

3.1污点源的设置

网络协议的格式以及各个字段的语义信息最终都会体现在软件接收和发送的数据中。因此,本文将分接收和发送数据两种情况来进行污点源设置。

当程序接收到网络发送来的数据时,会开辟一块内存空间用于存放接收的数据,此时可以将读入到内存空间的每个字节标记为污点数据并对应于一个唯一的污点标签。然后根据2.2.1节的算法生成一张正向数据流传播图,分析对所接收信息的处理过程。

在程序发送数据时,将send()、sendto()、WinhttpWriteData()等发送函数的发送缓冲区标记为污点源,利用2.2.2节的算法进行反向数据流跟踪,最终分析出发送数据的来源以及数据的生成过程。

3.2分隔符和关键词的解析

定义6分隔符。用来标识协议字段结束的一个或连续多个已知值的字节[11]。

分隔符的解析思想是,从数据流跟踪阶段得到的指令级数据传播关系图中,提取出与污点数据相关的比较类指令信息,判断这些指令中与常量字符比较的污点标签是否连续,以此确定协议消息中的分隔符,其解析流程如图3。其中,污点数据标签用污点字节在数据中的偏移来表示。

定义7关键词。关键词是指既出现在协议消息中,又出现在协议应用程序中的协议常量,如HTTP协议中的“GET”。

关键词的解析思想和间隔符类似,均是通过跟踪污点数据与非污点的常量字符(串)的比较来确定相关字段。

3.3长度域和目标域的解析

长度域用于确定目标域。在处理目标域时,通常程序会访问消息中的某些连续字节,这些访问大多在一个循环中实现,并且循环次数是受长度域控制的。因此,解析长度域时,首先利用IDA(Interactive DisAssembler)等静态反汇编工具来完成一些静态分析工作以获知:1)哪条比较指令表示的是循环跳出点;2)每条指令属于的循环集(注:当存在循环嵌套时,一条指令可能属于多个循环)。然后,利用数据流信息和静态分析结果提取出所有既是循环跳出点又对污点数据进行处理的比较指令,这些指令涉及的污点字节即为潜在的长度域。最后,对每个潜在长度域,检查其控制的循环中涉及的污点字节标签是否连续,据此确定目标域。若找到对应的目标域,则正确地识别出了一个长度域和对应的目标域。

3.4加密协议字段的解析

当下许多恶意软件在进行网络通信时,都采取了流量加密的手段,即对网络收发数据的关键字段进行了加密处理。程序在处理这些字段时,通常需要先执行加解密操作,然后再按照处理非加密流量的方法逐个字段进行处理。在执行加解密操作时,需要对被加解密的内容整体读入和写出,我们对这种整体处理的情况进行特殊处理,即如果污点源被作为一个整体进行处理,那么将其视为加解密操作,同时把处理结果作为新的污点源。

经过这种特殊处理后,程序的加解密过程在数据流关联性分析和数据流跟踪中就会表现出很强的特征,即在对同一个数据包处理的过程中,会出现大量的污点标签不同的污点源标记对应于这同一个数据包,这说明程序对该数据包内容进行了多次加解密操作。通过人工对相应的代码段进行静态反编译分析及动态调试,也印证了这一事实。

利用上述特征,可以先将协议中相应的字段划分为加密字段,然后再结合人工调试和静态反编译对处理这些字段的程序段进行数据流分析。对于一些具有明显特征的常见的已知加密算法,可以利用现有的研究成果还原出数据的原文字符串,观察得到相应的语义信息。对于一些不常见的或由于复杂度过高无法还原数据的加密算法,也可以通过程序在解密后对解密数据的处理过程,如API调用等信息,推断出这些字段的语义信息。实验结果证明,这种方法对协议中加密字段的语义解析取得了不错的效果。

4实例测试

为了验证该技术的有效性,本文选取了一个典型的基于互联网中继聊天(Internet Relay Chat,IRC)协议的僵尸程序Agobot3.BJ作为测试用例。Agobot族的恶意软件有大量的变种,提供了多达数十种控制命令,具有DDoS、网络扫描、HTTP和FTP两种方式的下载等执行功能,并且支持通信流量的加密。其分析的具体结果如表1所示。

表格(有表名)

可以看到,这条消息中的“http.download”没有拆分,而是作为一个整体被处理(通过人工调试也印证了这一点),故该字段中的“.”被识别为命令字段的一部分,而“:”后的“.”在分析过程中符合分隔符的特征,故被识别为分隔符字段。

另外在测试过程中还发现,该样本的分析结果中出现了大量的不同污点源对应于同一数据包的情况,根据3.4节的论述,这是程序在对数据进行加解密操作。这说明该样本不是对关键字段进行加解密,而是对整个数据包的内容进行了加解密处理。上文所述的分析结果都是对程序解密数据包后的数据进行分析的结果。通过人工分析样本的静态反编译代码得知,程序先将数据包整体读入内存,在进行加解密操作时并没有开辟新的内存区域,而是对同一块内存区域进行反复加解密,故使得分析结果中出现了大量不同的污点源对应于同一数据包。这也印证了本文对于程序加解密操作的数据流特征的推断是正确的。当然,并不是所有的加密协议都会对数据包整体进行加解密处理,在其他的样本中就出现了只对参数字段和自定义命令字段进行加密的情况。

由于无法得到Prospex[12]、Polyglot[13]和Tupni等[14]网络协议逆向解析工具,所以无法直接获取这些工具对本文选取样本的分析结果。但通过与相关文献中的结果对比可以发现,之前的协议逆向大都针对未加密协议,而且这些技术大都利用网络流量的统计特征,因此通常无法解析出加密协议中的字段语义信息,在这些方面本文所提出的技术有着明显的优势。但是在应对未加密协议时,基于数据流的方法的精确度和效率较之前的解析方法有一定程度的降低。总体而言,本文所提出的技术在保证了未加密协议的正确性的前提下,能够有效地对加密协议进行解析,达到了预期的目标。

5结语

本文以动态数据流分析技术为基础,提出并实现了一种网络协议解析技术,论述了本技术的具体思想和具体实现方法,并通过实例测试验证了该技术的有效性。本技术的后续改进工作包括:1)解决多线程下的数据流分析问题。因为大部分复杂网络通信软件的通信过程都是通过多线程协作完成的,现有技术在进行多线程数据流分析时还有大量的人工分析成分,下一阶段要把这些工作自动化,以提高分析效率。2)细化解析粒度。现有技术在协议逆向时无法解析出小于一个字节的协议字段,这在某些软件的网络行为分析中会造成障碍,下一步要通过细化解析粒度来解决这个问题。

参考文献:

[1]

应凌云,杨轶,冯登国,等. 恶意软件网络协议的语法和行为语义分析方法 [J]. 软件学报, 2011, 22(7):1676-1689.

[2]

WILLEMS C, HOLZ T, FREILING F C. Toward automated dynamic malware analysis using CWSandbox [J]. IEEE Security Privacy, 2007, 5(2): 32-39.

[3]

CUI W D, PEINADO M, CHEN K, et al. Tupni: automatic reverse engineering of input formats [C]// CCS 2008:Proceedings of the 15th ACM Conference on Computer and Communications Security. New York: ACM, 2008: 391-402.

[4]

MA J, LEVCHENKO K, KREIBICH C, et al. Unexpected means of protocol inference [C]// Proceedings of the 6th ACM SIGCOMM Conference on Internet Measurement. New York: ACM, 2006:313-326.

[5]

SMALL S, MASON J, MONROSE F, et al. To catch a predator: A natural language approach for eliciting malicious payloads [C]// Security 2008: Proceedings of the 17th USENIX Security Symposium. Berkeley: USENIX Association, 2008: 171-183.

[6]

KRUEGEL C, ROBERTSON W, VALEUR F, et al. Static disassembly of obfuscated binaries[C] // Proceedings of the 13th Conference on USENIX Security Symposium. New York:ACM, 2004:18.

[7]

NEWSOME J, SONG D. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software[EB/OL]. [ 2012-10-01]. http:///docs/newsome2005.pdf.

[8]

NICHOLAS N. Dynamic binary analysis and instrumentation or building tools is easy [D]. Trinity Lane, Cambridge: University of Cambridge, 2004.

[9]

周侃. 基于数据流跟踪和库函数识别检测溢出攻击[D]. 上海:上海交通大学, 2011.

[10]

王卓. 基于符号执行的二进制代码动态污点分析[D]. 上海:上海交通大学, 2010.

[11]

潘,吴礼发,杜有翔,等.协议逆向工程研究进展[J].计算机应用研究, 2011, 28(8): 2801-2806.

[12]

何永君,舒辉,熊小兵.基于动态二进制分析的网络协议逆向解析 [J].计算机工程,2010, 36(9): 268-270.

[13]

COMPARETTI P M, WONDRACEK G, KRUEGEL C, et al. Prospex: Protocol specification extraction [C]// SP09: Proceedings of the 30th IEEE Symposium on Security & Privacy. Washington,DC: IEEE Computer Society, 2009:110-125.