FastText 分类
一、fastText简介
fastText是一个 快速文本分类 算法,与基于神经网络的分类算法相比的优点:
1、fastText 在保持高精度的情况下加快了训练速度和测试速度
2、fastText 不需要预训练好的词向量,fastText会自己训练词向量
3、fastText 两个重要的优化:Hierarchical Softmax、N-gram
二、fastText模型架构
fastText 模型架构和word2vec 中的CBOW 很相似, 不同之处是fastText 预测标签而CBOW 预测的是中间词,即模型架构类似但是模型的任务不同。下面我们先看一下CBOW的架构:
word2vec将上下文关系转化为多分类任务,进而训练逻辑回归模型,这里的类别数量|V|词库大小。通常的文本数据中,词库少则数万,多则百万,在训练中直接训练多分类逻辑回归并不现实。word2vec中提供了两种针对大规模多分类问题的优化手段, negative sampling 和hierarchical softmax。
在优化中,negative sampling 只更新少量负面类,从而减轻了计算量。hierarchical softmax 将词库表示成前缀树,从树根到叶子的路径可以表示为一系列二分类器,一次多分类计算的复杂度从|V|降低到了