博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论文笔记|Overcoming the challenge for text classification in the open world
阅读量:4290 次
发布时间:2019-05-27

本文共 1396 字,大约阅读时间需要 4 分钟。


作者:徐甘霖

单位:燕山大学


文章概述

       文本分类是指从不同类列的文本文档进行归类处理。传统的分类算法假设训练数据集与测试数据集具有相同的数据类别,而如果某些测试数据的类别没有在训练数据集出现过,我们称之为未知类别(unknow),于是引申出开放领域文本分类问题。在开放领域文本分类中,分类器能否有效识别出未知类及其分类性能的好坏是当今研究的一个热点问题。

相关研究

       开放领域文本分类的研究方法主要有三种:一是基于阈值的方法,二是基于中心相似性的方法,三是增量学习的方法。

       第一种方法的主要思想是计算被测试点与各个已知类别的距离,包括欧几里得距离、余弦距离等。将距离与为每个类别设定的阈值相比较,从而确定该点是正常值还是异常值(outlier),我们把异常值归为未知类别(unknown)。基于阈值策略在很多研究中被称作“拒绝机制”。基于中心相似性的典型方法将每个看成一个ball,这样每个类原始数据表示问题被转化为ball的均值表示,通过通过限制每个ball的边界可以解决传统SVM的open space risk,并且可以有效检测未知类。这个方法的明显的缺点是由于差采样导致未知类别出现在训练集中。第三中增量学习的方法适应了数据连续的特征,且并不需要随着数据的投入从头开始训练模型,这一点对于连续数据非常重要。

Nearest Centroid Class mode

        作者提供了一中带有增量学习思想的基于距离的集成学习方法,即Nearest Centroid Class mode。该算法中使用多个质心(Centroid)代表一个相应类别,能够最小化分类误差,这对于解决领域分类问题中是一个创新理论。每个类别用一个ball表示,每个ball的中心由有一个实际数据点表示(类均值方法的中心点可能是一个虚拟数据点)。

        该方法首先使用DBSCAN方法确定每个类的质心,算法如下:

        在确定新ball的半径时,如果该ball的中心到最近的ball的距离小于最近ball的半径,则新ball的半径为两个ball的距离减去最近ball的半径,算法如下:

        当一个数据点的最近ball给出了正确的预测时,更扩大最近ball的半径;当预测错误时,比如,数据点落在其他ball的区域内,则缩小改ball的半径,算法如下:

         此外,作者运用增量学习的思想,在训练时不断加入新的新的训练数据,则相应的回则增加新的ball,算法如下:

        论文的主要预测方法和主要流程如下所示:


试验结论

        文章采用20  newsgroups数据集和Amazon reviews数据集。20  newsgroups包含18828个文档,共计20类。Amazon reviews有1000条评论,分50个类别组成。采用F1值和精准率最为评价指标。newsgroups分别采用10和20类进行试验,Amazon reviews分别采用10,20,30,40,50进行试验。对于上述每个类,测试集的数量分别占到25%,50%,75%,100%。同时每种方式下在训练集中去除部分种类的数据,以此评估算法对未知类别的识别性能。

       通过比较各种模型的F1值,从试验结果可以看出NCC(Nearest Centroid Class)在整个试验阶段取得不俗的效果。随着类别的增加,NCC的精准率是在缓慢的的下降,其他模型的精准率在前期下降速度非常快。


论文链接:

转载地址:http://vqmgi.baihongyu.com/

你可能感兴趣的文章
STL中vector、list、deque和map的区别
查看>>
Linux下多线程查看工具(pstree、ps、pstack)
查看>>
PID PPID LWP NLWP
查看>>
查看线程CPU占用情况
查看>>
查看个线程的CPU 内存占用
查看>>
Fiddler 教程
查看>>
apache 设置用户注意事项
查看>>
svn中设置文件夹链接
查看>>
find ./ -name "*.cgi" |xargs -i cp "{}" ./cgi-bin/
查看>>
svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
查看>>
mysql事务处理用法与实例详解
查看>>
利用iptables来配置linux禁止所有端口登陆和开放指定端口
查看>>
Python模块——struct
查看>>
mysql中select * for update
查看>>
linux vmstat 1 ,watch , pmap -p,
查看>>
MYSQL 相关
查看>>
python 构建client 程序
查看>>
c++ 加载so动态库中的资源
查看>>
加解密 签名
查看>>
linux top 命令分析
查看>>