改进的K_均值聚类邮件过滤算法
改进的聚类模式过滤推荐算法

0 引言
互联 网已经成 为人 们 日常生 活 中必 不可 少 的重
少 了聚类 的计算时间, 而提高 了推荐算法 的效 率. 从
1 相 关工 作
基于 聚类技 术 的过滤 推荐 是 以用户 的兴 趣 的类
要 环 节 ,数 以亿 计 的 网 民接 受 互 联 网 传 递 的信 息 .
如 何在 庞 大 的数据 流 中获取 自己需 要 的信 息,已成 为 人们 关 注 的焦点 .过 滤推 荐技 术 可帮 助用 户有 效 地 解 决 网络上 的“ 息 迷失 ” 信 问题 .推 荐 系统是 利 用 似性 作 为分 类标 准 ,由聚 类对 数据 进 行初 始 的分 类 处 理 . 据 聚类 的结 果作 为其 他 用 户对项 目可能 评 数
在众 多 的推荐 系统 中,协 同过滤 推 荐是 当前 较
为广 泛 应用 的技术 之 一 ,其 基本 思 想是 由评 分 相 】 似 的最 近邻 居 的具体 评分 结果 向 目标 用户 来产 生推 荐 ;其 主体 思想是 以分类 用户 评 价 的相似 性作 为理
论基 础 ,通 过计 算 目标用 户最 为 接 近 的邻 居,并 由
文章编 号: 0 05 6 (0 20 —1 60 1 0 —8 22 1 )10 0 —5
改进 的聚类模 式过滤 推荐算 法
高灵渲,张 巍,霍颖翔,滕 少华
( 广东工业大学计算机学院, 广东 广州 500) 106
摘要 :通过对用户推荐项 目模式进行建模, 预测新用户的推荐项 目归属类别, 从而推测 出目 标用户对具体推
第 3卷 第 1 6 期
21 年 1 02 月
江 西 师范 大 学 学 报 ( 自然 科 学 版)
电子邮件垃圾邮件过滤算法设计与实现

电子邮件垃圾邮件过滤算法设计与实现随着互联网的普及和电子邮件的广泛应用,垃圾邮件问题也逐渐增多,给用户的正常通信带来了很大的干扰。
为了过滤掉这些垃圾邮件,提高用户邮件收发的效率,电子邮件垃圾邮件过滤算法应运而生。
垃圾邮件过滤算法的目标是将真实邮件与垃圾邮件进行区分,将垃圾邮件过滤出去,确保用户只看到真实邮件。
下面,我们将介绍一种常见的垃圾邮件过滤算法的设计与实现。
1. 特征提取垃圾邮件过滤的第一步是特征提取。
通过分析邮件的各个方面特征,识别出垃圾邮件的特征,例如邮件主题、发件人地址、内容关键词等。
可以使用机器学习算法,如朴素贝叶斯算法、支持向量机等,来识别出这些特征。
2. 训练模型在特征提取的基础上,需要使用已标记的邮件数据集进行模型的训练。
将已分类好的邮件分为垃圾邮件和非垃圾邮件两个类别,训练出一个分类器。
该分类器将用于后续对新邮件的判断。
训练模型要充分考虑数据集的质量和数量,以及训练算法的选择。
3. 实时过滤训练好模型后,需要将其应用于实际的邮件过滤中。
每当有新邮件到来时,将该邮件的特征提取出来,并通过模型进行分类判断。
如果判断为垃圾邮件,则将其过滤掉,不再传送给用户。
如果判断为非垃圾邮件,则将其送达用户的收件箱。
4. 用户反馈与调整为了提高过滤的准确性,用户的反馈图像重要。
用户可以将被误判为垃圾邮件的邮件标记为非垃圾邮件,或将被误判为非垃圾邮件的邮件标记为垃圾邮件。
这些用户反馈将被用于对模型进行调整和优化,提高过滤算法的准确性和灵活性。
5. 非垃圾邮件保护垃圾邮件过滤算法要确保过滤的同时,尽量不漏掉用户真正想要接收的邮件。
因此,在过滤算法中,需要加入一些机制来保护非垃圾邮件的传送。
例如,设置白名单或黑名单机制,用户可以将特定的发件人或关键词加入名单,以确保这些邮件的传送。
6. 异常邮件处理在实际应用中,可能会遇到一些无法准确判断的邮件,例如含有恶意代码的邮件、模糊的邮件内容等。
对于这些邮件,可以设置一些策略,例如将其移动到特定的文件夹或将其标记为潜在垃圾邮件,以提醒用户谨慎处理。
基于LDA改进的K-means算法在短文本聚类中的研究

基于LDA改进的K-means算法在短文本聚类中的研究冯靖;莫秀良;王春东【摘要】在短文本聚类的过程中,常发现特征词的稀疏性质、高维空间处理的复杂性.由于微博的内容长度限制和特征稀疏性,特征向量的高维度被执行,导致模糊聚类结果.本文使用了Latent Dirichlet Allocation主题模型,对训练数据进行建模,并将主题术语扩展原始微博的特征,从而丰富了聚类文本特征,提高聚类效果.实验结合K-means和Canopy聚类算法对文本数据进行处理,提出了LKC算法,弥补了K-means算法对初始聚类中心点选取的敏感性,结果实现了更高的精度和聚类F1-measure的测量值.F1值提高了10%,准确度提高了2%.%In the process of short text clustering,the sparse nature of the characteristic words,the complexity of the high-dimensional space processing are often found.Due to the content length limitation of the micro blog and its feature sparsity,the high dimensionality of feature vectors is performed,resulted in obscured clustering results.A Latent Dirichlet Allocation (LDA)theme model is proposed to the training data,and extend the subject term into the characteristics of the original micro blog,such that to enrich the category features to improve the clustering consequent.Our experiment combines K-means and Canopy clustering algorithm to process the text data and the results achieve higher accuracy and F1-measure.The F1 value improved by 10%,and the accuracy improved by 2%.【期刊名称】《天津理工大学学报》【年(卷),期】2018(034)003【总页数】5页(P7-11)【关键词】短文本;LDA;K-means聚类;Canopy聚类【作者】冯靖;莫秀良;王春东【作者单位】天津理工大学计算机科学与工程学院天津市智能计算及软件新技术重点实验室,天津300384;天津理工大学计算机科学与工程学院天津市智能计算及软件新技术重点实验室,天津300384;天津理工大学计算机科学与工程学院天津市智能计算及软件新技术重点实验室,天津300384【正文语种】中文【中图分类】TP391.1自媒体时代[1],除了新奇的交流体验,微博也产生了大量的冗余或无用的短文本内容.微博数据在舆情监控方面得到广泛的应用,它在舆情信息工作中扮演着不可忽视的角色.传统的K-means算法能够有效地处理大数据集而被广泛使用,但对于微博短文本聚类时通常存在以下局限:(1)聚类的数目和聚类的初始中心点的选取比较敏感.(2)微博的表达非常口语化,语法的使用不规范,通常使用图像、视频、链接和其他多媒体技术.因此,数据收集和预处理过程变得更具挑战性.(3)针对短文本特征关键词词频过低,使用传统的向量空间模型Vector Space Model 模型会陷入维度过高,产生大量的0值,从而不能真实的描述文本.目前,针对短文本特征信息少,只有少量的字可以被分析使用的特性,国内外对短文本聚类[2-3]已经进行了比较深入的研究,文献[4]提出通过结合语义改进K-means短文本聚类算法,通过语义集合表示短文本缓解了短文本特征关键词的稀疏性问题.但是文中语义距离的计算忽略了上下文语境,语义距离的计算不够精确.文献[5]提出一种结合上下文语义的短文本聚类算法,首先通过发现词语间共现关系引入上下文语义信息对传统的TF-IDF权重计算进行修改然后进一步结合潜在语义分析方法降维到潜在语义空间完成短文本聚类,改善了短文本特征不足及特征高维稀疏问题.文献[6]提出基于语义特征选取与改进K均值算法的文本聚类,在对文本进行预处理过程采用语义特征选择进行优化,且改进K-means初始聚类个数,减少了整个聚类算法的时间,提高聚类精度.文献[7]构造了一种针对中文网络短文本的特征表示,构建动态网络,用其支持聚类,可以获得满意的聚类结果.由于短文本,固有的缺陷,为了解决短长度、弱信号和小特征的问题,文献[8]中提出了一种用于短文本分类的语义词典方法.从文本中提取主题是具有挑战性的,文献[9]提出了一种通用框架,可以通过创建lager伪文档的原始文档来创建短文本的主题建模.在最初的实验过程中使用原始的TF-IDF计算权重值发现其并不适用于微博短文本,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似的.考虑到传统主题模型在处理大规模文本时存在的局限性,本文使用LDA主题模型做文本特征抽取,其有效解决了文本挖掘中的特征稀疏等问题.1 聚类算法描述1.1 K-means算法K-means[10]算法是一种top-down的思想,它首先要解决的问题是,确定cluster数量,也就是K的取值.在确定了K后,再来进行数据的聚类.其具体实现过程如下所陈述:输入:待聚类文本数N,聚类数目k,最大迭代次数Stepmax,迭代终止条件m. 输出:k个聚类和迭代次数.1)从N个待聚类的文本选择K个聚类质心点为初始质心,例如c[0]=data[0],...c[k-1]=data[k-1];将data[0]...data[n],分别与 c[0]...c[k-1]比较,若与 c[i]差值最少,就标记为i;2)Repeat.把剩下的点分配到最近的质量中心,形成k团.重新计算每个集群的质心,直到集群中心的质点没有变化或达到最大迭代次数.基于不同的算法,可以利用不同的指标来确定聚类算法的优缺点.对于文本聚类,K-means算法简单有效.但传统的K-means算法对初始聚类中心敏感,结果不同.它很容易进入局部最优,此外,它对噪声和异常值很敏感.因此,本文提出了一种基于LDA主题模型和canopy-kmeans算法的短文本聚类算法.1.2 Latent Dirichlet Allocation模型本文使用LDA文本主题空间模型,对文本特征进行抽取.LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,包含特征词、隐含主题和文档三层结构. 图1 LDA主题模型三层结构图Fig.1 Three-tier structure diagram of LDA theme model在判断文档相关性的时候需要考虑到文档的语义,而语义挖掘的利器是主题模型,LDA[11]就是其中一种比较有效的模型.它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一些文档抽取出它们的主题(分布)出来后,便可以根据主题(分布)进行主题聚类或文本分类.LDA是一种非监督机器学习技术,可以用来识别大规模文档集或语料库中潜藏的主题信息.本文中利用LDA模型代替传统的VSM模型来提取隐藏的微博主题信息,并进行聚类分析.其有向概率图如下所示:图2 LDA概率图Fig.2 Latent dirichlet allocation model图2中,参数α反映出文本集中不同隐含主题间的相对强弱关系,参数β则代表主题自身的概率分布.z表示隐含主题,w表示词表的每个词,即观察值,θ代表文本-主题概率分布.对于给定的文本集D,包含M个文档,T个主题,而每个文档d中又包含N个词.LDA的主要工作是根据给定的一篇文档,推测其主题分布.LDA定义生成任意一个文本dj的过程陈述如下:1)选择一个N,N表示整个文档集中不同词语的个数;2)选择一个θ,θ是主题分布所服从的多项分布的参数;3)对于文档找那个的每一个词wn:(1)选择一个主题zn;(2)在选定主题zn后,在该主题对应的词分布中选择一个单词 wn,它的概率是p(w|zn,β).1.3 相似度判定文本聚类的相似度计算使用余弦距离,假设三角形的三条边为a、b和c,边所对应的三个角为A、B和C,那么角A的余弦为:如果将三角形的边当成向量对待,则公式等价于:其中<b,c>是向量的内积,|b||c|是向量长度乘积.文本X和文本Y经过结构化处理后对应向量分别是:X1,X2,...X1000和 Y1,Y2,...,Y1000,则两文本间的余弦距离就可以用这两向量的余弦值来表示:在文本相似度判定中,由于文本特征向量定义的特殊性,其cosθ范围为[0,1],即如果cosθ越接近于1时,两个文本越相似;当cosθ等于1时,则这两个文本是完全重复的;cosθ越小,则两个文本相关度越低.余弦相似度适用于短文本,用余弦距离计算文本的相似度首先基于词频统计的,根据公式(4)也可以看出,该距离的计算难度是随着文本的增多而增大的,因为文本变多,维度也随着提高了. 1.4 LKC聚类算法实现过程任何基于文本的系统都需要文档的一些表示,并且适当的表示取决于要执行任务的种类.聚类[12]是通过合适的策略把相似的对象聚到一个集合,该集合中的对象在某个方面有着相似的属性.本文选用K-Means method结合Canopymethod[13].K-Means是经典的基于原型的目标函数聚类方法,它试图找到最小的一组普通误差标准函数.但其初始K值的选择是随机性的,这会影响到后续实验聚类的结果.所以第一阶段首先使用Canopy算法选择合适的K个点作为初始质心,并排除与大部分数据点相差甚远的数据点.本文LKC聚类算法实验流程如下:图3 聚类算法流程图Fig.3 The flow chart of LKC clusteing alorithm2 实验结果及评价2.1 数据准备实验数据来自微博200万情感短文本.0到3分别对应不同类别的感情,0代表喜悦,1代表愤怒,2代表厌恶,3代表低落.在实验过程中,把这四类情感倾向分为两大类,0为积极,1、2和3为消极.实验中会对文本数据预处理主要使用Python进行文本预处理,包括文本分词,过滤停用词,词频统计,特征选择,文本表示等.中文文本一般需要用分词算法完成分词,它是没有类似英文空格的边界标志,不能像西方语言那样可以根据空格和标点符号完成分词.文本分词是一个处理的关键,词是最小的能够独立运用的语言单位,它的定义非常抽象且不可计算.网上已有许多开放的分词引擎,例如 BosonNLP、IKAnalyzer、NLPIR、SCWS、结巴分词、盘古分词等多款分词系统.停用词(Stop Words),最简单的如汉语中的“啊”、“的”、“啦”等词,它们没有具体的意义,不能体现文本所表示的内容,但几乎在所有文本中都出现,如果在聚类中考虑这些词,那么文本之间的相似性不能表现出内容的相似性,而是一些无意义的相似性,这不是我们所希望的.为此我们建立一个中文停止词词表,通过这个词表去掉短文本中的停用词.使用十分广泛,甚至过于频繁的一些单词,如果分词前就把停用词剔除,会导致分词不准.所以本文在分词后再根据停用词表把字符串中的停用词删掉.2.2 评价标准采用F1值和准确率(Accuracy)来衡量聚类算法的有效性.其中F1的值又取决于精确率(Precision,Pr)、召回率(Recall,Re).精确率和召回率的计算公式如下:式(5)中:nj表示识别出的个体 j的总数;ni表示测试集中存在的个体总数;nij 表示正确识别的个体总数.F1-measure的值可以定义为(参数β=1时):准确率(Accuracy)指在一定实验条件下多次测定的平均值与真值相符合的程度.2.3 实验结果与分析为了充分验证本文改进算法的有效性,重复抽取数据进行实验,在一定程度上缓解了短文本表征中固有的高维度高稀疏性问题.为了降低实验的误差,对数据进行多次重复性实验.表1是取自迭代次数为300时的11次试验结果,因为每次的数据选取都是随机的,排除了与平均值相差较大的几个数据点.表1 两种算法运行结果对比表Tab.1 Comparison results of two algorithms实验序号标准K-means算法改进算法F1值 Acc F1值 Acc 1 0.550 7 0.533 0 0.625 8 0.511 5 2 0.551 6 0.530 4 0.626 5 0.512 6 3 0.552 1 0.530 7 0.625 3 0.510 4 4 0.553 1 0.530 1 0.625 1 0.511 2 5 0.553 5 0.529 6 0.623 6 0.508 56 0.552 5 0.529 3 0.6227 0.507 1 7 0.549 1 0.532 9 0.6238 0.5079 8 0.5537 0.530 1 0.628 1 0.512 3 9 0.552 4 0.530 3 0.625 6 0.510 9 10 0.553 5 0.5296 0.624 3 0.510 4 11 0.552 2 0.529 6 0.626 3 0.512 8平均值 0.552 2 0.530 5 0.625 1 0.510 5通过图4可以清晰的看出,相对于标准的K-means聚类算法,本文提出的改进的算法在F1-measure值上有明显的提高.从图4中可以看出,第8次重复性实验的结果中F1值为0.6281,较为理想.图4中F1值整体走势相对平缓,证明了基于LDA主题模型改进的K-means聚类算法在短文本数据处理上有一定的可行性. 图4 F1-measure值对比图Fig.4 Comparison diagram of F1-measure value 通过图5可以清晰的看出,本文算法在准确率上较标准的K-means聚类算法有明显的提高.其中在第6次实验中,精确率为0.507 1结果比较优秀.但是,从整体来看,本文改进算法的精确率走势不是特别稳定.由此可见,改进算法在精确率的稳定性上有待提高.图5 Acc值对比图Fig.5 Comparison diagram of Accuracy value图6和图7数值为迭代次数50到400的对比图,其中不同的迭代次数都进行20次重复实验取其平均值,为确保数据的准确性.通过图6和图7可以清晰看出,标准K-means算法和本文改进算法在不同迭代次数时,其F1-measure值和精确率均较标准算法有所提高.经过实验验证本文改进的算法在迭代次数为300时,F1-measure为0.625和精确率为0.51达到最优解.其中在迭代次数为200时,精确率为0.529 8与标准算法相差很少.图6 不同迭代次数F1值对比Fig.6 Comparison of F1values for different iterations图7 不同迭代次数Acc对比Fig.7 Comparison of Accuracy values for different iterations3 结论K-means的时间复杂度是线性的O(n*k*t),其中n为数据对象,k为指定的类别数,t为迭代次数上限,算法简单且收敛速度快,所以更适用于处理大规模文本.但是也存在对噪声和离群点敏感,容易达到局部最优等缺点.实验结果证明,改进的算法虽然在F1值和精确率上较传统算法均有所提高,但是稳定性较差.为了确保实验的准确性,进行了多次重复实验,每次实验数据从38万条数据里随机挑取10%的数据进行实验.在未来的工作中,将使用MapReduce框架来实现K-means 聚类算法.参考文献:[1]Pääkkönen P,Jokitulppo J.Quality management architecture for social media data[J].Journal of Big Data,2017,4(1):6.[2] Xu J,Xu B,Wang P,et al.Self-Taught convolutional neural networks for short text clustering[J].Neural Netw,2017,88:22-31. [3] Sun J G,Liu J,Zhao LY.Clustering algorithms research[J].Journal of Software,2008,19(1):48-61.[4]邱云飞,赵彬,林明明,等.结合语义改进的K-means短文本聚类算法[J].计算机工程与应用,2016,52(19):78-83.[5]张群,王红军,王伦文.一种结合上下文语义的短文本聚类算法[J].计算机科学,2016,43(S2):443-446.[6]何晓亮,宋威,梁久桢,等.基于语义特征选取与改进k均值算法的文本聚类研究[M].重庆:《计算机科学》杂志社,2012.[7]贺涛,曹先彬,谭辉.基于免疫的中文网络短文本聚类算法[J].自动化学报,2009,35(7):896-902.[8] Tang H J,Yan D F,Tian Y.Semantic dictionary based method for short text classification[J].Journal of China Universities of Posts and Telecommunications,2013,20(13):15-19.[9] Bicalho P,Pita M,Pedrosa G,et al.A general framework to expand short text for topic modeling[J].Information Sciences,2017,393(C):66-81.[10] Bai L,Cheng X,Liang J,et al.Fast density clustering strategies based on the k-means algorithm[J].Pattern Recognition,2017,71:375-386.[11] Sun Y.The collocation model based on LDA[C]//International Conference on Electronics and Information Engineering.SPIE:Bellingham WA,2015.[12] Liu Y,Li Z,Xiong H,et al.Understanding of Internal Clustering Validation Measures[C]//IEEE International Conference on Data Mining.IEEE:Piseataway,2010:911-916.[13] Zhao Q.Efficient algorithm of canopy-kmean based on hadoop platform[J].Electronic Science and Technology.2014,27(02):29-31.。
改进的层次k均值聚类算法

改进的层次k均值聚类算法K-means聚类算法是一种基于距离的无监督学习算法,它在数据挖掘和机器学习中广泛应用。
然而,传统的K-means算法存在着一些问题,特别是在处理大规模数据、噪声数据和高维数据方面表现欠佳。
为了解决这些问题,研究人员提出了许多改进的K-means聚类算法。
改进的层次K-means聚类算法是一种比传统K-means更有效的聚类算法之一。
它通过增加层次结构的方式在多个层次进行聚类,能够对复杂数据结构和噪声数据进行更好的处理。
以下是改进的层次K-means聚类算法的特点及其优点:1. 增加层次结构改进的K-means聚类算法通过增加层次结构,在不同层次上进行聚类,能够更好地处理具有复杂结构的数据。
在每个层次中,数据被分为更小的聚类中心,每个聚类中心代表一个数据点的集合。
然后,将这些聚类中心看作新的数据点,再在下一个层次中重复这个过程。
通过这种方式,能够生成具有不同层次的聚类结果。
2. 非独立性噪声数据处理传统的K-means算法无法有效地处理非独立性噪声数据,这种数据可能会对聚类结果造成影响。
改进的层次K-means聚类算法通过使用权重和距离函数处理非独立性噪声数据。
具体来说,对于每个数据点,根据其与其他数据点的距离和它的权重计算它的新的聚类中心。
这种方式能够使非独立性噪声数据对聚类结果的影响降到最低,提高聚类准确率。
3. 处理大规模数据传统的K-means算法在处理大规模数据时效率低下,需要大量时间和计算资源。
改进的层次K-means聚类算法通过数据分区和并行处理技术能够更好地处理大规模数据。
具体来说,将数据分为小的块,在不同的处理器上并行处理。
这种方式能够减少计算时间,提高效率。
4. 多样性聚类结果改进的层次K-means聚类算法能够生成多样性的聚类结果,这种结果能够更好地反映数据的不同特征和结构。
在不同的层次上进行聚类,能够得到不同的聚类结果,这些结果代表了数据的不同方面。
基于改进K均值聚类的异常检测算法

基于改进K均值聚类的异常检测算法
左进;陈泽茂
【期刊名称】《计算机科学》
【年(卷),期】2016(0)8
【摘要】通过改进传统K-means算法的初始聚类中心随机选取过程,提出了一种基于改进K均值聚类的异常检测算法.在选择初始聚类中心时,首先计算所有数据点的紧密性,排除离群点区域,在数据紧密的地方均匀选择K个初始中心,避免了随机性选择容易导致局部最优的缺陷.通过优化选取过程,使得算法在迭代前更加接近真实的聚类类簇中心,减少了迭代次数,提高了聚类质量和异常检测率.实验表明,改进算法在聚类性能和异常检测方面都明显优于原算法.
【总页数】4页(P258-261)
【作者】左进;陈泽茂
【作者单位】海军工程大学信息安全系武汉430033;海军工程大学信息安全系武汉430033
【正文语种】中文
【中图分类】TP393
【相关文献】
1.基于改进K均值聚类的入侵检测算法研究 [J], 何明亮;陈泽茂;黄相静
2.改进K均值聚类的海洋数据异常检测算法研究 [J], 蒋华;武尧;王鑫;王慧娇
3.基于改进K-means的电力数据异常检测算法 [J], 吴蕊;张安勤;田秀霞;张挺
4.一种基于改进支持向量机的异常检测算法 [J], 詹琉
5.一种改进的基于单高斯模型的红外异常目标检测算法 [J], 宋珊珊;翟旭平
因版权原因,仅展示原文概要,查看原文内容请购买。
(完整版)X-means:一种针对聚类个数的K-means算法改进

X-means:一种针对聚类个数的K-means算法改进摘要尽管K-means很受欢迎,但是他有不可避免的三个缺点:1、它的计算规模是受限的。
2、它的聚类个数K必须是由用户手动指定的。
3、它的搜索是基于局部极小值的。
在本文中,我们引入了前两种问题的解决办法,而针对最后一个问题,我们提出了一种局部补救的措施。
根据先前有关算法改进的工作,我们引入了一种根据BIC(Bayesian Information Criterion)或者AIC(Akaike information criterion)得分机制而确定聚类个数的算法,本文的创新点包括:两种新的利用充分统计量的方式,还有一种有效地测试方法,这种方法在K-means算法中可以用来筛选最优的子集。
通过这样的方式可以得到一种快速的、基于统计学的算法,这种算法可以实现输出聚类个数以及他们的参量值。
实验表明,这种技术可以更科学的找出聚类个数K值,比利用不同的K值而重复使用K-means算法更快速。
1、介绍K-means算法在处理量化数据中已经用了很长时间了,它的吸引力主要在于它很简单,并且算法是局部最小化收敛的。
但是它有三点不可避免的缺点:首先,它在完成每次迭代的过程中要耗费大量的时间,并且它所能处理的数据量也是很少的。
第二,聚类个数K值必须由用户自身来定义。
第三,当限定了一个确定的K值时,K-means算法往往比一个动态K值的算法表现的更差。
我们要提供针对这些问题的解决办法,通过嵌入树型的数据集以及将节点存储为充分统计变量的方式来大幅度提高算法的计算速度。
确定中心的分析算法要考虑到泰森多边形边界的几何中心,并且在估计过程的任何地方都不能存在近似的方法。
另外还有一种估计方法,“黑名单”,这个列表中将会包含那些需要在指定的区域内被考虑的图心。
这种方法不仅在准确度上以及处理数据的规模上都表现的非常好,而这个快速算法在X-means 聚类算法当中充当了结构算法的作用,通过它可以很快的估计K值。
K均值算法中的特征选择方法(六)

K均值算法(K-means algorithm)是一种常用的聚类算法,它能够将数据集中的观测值划分到K个不同的组中,使得每个观测值都属于其中的一个组。
在K均值算法中,特征选择方法是非常重要的一环,它能够影响到聚类结果的准确性和稳定性。
本文将介绍K均值算法中的特征选择方法,并探讨其在实际应用中的一些注意事项。
首先,特征选择是指从原始数据中选择出对聚类任务有益的特征子集。
在K均值算法中,特征选择的目的是提高聚类的效果,减少噪声的影响,以及降低计算成本。
一般来说,特征选择方法可以分为过滤式(filter)、包裹式(wrapper)和嵌入式(embedded)三种类型。
过滤式特征选择是指在训练模型之前,通过对特征进行评价和排序,来选择最有价值的特征子集;包裹式特征选择则是通过在特征子集上训练模型,并根据模型性能来选择特征;嵌入式特征选择则是将特征选择过程嵌入到模型训练的过程中。
在K均值算法中,可以根据具体的数据集和问题,选择合适的特征选择方法。
其次,特征选择方法的选择应当考虑到数据集的特点和聚类任务的需求。
对于具有高维特征的数据集,过滤式特征选择方法通常可以快速筛选出对聚类任务有益的特征子集,同时可以减少计算成本;而对于特征之间存在较强相关性的数据集,包裹式特征选择方法可能能够更好地挖掘出相关特征之间的关系,提高聚类的准确性。
此外,在选择特征子集时,应当注意特征之间的独立性和互斥性,避免选择过于相似或相关的特征,以免影响聚类的效果。
另外,特征选择方法的有效性和稳定性也是需要考虑的重要因素。
在实际应用中,特征选择方法可能会受到噪声、缺失值和异常值等因素的影响,导致选择的特征子集不稳定或不准确。
因此,在进行特征选择时,应当充分考虑到数据的质量和完整性,通过对数据进行预处理和清洗,以提高特征选择方法的有效性和稳定性。
此外,还可以采用交叉验证等方法,对特征选择方法进行评估和比较,以选择最适合的特征子集。
最后,特征选择方法的效果也可能受到聚类任务的具体需求和目标的影响。
分类、回归、聚类、降维、模型选择、数据预处理六大模块

分类、回归、聚类、降维、模型选择、数据预处理六大模块1.引言1.1 概述概述部分旨在介绍本文的主题和内容,为读者提供一个整体的了解。
本文主要围绕分类、回归、聚类、降维、模型选择和数据预处理这六个模块展开讨论。
这六个模块是机器学习领域中常见且重要的技术和方法,它们在数据分析和模式识别任务中起着关键作用。
首先,分类是一种对数据进行分组的技术,根据给定的特征将数据划分为不同的类别。
分类算法通过从已知的样本中学习规则和模式,从而对新的未知数据进行分类。
在实际应用中,分类算法被广泛应用于垃圾邮件过滤、图像识别、文本分类等领域。
其次,回归是一种用于预测连续变量的方法。
回归算法通过建立输入特征和输出变量之间的数学模型,来预测未知的连续变量值。
回归技术在金融市场预测、房价预测、销量预测等场景中表现出了很好的效果。
聚类是将相似的样本组合在一起的过程,旨在发现数据中的隐含模式和结构。
聚类算法通过计算样本之间的相似性或距离,将其分配到不同的簇中。
聚类技术在市场细分、社交网络分析、图像分割等方面具有广泛的应用。
降维是将高维数据映射到低维空间的过程,目的是减少数据的维度并保留有效的信息。
降维算法可以帮助我们在可视化、特征选择和数据压缩等方面处理复杂的数据。
模型选择是指在机器学习中选择最适合数据集的模型或算法。
不同的模型有不同的优缺点,模型选择方法可以通过评估和比较不同模型的性能来选择最佳模型。
数据预处理是指在数据分析之前对原始数据进行清洗、转换和归一化等预处理操作。
数据预处理方法可以帮助我们处理缺失值、异常值,提高数据的质量和可靠性。
通过对分类、回归、聚类、降维、模型选择和数据预处理这六个模块的研究和理解,我们可以更好地应对实际问题,从海量的数据中挖掘出有价值的信息,为决策和预测提供有力的支持。
在接下来的章节中,我们将详细介绍每个模块的定义、概念和常用算法,希望能为读者提供全面而深入的学习和理解。
1.2文章结构文章结构部分的内容可以从以下角度进行撰写:文章结构是指整篇文章的组织框架和布局,它直接关系到读者对文章内容的理解和逻辑的推演。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:1009-2269(2010)02-0005-05改进的K 均值聚类邮件过滤算法*包理群,李祥林(兰州工业高等专科学校电子信息工程系,甘肃兰州 730050)摘要:分析了基于内容过滤的反垃圾邮件技术存在的不足,如概念漂移和偏斜类分布会导致召回率降低.在M inoru Sasaki和H iroy uki Shinnou提出的邮件检测方法的基础上,对特征选择算法做了改进,并增加了自动学习机制,提出了一种基于改进K 均值聚类的垃圾邮件过滤算法.实验表明此方法能较好地适应概念漂移和偏斜类分布现象.关 键 词:垃圾邮件过滤;概念漂移;偏斜类分布;K 均值聚类算法;簇中图分类号:TP391文献标志码:A0 引言Internet的问世带来了电子邮件业务的出现,网络技术的飞速发展促进了邮件服务的广泛普及和繁荣,电子邮件不仅是一个信息交流的重要渠道,而且也是人们信息获取的重要途径.而垃圾邮件作为商业广告、恶意程序或敏感内容的载体,对系统安全和用户生活造成了严重的困扰.据中国反垃圾邮件联盟最新消息显示:2009年9月份全球86%的邮件为垃圾邮件.如何有效地防范垃圾邮件,已经成为网络信息安全领域的一个经典难题[1 2].1 研究现状解决垃圾邮件问题,目前比较先进的方法是基于内容的过滤,它能够自动获取垃圾邮件的特征,并及时捕捉垃圾邮件特征的变化,是一种更为精确的邮件过滤技术[2].然而基于内容的过滤仍存在以下不足:1)概念漂移[3].用户的喜好随时间变化,同一封邮件在一个阶段被用户认为是垃圾邮件,在另一个阶段可能就被判定为正常邮件;垃圾邮件的主题也在不断变化,而且这些变化是不可预知的,即垃圾邮件的概念随时间而变化,这就是概念漂移.在旧训练集上得到的过滤器不适应新出现的邮件类型.2)偏斜类分布.训练样本集中,有些类别的邮件数目较少,即各类邮件分布不均匀,这就是偏斜类分布,它将导致小类别邮件召回率降低[4],但是很多情况下一些小类也不容忽视,如信用卡欺诈、保险诈骗、客户流失等.Minoru Sasaki和H iroy uki Shinnou在 Spam Detection Using Tex t Clustering[5]一文中使用球形K 均值聚类算法划分邮件类别,实验结果显示其过滤效果接近于SVM,表明将K 均值聚类算法应用到垃圾邮件过滤是可行的.但是算法需要预先指定簇的个数K,概念漂移导致K值很难确定,在一定程度上影响和限制了其应用的合理性;此外,偏斜类分布现象会导致非垃圾邮件召回率降低.为解决上述问题,本文在球形K 均值聚类算法的基础上,提出了一种改进的K 均值聚类邮件过滤算法.*收稿日期:2009 12 08基金项目:甘肃省教育厅研究生导师科研计划项目(0914 02,0814 4);甘肃省自然科学基金(096RJZA084)作者简介:包理群(1983 ),女,甘肃定西人,讲师,硕士.2 改进的K 均值聚类邮件过滤算法2.1 算法步骤2.1.1 邮件预处理1)对于垃圾邮件中插入的一些噪声信息,例如 * 、 # 、 等,在中文分词前,需要将其清除,以免影响分词效果;2)对于句子的切分标志,例如 , 、 。
、 ! 、 ? 、 ; 等,可以利用它们在邮件中的分隔作用,所以不将它们直接删除,而是转换成一些固定的分隔符号,这样不但清除了分词噪声,而且将邮件切分成了文本块的集合,本文选用空格作为固定分隔符.2.1.2 中文分词本文采用正向最大匹配算法进行中文分词,算法描述如下(假定分词词典中的最长词有m 个汉字字符):1)当前位置计数器赋初值0;2)从当前计数器开始,取2m 个字符(一个汉字两个字符)作为匹配字段,直到文档结束;3)如果匹配字段长度为0,则当匹配字段的最后一个字符为汉字字符时,当前位置计数器的值加2,否则加1,跳转到步骤2);如果匹配字段长度不为0,则查找词典中与之等长的作匹配处理.如果匹配成功则:a 、把这个匹配字段作为一个词切分出来,加入分词结果表中;b 、当前位置计数器的值加上匹配字段的长度,跳转到步骤2),否则:a 、如果匹配字段的最后一个字符为汉字字符,则把匹配字段的最后一个字去掉,匹配字段长度减2,跳转至步骤3);b 、如果匹配字段的最后一个字符为西文字符,则把匹配字段的最后一个字节去掉,匹配字段长度减1,跳转到步骤3).最后增加停用词列表,将分词结果与停用词表中的词进行比较,将分词结果中出现频率很高、且与邮件内容无关的词(如 的 、 如果 、 了 、 个 、 and 、 ho w 、 w hat 等)删除,以简化后面的特征项提取工作.2.1.3 邮件表示向量空间模型在处理大规模文本方面有很强的优势,被广泛应用于文本分类、过滤、检索等领域[6].本文采用向量空间模型,将邮件表示为(x 1,x 2,!!,x n ),特征词表示为(t 1,t 2,!!,t n ),特征词的权值表示为(w 1,w 2,!!,w n ),采用TF IDF [7]公式计算特征项权重,公式如下:w(t,x )=tf (t,x)∀log (N/n t +0.01)#t ∃x[tf (t,x)∀log (N/n t +0.01)]2.(1)其中,w (t,x )为词t 在邮件x 中的权重,tf (t,x )为词t 在文本x 中的词频,N 为训练样本总数,n t 为包含词t 的邮件样本数.2.1.4 特征项选择如果把邮件中出现的所有词都作为特征项,则邮件向量的维度会很大,使得运算开销太大,由于邮件中的某些词对分类贡献较小,所以只选取贡献较大的特征词来表示邮件,称为特征项提取,这种做法在损失少量分类精度情况下,可大大提高计算机分类处理的速度.偏斜类分布使包含样本数较少的簇分类精确度降低,究其原因,主要是在特征项选择阶段,特征选择就是按照某个标准从邮件样本中提取出分类能力较高的特征词(如图1),含有样本数越少的簇,特征词被选择的概率越小.本文将邮件样本按主题分成若干个簇(例如天气、足球、减肥、股票、宗教、网上赚钱、网上购物、订票、旅游等),然后从各簇中提取数目相同的特征词(如图2),以避免将含有样本数较少的簇中的邮件误归类到样本数较多的簇中.图1 基于T FID F 的特征选择方法2.1.5 聚类1)使用球形K 均值聚类算法[5 7]将训练样本按主题划分为k 个簇,每个簇用一个质心向量表示,从每个簇中提取数目相同的特征词构成特征%6% 兰州工业高等专科学校学报 第17卷空间;图2改进的特征选择方法2)计算每个簇中垃圾邮件和非垃圾邮件的比例,给相应的簇一个 垃圾邮件 或 非垃圾邮件 标号;3)将待分类邮件表示成多维向量,计算它与所有质心向量之间的距离,找到与其距离最近的质心向量,按相应的簇的标号将新邮件分类.本文通过夹角余弦相似度计算衡量两份邮件之间的距离,公式如下:sin (x i ,x j )=#mk=1wik∀w jk (#mk=1w2ik)(#mk=1w2jk).(2)其中m 为特征向量的维数,W ik 表示第i 个样本第k 个特征项的权重.2.1.6 分类器学习机制规定一个相似度阈值,当新邮件与所有簇的相似度都小于此阈值时,认为出现了新类型邮件.当检测到新类型邮件或收到用户提交的邮件分类错误的反馈时(即发生了概念漂移),分类器自动触发学习机制,调整簇分布.1)当出现新类型的邮件时,归入与其最相似的簇,然后计算此簇的内聚性,如果内聚性太小,则分裂为两个或多个簇.2)当收到用户分类错误的反馈时,将此邮件重新划分归属簇;对新的归属簇也要判断是否需要分裂,分裂过程如图3所示.图3 簇分裂过程3)对于新调整或新分裂的簇都要重新提取特征词,更新特征空间.2.2 垃圾邮件过滤模型邮件分类模型如图4所示.3 实验及结果分析3.1 评价指标邮件的判定结果如表1所示,准确程度的参照标准是人工分类结果(假设人工分类完全正确),测试结果与人工分类结果越相近,分类的准确程度就越高.使用SP 、SR 、LP 、LR 和F 值作为评价指标[8],定义如下:1)SP =A A +B,SP(Spam Precision,垃圾邮件正确率)越高,非垃圾邮件的 误报率 越低;表1 邮件测试值表系统判定实际为垃圾邮件实际为合法邮件系统判定为垃圾邮件AB系统判定为合法邮件CD2)SR =AA +C,SR(Spam Recall,垃圾邮件召回率)越高,垃圾邮件的 漏报率 越低;3)LP =DD +C,LP(Leg itim ate Precision,合法邮件正确率)越高,垃圾邮件的 误报率 越低;4)LR =D D +B,LR(Legitimate Recall,合法邮件召回率)越高,非垃圾邮件的 漏报率 越低;%7%第2期 包理群等:改进的K-均值聚类邮件过滤算法图4 垃圾邮件过滤模型5)F =2PR R +P,F 值(F measur e)是召回率和正确率的调和平均.3.2 实验及结果分析邮件样本集来自CDSCE 语料[9],本实验从中选取合法邮件750封,垃圾邮件1035封.实验对分类器的学习机制作了测试,假设用户在网上订阅新闻,最初他收到的新闻主要包括 天气预报 、 足球 、 网上购物 、 减肥 等,后来又出现了 招聘 (垃圾邮件)和 影片宣传 (非垃圾邮件)类邮件.实验目的:a 、测试分类器的学习机制能否较好地适应概念漂移;b 、分类器能否有效识别 信用卡诈骗 等小类别邮件.选用的训练和测试数据如表2所示.首先使用训练样本学习分类器,然后每次增加20份训练样本,使用传统K 均值聚类算法和改进的K 均值聚类算法分别测试邮件过滤性能指标,测试结果如表3和表4所示.表2 训练和测试样本分布主题邮件份数类 别主题邮件份数类 别天气75非垃圾邮件训练样本招聘100新增垃圾邮件训练样本足球75非垃圾邮件训练样本影片宣传100新增非垃圾邮件训练样本其他200非垃圾邮件训练样本招聘100垃圾邮件测试样本信用卡诈骗10垃圾邮件训练样本其他225垃圾邮件测试样本网上购物120垃圾邮件训练样本影片宣传75非垃圾邮件测试样本减肥120垃圾邮件训练样本其他225非垃圾邮件测试样本其他360垃圾邮件训练样本表3 传统K 均值聚类算法新增训练样本数量(招聘+影片宣传)(份)SR SP SPA M F LR L P NO SPA M F 10+100.73460.90630.8114670.90890.70190.79209920+200.73420.89520.8067460.89140.70050.78450430+300.73340.89410.8058160.80450.69580.74621240+400.73120.87050.7947930.88470.67560.76613950+500.72860.87120.7935450.87350.67190.7595560+600.72850.86180.7895630.86440.66810.75367870+700.64090.85740.7335080.86950.66240.75195180+800.71190.78540.7468460.82020.46310.59196590+900.71020.70610.7081440.81010.64380.717439100+1000.70150.74160.7209930.78320.62070.692545表4改进的K 均值聚类算法新增训练样本数量(招聘+影片宣传)(份)SR SP SPA M F LR L P NO SPA M F 10+100.73130.88750.8018640.88330.71330.7892520+200.74880.88680.8119780.88310.82110.85097230+300.75130.88790.8139080.78450.70170.740794%8% 兰州工业高等专科学校学报 第17卷新增训练样本数量(招聘+影片宣传)(份)SR SP SPA M F LR L P NO SPA M F 50+500.75690.89010.8181140.88350.72190.79456760+600.80330.89120.844970.88440.73180.80089670+700.76920.91020.8337810.88950.74840.81287280+800.7890.89150.8371240.90170.76910.83013890+900.78890.90790.8442270.90190.7680.829582100+1000.79880.90960.8506070.91220.78010.840994由表3可见,随着过滤邮件的增加,传统K 均值聚类算法性能不稳定,垃圾邮件和非垃圾邮件的F 值呈现明显下降趋势,这是因为固定的簇分布不适应新的邮件类型,导致分类器性能下降;表4中,起初通过分类器的新类型邮件较少,邮件过滤F 值较低,当同类型邮件逐渐增多时,改进算法的类别区分信息逐渐完备,受到噪音数据的干扰也随之减少,分类器能够比较准确地识别新的邮件类型,较好地适应概念漂移;实验中也特别关注了一些小类别邮件(如 信用卡诈骗 类),观察发现过滤器对小类别邮件的识别效果与其他邮件基本保持一致.实验结果表明改进的K 均值聚类邮件过滤算法能较好地适应概念漂移和偏斜类分布现象.参考文献:[1] 李 洋,方滨兴,王 申.基于用户反馈的反垃圾邮件技术[J].计算机工程,2007,33(8):130 132.[2] 马荣飞.基于内容过滤的反垃圾邮件系统的设计与实现[J].计算机应用与软件,2009,26(5):262 265.[3] F.F dez Riv ero la, E.L.Iglesias, F.D az,J.R.M e?ndez,J.M.Co rchado.A pplying lazy learning algo rithms to tackle concept dr ift in spam filtering.Ex per t Systems w ith A pplicatio ns 33(2007):36 48.[4] M onard,M . C.,&Batista,G.E.A.P.A.(2002).L ear ning with skew ed class distr ibutions.In A d vances in lo gic,ar tificia l intelligence and r obotics (L A PT EC &02).[5] M inor u Sasaki,Hiro yuki Shinnou, Spam Detectio nU sing T ex t Clustering ,IEEE I nter nat ional Co nfer ence on Cyberw or lds,N ovember 2005(3):316 319.[6] 林 琛,李弼程.距离函数分类法在垃圾邮件过滤中的应用[J].计算机工程与设计,2007(2):322 323.[7] Jiawei Han,M icheline Kambe.数据挖掘概念与技术[M ].范 明,孟小峰译.北京:机械工业出版社,2001.[8] Y ang Yiming.An evaluat ion of statist ical approachesto text catego rizatio n [J ].Infor matio n Retrieval ,1999,1(1 2):69 90.[9] CCERT Data Sets of Chinese Emails.[EB/OL ].http://ww er /spam/sa/datasets.htm,2009 01 11.Updated S pam Filtering Algorithm Based on K Means ClusteringBA O L i qun,LI Xiang lin(Depa rtment of Electr onic &Info rmatio n Engineer ing,Lanzho u P olytechnic Co lleg e,L anzhou 730050,China)Abstract:T he disadv antages of anti spam technig ue w hich is based on content filtering ar e analysed.This kind of methods o ften suffer from low recall rate due to concept drift and skewed class distr ibution.An updated spam filter ing alg orithm is proposed based o n spam detection metho d put forw ard by M inor u Sasaki and H iro yuki Shinnou,w hich improves the feature selection alg orithm and adds the automatic learning m echanism.T he results show that it can effectively deal w ith the issues o f concept drift and skew ed class distribution.Key words:spam filtering;co ncept drift;skew ed class distribution;K M eans clustering alg orithm;clus ter%9%第2期 包理群等:改进的K-均值聚类邮件过滤算法。