一、h-softmax
在面對label眾多的分類問題時,fastText設計了一種hierarchical softmax函數。使其具有以下優勢:
- (1)適合大型數據+高效的訓練速度:能夠訓練模型“在使用標准多核CPU的情況下10分鍾內處理超過10億個詞匯”,特別是與深度模型對比,fastText能將訓練時間由數天縮短到幾秒鍾。
- (2)支持多語言表達:利用其語言形態結構,fastText能夠被設計用來支持包括英語、德語、西班牙語、法語以及捷克語等多種語言。
可以認為,FastText= (word2vec中)CBOW + h-softmax;其結構為:輸入 - 隱層 - h-softmax
基本原理
- 根據標簽(label)和頻率建立霍夫曼樹;(label出現的頻率越高,Huffman樹的路徑越短)
- Huffman樹中每一葉子結點代表一個label;
二、理論分析
層次之間的映射
將輸入層中的詞和詞組構成特征向量,再將特征向量通過線性變換映射到隱藏層,隱藏層通過求解最大似然函數,然后根據每個類別的權重和模型參數構建Huffman樹,將Huffman樹作為輸出。 
模型的訓練
Huffman樹中每一葉子結點代表一個label,在每一個非葉子節點處都需要作一次二分類,走左邊的概率和走右邊的概率,這里用邏輯回歸的公式表示 
如何做到fast

