[機(jī)器學(xué)習(xí)入門] 李宏毅機(jī)器學(xué)習(xí)筆記-15 (Unsupervised Learning: Word
Embedding栅受;無監(jiān)督學(xué)習(xí):詞嵌入)
VIDEO |
---|
Word Embedding
Word Embedding 是前面講到的dimension reduction一個(gè)很好的應(yīng)用短条。
1-of-N Encoding,是把所有的word用一個(gè)向量表示礼殊,每個(gè)向量都不一樣驹吮,我們沒辦法從中獲得更多的信息,比如貓和狗都屬于動(dòng)物晶伦,所以這時(shí)我們用Word Class將其分為n個(gè)類型碟狞,但又有了另一個(gè)問題,我們同樣無法得知兩個(gè)類型之間的相關(guān)性婚陪,所以要采用Word Embedding方法族沃,就是把每一個(gè)word都投射到一個(gè)高維空間里,兩個(gè)相似的類型隔得距離較近泌参,這樣就能得到相關(guān)性脆淹。
那么怎樣讓機(jī)器讀懂詞匯呢?
只知道輸入沽一,不知道輸出盖溺,這就是一個(gè)無監(jiān)督學(xué)習(xí)。
核心思想就是铣缠,通過該詞語的上下文烘嘱。
How to exploit the context?
有兩個(gè)方法:
1.Count based
2.Prediction-based
用 前面words 作為neural network的輸入 預(yù)測(cè)下一個(gè)詞的幾率昆禽。
Prediction-based
訓(xùn)練出neural network,所以我們將他的第一個(gè)hidden layer拿出來蝇庭,就能將它們對(duì)應(yīng)到相應(yīng)的空間醉鳖。
但是,僅通過一個(gè)詞匯就要預(yù)測(cè)下一個(gè)詞匯是很難的哮内,所以通過Sharing Parameters來進(jìn)行增強(qiáng)盗棵。
Sharing Parameters
不僅用前一個(gè)word,還用前n個(gè)詞來一起預(yù)測(cè)牍蜂。
同樣的weight是為了讓同一個(gè)word放在i-1的位置和i-2的位置都有同樣的transform,Or, one word would have two word vectors.另外的好處是可以減少參數(shù)量泰涂。
計(jì)算過程:
怎樣讓W(xué)1鲫竞,W2等參數(shù)的weight一樣呢?
那么怎樣來訓(xùn)練這個(gè)network呢逼蒙?
Training
完全是無監(jiān)督的从绘。
Various Architectures 有幾招:
回到Word Embedding
Word Embedding
可以發(fā)現(xiàn),我們把同樣類型的word擺在一起是牢,他們之間是有固定的關(guān)系的僵井。
所以就可以從中發(fā)現(xiàn)一些關(guān)系。
比如讓兩個(gè)word兩兩相減驳棱,然后project到一個(gè)space上批什,如果落到同一處,則他們之間的關(guān)系是很類似的社搅。
有了這個(gè)特性驻债,這樣我們就可以做一些預(yù)測(cè)工作。