日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

论文阅读:DeepWalk

發(fā)布時(shí)間:2024/1/3 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 论文阅读:DeepWalk 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

DeepWalk[1]這篇文章挺有意思的, 主要是講怎么用Deep Learning的方法學(xué)圖結(jié)構(gòu), 學(xué)出每個(gè)節(jié)點(diǎn)的隱含表示(比較像LSA、LDA、word2vec那種)。 發(fā)在了14年的KDD上, 咱們看到的是預(yù)覽版本。

github地址作者也放出來了, github地址

下面大致講一下文章是怎么弄得, 是個(gè)閱讀筆記。

一、 介紹,優(yōu)點(diǎn)

先說概念, 學(xué)出來什么樣。 圖a是輸入圖, 圖b是輸出。

例子是將一個(gè)輸入的圖轉(zhuǎn)化成了2維表示。 輸入是圖和圖的自身結(jié)構(gòu),輸出是二維表示。 例子應(yīng)該是做的比較好的, 基本將本來是cluster的弄得也比較近, 不過這點(diǎn)比較容易。

優(yōu)點(diǎn):1) 與傳統(tǒng)cluster、降維方法比, 這個(gè)方法的優(yōu)點(diǎn)是可以調(diào)試, 也就代表著這東西可以堆數(shù)據(jù), 因而在知識(shí)圖譜,在社交網(wǎng)絡(luò)上是有應(yīng)用的。

2) 與傳統(tǒng)cluster比能學(xué)到維度,能進(jìn)一步利用。

3) 與降維比, 其實(shí)沒什么優(yōu)點(diǎn), 但是圖結(jié)構(gòu)本身沒有什么比較正常、有可以大規(guī)模使用的降維方法。

應(yīng)用: 1. 社交網(wǎng)絡(luò)學(xué)習(xí)特征;2. 知識(shí)圖譜學(xué)習(xí)表示;3. 推薦系統(tǒng)學(xué)習(xí)低維度關(guān)聯(lián)性。

二、 隨機(jī)游走和語言模型

1. 隨機(jī)游走

假設(shè)節(jié)點(diǎn)$v_i$處的隨機(jī)游走是$W_{v_i}$,則全過程表示為$W_{v_i}^1,W_{v_i}^2,W_{v_i}^3,cdots,W_{v_i}^k$。

為什么要用隨機(jī)游走:增加隨機(jī)性,加速,可調(diào),之類的。

2. zipfs law

這篇文章主要是說用word2vec的思想學(xué)圖的, 所以一個(gè)非常重要的問題是, 詞和圖的節(jié)點(diǎn)像不像, 對(duì)于社交網(wǎng)絡(luò)或者知識(shí)圖譜來說,是沒問題的, 見下圖。

這說明詞頻和社交網(wǎng)絡(luò)大致相等, 主要是要有那個(gè)比較劇烈的曲線。 這玩意也被叫做zipf 定律, 可以看統(tǒng)計(jì)自然語言處理,上面有詳細(xì)說明。

3. 語言模型

語言模型主要是學(xué)詞序列。詞序列為:$W_1^n = (w_0,w_1,cdots ,w_n)$。

學(xué)的時(shí)候主要是學(xué)$Pr(w_n | w_0,w_1,cdots, w_{n-1})$ , 最常見的方法當(dāng)然是n-gram, 現(xiàn)在新興的是word2vec。

對(duì)于word2vec這樣的模型來說, 既然是詞向量, 那么學(xué)的也是概率表示,即:

$$Pr(w_n | Phi(w_0), Phi(w_1),cdots, Phi(w_{n-1})) $$

隨著路徑長度增加, 學(xué)習(xí)難度會(huì)變困難。 一個(gè)比較好的(這段平心而論,我沒看懂)方式是,用一個(gè)詞去預(yù)測整個(gè)文章,且忽略詞順序。 優(yōu)化問題如下

$$min(Phi) -log Pr ({w_{i-w},cdots, v_{i-1},v_{i+1} , cdots, v_{i+w} } | Phi(v_i) )$$

由于順序被忽略了, 所以比較適合圖學(xué)習(xí), 因而有了這篇論文。 其實(shí)還是得感謝Minklov, 呵呵。

三、 訓(xùn)練方法

將圖節(jié)點(diǎn)表示為詞表(V)。

算法分兩部分:1. 隨機(jī)游走;2.更新過程

隨機(jī)游走, 對(duì)圖G,隨機(jī)采樣1節(jié)點(diǎn)$v_i$, 作為根節(jié)點(diǎn)$W_{v_i}$, 然后一直向周圍采樣,直到達(dá)到最大路徑長度t。 算法如下:

其中3-9行是核心, 用skip-gram去更新。 skip-gram算法圖如下:

這玩意也就是通常說的隨機(jī)梯度。 后面還加了個(gè)層次softmax,用于加速。

核心流程: 1. 隨機(jī)游走, 2. 用sgd學(xué)向量。 我倒是感覺其實(shí)最有意思的是隨機(jī)游走那段。

四、 代碼賞析

talk is cheap, show me the code。

文件基本上沒幾個(gè), 非常少, __init__ 沒啥用, main主要是調(diào)參數(shù)的, 這個(gè)沒啥講的, 自己看好了。

先看random walk怎么寫的, 這是graph類的一個(gè)函數(shù), graph就是封裝了一個(gè)字典。 這個(gè)好水, 就是直接隨了n個(gè)點(diǎn)。 然后加進(jìn)去。

然后是skip-gram,如下:

就是封裝了一下gensim的word2vec類,自己連動(dòng)手都沒。

核心訓(xùn)練過程,就下面這句

五、整體評(píng)價(jià)、實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)還行, 這玩意主要的有點(diǎn)是能學(xué)出結(jié)構(gòu), 實(shí)驗(yàn)不是特別搓就行。

評(píng)價(jià): 從技術(shù)的層面上,沒啥,random walk倒是用的很新穎。 沒有跟spreading activation比較過。

參考文獻(xiàn):

[1] Perozzi B, Al-Rfou R, Skiena S. DeepWalk: Online Learning of Social Representations[J]. arXiv preprint arXiv:1403.6652, 2014.

總結(jié)

以上是生活随笔為你收集整理的论文阅读:DeepWalk的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。