天天看點

Word2Vec面試問題彙總1.Word2Vec介紹

1.Word2Vec介紹

主要參考兩篇文章寫的很好:

  • word2vec 中的數學原理詳解系類介紹從預備背景知識講到源碼細節peghoty 寫的,歡迎去通路作者原文
  • 第二個就是劉建平大佬寫的部落格歡迎通路原文

1.1 預備知識

  • 1.1.1 Sigmoid函數(在前面文章介紹過了就不多介紹了)
  • 1.1.2 邏輯回歸
    • 分類任務和回歸任務的差別

      輸入變量與輸出變量均為連續變量的預測問題是回歸問題,輸出變量為有限個離散變量的預測問題成為分類問題.

    • 邏輯回歸不是回歸

      從名字來了解邏輯回歸.在邏輯回歸中,邏輯一詞是logistics [lə’dʒɪstɪks]的音譯字,并不是因為這個算法是突出邏輯的特性.至于回歸,我們前一段講到回歸任務是結果為連續型變量的任務,logistics regression是用來做分類任務的,為什麼叫回歸呢?那我們是不是可以假設,邏輯回歸就是用回歸的辦法來做分類的呢.跟上思路.

    • 例子

      假設剛剛的思路是正确的,邏輯回歸就是在用回歸的辦法做分類任務,那有什麼辦法可以做到呢,此時我們就先考慮最簡單的二分類,結果是正例或者負例的任務.

      按照多元線性回歸的思路,我們可以先對這個任務進行線性回歸,學習出這個事情結果的規律,比如根據人的飲食,作息,工作和生存環境等條件預測一個人"有"或者"沒有"得惡性惡性良性腫瘤,可以先通過回歸任務來預測人體内惡性良性腫瘤的大小,取一個平均值作為門檻值,假如平均值為y,惡性良性腫瘤大小超過y為惡心惡性良性腫瘤,無惡性良性腫瘤或大小小于y的,為非惡性.這樣通過線性回歸加設定門檻值的辦法,就可以完成一個簡單的二分類任務.如下圖:

      Word2Vec面試問題彙總1.Word2Vec介紹
      上圖中,紅色的x軸為惡性良性腫瘤大小,粉色的線為回歸出的函數的圖像,綠色的線為門檻值.預測惡性良性腫瘤大小還是一個回歸問題,得到的結果(惡性良性腫瘤的大小)也是一個連續型變量.通過設定門檻值,就成功将回歸問題轉化為了分類問題.但是,這樣做還存在一個問題. 我們上面的假設,依賴于所有的惡性良性腫瘤大小都不會特别離譜,如果有一個超大的惡性良性腫瘤在我們的例子中,門檻值就很難設定.加入還是取平均大小為門檻值,則會出現下圖的情況:
      Word2Vec面試問題彙總1.Word2Vec介紹

      從上邊的例子可以看出,使用線性的函數來拟合規律後取門檻值的辦法是行不通的,行不通的原因在于拟合的函數太直,離群值(也叫異常值)對結果的影響過大,但是我們的整體思路是沒有錯的,錯的是用了太"直"的拟合函數,如果我們用來拟合的函數是非線性的,不這麼直,是不是就好一些呢?

      1-找到一個辦法解決掉回歸的函數嚴重受離群值影響的辦法.

      2-標明一個門檻值.

    • 把回歸函數掰彎

      沒錯,本小節用來解決上邊說的第一個問題.開玩笑了,無論如何我也不可能掰彎這個函數.我們能做的呢,就是換一個.原來的判别函數我們用線性的y = ,邏輯回歸的函數呢,我們目前就用sigmod函數,公式中,e為歐拉常數(是常數,如果不知道,自行百度),Z就是我們熟悉的多元線性回歸中的 w T x {{\rm{w}}^T}x wTx,建議現階段大家先記住邏輯回歸的判别函數用它就好了.如果你不服,請參考:朱先生1994的部落格(部落格講的很好).

      就像我們說多元線性回歸的判别函數為 y = w 0 x 0 + w 1 x 1 + . . . + w n x n y = {w_0}{x_0} + {w_1}{x_1} + ... + {w_n}{x_n} y=w0​x0​+w1​x1​+...+wn​xn​一樣.追究為什麼是他花費的經曆會比算法本身更多.

      該函數具有很強的魯棒性(魯棒是Robust的音譯,也就是健壯和強壯的意思),并且将函數的輸入範圍(∞,-∞)映射到了輸出的(0,1)之間且具有機率意義.具有機率意義是怎麼了解呢:将一個樣本輸入到我們學習到的函數中,輸出0.7,意思就是這個樣本有70%的機率是正例,1-70%就是30%的機率為負例.

      再次強調一下,如果你的數學功底很好,可以看一下我上邊分享的為什麼是sigmod函數的連接配接,如果數學一般,我們這個時候沒有必要糾結為什麼是sigmod,函數那麼多為什麼選他.學習到後邊你自然就了解了.

      總結一下上邊所講:我們利用線性回歸的辦法來拟合然後設定門檻值的辦法容易受到離群值的影響,sigmod函數可以有效的幫助我們解決這一個問題,是以我們隻要在拟合的時候把 y = w 0 x 0 + w 1 x 1 + . . . + w n x n y = {w_0}{x_0} + {w_1}{x_1} + ... + {w_n}{x_n} y=w0​x0​+w1​x1​+...+wn​xn​即y = w T x {{\rm{w}}^T}x wTx換到函數中。同時,因為g(z)函數的特性,它輸出的結果也不再是預測結果,而是一個值預測為正例的機率,預測為負例的機率就是1-g(z).

    • 未完,(剩下的可以移步到原作者部落格去看CSDN部落客「winrar_setup.rar」的原創文章)原文連結:https://blog.csdn.net/weixin_39445556/article/details/83930186
  • 1.1.3 Bayes公式
    • 未完

繼續閱讀