精华内容
下载资源
问答
  • 对比的分类与作用
    千次阅读
    2018-08-23 22:00:38

    这里写图片描述

    从学习方法角度进行划分

    参数模型 vs 非参数模型:全局普适性 vs 局部适用性

    ❶ 参数模型

    “新闻总是抄袭历史,模式在深处等待发掘。“

    当我们对问题有认知,有了「定性」的判断,然后我们便可以用「定量」的方式将它们刻画出来。所谓“参数模型”。

    优点:简单,只需付出较小的计算代价就可以从假设空间中习得一个较好的模型

    缺点:其可用性却严重依赖于先验知识的可信度,但若先验分布错误,则无法学出好的结果。

    ❷ 非参数模型

    “知之为知之,不知为不知,是知也。”

    当我们对问题知之甚少,最好的办法反而是避免对潜在模型做出过多的假设,所谓“非参数模型。”

    优点:当训练数据趋于无穷多时,非参数模型可以逼近任意复杂的真实模型。

    缺点:和参数相比,非参数模型的时空复杂度都会比参数模型大得多。

    误区:“非参数模型”不是“无参数模型”,恰恰相反,非参数模型意味着模型参数的数目是不固定的,并且极有可能是无穷大,这决定了非参数模型不可能像参数模型那样用固定且有限数目的参数来完全刻画。

    ❸ 参数模型 vs 非参数模型

    例子: 假定一个训练集中有 99 个数据,其均值为 100,方差为 1。那么对于第 100 个数据来说,它会以 99% 的概率小于哪一个数值呢?

    核心区别:数据分布特征的整体性与局部性。

    参数模型具有全局的特性,所有数据都满足统一的全局分布,如履至尊而制六合得到的扁平化结构。

    非参数模型是种局部模型,每个局部都有支配特性的参数,如战国时代每个诸侯国都有自己的国君一样。

    数据模型 vs 算法模型:可解释性 vs 精确性

    ❹ 数据模型

    代表:线性回归

    优点:可解释性强

    缺点:简单模型有时不能充分体现出复杂作用机制

    ❺ 算法模型

    代表:随机森林

    优点:可描绘复杂的数据,精确度高

    缺点:可解释性弱

    从学习对象角度进行划分

    ❻ 生成模型 vs 判别模型:联合分布 vs 条件分布

    生成模型(generative model)学习的对象是输入 x 和输出 y 的联合分布 p(x,y)

    判别模型学习的则是已知输入 x 的条件下,输出 y 的条件分布 p(y|x)

    区分的例子:以判断某种语言是什么?前者输出学完所有语言。后者是学会不同语言的区别。

    参数模型是主流,大数据出现后,非参数模型的应用前景如何?

    有没有参数,并不是参数模型和非参数模型的区别。其区别主要在于总体的分布形式是否已知。而为何强调“参数”与“非参数”,主要原因在于参数模型的分布可以有参数直接确定。

    参数模型:线形回归

    非参模型:决策树 -> 随机森林;核SVM;

    半参数模型:神经网络(层数和神经元 → 参数模型) /(深度学习中dropout → 非参数)

    非参数应用挺广泛,如Kaggle火热模型,XGBOOST,效果就十分好。

    更多相关内容
  • 每天给你送来NLP技术干货!来自:南大NLP01—研究动机多标签文本分类(简称MLTC)是自然语言处理领域中一个十分重要的任务,其旨在从一个给定的标签集合中选取出文本相关的若干个标签。M...

    每天给你送来NLP技术干货!


    来自:南大NLP

    c0fcb9dfcceebc6221831122f1017944.png

    01

    研究动机

    多标签文本分类(简称MLTC)是自然语言处理领域中一个十分重要的任务,其旨在从一个给定的标签集合中选取出与文本相关的若干个标签。MLTC可以广泛应用于网页标注,话题识别和情感分析等场景。

    迄今为止已有许多工作研究如何解决多标签文本分类这一任务。一些方法提出使用深度神经网络[1,2]以及标签特定的注意力网络[3,4]来增强文本的表示,同时一些其他的方法尝试通过序列化预测[5,6],迭代式推理[7]以及图神经网络[4]等技术来建模标签之间的关联性。

    然而,这些方法在推理阶段均忽略了已有训练样本中可以直接获得的丰富知识,而这些知识可以有效帮助模型进行更精确的预测。例如,表1展示了arXiv上的两篇学术论文,从中可以看出他们都是研究“互信息”(Mutual Information)的,与此同时他们所含的标签几乎完全一致,其中包含了统计理论(math.ST,stat.TH),信息论(math.IT,cs.IT)以及人工智能(cs.AI)等标签。因此,当预测一个给定文本的标签时,模型可以通过参考已有相似训练样本的标签来获取这种知识,从而有效的提升自身的性能。

    表1:arXiv上的两篇论文及其对应的标签

    c5a643cc35ad9a2813465216db14a3fe.png

    因此,为了有效的获取和利用已有训练样本中所含的知识,我们提出使用k近邻机制来解决MLTC任务。具体来说,我们的方法首先基于模型提取的文本表示向量检索出多个邻居样本并使用他们的标签对模型的预测结果进行插值。此外,为了使得模型能够意识到k近邻机制并提升检索到邻居样本的质量,我们又提出使用对比学习目标来训练模型。已有的对比学习方法[8,9]都使用的是传统的多类别分类设置,其中两个样本要么是正样本对(positive)要么是负样本对(negative)。然而在MLTC任务中,两个样本之间可能会存在一些共有的标签,并且同时存在一些各样本独有的标签,如何应对这种情况成为了在MLTC任务中使用对比学习的关键。为了建模MLTC任务中这种更加细粒度的样本相关性,我们设计了一种多标签对比学习目标,基于标签的相似度为每个样本对都计算了一个动态的对比学习系数。这样的对比学习目标会鼓励模型对于相似度越高的两个样本输出越为相近的文本表示向量,并且拉远含有完全不同标签的样本对的表示向量。最终在测试阶段,k近邻机制将会检索出含有更多相关标签的样本,从而进一步提升模型的分类性能。我们的方法具有高度的通用性并且可以直接运用在多数已有的MLTC模型上。

    02

    贡献

    1.     我们针对MLTC任务提出了一个k近邻机制来显式的利用已有训练样本中所含的知识。

    2.     为了减少k近邻机制引入的噪声,我们设计了一个多标签对比学习目标来训练模型。与已有的对比学习算法不同,我们的方法考虑了MLTC任务中样本间更为复杂的相关性并为每个损失项都计算了一个动态的对比学习系数。

    3.     我们实施了多项实验,显示出我们的方法可以稳定有效的提升多个MLTC模型的性能,其中包括了目前基于预训练或非预训练模型的SOTA方法。

    03

    解决方案

    我们方法的总体算法流程如图1所示,首先使用监督学习+多标签对比学习训练得到一个收敛的MLTC模型(Step1),接着使用该模型对每个训练样本都生成一个文本表示并与相应的标签向量一同存入一个数据仓库中(Step2),最后基于MLTC模型和数据仓库进行k近邻预测(Step3)。

    3273fa7813341850551adcf736728566.png

    图1:总体算法流程

    MLTC任务中的k近邻机制

    我们提出的k近邻机制包括两个步骤:构建训练样本的数据仓库(图1的Step2)以及基于这个数据仓库进行k近邻预测(图1的Step3)。

    在数据仓库的构建阶段,对于每个训练样本i,我们可以将它的文本输入一个MLTC模型来获得其表示向量,假设设该操作为f(x),则数据仓库D’可以通过对训练集的单次前向传播操作来离线构建,其中xi,yi是每个样本的文本和0/1标签向量:

    adc787c2be05dd6c629d3e938817fea5.png

    306f9b28097fc83423fd309deb39c558.png

    在推理阶段,给定一个输入文本x,模型会输出对该文本的预测标签yMo和表示向量f(x),表示向量可以基于欧几里得距离去查询之前离线构建的数据仓库D’来检索得到k个最近的邻居:

    4e40fd583047d0edd8be5b41af3f82d5.png

    则可以使用以下的算法进行该样本的k近邻预测:

    1e54bdc4589e51eaa78bcc1d5f218b91.png

    其中d是欧几里得距离函数,τ是k近邻算法中的温度参数来控制分布的平滑性,αi是每个邻居所占的权重。直观上来看,一个邻居距离测试样本越近,则该邻居的标签所占预测结果的权重也越大。最终对于该测试样本的预测结果由k近邻预测和模型预测结果组合而成,其中λ是k近邻预测结果所占的比重参数:

    ea98825076b532e91badf5a7f88e1d62.png

    多标签对比学习

    为了建模MLTC任务中更细粒度的关联性,我们设计了一个动态的对比学习系数来构成我们的多标签对比学习目标,即基于样本之间的标签相似性计算出为每个对比学习损失项的系数。考虑一个大小为b的数据批次,则我们方法中对于每个样本对(i,j)的对比学习损失可以由以下公式计算:

    6d55a7e011f8fc41d425125a9fa47018.png

    f3c8f5d83676d3395a38e7fb37d64a25.png

    8836e1ff2ea1696538e89ae7a0ce243c.png

    其中τ’是对比学习中温度参数,zi=f(xi)为每个样本的表示向量,样本对之间可以通过标签向量的点积计算出标签相似度Cij,则对比学习的动态系数βij为一个样本批次中Cij归一化后的结果。则整个数据批次的对比学习损失可以由所有样本对的损失相加得到:

    a231d6fb3267f86d61d7810e7719f849.png

    对于一个样本对(i,j)来说,越大的标签相似度将会带来越大的对比学习系数,从而增大该样本对的损失值,最终他们文本表示向量之间的距离就会被优化的相靠近。与此同时,如果一个样本对之间没有共享的标签(即βij=Cij=0),那他们损失项的值也会为0,则它们之间的距离只会出现在其他样本对损失项的分母上,最终他们文本表示之间的距离将会是负的梯度并且被优化的相远离。

    04

    实验

    数据集

    本文的实验是在学术领域的AAPD和新闻领域的RCV1-V2这两个数据集上进行的。数据集的统计信息如表2所示。

    2: 数据集统计信息,后四列分别代表样本个数、标签个数、平均每个样本的标签数和词数

    5082bfc34438d167eafb51a470f2c61f.png

    主实验

    我们在三个常用的MLTC模型上都使用了我们的方法,其中CNN是1维卷积神经网络,LDGN是MLTC任务上基于双向LSTM的SOTA方法,BERT是最著名的大规模预训练语言模型,从实验结果中可以看出我们的方法在所有的模型上都带来了明显的性能提升。

    3:主要实验结果。HL为汉明损失,值越低模型性能越好;F1为精准率和召回率的调和平均,值越高模型性能越好

    be81e8296fc8a055404e5d0ba7a5c65c.png

    消融实验

    如上文所述,我们的方法由k近邻机制(kNN)和多标签对比学习目标(CL)组成,我们分析了各个模块对于性能的影响。从表4中可以看出,首先,kNN机制可以稳定的提升CNN模型的性能。此外,当使用了我们的对比学习目标训练模型后,虽然CNN模型的性能没有明显的变化,但是kNN机制所带来的性能提升有着较大程度的增长。这也验证了我们的对比学习算法确实有效的增强了k近邻机制。

    4CNN模型上的消融实验(F1值)

    31e45c4a99f789b21500302479c4c566.png

    k近邻机制的参数分析

    我们分析了k近邻机制中的邻居个数和k近邻预测所占比重这两个参数。从图2中可以看出各模型性能都呈现先增后降的趋势,并且使用k近邻预测的情况下(k>0, λ>0)的性能都优于仅仅使用模型的预测(k=0, λ=0)。这进一步验证了MLTC任务中利用已有训练样本知识的必要性。

    a2daa9a94111a210c3f50b0a4185970e.png

    图2:k近邻机制的参数分析

    动态对比学习系数的分析

    在已有的对比学习方法中,两个样本互为正样本对或负样本对。为了建模MLTC任务中更加复杂的样本相似度,我们提出了动态的对比学习系数β。为了验证β的必要性,我们将现有的对比学习方法简单的应用在了MLTC任务上,也就是将有标签重合的样本对都看做正样本对。从表5中可以看出我们的方法比起现有对比学习的简单应用在所有情况下都有着性能优势,这也验证了MLTC任务中考虑细粒度样本相似度的重要性。

    表5:在使用/不使用动态对比学习系数的情况下,我们方法的性能(F1值)

    3b73d487efd72109132deb219ba7f3eb.png

    对比学习的影响

    为了进一步分析我们提出的对比学习目标的作用,对于每个测试样本我们都统计了其k个最近邻居带来的共享标签占所有标签的比重。如表6所示,在使用我们的对比学习目标训练了模型之后,检索到的邻居含有了更多与测试样本相关的标签。

    表6:在使用/不使用对比学习的情况下,k近邻机制检索到的邻居样本带来的与测试样本共享标签的平均比重(%)

    429277109bd6010b4e09f288ff551c40.png

    在图3中,我们使用了TSNE技术可视化了CNN模型对于一个测试样本以及离它最近的80个邻居训练样本的表示向量。如左图所示,在没有使用对比学习的情况下,距离最近的邻居大多只与测试样本含有1个共享的标签(绿叉)。然而在右图中,当使用了我们的对比学习目标训练模型后,测试样本周围基本都是相似度更高的邻居样本(蓝圆)。以上两个实验验证了我们的对比学习目标确实可以提高k近邻机制中检索到邻居的质量。

    aadafe7c9b77abfb2e7ab036f0bc0374.png

    图3:样本表示向量的TSNE可视化。红星代表测试样本,与测试样本相似度不同的邻居样本使用了不同的标记

    算法开销分析

    我们算法的开销主要在于k近邻机制,其中对比学习算法的时间和空间开销比起监督学习都可以忽略不计。表7记录了每个数据仓库所占的磁盘空间。使用/不使用k近邻机制的模型推理时间如表8所示,从中可以看出我们方法所带来的额外推理时间均不会超过5毫秒。

    表7:各个数据仓库的磁盘占用。

    0002f7c4779872cde006289bc5364fb8.png

    表8:不同模型使用/不使用k近邻机制对于每个文本的推理时间(ms)

    458d030eea2543724c59dae7765e9f97.png

    05

    总结

    本文提出了基于k近邻机制和对比学习的多标签文本分类算法。我们使用k近邻机制来有效利用已有训练样本的知识,并针对于MLTC任务中样本间更加细粒度的相关性设计了一个多标签对比学习目标。我们通过实验结果证明了我们的方法可以有效提升多个MLTC模型的性能,并通过实验进一步分析了我们方法带来性能提升的原因。

    References

    [1] Gakuto Kurata, Bing Xiang, and Bowen Zhou. 2016. Improved neural network-based multi-label classification with better initialization leveraging label co-occurrence.

    [2] Pengfei Liu, Xipeng Qiu, and Xuanjing Huang. 2016. Recurrent neural network for text classification with multi-task learning.

    [3] Lin Xiao, Xin Huang, Boli Chen, and Liping Jing. 2019. Label-specific document representation for multi-label text classification.

    [4] Qianwen Ma, Chunyuan Yuan, Wei Zhou, and Songlin Hu. 2021. Label-specific dual graph neural network for multi-label text classification.

    [5] Jinseok Nam, Eneldo Loza Mencía, Hyunwoo J. Kim, and Johannes Fürnkranz. 2017. Maximizing subset accuracy with recurrent neural networks in multi-label classification.

    [6] Pengcheng Yang, Xu Sun, Wei Li, Shuming Ma, Wei Wu, and Houfeng Wang. 2018. SGM: sequence generation model for multi-label classification.

    [7] Ran Wang, Robert Ridley, Xi’ao Su, Weiguang Qu, and Xinyu Dai. 2021. A novel reasoning mechanism for multi-label text classification.

    [8] Beliz Gunel, Jingfei Du, Alexis Conneau, and Veselin Stoyanov. 2021. Supervised contrastive learning for pre-trained language model fine-tuning.

    [9] Linyang Li, Demin Song, Ruotian Ma, Xipeng Qiu, and Xuanjing Huang. 2021. KNN-BERT: fine-tuning pre-trained models with KNN classifier.


    下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!  后台回复【五件套】
    下载二:南大模式识别PPT  后台回复【南大模式识别】

    投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

    方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

    b6b9faf2bfdae3b169f41587f9690caa.png

    记得备注呦

    整理不易,还望给个在看!
    展开全文
  • 下游的传统分类手段3.Bert原生的分类器 写在前面: 自2018年来,Bert在多个NLP领域都取得了颠覆性的成绩,诸如词性标注、问答系统等等。它本身采用的依然是Transform的机制,但是对于文本它是双向编码表示,,也就是...


    写在前面: 自2018年来,Bert在多个NLP领域都取得了颠覆性的成绩,诸如词性标注、问答系统等等。它本身采用的依然是Transform的机制,但是对于文本它是双向编码表示,,也就是Bert的全称: Bidirectional Encoder Representations from Transformers。现在对于Bert的使用和衍生变种很多很多,比如 Bert as service(可部署到服务器上,方便快捷版的Bert)、 Bert-NER(用来做实体识别)、 Bert-utils(句向量的引入)等等。实际上,针对很多人来说,我们仅仅是使用者、而不需要发费过多的时间在这上面去研究原理, 实用至上
    本文介绍的是文本的多分类问题,旨在为大家提供一种快速上手复杂神经模型的思路,其他可以类比。

    一、从无到有第一步

    假设现在你需要解决一个文本的多分类问题,如新闻文章划分(军事?体育?财经?)或者网上政务留言文本分类后交给各个部门(环境保护部门?民政部门?工商管理部门?),列举这些例子就是为了说明文本分类在很多领域都很重要,我们常说:“聚类、分类、关联能解决99%的数据挖掘问题”,灵活转化问题才是最重要的。扯远了哈,你已经明确你有一个文本多分类的问题,第一步就是收集分类的手段,而不要考虑文本,这样做的好处一会再说。把问题拆解开来,分类手段有啥?(百度即可),哦!决策树、朴素贝叶斯、SVM、高级点的LightGBM、神经网络等都可以,把它们记录下来,熟悉它们的使用方法(输入输出很重要),适应的范围和优缺点,原理的话,学有余力你可以学习。最快的方法是找代码直接看直接调通。
    加入文本二字,你自然就会想到,文本是字符,上述这些方法的输入都是数值(向量)。好了,恭喜你,你已经在走那些大神走过的路了。文本编码有啥方法呀?问问度娘(或者来CSDN也可~ _~),词袋模型,one-hot模型,TF-IDF方法,word2vec(2 = to,英文中的通假字了解一下)等等,映入眼帘,当然,你肯定还会看到Bert的身影,别着急,一步一步来。同样的方法,你把每种方法的实现、优缺点等搞懂,你就知道适合你的任务的编码方式是啥了。
    总结一下,第一步你需要做的就是不停的查、不停的下载代码、调代码。很简单对吧,但是并非如此哦,你可能一步一步陷入某个理论中不能自拔,查完这个发现不懂就去查另一个,套娃既视感,做正确的选择很重要。

    二、搭配起来作比较

    很神奇吧,你现在知道文本的编码有那么多、分类的方法有那么多,即便筛选掉那些你觉得肯定对你任务不合适的方法,这样排列组合的形式还是有很多。那么对任务上下游方法进行搭配就很重要了。谁也不会知道那个效果好,那就多搭配搭配试一试,比较各个模型组合起来的效果。对于分类问题比较好的衡量标准就是F-Score和准确率,一般来说准确率用的可能要多一些。但是在竞赛中F-Score是更为常见的。
    这里可以回答为啥我们要把问题分开考虑了,因为想要你的模型比别人效果好,必须要有创新,而直接关联的去查找文本多分类的资料,你得到的只能是别人用过的。你可能会说,你只追求效果好,那也行,但是如果你要写论文的化,你就知道这个有多重要了。
    针对那些需要写论文等文字资料的童鞋,推荐一下几个绘制图标的好工具:

    1. processon:在线绘制流程图,在每一章的开头给一幅“本章架构图”,很加分;
    2. echarts:不想循规蹈矩的用excel绘制统计图表,echarts这款很适合你,简单JavaScript语法很容易上手,而且官网上给出了许多实例,改改数据就能用。
    三、言归正传扯代码

    前面说的都是铺垫,在很多你不熟悉的领域都是很好的思路,技术更新那么快,快速上手你需要技巧的~
    下面我就来介绍我在某一次文本分类任务中的使用的bert-util+传统分类模型,并且我也会在接下来介绍一些Bert原生分类器的原理和方法。

    1.Bert-util详解

    这里插几句,说下我为啥选择Bert-util。在最开始我使用的也是Bert-master(就是谷歌给的那一款),天啊!我发现Bert只能截断指定长度的文本,比如一个文本1000个汉字,受限于max_position_embeddings
    注意这个是直接截断的!直接截断的!万一信息量文档后面集中分布,那该咋办,(╯▽╰),我也不知道。我在网上找到这个Bert-util,标题说的是“一行代码生成句向量”,但是实际使用的过程中发现还是不行,这个弊端并没有被作者修正。我不知道用“ 弊端”这个词对不对,因为它本身可能并不适合文档级别的文本在这里插入图片描述
    那我为啥还选择Bert-util呢?
    很显然的是,Bert-util能够很好完成输入一个文本序列给出一个向量。你会问Bert-master不行吗?也可以,但是他是通过【CLS】实现的,说白了他是给每一个字一个向量,但是【CLS】作为一个特殊字符,本身不具有语义的特征,通过Bert内在机制,【CLS】对应的向量本身是可以作为这个序列特征的文本表示。你可以理解为Bert将序列的全部信息给了【CLS】,万千宠爱集于一身,O(∩_∩)O~
    选择了Bert-util是一种偶然,为了解决Bert的弊端却没有解决,但是Bert-util代码很容易理解,易于与下面的传统分类方法结合。
    下面怼代码了,做好准备:
    A:下载Bert-util代码(上面给了链接),下载Bert的中文模型(谷歌给咱跑的不用白不用,高性能机器上也要一周):https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
    添加到Bert-util的目录中。(下图展示了位置,请自行忽略我自己产生的垃圾数据)
    在这里插入图片描述
    切记不要修改中文模型的任何文件,包括文件名。
    B:把中文模型的文件路径添加进去,在args.py文件中。
    在这里插入图片描述
    C:新建一个run.py文件,写入以下内容:

    from bert.extrac_feature import BertVector
    bv = BertVector()
    print(bv.encode(['我爱你中国!'])

    注意输入格式是列表,尤其是在你批量传入的时候。
    D:批量的时候要保存向量以便于后续的下游的传统分类任务,在extract_feature.py中修改如下:
    在这里插入图片描述
    这里我是保存到一个txt里,其实就是要遍历prediction,你想咋保存就咋保存吧。
    E:这里你就可以跑你新建的run.py了,注意第一次运行时会新建一个tmp/result/graph文本,它保存了模型的一些参数等信息。注意如果你不调整参数的话,第二次就可以直接使用这个了。但是,一旦调整了参数就必须把tem文件夹直接删除,或者重命名也可以。
    F:调参是一个很玄学的事情。bert-util的调参在args.py和modeling.py中,每个参数的具体含义都是很显而易见的。这个模型运行代价不是很大,一般的笔记本就能跑,调参就自己试一试吧,一般batch_size设为32比较好,学习率尽可能低,一般到十万分位。温馨提示,调参时注意记录,无论是写论文还是指导下一步调参都很重要。
    在这里插入图片描述
    (args.py)
    在这里插入图片描述
    (modeling.py)

    2.下游的传统分类手段

    (1)基于概率模型的朴素贝叶斯分类器:朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器。优点在于数据集较小的情况下的仍旧可以处理多类别问题使用于标称数据。面对Bert生成的序列向量,朴素贝叶斯并没有很好的处理能力,主要原因是:其一,Bert生成向量的各维度是连续属性;其二,Bert生成向量各个维度并不是完全独立的。因此这种分类方法在原理上来讲不会具有很好的分类效果;
    (2)基于网络结构的SVM分类方法:支持向量机的思想来源于感知机,是一种简单的浅层神经网络。但SVM较一般的神经网络具有更好的解释性和更完美的数学理论支撑。SVM的目的在于寻求划分各类的超平面。当然,支持向量机可实现非线性分类,利用核函数将数据抽象到更高维的空间,进而将非线性问题转换为线性问题;
    (3)基于树模型的LightGBM分类器:LightGBM是对一般决策树模型和梯度提升决策树模型XGBoost的一种改进。内部使用Histogram的决策树算法和带有深度限制的Leaf-wise的叶子生长策略,主要优势在于更快的训练效率、低内存占用以及适用大规模并行化数据处理。(来自我的某篇小论文)

    代码实现我都不好意思说,为啥呢?因为Sklearn里封装的太棒了,当然LightGBM要单独安装使用。
    分享以下Sklearn的中文文档,你想做的它都有:https://www.cntofu.com/book/170/index.html
    传统分类器也有调参的过程,祝君好运!O(∩_∩)O

    3.Bert原生的分类器

    bert本身就具有很好的分类器,也就是基于【CLS】进行分类,“CLS”本身就是classify的缩写。如何使用一查一大堆。不再赘述了。一般来说,Bert原生的分类器分类的准确性比较高,其实他就是在网络后通过Fine-Tuning机制添加少量的神经网络层,一般都有softmax层,这个大家可以了解一下。

    好了,这篇扯得有点多,也有点乱,不过大家按照这个来,你完全可以完成一个文本的(多)分类任务,并且你可以按照这个思路完成任何你不熟悉的领域。

    关于我的代码就不给了,需要私我,我常在哦!有问题也可以留言评论,欢迎交流,一起进步!
    ————————END——————————

    展开全文
  • 文本分类还停留在BERT?对偶比学习框架也太强了

    论文简介:对偶对比学习:如何将对比学习用于有监督文本分类
    论文标题:Dual Contrastive Learning: Text Classification via Label-Aware Data Augmentation
    论文链接:https://arxiv.org/abs/2201.08702
    代码链接:https://github.com/hiyouga/dual-contrastive-learning
    论文作者:{Qianben Chen}
    知乎笔记:https://zhuanlan.zhihu.com/p/466685216

    论文摘要

    对比学习在无监督环境下通过自我监督进行表征学习方面取得了显著的成功。然而,有效地使对比学习适应于监督学习任务在实践中仍然是一个挑战。在这项工作中,作者提出了一个对偶对比学习(DualCL)框架,在同一空间内同时学习输入样本的特征和分类器的参数。具体来说,DualCL将分类器的参数视为关联到不同标签的增强样本,然后利用其进行输入样本和增强样本之间的对比学习。对5个基准文本分类数据集及对应低资源版本数据集的实验研究表明,DualCL分类精度明显得到提高,并证实了DualCL能够实现样本判别表示的效果

    DualCL简介

    表示法学习是当前深度学习的核心。在无监督学习的背景下,对比学习最近已被证明是获得下游任务的通用表征的有效方法。简单地说,无监督对比学习采用了一个损失函数,它迫使同一样本的不同“视角”的表示向量相似,而不同样本的表示向量则不同。最近对比学习的有效性方面被证明是由于同时实现了“对齐性”【alignment】和“一致性”【uniformity】。

    对比学习方法也适用于监督表示学习 ,以往研究中也使用了类似的对比损失,基本原理是坚持同一类中样本的表示是相似的,不同类的样本表示是相似的。 清楚的。 然而,尽管取得了成功,但与无监督对比学习相比,这种方法的原则性似乎要差得多。 例如,表示的统一性不再有效; 也不是必需的,通俗来讲就是特征的在空间分布不再均匀,所以我们认为标准的监督对比学习方法对于监督表示学习来说并不自然。 另外存在一个事实就是,即这种对比学习方法的结果并没有直接给我们一个分类器,需要开发另一种分类算法来解决分类任务。

    接下来我们讲讲DualCL提出的动机,作者为了旨在开发一种更自然的方法来实现在监督任务下的对比学习。作者关键动机是监督表示学习应该包括学习两种参数:一个是输入 x x x在适当的空间特征 z z z,用来满足分类任务需求,另一个是分类器的参数,或者作用于分类器空间的参数 θ \theta θ;我们将这个分类器称为 x x x的“one example”分类器。在这种观点下,自然将样本 x x x联想到两种参数:一个为维度为 d d d z ∈ R d z\in \mathbb{R}^d zRd,用来表示特征;一个是分类器参数 θ ∈ R d × K \theta \in \mathbb{R}^{d \times K} θRd×K,其中 K K K代表样本中分类总数。那么有监督的表示学习可以认为是为输入样本 x x x生成 ( z , θ ) (z,\theta) (z,θ)

    为了保证分类器 θ \theta θ对于特征 z z z有效,只需要保证 θ T z \theta^Tz θTz与样本 x x x的标签保持对齐,可以通过softmax归一化的概率与交叉熵进行约束。除此之外,在对比学习方法可以用来强制对这些 ( z , θ ) (z,θ) (zθ)表示进行约束,具体来讲,我们将 θ ∗ \theta^* θ记为样本 x x x的真实标签对应分类器 θ \theta θ的理想参数,这里我们可以设计两种对比损失。第一个loss用来对比 ( z , θ ∗ ) (z,\theta^*) (z,θ)与多个 ( z ′ , θ ∗ ) (z',\theta^*) (z,θ),其中 z ′ z' z代表与样本 x x x不同类别的样本特征;第二个loss用来对比 ( z , θ ∗ ) (z,\theta^*) (z,θ)与多个 ( z , θ ′ ∗ ) (z,\theta'^*) (z,θ),其中 θ ′ \theta' θ代表样本的不同类别对应分类器参数,作者将这种学习框架叫做dual contrastive learning(DualCL),对偶对比学习

    在对比学习基础之上,正如论文标题,DualCL可以认为是一种独特的数据增强方法。具体来说,对于每个样本 x x x,其 θ θ θ的每一列都可以被视为“标签启发的输入表示”,或者是在特征空间中注入了标签信息的 x x x的增强视图。表1中说明了这种方法的强大之处,从左边的两个图片可以看出,标准的对比学习不能利用标签信息。相反,从右边的两个图来看,DualCL有效地利用标签信息对其类中的输入样本进行分类。

    在论文实验中,作者在5个基准文本分类数据集上验证了DualCL的有效性。通过使用对偶比损失对预先训练好的语言模型(BERT和RoBERTa)进行微调,DualCL与现有的对比学习监督基线相比获得了最好的性能。作者还发现,DualCL提高了分类精度,特别是在低资源的场景下。此外通过可视化所学习的表征和注意力图,对DualCL给出了一些可解释性分析。

    论文贡献可以总结如下:

    • 1)提出了双对比学习(DualCL),自然地将对比损失与有监督任务相结合;
    • 2)引入标签感知数据增强来获得输入样本的多个视图,用于DualCL的训练;
    • 3)在5个基准文本分类数据集上实证验证了DualCL框架的有效性;

    DualCL原理


    “对偶”表示有监督的对比学习方法目的就是:第一个是在适当空间中对分类任务的输入进行判别表示,第二个是构建监督任务的分类器,学习到分类器空间中分类器的参数。接下来我们看看DualCL的核心部分。

    标签启发式的数据增强

    为了获得训练样本的不同视图(views)表示,作者利用数据增强的思想来获得特征 z i z_{i} zi和分类器 θ i \theta_{i} θi的表示。具体来讲就是将分类器每个类别的对应参数 θ i \theta_{i} θi作为 z i z_{i} zi的独特表示,记为 θ i k \theta_{i}^{k} θik,称为标签感知输入表示,将标签 k k k信息注入到的 x i x_{i} xi,作为额外增强视图。

    在实践中,将标签集合 { 1 , . . . , K } \{1,...,K\} {1,...,K}插入到输入序列 x i x_{i} xi,可以得到一个新的输入序列 r i ∈ R L + K r_{i}\in \mathbb{R}^{L+K} riRL+K,然后通过PLMS(Bert或者Roberta)模型作为编码器 f f f,来获取输入序列的每个token特征,其中[CLS]特征作为样本 x i x_{i} xi的特征 z i z_{i} zi,插入的标签对应为标签启发的输入表示 θ i k \theta_{i}^{k} θik。标签的名称作为标记,形成序列 r i r_{i} ri,如“positive”、“negative”等。对于包含多个单词的标签,我们采用token特征的平均池化来获得具有标签感知的输入表示。这个操作和之前一篇论文很相似,大家可以有兴趣可以阅读:Bert还可以这么用:融合标签向量到BERT

    对偶对比损失

    利用输入样本 x i x_{i} xi的特征表示 z i z_{i} zi和分类器 θ i θ_{i} θi,DualCL作用就是将 θ i T z i θ_{i}^{T}z_{i} θiTzi的softmax归一化概率与 x i x_{i} xi的标签对齐。将 θ i ∗ θ^∗_{i} θi表示 θ i θ_{i} θi的某一列,对应于 x i x_{i} xi的真实标签索引,DualCL期望 θ i ∗ T z i θ_{i}^{*T}z_{i} θiTzi点积是最大化的。为了学习更好的 z i z_{i} zi θ i θ_{i} θi,DualCL利用不同训练样本之间的关系定义了对偶对比损失,如果 x j x_{j} xj x i x_{i} xi有相同的标签,那么试图最大化 θ i ∗ T z j θ_{i}^{*T}z_{j} θiTzj,而如果 x j x_{j} xj x i x_{i} xi有不同的标签,则最小化 θ i ∗ T z j θ_{i}^{*T}z_{j} θiTzj

    给定一个来自输入样本 x i x_{i} xi的锚点 z i z_{i} zi { θ j ∗ } j ∈ P i \{ \theta^*_j \}_j\in P_{i} {θj}jPi是正样本集合, { θ j ∗ } j ∈ A i   ∣ P i \{ \theta^*_j \}_j\in A_i \ | P_i {θj}jAi Pi是负样本集合,关于z的对比损失可以定义如下:

    同理,给定一个来自输入样本 x i x_{i} xi的锚点 θ i ∗ \theta_{i}^* θi { z j } j ∈ P i \{ z_j \}_j\in P_{i} {zj}jPi是正样本集合, { z j } j ∈ A i   ∣ P i \{ z_j \}_j\in A_i \ | P_i {zj}jAi Pi是负样本集合,关于z的对比损失可以定义如下:

    对偶比损失是上述两个对比损失项的组合:
    L D u a l = L z + L θ \mathcal{L_{Dual}}= \mathcal{L_{z}}+ \mathcal{L_{ \theta }} LDual=Lz+Lθ

    对比训练和有监督预测

    为了充分利用监督信号,DualCL还期望 θ i θ_{i} θi是一个很好的 z i z_{i} zi分类器。因此作者使用一个改进版本的交叉熵损失来最大化每个输入样本 x i x_i xi θ i ∗ T z i θ_{i}^{*T}z_{i} θiTzi

    最后,最小化这两个训练目标来训练编码器 f f f。这两个目标同时提高了特征的表示质量和分类器的表示质量。总体损失应为:
    L o v e r a l l = L C E + λ L D u a l \mathcal{L_{overall}}= \mathcal{L_{CE}}+\lambda \mathcal{L_{ Dual }} Loverall=LCE+λLDual
    其中, λ λ λ是一个控制双对比损失项权重的超参数。

    在分类过程中,我们使用训练好的编码器 f f f来生成输入句子 x i x_i xi的特征表示 z i z_i zi和分类器 θ i θ_i θi。这里的 θ i θ_i θi可以看作是一个“one-example”的分类器,例如 x i x_i xi,我们将 θ i T z i θ_{i}^{T}z_{i} θiTzi的argmax结果作为模型预测:
    y ^ i = a r g m a x ( θ i k ⋅ z i ) \widehat{y}_i=argmax(\theta_i^k ·z_{i}) y i=argmax(θikzi)

    图1说明了对偶对比学习的框架,其中 e C L S e_{CLS} eCLS是特征表示, e P O S e_{POS} ePOS e N E G e_{NEG} eNEG是分类器表示。在这个具体的例子中,我们假设具有“positive”类的目标样本作为锚点,并且有一个正样本具有相同的类标签,而有一个具有不同的类标签的负样本。对偶对比损失旨在同时将特征表示吸引到正样本之间的分类器表示上,并将特征表示排斥到负样本之间的分类器上。

    表示之间的对偶性

    对比损失采用点积函数作为表示之间相似性的度量,这就使得DualCL中的特征表示 z z z和分类器表示 θ θ θ之间存在双重关系。在线性分类器中,输入特征与参数之间的关系也出现了类似的现象。然后我们可以将 θ θ θ看作是一个线性分类器的参数,这样预先训练好的编码器 f f f就可以为每个输入样本生成一个线性分类器。因此,DualCL很自然地学习如何为每个输入样本生成一个线性分类器来执行分类任务。

    实验设置

    数据集

    论文采用了SST-2、SUBJ、TREC、PC和CR四种数据集,数据集相关统计如下:

    实验结果

    从结果中可以看出,除了使用RoBERTa的TREC数据集外,同时使用BERT和RoBERTa编码器在几乎所有设置中都取得了最好的分类性能。与具有完整训练数据的CE+CL相比,DualCL对BERT和RoBERTa的平均改善率分别为0.46%和0.39%。此外,我们观察到,在10%的训练数据下,DualCL的性能明显大于CE+CL方法,在BERT和RoBERTa上分别高出0.74%和0.51%。同时,CE 和 CE+SCL 的性能无法超越 DualCL。 这是因为CE方法忽略了样本之间的关系,CE+SCL方法不能直接学习分类任务的分类器。


    此外论文发现双重对比损失项有助于模型在所有五个数据集上实现更好的性能。 它表明利用样本之间的关系有助于模型在对比学习中学习更好的表示。

    案例分析

    为了验证DualCL是否能够捕获信息特征,作者还计算了[CLS]标记的特征与句子中每个单词之间的注意得分。首先在整个训练集上微调RoBERTa编码器。然后我们计算特征之间的 l 2 l_2 l2距离,并可视化图4中的注意图。结果表明,在对情绪进行分类时,所捕获的特征是不同的。上面的例子来自SST-2数据集,我们可以看到我们的模型更关注表达“积极”情绪的句子“predictably heart warming”。下面的例子来自CR数据集,我们可以看到我们的模型对表达“消极”情绪的句子更关注“small”。相反,CE方法没有集中于这些鉴别特征。结果表明DualCL能够成功地处理句子中的信息性关键词。

    论文总结

    • 在本研究中,从文本分类任务的角度,提出了一种对偶对比学习方法DualCL,来解决监督学习任务。
    • 在DualCL中,作者使用PLMs同时学习两种表示形式。一个是输入示例的鉴别特征,另一个是该示例的分类器。我们引入了具有标签感知的数据增强功能来生成输入样本的不同视图,其中包含特征和分类器。然后设计了一个对偶对比损失,使分类器对输入特征有效。
    • 对偶对比损失利用训练样本之间的监督信号来学习更好的表示,通过大量的实验验证了对偶对比学习的有效性。

    核心代码

    关于Dual-Contrastive-Learning实现,大家可以查看开源代码:

    https://github.com/hiyouga/Dual-Contrastive-Learning/blob/main/main_polarity.py

     def _contrast_loss(self, cls_feature, label_feature, labels):
            normed_cls_feature = F.normalize(cls_feature, dim=-1)
            normed_label_feature = F.normalize(label_feature, dim=-1)
            list_con_loss = []
            BS, LABEL_CLASS, HS = normed_label_feature.shape
            normed_positive_label_feature = torch.gather(normed_label_feature, dim=1,
                                                         index=labels.reshape(-1, 1, 1).expand(-1, 1, HS)).squeeze(1)  # (bs, 768)
            if "1" in self.opt.contrast_mode:
                loss1 = self._calculate_contrast_loss(normed_positive_label_feature, normed_cls_feature, labels)
                list_con_loss.append(loss1)
            if "2" in self.opt.contrast_mode:
                loss2 = self._calculate_contrast_loss(normed_cls_feature, normed_positive_label_feature, labels)
                list_con_loss.append(loss2)
            if "3" in self.opt.contrast_mode:
                loss3 = self._calculate_contrast_loss(normed_positive_label_feature, normed_positive_label_feature, labels)
                list_con_loss.append(loss3)
            if "4" in self.opt.contrast_mode:
                loss4 = self._calculate_contrast_loss(normed_cls_feature, normed_cls_feature, labels)
                list_con_loss.append(loss4)
            return list_con_loss
    
        def _calculate_contrast_loss(self, anchor, target, labels, mu=1.0):
            BS = len(labels)
            with torch.no_grad():
                labels = labels.reshape(-1, 1)
                mask = torch.eq(labels, labels.T)  # (bs, bs)
                # compute temperature using mask
                temperature_matrix = torch.where(mask == True, mu * torch.ones_like(mask),
                                                 1 / self.opt.temperature * torch.ones_like(mask)).to(self.opt.device)
                # # mask-out self-contrast cases, 即自身对自身不考虑在内
                # logits_mask = torch.scatter(
                #     torch.ones_like(mask),
                #     1,
                #     torch.arange(BS).view(-1, 1).to(self.opt.device),
                #     0
                # )
                # mask = mask * logits_mask
            # compute logits
            anchor_dot_target = torch.multiply(torch.matmul(anchor, target.T), temperature_matrix)  # (bs, bs)
            # for numerical stability
            logits_max, _ = torch.max(anchor_dot_target, dim=1, keepdim=True)
            logits = anchor_dot_target - logits_max.detach()  # (bs, bs)
            # compute log_prob
            exp_logits = torch.exp(logits)  # (bs, bs)
            exp_logits = exp_logits - torch.diag_embed(torch.diag(exp_logits))  # 减去对角线元素,对自身不可以
            log_prob = logits - torch.log(exp_logits.sum(dim=1, keepdim=True) + 1e-12)  # (bs, bs)
            # in case that mask.sum(1) has no zero
            mask_sum = mask.sum(dim=1)
            mask_sum = torch.where(mask_sum == 0, torch.ones_like(mask_sum), mask_sum)
            # compute mean of log-likelihood over positive
            mean_log_prob_pos = (mask * log_prob).sum(dim=1) / mask_sum.detach()
            loss = - mean_log_prob_pos.mean()
            return loss
    

    参考资料

    ICML 2020: 从Alignment 和 Uniformity的角度理解对比表征学习
    https://blog.csdn.net/c2a2o2/article/details/117898108

    展开全文
  • 本文主要讲了led驱动芯片分类作用,希望对你的学习有所帮助。
  • 数据库分类及主流数据库对比

    千次阅读 多人点赞 2019-11-11 09:52:54
    2 数据库对比 1 数据库分类 数据库根据数据结构可分为关系型数据库和非关系型数据库。非关系型数据库中根据应用场景又可分为键值(Key-Value)数据库、列存储数据库、面向文档数据库、搜索引擎数据库等。 1.1 ...
  • 土地分类标准对比

    2013-03-29 09:03:43
    土地资源分类标准对比,方便工作人员整合两类数据,充分发挥数据的作用
  • 从沿红海西海岸的埃尔古塞(El-... 同样,其他因素,例如水温,盐度,溶解氧,pH和电导率也起重要作用。 阀门的扫描电子显微镜图像是记录的分类单元的图像。 这些动物区系红海和印度洋-太平洋地区具有相似的亲和力。
  • OCR图片相似度对比分类算法

    千次阅读 2018-11-26 19:20:28
    (图1:二值化后的图片) (图二:转换为01矩阵后的图片) 一、像素点对比 我们将标准图匹配图的每个像素点进行比对,如果相等,则相似点加一。这样扫描两张完图片,我们可以得到二者之间相似点的多少,再用相似...
  • 叙:损失函数的一般表示为 L(y,f(x)),为了便于不同损失函数的比较,常将其表示为单变量的函数,在回归问题中这个变量为y−f(x),在分类问题中则为yf(x)。 1.回归问题的损失函数 回归问题中y和f(x)皆为实数∈R,因此...
  • 带钢表面缺陷检测分类不同图像增强方式的对比研究1、直接使用图像数据进行深度学习2、图像增强图像分析形态学top-hat变换图像锐化3、图像增强后的深度学习总结 基于钢材表面缺陷库进行多种缺陷检测分类实验,对比...
  • 对比了中欧抗震标准中有关钢结构抗震设计的若干条文,包括抗震设防目标、场地分类、抗震设计反应谱及抗弯框架结构的设计地震作用。结果表明:在对场地条件以及地震作用的计算方法进行一定换算的基础上,对于D类场地下不...
  • 这几年react、vue的快速发展,越来越多的前端开始讲es6的代码运用在项目中,因为我们可以通过babel进行转译为低版本的js以便于运行在所有浏览器中,import、export、let、箭头函数等等,对于node端,当然我们也希望...
  • 机器学习的分类与主要算法对比

    万次阅读 多人点赞 2017-05-31 23:22:21
    机器学习的分类与主要算法对比重要引用:Andrew Ng Courera Machine Learning;从机器学习谈起;关于机器学习的讨论;机器学习常见算法分类汇总;LeNet Homepage;pluskid svm 首先让我们瞻仰一下当今机器学习领域...
  • One-stage Detection YOLO SSD对比

    千次阅读 2021-07-15 23:28:19
    Head Decoupled Head:是指把分类和回归分别设定在两个卷积头上进行操作,在分类上输出channel为分类的类别数+1, 在回归的channel为anchor数4 Coupled head:用一个卷积头输出所有的数据(分类结果和回归结果),...
  • 对比学习(Contrastive Learning)综述

    千次阅读 2021-04-20 08:15:29
    A.... A.... 深度学习的成功往往依赖于海量数据的支持,其中对于数据的标记与否,可以分为监督学习和无监督学习。...1. 监督学习:技术相对成熟,但是对海量的数据进行标记需要花费大量的时间和...2.2 分类: 2.2.1生成..
  • 传统的卷积神经网络(CNN)通常会丢弃负值特征信息, 进而影响着图像分类的效果. 针对 CNN 更好地学习图像特征的问题, 对传统的 CNN 模型进行改进... 传统的 CNN 及部分扩展模型进行对比实验的结果表明, 该模型是有效的.
  • bagging的偏差和方差boosting的偏差和方差模型的独立性算法对比 k邻近(KNN) 基础算法 KNN是通过测量不同特征值之间的距离进行分类。它的的思路是: 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样 本...
  • 一、概述​ 随着信息技术的发展,最稀缺的资源不再是信息本身,而是对信息的...​ 基于人工智能技术的文本分类系统依据文本的语义可实现将大量文本自动分类。多种统计理论和机器学习方法被用于文本自动分类。但其存在最
  • 通过对比分类结果发现,Follow关系比Retweet关系更能表征用户的同质性,基于Follow关系的分类精度比基于Retweet关系的分类精度高20%,分类结果同时揭示不同类别的用户体现出了不同的关注和信息互动特性。...
  • 点击上方蓝色字体“州的先生”选择关注公众号Python编程应用实战,尽在掌握这是...在本篇,我们继续介绍借助sklearn库创建用于进行分类预测的机器学习模型。对分类问题进行预测同样属于监督学习的范畴,通过对...
  • 针对具有一定相关性气味信号的识别分类问题,设计了一...最后通过不同品质的牛奶气味验证了算法的有效性,并电子鼻软件的欧式距离算法进行了对比。结果显示,基于主成分分析的欧式距离算法对牛奶气味的识别效果更好。
  • 同期及上期数据对比处理示例.sql --雇员数据CREATE TABLE Employee( ID int, --雇员编号(主键) Name nvarchar(10), --雇员名称Dept nvarchar(10)) -很多企业都会将两年的数据用图表做数据对比,然后根据对比结果做出...
  • 新能源汽车电池对比

    千次阅读 2021-07-08 16:12:14
    那么比亚迪和特斯拉都是做新能源整车制造的,他们选用的新能源电池技术有啥区别呢,或者我们可以了解和对比一下新能源汽车的电池有哪些? 查询资料得知,新能源电动汽车电池种类大致归为铅酸电池、镍氢电池、锰酸锂...
  • 点击下面卡片,关注我呀,每天给你送来AI技术干货!NewBeeNLP公众号原创出品公众号专栏作者@Maple小七北京邮电大学·模式识别智能系统今天和大家...
  • 图像处理之对比度增强

    千次阅读 2020-11-25 21:39:04
    在图像处理中,由于获取的图像质量不好,需要通过对比度增强来提升图片质量,主要解决的是由于图像灰度级范围较小造成的对比度较低的问题,作用是使图像的灰度级范围放大,从而让图像更加清晰。 本文所总结的内容...
  • 为实现SAR图像地物目标的有效分类,深入研究了基于灰度共生矩阵GLCM的四种纹理特征以及...实验结果证明能量、边缘长度、对比度和相关度的特征组合在PCA作用下能够改善各类地物的分类精度,将总分类精度提高到90%以上。
  • 分类算法

    千次阅读 2020-12-09 18:53:16
    逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归。 2. 应用场景 数据不均衡问题 广告点击率 是否为垃圾邮件 是否患病 金融诈骗 虚假账号 3. 原理 线性...
  • 垃圾邮件过滤技术在保证信息安全、提高资源利用、分拣信息数据等方面都...通过其他典型垃圾邮件过滤方法的对比实验,证明基于主题模型的垃圾邮件分类方法及基于Word2Vec的改进方法均能有效提高垃圾邮件过滤的准确度。
  • 主要分类网络性能和参数比较

    千次阅读 2020-10-05 09:29:36
    主要分类网络性能和参数比较 文章目录主要分类网络性能和参数比较前言一、resnet二、使用步骤1.引入库2.读入数据总结 前言 本文主要比较一些图像分类网络的性能和参数 一、resnet 二、使用步骤 1.引入库 代码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 112,211
精华内容 44,884
热门标签
关键字:

对比的分类与作用