iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
AI & Data

初探 Network Science系列 第 19

Day-19-Paper Reading -- Graph Embedding - 續

  • 分享至 

  • xImage
  •  

Graph Embedding Techniques

Edge Reconstruction Based Optimization

Minimizing Margin-Based Ranking Loss

在 minimizing margin-based ranking loss 中,edge 代表的是一組 node 之間的關係

重點在於一個點的 embedding 跟其他相關的 node 的 embedding 應該要比其他不相關的 node 的 embedding 要更接近。

objective function(normal)

https://chart.googleapis.com/chart?cht=tx&chl=%24%7BO%7D_%7Brank%7D%20%3D%20%5Cmin%20%5Csum%20%5Climits%20_%7Bv_i%5E%2B%20%5Cin%20V_i%5E%2B%7D%20%5Csum%20%5Climits%20_%7Bv_i%5E-%20%5Cin%20V_i%5E-%7D%20%5Cmax%20%5Clbrace%200%2C%5Cgamma%20-%20%20s(v_i%2C%20v_i%5E%2B)%2Bs(v_i%2C%20v_i%5E-)%5Crbrace%24

  • https://chart.googleapis.com/chart?cht=tx&chl=%24v_i%5E%2B%24 代表的是跟 https://chart.googleapis.com/chart?cht=tx&chl=%24v_i%24 有關係的 node
  • https://chart.googleapis.com/chart?cht=tx&chl=%24v_i%5E-%24 代表的是跟 https://chart.googleapis.com/chart?cht=tx&chl=%24v_i%24 沒有關係的 node
  • https://chart.googleapis.com/chart?cht=tx&chl=%24%5Cgamma%24 是 margin 的大小

目標是:

  1. min loss rank
  2. max https://chart.googleapis.com/chart?cht=tx&chl=%24s(v_i%2C%20v_i%5E%2B)%24https://chart.googleapis.com/chart?cht=tx&chl=%24s(v_i%2C%20v_i%5E%2B-)%24 之間的 margin

objective function(knowledge graph embedding)

https://chart.googleapis.com/chart?cht=tx&chl=%24%7BO%7D_%7Brank%7D%5E%7Bkg%7D%20%3D%20%5Cmin%20%7B%5Csum%7D_%7B%7B%3Ch%2Cr%2Ct%3E%20%5Cin%20%7BS%7D%2C%20%5Catop%20%3Ch%5E%7B%5Cprime%7D%2Cr%2Ct%5E%7B%5Cprime%7D%3E%20%20%5Cnotin%20%7BS%7D%7D%7D%20%5Cmax%20%5Clbrace%200%2C%5Cgamma%20%2B%20f_r(h%2Ct)-f_r(h%5E%7B%5Cprime%7D%2Ct%5E%7B%5Cprime%7D)%5Crbrace%24
knowledge graph 是由三元組所組成,分別是 <head, realation, tail>,所以 objective function 要稍微修改

  • https://chart.googleapis.com/chart?cht=tx&amp;chl=%24f_r(h%2Ct)%24 代表的是針對關係 r,在 embedding 中 head 跟 tail 的距離分數。

Graph Kernel

意思是整個 graph 可以被分解成包含所有的 substructure 的向量。

graph kernel 有兩種功能(?):

  1. grpah kernel 是 R-convolution kernel 的實例,但是是屬於一種更通用的方式,使用遞迴的方式來分解結構化的物件。
  2. 可以將 graph kernel 當作 graph 的向量,並且使用 inner product 來計算兩個 graph 之間的相似度。

graph kernel 有三種類型:

  1. graphlet
  2. subtree patterns
  3. random walk

graphlet

graphlet 是一個大小為 k 非同構的子圖。假設有一個 https://chart.googleapis.com/chart?cht=tx&amp;chl=%24G%24,可以被分解成不同的 graphlet,使用 { https://chart.googleapis.com/chart?cht=tx&amp;chl=%24g_%7B1%7D%2C%20g_%7B2%7D%20...%20g_%7Bd%7D%24 } 表示。然後使用特殊的方式將這些 graphlet 轉換成 d 維的向量,這個向量稱為 https://chart.googleapis.com/chart?cht=tx&amp;chl=%24y_%7BG%7D%24,這個向量中的每一個元素代表的是 https://chart.googleapis.com/chart?cht=tx&amp;chl=%24G%24 中包含 https://chart.googleapis.com/chart?cht=tx&amp;chl=%24g_%7Bi%7D%24 的個數。

subtree patterns

在這個 kernel 裡面,graph 會被分解成它的 subtree patterns。

random walk

在這個 kernel 裡面,graph 會被分解成隨機路徑。並且會記錄下這種路徑的出現次數,這些特徵可以用來當作這個 graph 的特徵。


上一篇
Day-18-Paper Reading -- Graph Embedding - 續
下一篇
Day-20-Paper Reading -- Graph Embedding - 續
系列文
初探 Network Science30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言