【文本分类】混合CHI和MI的改进文本特征选择方法

简介: 【文本分类】混合CHI和MI的改进文本特征选择方法

摘要:改进CHI算法、改进MI算法,结合改进CHI+改进MI,应用于文本的特征选择,提高了精度。

参考文献:[1]王振,邱晓晖.混合CHI和MI的改进文本特征选择方法[J].计算机技术与发展,2018,28(04):87-90+94.

一、引言


  通过特征选择方法,降低特征向量的维数,减少分类算法的运行时间,从而最终提高分类准确度。常用的特征选择算法有:文档频率DF、互信息MI、卡方检验CHI、信息增益IG。

二、基础算法


2.1、CHI算法【卡方统计】


  参考此篇博客的2.1小节:【文本分类】基于改进CHI和PCA的文本特征选择

2.2、MI算法【互信息】


  互信息的概念出自信息论中,原本互信息用来衡量两个信号间的关联程度。在文本分类中,表现为特征与类别之间的关联程度。

22af27ad4bbb4c17991bb234c76d73ae.png

2.3、CHI算法的改进


  从CHI算法的缺点出发:传统 CHI 统计方法只考虑了特征词在所有文档集中出现的文档数量,而没有考虑特征词在某一篇文档中出现的次数,从而夸大了低频词的作用。所以引入词频因子

image.png

2.4、MI算法的改进


  从MI算法的缺点出发:没有考虑特征本身出现的频度,这会造成 MI 方法在评估特征时会倾向于选择一些低频特征。

  通过引入β,添加词频信息,适当增加中高频特征所占比重,降低低频特征的互信息值,避免互信息方法选择过多的低频特征,从而降低低频词对互信息方法的负效用。

image.png

  不同类别之间,特征的词频也代表了不同的类别区分能力。一个区分能力强的特征词,应该集中分布在某些特定的类别中,也就是不同类别中的特征词频的方差应该尽可能大,这样的特征含有更多的类别区分信息为此,引入不同类别间特征的词频的方差对 MI 方法进行优化。

image.png

总结:

  最终改进后的CHMI算法公式为:

image.png

三、代码实验


3.1、实验思路


  根据以下5种方法:

  (1)普通CHI算法来选择特征

    (2)改良ICHI算法来选择特征

  (3)普通MI算法来选择特征

  (4)改良MI算法来选择特征

  (5)混合CHMI算法来选择特征

  比较不同算法之间,文本分类的准确率。

3.2、数据集


  数据来源于 https://github.com/cystanford/text_classification 。数据集共包含四个类别,分别为“女性”,“体育”,“文学”,“校园”,原始数据集已经划分了测试集和训练集,并给出了停用词文档。

3.3、实验结果


特征维度 手写普通卡方CHI 手写改进卡方CHI 手写普通MI 手写改进MI 混合CHI +MI
200 0.79 0.775 0.58 0.77 0.765
400 0.79 0.795 0.58 0.815 0.825
600 0.81 0.815 0.58 0.82 0.84
800 0.825 0.825 0.58 0.83 0.835
1000 0.81 0.815 0.585 0.83 0.835
1200 0.825 0.83 0.585 0.85 0.845
1400 0.835 0.845 0.605 0.86 0.865
1600 0.875 0.85 0.585 0.87 0.88
1800 0.87 0.87 0.575 0.87 0.87
2000 0.87 0.875 0.575 0.875 0.885
4000 0.875 0.86 0.58 0.865 0.875
6000 0.875 0.88 0.56 0.875 0.88
8000 0.895 0.87 0.58 0.875 0.88
10000 0.905 0.875 0.57 0.88 0.88
12000 0.905 0.895 0.615 0.875 0.89
14000 0.91 0.91 0.6 0.885 0.895
16000 0.91 0.9 0.625 0.895 0.895
18000 0.89 0.89 0.65 0.89 0.885
20000 0.88 0.875 0.685 0.885 0.885
22000 0.88 0.88 0.72 0.885 0.88
24000 0.875 0.875 0.795 0.875 0.875

 【注】表中标黄为同一维度下最高准确率。

  实验结果分析:

  1、从前2000维上分析,可以看到本文提出的混合CHMI算法准确率效果确实最好;

  2、但当维度变高时,本文提出的CHMI算法效果并不好。

思考一:为什么会出现低维效果好,高维效果差的情况?能否有理论依据?

思考二:求MI的时候,会出现log(0)的情况,本文并没有提到解决方法。

相关文章
|
1月前
|
XML JSON 数据可视化
数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式
本文介绍了labelImg和labelme两款图像标注工具的安装、使用、数据转换和验证方法,适用于目标检测和图像分割任务,支持YOLO等数据集格式。
227 2
数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式
|
1月前
|
人工智能 数据可视化 API
语义分割笔记(一):基于PaddleSeg使用Transfomer模型对航空遥感图像分割
这篇博客介绍了如何使用PaddleSeg和Transformer模型SegFormer B3对航空遥感图像进行语义分割,包括项目背景、数据集处理、训练步骤和代码实现。
76 1
语义分割笔记(一):基于PaddleSeg使用Transfomer模型对航空遥感图像分割
|
1月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
179 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
4月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:图像语义分割与对象检测
【7月更文挑战第15天】 使用Python实现深度学习模型:图像语义分割与对象检测
75 2
|
6月前
|
自然语言处理 Python
【Python自然语言处理】文本向量化的六种常见模型讲解(独热编码、词袋模型、词频-逆文档频率模型、N元模型、单词-向量模型、文档-向量模型)
【Python自然语言处理】文本向量化的六种常见模型讲解(独热编码、词袋模型、词频-逆文档频率模型、N元模型、单词-向量模型、文档-向量模型)
1017 0
|
移动开发 数据可视化 算法
Pointnet语义分割任务S3DIS数据集
Pointnet语义分割任务S3DIS数据集
478 0
|
6月前
|
JSON 数据处理 数据格式
yolov8训练自己的数据集以及权重转化为.engine格式(超详细)
yolov8训练自己的数据集以及权重转化为.engine格式(超详细)
486 0
|
机器学习/深度学习 编解码 人工智能
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
目标检测和实例分割是计算机视觉的基本任务,在从自动驾驶到医学成像的无数应用中发挥着关键作用。目标检测的传统方法中通常利用边界框技术进行对象定位,然后利用逐像素分类为这些本地化实例分配类。但是当处理同一类的重叠对象时,或者在每个图像的对象数量不同的情况下,这些方法通常会出现问题。
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
|
机器学习/深度学习 人工智能 自然语言处理
RLHF中的「RL」是必需的吗?有人用二进制交叉熵直接微调LLM,效果更好
RLHF中的「RL」是必需的吗?有人用二进制交叉熵直接微调LLM,效果更好
200 0
|
机器学习/深度学习 算法
【论文写作分析】之五《融合类别特征扩展与N-gram子词过滤的fastText短文本分类》
【论文写作分析】之五《融合类别特征扩展与N-gram子词过滤的fastText短文本分类》
【论文写作分析】之五《融合类别特征扩展与N-gram子词过滤的fastText短文本分类》