帶監(jiān)督的文本分類算法FastText

該算法由facebook在2016年開源,典型應(yīng)用場景是“帶監(jiān)督的文本分類問題”。

模型

模型的優(yōu)化目標(biāo)如下:

其中,$<x_n,y_n>$是一條訓(xùn)練樣本,$y_n$是訓(xùn)練目標(biāo),$x_n$是normalized bag of features。矩陣參數(shù)A是基于word的look-up table,也就是A是詞的embedding向量。$Ax_n$矩陣運(yùn)算的數(shù)學(xué)意義是將word的embedding向量找到后相加或者取平均,得到hidden向量。矩陣參數(shù)B是函數(shù)f的參數(shù),函數(shù)f是一個多分類問題,所以$f(BAx_n)$是一個多分類的線性函數(shù)。優(yōu)化目標(biāo)是使的這個多分類問題的似然越大越好。

將優(yōu)化目標(biāo)表示為圖模型如下:

與word2vec的區(qū)別

這個模型與word2vec有很多相似的地方,也有很多不相似的地方。相似地方讓這兩種算法不同的地方讓這兩

相似的地方:

  1. 圖模型結(jié)構(gòu)很像,都是采用embedding向量的形式,得到word的隱向量表達(dá)。
  2. 都采用很多相似的優(yōu)化方法,比如使用Hierarchical softmax優(yōu)化訓(xùn)練和預(yù)測中的打分速度。

不同的地方:

  1. word2vec是一個無監(jiān)督算法,而fasttext是一個有監(jiān)督算法。word2vec的學(xué)習(xí)目標(biāo)是skip的word,而fasttext的學(xué)習(xí)目標(biāo)是人工標(biāo)注的分類結(jié)果。
  2. word2vec要求訓(xùn)練樣本帶有“序”的屬性,而fasttext使用的是bag of words的思想,使用的是n-gram的無序?qū)傩浴?/li>

V.S. 深度神經(jīng)網(wǎng)絡(luò)

fasttext只有1層神經(jīng)網(wǎng)絡(luò),屬于所謂的shallow learning,但是fasttext的效果并不差,而且具備學(xué)習(xí)和預(yù)測速度快的優(yōu)勢,在工業(yè)界這點(diǎn)非常重要。

  • 比一般的神經(jīng)網(wǎng)絡(luò)模型的精確度還要高。
  • 訓(xùn)練和評估速度快幾百倍。10分鐘內(nèi)就可以在一臺多核CPU訓(xùn)練10億詞匯。1分種內(nèi)完成100萬句子在31萬中類型中的分類。

文獻(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容