FastText原理与文本分类实战

1.FastText原理

1.1 fasttext简介

fasttext是一个快速文本分类的算法,有几个优点:

  • fastText 在保持精确度的条件下加快了训练和测试的速度
  • fastText 不需要预先训练好的词向量,fasttext可以自己训练词向量
  • fastText 使用了层级softmax和字符级N-gram

1.2 fasttext 的网络模型结构

fasttext模型与word2vec中的CBOW很相似,不同之处是fastText预测标签而CBOW预测的是中间词,即模型架构类似但是模型的任务不同。下面我们先看一下CBOW的架构:

CBOW
通常的词库少则数万,多则数百万,在训练中直接训练多分类逻辑回归并不现实,Word2vec提供两种优化手段,Nagetive sampling和hierarchical softmax,在优化中negative sampling只取少量的负面类,从而减轻了计算量,hierarchical softmax将词库表示成霍夫曼树,从根到叶子表示成一个二分类器,一次多分类的复杂度降低到了树的深度。
FastText
fastText模型架构:其中x1,x2,…,xN−1,xN表示一个文本中的n-gram向量,每个特征是词向量的平均值。这和前文中提到的cbow相似,cbow用上下文去预测中心词,而此处用全部的n-gram去预测指定类别

1.2.1 层级softmax

softmax函数常在神经网络输出层充当激活函数,目的就是将输出层的值归一化到0-1区间,将神经元输出构造成概率分布,主要就是起到将神经元输出值进行归一化的作用.

在标准的softmax中,计算一个类别的softmax概率时,我们需要对所有类别概率做归一化,在这类别很大情况下非常耗时,因此提出了分层softmax(Hierarchical Softmax),思想是根据类别的频率构造霍夫曼树来代替标准softmax,通过分层softmax可以将复杂度从N降低到logN,下图给出分层softmax示例:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值