基于支持向量机的聚类及文本分类研究
【摘要】:随着大数据(Big Data)时代的来临,互联网上分布、流动并急剧膨胀的不仅有多样化应用所产生的具有可用性、有效性的内容资源,还充斥着大量干扰正常业务、侵犯隐私、误导公众甚至危害社会稳定并同样多样化的信息和行为。从数据管理的角度,有必要根据不同行业、领域用户的需要,快速、高效地组织、分析、提取并分级保护有用的数据或敏感信息;而从内容安全的角度,人们更期待能够对正在或即将泄露的敏感信息进行检测和保护,对存在虚假、恶意或诱导意图的内容或行为进行分类、过滤和分析,以便及时地发现攻击源、保护受害者,同时调动智能防御系统进行数据处理、知识学习和模型更新。在众多机器学习方法中,聚类分析(无监督学习)和分类(有监督学习)被认为是快速、准确地发现、定位、组织和分析具有特定用途的可用信息和行为模式,实现信息安全保护效率最大化的有效途径和关键技术。
作为一种基于统计学习理论的机器学习方法,支持向量机不仅具有优秀的小样本学习能力,而且较好地解决了非线性、高维度、局部极小值等问题。它既能通过构造闭合分界面来进行无监督的数据聚类分析,又可以通过构造非闭合分界面来处理有监督的数据分类问题,尤其适于处理高维、稀疏且特征之间具有较大相关性的文本数据,因而具有高效地解决前述以数据管理和内容安全为目的数据分析问题的优秀品质。然而,当样本规模较大、维数较高、类别数较多、分布不规则且存在噪声数据干扰时,传统的基于支持向量机的聚类分析模型存在训练速度较慢、参数敏感且难以找到合适的簇原型来提升簇标定的效率和准确率等问题;作为互联网信息存在的主要形式,文本数据通常具有前述特征,并且会以降低数据可分性的方式影响基于支持向量机的文本分类系统性能,包括降低训练和分类速度、准确率以及收集到的支持向量样本的指示意义等。
为了解决这些问题,本文的主要研究内容及创新工作可归纳如下:
(1)针对支持向量聚类算法兼具边界聚类与原型查找聚类的特点,从参数选择、对偶问题求解及簇标定策略等方面分析并总结了影响支持向量聚类算法性能的关键原因及可行的改进方向,并在分析了核函数宽度q与簇的分裂/合并模式之间的关系之后,提出了通过二分查找法快速定位簇规模稳定时的q值来同时取得最优参数和最佳聚类结果。
(2)作为基于边界的聚类方法,能够对具有任意形状或不规则簇轮廓的数据集进行高效率的聚类是支持向量聚类算法相对于其他算法的一大优势。然而,这一优点也导致了支持向量聚类对簇轮廓比较敏感,受一些稀疏分布且干扰簇轮廓或数据分布结构的噪声数据影响较大。针对传统的支持向量聚类算法因未能有效界定噪声数据点和孤立点而允许噪声数据点参与对偶问题求解,降低了训练阶段的效率、影响了算法对数据分布结构探索的有效性等问题,本文首次从分布特点和簇隶属关系的角度给出了噪声数据的定义,并提出了一种无监督的噪声消除算法。利用该算法,可在数据进入对偶问题求解之前的输入空间快速地移除噪声数据,避免了一部分无意义的特征空间映射操作,降低了聚类算法对核矩阵的存储空间要求,并且可在不对数据集的分布结构或簇轮廓造成任何负面影响的前提下,为提升支持向量聚类算法的效率提供帮助。
(3)寻找合适的簇原型是提升支持向量聚类算法效率的主要途径之一。传统的支持向量聚类算法或者使用支持向量分组作为簇原型,或者将其转换为单簇单原型的问题。前者在处理大规模高维数据时效率较低,后者得到的簇原型对结构不规则或内部样本分布不均匀的簇的指代效果不理想,并可能降低簇标定的准确率。针对这一问题,本文提出了一种单簇多个簇原型,并且每个簇原型同时使用形状质心和密度质心进行指代的双质心支持向量聚类(Double Centroids Support Vector Clustering,简称DBC)算法。从原理上看,DBC算法是前两种传统模型的折中,特点是能允许在不规则的簇内部自适应地分布多对簇原型。大量的实验表明,DBC算法不仅继承了经典支持向量聚类算法对不规则簇轮廓的识别能力,而且还可发现簇内样本的分布均匀程度、显著提高簇标定的效率和准确率,同时双质心具有较强的簇指代能力,可用于大规模数据的分析。
(4)簇标定算法与簇原型的查找或生成模式有着紧密的联系。研究发现,当前的支持向量聚类算法在通过对簇原型点对之间的线段抽样完成组件连接性判定时,使用了大量的冗余点对和采样点,严重影响了簇标定效率却没能带来准确率的提升。针对这一问题,本文提出一种基于凸分解的簇标定(Convex Decomposition based Cluster Labeling,简称CDCL)算法,该算法属于单簇多个簇原型方案的变体,其最大特点是不再通过已有的或者优化生成的单一样本作为簇原型,而是能够根据簇结构的不同,自适应地将其分解为一定数量、不同形状和大小的凸包来作为簇原型使用。本文还详细分析并定义了以凸包为簇原型时影响凸包连接性判断的关键因素—准支持向量,并将簇的连接性分析转换为最近邻凸包之间的连接性判断问题,通过构造最大概率穿越准支持向量密集区域的采样线段来避免抽样点对的冗余。另外,本文还提出了一种与凸分解模型相匹配的非线性抽样序列生成模式来最大程度避免点对之间的冗余采样,降低实际的平均抽样频率。大量实验表明,本论文所提出的CDCL算法不仅提高了簇标定的效率,并且对参数设置不敏感,能显著提高标定的准确率。
(5)研究表明,对于以构造特征空问的最小包含超球体和支持函数为目的的支持向量聚类而言,那些簇轮廓内部的样本、外部的孤立点及噪声数据点都是不必要的,它们的存在只会增加存储空间的占用,降低训练效率。为此,本文提出一种快速的支持向量聚类(Fast Algorithm of Support Vector Clustering,简称FASVC)算法。该算法先在数据输入空间直接提取簇轮廓(或边界)样本来构造超球体、提取支持向量并完成支持函数的构造,然后采取一种自适应的簇标定策略,根据所构造的超球体半径R是否大于1来选择使用基于凸分解或圆锥的簇标定算法。由于FASVC算法高度约简了求解优化问题的规模,并且所采用的自适应簇标定策略不会增加优化问题的约束条件,可大幅度地提升聚类分析过程的存储空间利用率和运行时间效率,故而非常适合在存储空间受限的情况下实施大规模的数据分析。另外,算法还与惩罚因子C无关,并对其他参数设置不敏感。实验证明,本论文所提出的FASVC算法能高效地处理文本聚类和P2P流量分类问题。
(6)在文本分类领域,支持向量机是公认最好的分类器之一。由于基于结构化风险最小化原理,使用支持向量机进行文本分类的性能与数据的可分性(即不同类别样本之间的分类间隔)直接相关,因此寻找最合适的增强数据集可分性的文本表示方法是提升文本分类性能的关键。研究表明,文本向量化表示过程实际上是对文本信息进行压缩的过程,因而最大程度的信息保留对提升文本分类性能意义重大。然而,目前主流的文本表示方案则因存在“单一的文档频率依赖”、“特征权重量化的全局策略”及“忽略文本结构的作用”等问题导致大量重要信息在文本向量化过程中被丢失,影响了数据的可分性。针对这些问题,本文从多个角度提出了不同的性能提升方案。1)首先,本文定义了特征的类别贡献度的概念,并提出兼顾“类别贡献度”与“类间区分能力”相结合的方案(Category Contribution Enhanced,简称CCE)来避免文本特征量化时对单一文档频率的依赖。2)其次,本文设计了自适应的文本块划分算法,以此为基础可进行文本块分布重要性的描述,并将其作为结构信息嵌入到不同的特征中。3)然后,本文还定义了特征的类别倾向和类别偏好的概念,并基于此提出了融合多类别倾向的特征类间区分能力强化方案;在将该方案与CCE权重方案、文本块分布重要性描述相结合后构建了一种融合多类别倾向的文本向量化(co-contributions of terms on class tendency for vectorizing text,简称C2TCTVT)算法,该算法不仅保留了那些因遵循“全局策略”而丢失的特征类别倾向的分布信息,而且实现了将文本向量从高维、稀疏到低维、稠密的高度压缩,并且所得到的低维向量还保留了文本的多类别倾向信息、提升了数据可分性和支持向量样本的指代价值;基于该算法框架可在显著提升文本分类效率的同时获得与传统方法相当的分类性能。4)最后,作为对特征的局部重要性的改进,本文还提出了两组嵌入文本块重要性分布信息的特征频率方案,该方案可替代传统的特征频率方案,在结合CCE方案后可显著提升基于支持向量机的文本分类性能。