基於神經網路的單詞嵌入相當於隱式矩陣分解

全文鏈接:fjdu.github.io/machine/

摘要

作者分析了 Mikolov 等人之前提出的一種叫做 skip-gram with negative-sampling (SGNS) 的單詞嵌入方法,發現這種方法實際上是在對「單詞-上下文」矩陣做分解。這種矩陣存放的是每個單詞與其上下文之間的逐點互信息 (pointwise mutual information, or PMI)。他們還發現另一種叫 NCE 的單詞嵌入方法也是在分解一個類似的矩陣,這個矩陣的內容是給定上下文後出現某個單詞的幾率的對數。通過使用一個稀疏的正定 PMI 單詞-上下文矩陣來表達單詞,可以改進兩個單詞相似度任務的結果,以及兩個類推任務中的一個的結果。如果更傾向於使用稠密低維矢量表示,則基於 SVD (奇異值分解) 的精確矩陣分解在單詞相似度任務上可獲得至少與 SGNS 一樣好的結果,而在類推問題上 SGNS 仍然優於 SVD。作者猜測這是由於 SGNS 分解里引入了權重。

推薦閱讀:

GitHub上最好的機器學習開源項目有哪些?
基於 Python 的簡單自然語言處理實踐

TAG:机器学习 | 人工智能 | 算法 |