Word2vec_1

初識Word2vec

Christopher Manning CS224n 2019秋

Overview

Word2vec由Mikolov 在2013年提出,是一個學習詞向量(表示)的框架。

Idea

  • 現實世界中,首先看到是一大堆文本;–語料庫
  • 文本中的每個詞都有其固定的位置,我們就考慮能否將其位置數字化,通過一個形式表示出來呢?–詞向量
  • 掃描(利用迭代算法實現)整個文本中詞的位置,我們會發現它有兩個信息,一個是單獨的詞另一個是以這個詞爲中心(背景詞)的上下文(context)
  • 利用中心測和其上下文的詞向量相似度去實現給了中心詞c求上下文的概率。
  • 持續調整詞向量直至最大化上下文的概率結束。
    在這裏插入圖片描述

objective function

需要做的是對於文本中每個詞的位置t= 1……T,給定一箇中心詞WjW_j,預測窗口大小爲m的上下文。
Likelihood = L(θ)L(\theta) = t=1T\prod_{t=1}^{T}mjm,j0P(Wt+jWt;θ)\prod_{-m\leq j \leq m, j \neq 0} P(W_t+_j|W_t; \theta)
$\theta$爲所優化的全局變量,其目標(損失/代價)函數J(θ)J(\theta)是負對數似然函數:
J(θ)=1TlogL(θ)=1Tt=1Tmjm,j0logP(Wt+jWt;θ)J(\theta) = -\frac{1}{T}logL(\theta) = -\frac{1}{T}\sum_{t=1}^T\sum_{-m\leq j \leq m, j \neq 0 }logP(W_t+_j|W_t; \theta)

T指文本的長度,這裏做一個平均化,對結果沒有實質的影響,只是一個處理手段。
如何優化目標函數J(θ)J(\theta)?

  • 每個詞有兩個向量表示,一是中心詞向量vwv_w,二是上下文向量uwu_w。那麼接下來中心詞c和上下文單詞o,表示爲一個熟悉的softmax函數: P(oc)=exp(uoTvc)wvexp(uwTvc)1P(o|c) = \frac{exp(u_o^Tv_c)}{\sum_w \in _v exp(u_w^Tv_c)} ……公式(1)
  • 優化的參數爲uovcu_o,v_c
    在這裏插入圖片描述

最小化這個目標函數就等價於最大化預測的準確率,這是一個重要技巧,在許多此類函數的處理上都會採用。

  • Softmax函數

    • max 最大項的概率會擴大
    • soft 很小項的概率仍會分配一定的概率
  • 推導
    在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章