1. 程式人生 > >[機器學習入門] 李巨集毅機器學習筆記-15 (Unsupervised Learning: Word Embedding;無監督學習:詞嵌入)

[機器學習入門] 李巨集毅機器學習筆記-15 (Unsupervised Learning: Word Embedding;無監督學習:詞嵌入)

[機器學習入門] 李巨集毅機器學習筆記-15 (Unsupervised Learning: Word
Embedding;無監督學習:詞嵌入)

PDF 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上,如果落到同一處,則他們之間的關係是很類似的。

這裡寫圖片描述

有了這個特性,這樣我們就可以做一些預測工作。

這裡寫圖片描述