
大数据分析之—基于模型的复杂数据多维聚类分析
随着现实和虚拟世界的数据产生速度越来越迅猛,人们开始关注如何从这些数据中获取信息,知识,以及对于决策的支持。这样的任务通常被称作大数据分析(BigData Analytics)。大数据分析的难点很多,比如,由于海量数据而带来的分析效率瓶颈,使用户不能及时得到分析结果;由于数据源太多而带来的非结构化问题,使传统的数据分析工具不能直接利用。
本文讨论大数据内部关系的复杂性,以及复杂数据所带来的对于聚类分析的挑战。聚类分析的目标是依据数据本身的分布特征(无监督),把整个数据(空间)划分成不同的类。基本的准则是同类的数据应该具有某种的相似性,而异类的数据应该具有某种差异性。现有工作假设在这些数据中存在单一的聚类划分的方法,而聚类目标就是找到这样的一种划分。然而,我们在大数据中所面对的复杂数据是多侧面的,比如在网页数据中既有关于内容的文本属性,也有指向这个网页的链接属性。多侧面数据本身就存在着多种有意义的划分,强制地将数据按照单一的方法聚类,得不到有效的、明确清晰的、可诠释的结果。针对这个问题,多维聚类方法针对数据的不同侧面,得到数据聚类的多种方法,最后让使用者决定需要的聚类划分。
高维复杂数据的聚类分析是本文作者在香港科技大学跟随Nevin Zhang教授攻读博士期间的主要工作。研究论文Model-based multidimensional clustering ofcategorical data发表在今年《ArtificialIntelligence》杂志的第176期。《ArtificialIntelligence》从1970年开始出版,是人工智能领域老牌顶级期刊。因为版权原因,可能网上下载不到免费的全文,感兴趣的同学可以联系tao.chen2@emc.com。关于文中所用的隐树模型的介绍以及免费软件参见隐树模型项目主页。
(二)多维聚类的概念
假设我们需要对图中的所有图片进行聚类,可能的聚类方法不止一种:按照图片的内容,我们可以把左边的图片标注成袋鼠,而右边的标注成树;而按照图片风格属性,我们可以把上面的图片称为色彩图,而下面的称为线条图。简而言之,关注数据的不同侧面,有可能得到不同的聚类结果。同时这些聚类结果也都是有意义,可以解释的。
生活中多维聚类的例子很多,比如对于人群的划分,可以按照男女等人口统计学信息划分,也可以按照对于某个事件的看法划分。那么从机器学习的角度如何公式化这样的问题,之后又怎么利用概率统计的方法去解决这样的问题呢?下面我们先给出问题的定义。
如图所示,在聚类分析这样的无监督学习中,输入是一个数据表。表的每一行表示一个数据点,而每一列表示描述这个点的一维属性。大数据的一个重要特征就是维度很高(包含很多列),从而带来的维度灾难(curseof dimensionality)。在聚类分析中,表现为:这些维度可能自然地分成一些组,每组包含一些属性,反应了数据某一侧面(facet)的特征。用户可以根据其中一个侧面的属性,对这个数据进行聚类。比如在右表的数据中,一个学生的数据包含了数学成绩,理综成绩,文综成绩,和语文成绩这些属性。我们可以关注学生的数学和理综成绩,按照理科成绩(分析能力)对学生进行聚类;同时也可以关注学生的文综和语文成绩,按照文科成绩(语言能力)对学生进行聚类。
所以多维聚类的问题定义为:
如何发现数据中包含的多个侧面,即属性的自然分组,针对这些不同侧面进行聚类,从而得到多种聚类方法。
(三)多维聚类分析的工具和原理
贝叶斯网络是一种表示和处理随机变量之间复杂关系的工具。它是通过在随机变量之间加箭头而得到的有向无圈图。箭头表示直接概率依赖关系,具体依赖情况由条件概率分布所定量刻画。出于对计算复杂度的考虑,人们会对贝叶斯网络进行一些限制,在实际中使用一些特殊的网络结构。隐树模型(latent tree model)是一类特殊的贝叶斯网,也称为多层隐类模型(hierarchical latent class model), 是一种树状贝叶斯网, 其中叶节点代表观察到的变量,也称为显变量,其它节点代表数据中没有观察到的变量,也称为隐变量。
图中给出了隐树模型的一个例子。其中,学生的“数学成绩”、“理综成绩”、“语文成绩”和“文综成绩”是显变量,而“智力”、“分析能力”和“语言能力”则是隐变量。从“分析能力”到“数学成绩”有一个箭头, 表示“数学成绩”直接依赖“分析能力”,具体依赖情况由右图中的条件概率表所定量所刻画。表中的内容是说,分析能力低的学生在数学科有0.5的概率不及格、0.4的概率及格、0.1的概率得良,而得优的概率则是0; 等等。模型中的其它箭头代表其它变量之间直接依赖关系,每个箭头都有相应的条件概率分布。
在隐树模型中,一个隐变量对应一种数据聚类的方法。隐树模型允许模型中有多个隐变量,所以自然地可以多维同时聚类。在例子模型中,可以按照分析能力或者语言能力对学生聚类,也可以按照智力对学生聚类。在隐树模型中,聚类分析可以通过计算给定学生成绩的后验概率进行判断。所以,利用隐树模型进行多维聚类分析的技术重点就在如何通过观测数据学习一个最优的模型。抽象地说,就是找到能够最好地解释数据的一个生成隐树模型(Generative Latent tree model)。
(四)隐树模型的学习
隐树模型的学习是一个对模型逐步优化的过程,优化的目标函数是一个称为贝叶斯信息准则(Bayes information criterion, 简称BIC) 的函数:
BIC(m|D) = max θ log P(D|m, θ) – d(m)logN/2
BIC准则要求模型与数据尽量紧密地拟合,但其复杂不能过高。所以式中第一项表示拟合程度,而第二项是对于模型复杂度的一个惩罚项。我们的优化过程是一个基于搜索的爬山算法(Hill-Climbing)。以只包含一个隐变量的简单的隐树模型作为搜索的起始模型,在搜索的过程中,逐步引入新的隐变量、增加隐变量的取值个数、或者调整变量之间的连接。这是一个逐步修改模型的过程,在这个过程中,模型与数据的拟合程度不断改进,从而BIC分逐步增加。当模型就变得太复杂时,BIC会不升反降,于是搜索过程停止。
隐树模型的学习是一个非常耗时的过程,主要原因在于对于BIC分数的计算。BIC函数的第一项叫做最大似然函数,在模型包含缺失值或者隐变量时,计算最大似然函数需要调用EM(Expectation-Maximization)算法。尽管我们已经对于限制了模型结构为简单的树状结构,但是在这样的模型上进行EM的计算依然是非常困难。围绕隐树模型的很多工作都是在研究如何对模型学习进行加速的,这儿就不赘述了。
(五)基于隐树模型的多维聚类分析实例
我们以一个真实的数据分析实例来展现多维聚类分析。数据来自某地区的关于贪污的社会调查问卷。通过一些数据预处理,我们的数据(如图所示)包含了1200份的问卷,以及31个问题。比如说C_City表示被访问者对于该地区的贪污普遍性的看法,可以有4个选项,分别是非常普遍,普遍,不普遍,以及非常不普遍。C_Gov和C_Bus分别表示受访者对于该地区政府部门或商业部门的贪污普遍性的看法,同样也有四个选项。Tolerance_C_Gov和Tolerance_C_Bus则分别表示受访者对于该地区的政府部门以及商业部门的贪污的容忍程度,可以选择完全不能容忍,不能容忍,能容忍,完全能容忍。数据表里面的-1表示受访者对该问题的回答缺失。
利用隐树的学习算法,我们从这个数据得到了一个如图所示的模型。叶节点对应问卷问题,即显变量。中间结点,Y0-Y8是从数据中发现的隐变量,括号里面的数字表示这个变量所取的状态个数。我们发现这些隐变量都有一定的意义,比如,Y2和问卷中的Sex,Age,Income,Education这些问题紧密连接,说明Y2应该是表示受访人的人口统计信息。Y3和问卷中的Tolerance_C_Gov和Tolerance_C_Bus紧密联系,说明Y3是反映受访者总体对于贪污的看法。
模型中的每个隐变量表示数据聚类的一种方式。比如,变量Y2有4个值,说明Y2提示数据可以分成四个类。这种聚类主要基于Sex,Age,Income,Education这些人口统计信息相关变量的,所以可以说当我们关注人群的人口统计信息这个侧面时,我们可以根据Y2把人群分成四类。具体地研究这四类的类条件概率(Class-Conditional ProbabilityDistribution)特性,我们进一步发现它们分别代表:低收入的年轻人群,低收入的女性人群,受过高等教育的高收入人群,以及只接受初等教育的一般收入人群。同时,我们看到Y3有3个取值,这说明从人群对于贪污总体看法这个侧面出发,可以把人群分成三类,分别是对于贪污完全不能容忍的人群,对于贪污比较不能容忍的人群,对于贪污可以容忍的人群。同样地,我们的聚类也可以基于其他隐变量所代表的侧面。这样从模型中我们得到了9种聚类的方法,达到了多维同时聚类的效果。
除了聚类,对于这个数据的分析还告诉我们一些隐藏很深的关系。比如在模型中变量Y2和Y3有连线,这表明一个人的背景信息和他对于贪污的容忍程度应该有一定的关联关系。具体地说,在Y2所表示的4类人中,你觉得哪一类是最能容忍贪污,而哪一类是最不能容忍贪污的呢?在模型中,通过对这两个变量的条件概率的分析,我们得到了一个答案,有兴趣的同学可以去论文中验证一下自己的猜测。
(六)相关学术工作
隐树模型在密度估计,近似推理及隐结构发现等方面都有具体的应用。在多维聚类分析的应用上,我们分析过市场学数据(COILChallenge 2000),某地区的社会调查数据(ICAC),NBA篮球运动员比赛统计数据。最近,随着算法的提速,隐树模型开始被尝试用于文本分析,比如对于网页数据,博客数据等的话题分析。隐树模型最开始的提出是为了对中医的证候分析提供统计解释,有兴趣的同学可以参考隐结构模型与中医证研究。
最近两年,多维聚类分析引起了很多机器学习研究人员的兴趣。从2010年开始的MultiClust Workshop已经举办了两届,其中第一届是和KDD2010一起举办,第二届是和ECML/PKDD2011一起举办。而第三届也会与SDM2012一起举办。具体参考文献这儿也不罗列了。
多维聚类分析和基于多视图的学习不应该混淆。多视图学习假设数据的多个视图已知,要求视图之间存在充分性(Sufficiency)和冗余性(Redundancy),通过协同训练等技术,主要提高半监督学习,主动学习的性能。多视图学习中针对聚类这样的无监督任务的研究很少,而且它的目标也是如何提高单一的聚类划分的质量,而不是找到多种划分方法。多视图学习也极少涉及如何发现多个视图,而不是假设他们已知。这方面南京大学周志华教授在今年的中国机器学习及其应用研讨会上提到一些初步研究。实际中,可以考虑先用多维聚类分析找到数据的多个侧面(视图),然后再应用多视图学习的方法。
(七)总结
对于一个复杂数据,比如文本,视频,图像,或者生物实验数据,人们可以从不同的角度去诠释这样的数据。数据分析家们已经有了这样的共识,那就是以前的单维聚类方法不再适合大数据的多样性特征。多维聚类分析通过对单维聚类问题的扩展,为复杂数据提供了一种新的探索性分析的方式。我们通过找到数据的不同侧面,按照这些侧面进行分别聚类,然后把各种聚类结果全部以一种简单的方式呈现给领域专家,由专家决定他认为最合适的聚类方法。这样的工作流程清晰定义数据科学家和领域专家的职能,通过两者的合作,提高数据的聚类结果,并且提升数据的可解释性。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA 数据分析师:就业前景广阔的新兴职业 在当今数字化时代,数据已成为企业和组织决策的重要依据。数据分析师作为负责收集 ...
2025-06-30探秘卷积层:为何一个卷积层需要两个卷积核 在深度学习的世界里,卷积神经网络(CNN)凭借其强大的特征提取能力 ...
2025-06-30探索 CDA 数据分析师在线课程:开启数据洞察之旅 在数字化浪潮席卷全球的当下,数据已成为企业决策、创新与发展的核心驱 ...
2025-06-303D VLA新范式!CVPR冠军方案BridgeVLA,真机性能提升32% 编辑:LRST 【新智元导读】中科院自动化所提出BridgeVLA模型,通过将 ...
2025-06-30LSTM 为何会产生误差?深入剖析其背后的原因 在深度学习领域,LSTM(Long Short-Term Memory)网络凭借其独特的记忆单元设 ...
2025-06-27LLM进入拖拽时代!只靠Prompt几秒定制大模型,效率飙升12000倍 【新智元导读】最近,来自NUS、UT Austin等机构的研究人员创新 ...
2025-06-27探秘 z-score:数据分析中的标准化利器 在数据的海洋中,面对形态各异、尺度不同的数据,如何找到一个通用的标准来衡量数据 ...
2025-06-26Excel 中为不同柱形设置独立背景(按数据分区)的方法详解 在数据分析与可视化呈现过程中,Excel 柱形图是展示数据的常用工 ...
2025-06-26CDA 数据分析师会被 AI 取代吗? 在当今数字化时代,数据的重要性日益凸显,数据分析师成为了众多企业不可或缺的角色 ...
2025-06-26CDA 数据分析师证书考取全攻略 在数字化浪潮汹涌的当下,数据已成为企业乃至整个社会发展的核心驱动力。数据分析师作 ...
2025-06-25人工智能在数据分析的应用场景 在数字化浪潮席卷全球的当下,数据以前所未有的速度增长,传统的数据分析方法逐渐难以满足海 ...
2025-06-25评估模型预测为正时的准确性 在机器学习与数据科学领域,模型预测的准确性是衡量其性能优劣的核心指标。尤其是当模型预测结 ...
2025-06-25CDA认证:数据时代的职业通行证 当海通证券的交易大厅里闪烁的屏幕实时跳动着市场数据,当苏州银行的数字金融部连夜部署新的风控 ...
2025-06-24金融行业的大数据变革:五大应用案例深度解析 在数字化浪潮中,金融行业正经历着深刻的变革,大数据技术的广泛应用 ...
2025-06-24Power Query 中实现移动加权平均的详细指南 在数据分析和处理中,移动加权平均是一种非常有用的计算方法,它能够根据不同数据 ...
2025-06-24数据驱动营销革命:解析数据分析在网络营销中的核心作用 在数字经济蓬勃发展的当下,网络营销已成为企业触达消费者 ...
2025-06-23随机森林模型与 OPLS-DA 的优缺点深度剖析 在数据分析与机器学习领域,随机森林模型与 OPLS-DA(正交偏最小二乘法判 ...
2025-06-23CDA 一级:开启数据分析师职业大门的钥匙 在数字化浪潮席卷全球的今天,数据已成为企业发展和决策的核心驱动力,数据分析师 ...
2025-06-23透视表内计算两个字段乘积的实用指南 在数据处理与分析的过程中,透视表凭借其强大的数据汇总和整理能力,成为了众多数据工 ...
2025-06-20CDA 一级考试备考时长全解析,助你高效备考 CDA(Certified Data Analyst)一级认证考试,作为数据分析师领域的重要资格认证, ...
2025-06-20