参考资料:fastText源码分析以及使用、fastText原理和文本分类实战,看这一篇就够了
1、神经网络基础
1.1 前馈神经网络
前馈神经网络指的是在神经网络里单方向向前传播。神经网络主要由输入层、隐藏层和输出层构成。
当隐藏层只有一层时,该网络为两层神经网络;如果有多个隐藏层则称之为深度神经网络。隐藏层一般是通过转换输入数据特征空间来进行抽象,提取其特征。在这一过程中,经历多次抽象以获得更好的线性规划,隐藏层数按需求进行人工设定。
1.2 激活函数
常见激活函数:sigmoid函数、tanh函数、ReLU函数。
2、感知机
感知机(Perception)是二分类的线性分类模型。假设训练数据集线性可分,那么感知机的学习目标是得到一个将训练数据集正负实例完全分开的分离超平面。
参考:感知机-人工智站-博客园
3、FastText
FastText是快速文本分类算法,提供了文本表示和文本分类的框架,原理在于给定一个索引集合。给定一个段落,预测某个标签的概率。
它包含三部分:模型架构、层次Softmax和N-gram特征。
模型架构上,类似于CBOW,均基于Hierarchical Softmax。
层次映射上,输入层中的词和词组构成特征向量,再将特征向量通过线性变换映射到隐藏层,求解最大似然数,然后依据权重和模型参数构建哈夫曼树进行输出。
特征上,是词袋模型和N-gram。