文本分类中的特征选择

2024-04-02 21:18
文章标签 分类 文本 特征选择

本文主要是介绍文本分类中的特征选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面试中被问到的一个问题,如何对文本划分类别?我提出用bag of words进行分类,但是词汇的数量比较大,特征维度比较高,涉及到特征选择的问题,我的回答是用图像中常见的LDA,PCA特征降维,但是翻看NLP相关的文献才知道一般是采用互信息,卡方统计量和词频分析。

互信息与信息增益是等价的。
把文档分成体育、游戏、娱乐这三类的例子中,如果一个单词在三类文档中出现的概率相同,那么这个单词对分类无意义,文档分类应该选择的单词是在三类文档中出现的概率有显著差异的,这样的特征能为文档的类别提供有用的信息。度量特征对分类提供的信息,最常见的是熵, 在没有任何先验信息的情况下,文档属于三个类别的概率是相同的,此时,文档类别C的熵也即不确定度是最高的,统计单词W(如football)在文档中的词频,计算文档类别的后验概率分布P(C|W),如果W在不同文档中出现的频率有显著差异,P(C|W)的分布会非常不均匀,信息熵会显著降低。

信息增益定义为原始信息熵与条件熵之间的差,IG(C,W)=H(C)-H(C|W),按熵的定义进行展开,能得到互信息的计算公式。根据信息增益可以选择对分类划分带来信息量最大的K个单词。如果仅考虑单词对某一类文档(体育)的判别是否有信息量,可以简化成两类问题,体育类和非体育类,计算方法是相同的。

卡方检验是统计学中常用来检测两个变量独立性的方法,常用于离散变量的独立性的分析。
考虑这样一个简单的例子,在一个样本数为50的人群中对不同性格(外向、内向)的人对颜色的颜色(红、黄、蓝)的偏好进行统计,结果如下。
蓝色 红色 黄色
外向 5 20 5
内向 10 5 5

分析人的性格与颜色的偏好是否独立,采用的就是卡方检验。
自由度为(3-1)*(2-1)=2; 其中3是颜色偏好的数量, 2是性格种类数量
假设H0是 性格与颜色偏好是独立的,
备择假设H1 两者不独立
在置信度为0.05时,通过查表可知拒绝假设H0的卡方值是5.99,超过5.99则认为两者不独立

卡方度量的是期望值E与观察值O之间的偏离程度
蓝色 红色 黄色
外向 5 20 5 30
内向 10 5 5 20
15 25 10
如果独立外向且偏好蓝色的人数应该是 (30/50)*(15/50)*50= 9
按相似的方法,可以算出期望的颜色-性格分布情况如下:
蓝色 红色 黄色
外向 9 15 6
内向 6 10 4

卡方值=sum((fo-fe)^2/fe)
=(9-5)^2/ 9 + ((20-15)^2/15 + (6-5)^2/6 +(10-6)^2/6 + (10-5)^2/10 +(5-4)^2/4 =9.03 > 5.99
因此,可以认为个性与颜色相关是不独立的。

在文本分类的特征选择中,也一样可以利用卡方检验判断单词的词频与文档类别的相关程度,卡方度量越大,说明单词与该类别越相关。

在文本分类中采用信息增益与卡方检验的主要原因是词汇总量比较大,如果采用pca等方法一般是多项式时间,同时会有一个庞大的文档-词项关联矩阵要存储,时间和空间复杂度比较高。采用信息增益或卡方检验的方法虽然是贪心的策略,但是复杂度明显会低很多。

这篇关于文本分类中的特征选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871082

相关文章

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

雨量传感器的分类和选型建议

物理原理分类 机械降雨量计(雨量桶):最早使用的降雨量传感器,通过漏斗收集雨水并记录。主要用于长期降雨统计,故障率较低。电容式降雨量传感器:基于两个电极之间的电容变化来计算降雨量。当降雨时,水滴堵住电极空间,改变电容值,从而计算降雨量。超声波式降雨量传感器:利用超声波的反射来计算降雨量。适用于大降雨量的场合。激光雷达式降雨量传感器:利用激光技术测量雨滴的速度、大小和形状等参数,并计算降雨量。主

基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别

转发来源:https://swift.ctolib.com/ooooverflow-chinese-ocr.html chinese-ocr 基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别 环境部署 sh setup.sh 使用环境: python 3.6 + tensorflow 1.10 +pytorch 0.4.1 注:CPU环境

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述。以下是从不同角度对气象站的种类和应用范围的介绍: 一、气象站的种类 根据用途和安装环境分类: 农业气象站:专为农业生产服务,监测土壤温度、湿度等参数,为农业生产提供科学依据。交通气象站:用于公路、铁路、机场等交通场所的气象监测,提供实时气象数据以支持交通运营和调度。林业气象站:监测林区风速、湿度、温度等气象要素,为林区保护和

Linux文本三剑客sed

sed和awk grep就是查找文本当中的内容,最强大的功能就是使用扩展正则表达式 sed sed是一种流编辑器,一次处理一行内容。 如果只是展示,会放在缓冲区(模式空间),展示结束后,会从模式空间把结果删除 一行行处理,处理完当前行,才会处理下一行。直到文件的末尾。 sed的命令格式和操作选项: sed -e '操作符 ' -e '操作符' 文件1 文件2 -e表示可以跟多个操作

多态的分类

多态分为两种:通用的多态和特定的多态。两者的区别是前者对工作的类型不加限制,允许对不同类型的值执行相同的代码;后者只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。 1,通用的多态又分为参数多态(parametric)和包含多态(inclusion); (1)参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。 例如:泛型   (2)包含多

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二)组合训练方法(三)一步精确的似然计算 四、实验(一)使用两种损失对于实现最佳分类器的重要性(二)去噪结果、图像质量和负对数似然 论文:Classification Diffusion Models: Revitalizing

nlp基础-文本预处理及循环神经网络

1 认识文本预处理 1 文本预处理及其作用 定义:文本送给模型之前,提前要做的工作 作用:指导模型超参数的选择 、提升模型的评估指标 举个例子: 思路常识,打造成 X Y关于Y:10分类标签是否均衡关于X:数据有没有脏数据 数据长度(512)样本不够! 文本预处理 工作 结束 的标志:准备出来X和Y 能送给模型 2 文本预处理的主要环节 1 文本处理的基本方法 分词:按照一定规

第T2周:彩色图片分类

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 👉 要求: 学习如何编写一个完整的深度学习程序了解分类彩色图片会灰度图片有什么区别测试集accuracy到达72% 🦾我的环境: 语言环境:Python3.8编译器:Jupyter Lab深度学习环境: TensorFlow2 一、 前期准备 1.1. 设置GPU 如果设备上支持GPU就

文本三剑客—sed命令

sed命令 一、概念 sed是一种流编辑器,一次处理一行内容。 处理方式:一行一行处理,处理完当前行,才会处理下一行,直到文件末尾。 如果只是展示,会放在缓冲区(模式空间),展示结束之后,会从模式空间把操作结果删除。 二、sed的命令格式和操作选项 1、命令格式 sed -e ‘操作符1;操作符2’ 文件1 文件2 sed -e ‘操作符’ -e ‘操作符’ 文件1 文件2 -e