[機器學習]word2vec簡單理解

  • ① 假設我們有10000個不重複的單詞組成的語料庫,同時也有這10000個單詞租成的文章,事實上,語料庫是從文中提取出來的。需要完成的一個非常簡單的任務,即輸入任意一個單詞,輸出其附近最有可能的一個單詞,或者最有可能的n個單詞;
  • ②這個問題不難理解,就是通過輸入監督學習的樣本(x:單詞,y:附近的一個單詞)從而得到一個全連接網絡的模型(甚至都用不到RNN,因爲一次只輸入一個單詞),訓練完成後,輸入任意一個單詞,輸出所有其他單詞在上面的分佈即可(想要選幾個最有可能的單詞就選幾個,反正所有概率都輸出出來了。);
  • ③看似是一個熟悉的訓練全連接網絡的任務(輸入特徵值是one-hot的詞向量,經過一層全連接網絡+一層softmax的輸出層,來實現“預測”最有可能的詞(事實上這裏說不上預測,神經網絡在這裏的作用只是輸學習到的內容而已),但實際上,我們真正需要的,並不是最終的結構,因爲沒有意義,完全可以編一個其他非神經網絡程序實現這個任務,無非就是搜索出所有單詞,統計其附近的單詞量而已。我們實際想要的是第一個隱藏層的權重矩陣,那個矩陣中的每一行實際上就對應了一個詞向量(訓練好以後),因爲意思相近的詞語往往具有類似的上下文,即最後輸出的分佈是相近的,而分佈又相當隱藏層權重(詞向量)*輸出層權重(輸出的每個詞的分佈),所以,能夠導致上下文相近這一個結果的唯一途徑就是詞向量本身是非常接近的,這樣經過相同的矩陣變化後,輸出的結果纔有可能是相近的。這個就是詞向量的主要作用,他背後的生成邏輯是:近似的詞其在文章中上下文的詞應該也是相近的=》在模型中最終輸出相近的結果的上下文,其詞向量也是相近的,即近義詞,或者簡單的單複數形式,進行時或者非進行時形式的詞;
發佈了166 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章