[機器學習入門] 李巨集毅機器學習筆記-15 (Unsupervised Learning: Word Embedding;無監督學習:詞嵌入)
[機器學習入門] 李巨集毅機器學習筆記-15 (Unsupervised Learning: Word
Embedding;無監督學習:詞嵌入)
VIDEO |
---|
Word Embedding
Word Embedding 是前面講到的dimension reduction一個很好的應用。
1-of-N Encoding,是把所有的word用一個向量表示,每個向量都不一樣,我們沒辦法從中獲得更多的資訊,比如貓和狗都屬於動物,所以這時我們用Word Class將其分為n個型別,但又有了另一個問題,我們同樣無法得知兩個型別之間的相關性,所以要採用Word Embedding方法,就是把每一個word都投射到一個高維空間裡,兩個相似的型別隔得距離較近,這樣就能得到相關性。
那麼怎樣讓機器讀懂詞彙呢?
只知道輸入,不知道輸出,這就是一個無監督學習。
核心思想就是,通過該詞語的上下文。
How to exploit the context?
有兩個方法:
1.Count based
2.Prediction-based
用 前面words 作為neural network的輸入 預測下一個詞的機率。
Prediction-based
訓練出neural network,所以我們將他的第一個hidden layer拿出來,就能將它們對應到相應的空間。
但是,僅通過一個詞彙就要預測下一個詞彙是很難的,所以通過Sharing Parameters來進行增強。
Sharing Parameters
不僅用前一個word,還用前n個詞來一起預測。
同樣的weight是為了讓同一個word放在i-1的位置和i-2的位置都有同樣的transform,Or, one word would have two word vectors.另外的好處是可以減少引數量。
計算過程:
怎樣讓W1,W2等引數的weight一樣呢?
那麼怎樣來訓練這個network呢?
Training
完全是無監督的。
Various Architectures 有幾招:
回到Word Embedding
Word Embedding
可以發現,我們把同樣型別的word擺在一起,他們之間是有固定的關係的。
所以就可以從中發現一些關係。
比如讓兩個word兩兩相減,然後project到一個space上,如果落到同一處,則他們之間的關係是很類似的。
有了這個特性,這樣我們就可以做一些預測工作。