文本聚类分析算法_聚类分析算法综述

前 言

聚类是人类认识未知世界的一种重要的认知手段。在生产和生活中,人们往往面对非常复杂的事和物,如果能够把相似的东西归为一类,有明显区别的事物分属在不同的类别中,处理起来就大为简便。所谓“物以类聚,人以群分”,说的就是这个道理。譬如人们将生物分为动物和植物,又根据不同的生理特点将生物分为不同的门、纲、目、科、属、种在化学理论中,人们根据不同的化学性质将各种元素划分为不同的类别,比如卤族元素、惰性气体等等,进而总结出元素周期率在社会学中,人们还根据不同的信仰划分出不同的党派、宗教等。

在原始的分类学中,人们的分类依据是经验和专业知识来进行定性分析,很少使用数学工具。随着人类对自然和社会的认识不断深入,要处理的数据量规模越来越大,相互关系也越来越复杂,分类越来越细,对分类的要求也越来越高,这时仅仅依靠定性分析就不能满足要求,于是数学这个得力工具被引入,形成了数值分类学,对分析对象进行定量的研究。由于数值分类学中的方法不仅能够用于分类,还能用于其他领域,于是人们觉得使用“聚类分析”这个名称更为恰当。

聚类分析的应用相当广泛。在商务上,聚类能帮助市场分析人员从消费者信息库中发现不同的消费群体,并且用购买模式'来刻画不同的消费群体的特征。在生物学上,聚类可以被用来辅助研究动植物的分类,可以用来分类具有相似功能的基因,还可以用来发现人群中的一些潜在的结构。聚类分析也可以用于在泥土观测数据库中对相似地区的区分,也可以根据房子的类型、价值和地域对一个城市中的房屋进行分类。聚类还可以用来从空间数据库中识别出具有相似特征的空间对象可以从保险公司的数据库中发现汽车保险中具有较高索赔概率的群体还可以用来分类万维网上不同类型的文档,或分析日志以发现特殊的访问模式等。

在实际应用聚类分析中,我们根据有无领域知识参与将整个过程分解为三个环节,每个步骤都有其明确的任务,这样对于整个聚类分析的过程就会有更清晰的认识。数据聚类分析是一个正在蓬勃发展的领域。聚类分析所涉及的领域包括数据挖掘、统计学、机器学习、空间数据库技术、生物学和市场学等。由于各应用数据库所包含的数据量越来越大,聚类分析己成为数据挖掘研究中一个非常活跃的研究课题。正因为如此,聚类分析是一种观察式学习法,而不是示例式学习法田卫。在概念聚类方法中,仅当一组对象可以由一个概念所描述时,这些对象方才能构成一个类。这与基于几何距离表示相似程度并进行聚类的传统聚类方法有所不同。

9ab382ea6af432ffdb5957b7a8fcb501.png

图1 文本聚类的基本过程

本章根据聚类的全过程如图1所示,对文本分类的如下过程进行一一阐述

第一步是特征抽取。它的输入是原始样本,由领域专家决定使用哪些特征来深刻地刻画样本的本质性质和结构。特征抽取的结果是输出一个矩阵,每一行是一个样本,每一列是一个特征指标变量。选取特征的优劣将直接影响以后的分析和决策。如果第一步就选择了和聚类意图根本无关的特征变量,企图得到良好的聚类结果则无异于缘木求鱼。因为无论后续步骤采用多么优良的聚类算法和闭值选择方案,都不可能计算出执行者的意图。合理的特征选取方案应当使得同类样本在特征空间中相距较近,异类样本则相距较远。在有些应用场合还需要将得到的样本矩阵进行一些后处理工作。比如为了统一量纲就对变量进行标准化处理,这样采用不同量纲的变量才具有可比性在有些场合可能选择的特征变量太多,不利于以后的分析和决策,这时可以先进行一下降维处理仅凭经验和领域知识选择的特征变量有可能是相关的,进行主成分分析就可以消除变量间的相关性,从而得到一些相互独立的特征变量。

第二步是执行聚类算法,获得聚类谱系图。聚类的输入是一个样本矩阵,它把一个样本想象成特征变量空间中的一个点。聚类算法的目的就是获得能够反映维空间中这些样本点之间的最本质的“抱团”性质。这一步没有领域专家的参与,它除了几何知识外不考虑任何的领域知识,不考虑特征变量在其领域中的特定含义,仅仅认为它是特征空间中一维而己。聚类算法的输出一般是一个聚类谱系图,由粗到细地反映了所有的分类情况或者直接给出具体的分类方案,包括总共分成几类,每类具体包含那些样本点等等。

第三步是选取合适的分类阂值。在得到了聚类谱系图之后,领域专家凭借经验和领域知识,根据具体的应用场合,决定闭值的选取。选定闭值之后,就能够从聚类谱系图上直接看出分类方案。没有领域专家的参与,不考虑具体的应用背景,而仅仅依赖于从聚类谱系图出发寻找聚类指数突变点,或者求最小生成树的长边等等,往往不会得到满意的结果。领域专家还可以对聚类结果结合领域知识进行进一步的分析,从而加深样本点和特征变量的认识。

总之,实际应用聚类分析是一个需要多方参与的过程,它无法脱离领域专家的参与,聚类算法仅仅是整个聚类流程中的一环而已,光依靠聚类算法专家一般不会得到满意的效果。关于聚类算法,我们将在下一章中重点讨论几种常用的聚类分析算法。

《来源于科技文献,经本人分析整理,以技术会友,广交天下朋友》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

按照标题排序mysql_Oracle EBS Form中实现点击列标题进行排序

在做EBS表单开发时,虽然使用folder功能提供了排序功能,对多行数据块可以对前三列进行指定排序,也可以单击前三列的列标题进行排27.1 问题描述在做EBS表单开发时,虽然使用folder功能提供了排序功能,对多行数据块可以对前…

python 三维散点图拟合曲面_python实现三维拟合的方法

from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D fig plt.figure() ax Axes3D(fig) #列出实验数据 point[[2,3,48],[4,5,50],[5,7,51],[8,9,55],[9,12,56]] plt.xlabel("X1") plt.ylabel("X2") #表示…

vscode导入本地jar包_go导入本地包踩坑(已解决!)

当我想要仿照C语言的大程序结构,来写go语言的程序,出现下面的报错(ps:系统是windows,文本编辑器(或称IDE)是vscode)然后vscode还会时不时地在右下角出现这样地提示信息对于go语言新手…

java应用开发_开发简单的Java应用

第一章 开发简单的Java应用1、Java语言的技术分类(1)JavaSE:标准版,开发桌面应用(2)JavaEE:企业版,Web应用(3)JavaME:小型版,嵌入式2、如何开发和运行Java程序,分三步走(1)编写Java源程序*.java…

python以垂直方式输出hello world_python3提问:垂直输出Hello World,全部代码不超过2行....

垂直输出”HelloWorld”,全部代码不超过2行。输出:HelloWorld------------------------------------------------#Hello_World.pya"HelloWorld"print(a[0]\na[1]\na[2]\na[3]\na[4]... 垂直输出”Hello World”,全部代码不超过2行。…

java的static类_java中staticclass静态类详解

一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义…

java super用法_Java基础面试题汇总

blog.csdn.net/ThinkWon/article/details/104390612Java概述何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算…

java string返回_Java的String字符串内容总结

String--字符串获取字符串的长度使用Sring类的length()方法可获取字符串对象的长度,例:str.length();str代表指定的字符串对象;返回值为返回指定字符串的长度。例:获取字符串中指定字符的索引位置String类提供了indexOf()和lastIndexOf()方法…

汉诺塔java程序_Java编写一个汉诺塔的过程

[java]代码库/** 需求:用Java编写一个汉诺塔的过程* 汉若塔问题,就是把A柱子上面从大到小一次叠放的盘子借助B柱移到C柱上去,规则是一次只能移动一个盘子,大盘子不能放到小盘子之上** 思想:采用递归的方法来接* 1. 先将…

ajax 同步_第3部分-0:同步和异步,还有回调需要了解一下

同步是什么异步是什么 异步场景: (1)定时任务 (2)网络请求:Ajax 、图片加载 全面分析前端的网络请求方式 (3)事件绑定 异步产生知识点: 进程和线程 单线程 记一次 Vue 移…

音频重采样有什么用_最佳音频接口基本购买指南

音频接口是计算机实现录音功能的媒介设备,用于将乐器和麦克风发出的声音转换为数字信息,以便计算机可以理解并存储在硬盘上。在播放音频时,接口将数字音频文件重新转换为模拟信号,然后用监听音箱或耳机播放出来。简而言之&#xf…

java dom xpath_Java:在org.w3c.dom文档中获取元素的xpath

我写了我想要达到的目标.但是,getElementIdx()函数不会返回正确的计数. getPrevIoUsSibling()存在问题,但我不知道为什么.public static String getElementXpath(DOMElement elt){String path "";try{for (; elt ! null; elt (DOMElement) elt.getParentNode()){in…

java 正则 最后一个字符_正则表达式怎么匹配字符串中最后一串数字?

展开全部importretempDwellTime:666mre.search(r\d*,temp)printrepr(m.group()),m.start(),m.end()mre.search(r\d,temp)printrepr(m.group()),m.start(),m.end()printre.findall(r\d*,temp)输出:006661114[,,,,,,,,,,,666,]扩展资料正则表达式,校验数字…

lombok原理_听说学会用 Lombok 就可以让你早点下班?(你还不看)

听说隔壁用 Lombok 的六点就下班了,我也想六点下班!好的,那么这篇文章就介绍下什么是 Lombok,Lombok 做了什么以及 Lombok 是怎么做的?在介绍之前,先通过是否使用 Lombok 的效果来看下对比,首先…

某剧院有33排座位java_2018湖南省考行测数学题“拍档”:等差数列和等比数列...

随着八月份的到来,同学们的暑假也接近尾声,开学之后,就有一部分同学马上就要面临就业的压力,对于应届毕业生来生,参加公务员考试不失为一种好的选择,而在银行秋招中,数量关系也是考试内容之一&a…

python最大分词_中文分词算法之最大正向匹配算法(Python版)

最大匹配算法是自然语言处理中的中文匹配算法中最基础的算法,分为正向和逆向,原理都是一样的。 正向最大匹配算法,故名思意,从左向右扫描寻找词的最大匹配。 首先我们可以规定一个词的最大长度,每次扫描的时候寻找当前…

idea jar包导入_IDEA 实用功能Auto Import:自动优化导包(自动删除、导入包)

下面介绍一下IDEA的一个能显著提升写代码效率的非常好用的功能设置—— Auto ImportAuto Import的功能是可以帮助我们自动删除无用的包Import(未被引用),以及自动Import填充尚未导入的包。完全智能化地帮助我们在开发程序时,省略了导包的操作&#xff0c…

scanner java重新输入_如何使用Scanner Java重复读取用户输入

我正在尝试为我的程序创建一个简单的菜单来读取用户输入.这是代码:public void menu() {String command;System.out.println("To operate with words write: a");System.out.println("To operate with products write: b");System.out.print(&q…

@value 数组_为什么不推荐用for...in遍历数组

(一)for...in引发的一个报错两年前写的一个文章目录生成插件vue-outline,一直用着没出啥问题(本站的文章目录也是用该插件生成的)。但是最近一个网友在使用的时候却出现了异常报错,异常代码使用了一个for..…

mysql 插入字符串_mysql插入数据字符错误

Incorrect string value: \xF0\x9F... for column XXX at row 1这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。我的解决方案是这样的[mysqld]…