Saya baru-baru ini menemukan grafik embedding seperti DeepWalk dan LINE. Namun, saya masih belum memiliki ide yang jelas seperti apa yang dimaksud dengan embeddings grafik dan kapan menggunakannya (aplikasi)? Ada saran dipersilahkan!
13
Jawaban:
Penyisipan grafik mempelajari pemetaan dari jaringan ke ruang vektor, sembari mempertahankan properti jaringan yang relevan.
Ruang vektor lebih cocok untuk ilmu data daripada grafik. Grafik berisi tepi dan simpul, hubungan jaringan itu hanya dapat menggunakan subset tertentu dari matematika, statistik, dan pembelajaran mesin. Ruang vektor memiliki toolset yang lebih kaya dari domain tersebut. Selain itu, operasi vektor seringkali lebih sederhana dan lebih cepat daripada operasi grafik yang setara.
Salah satu contoh adalah menemukan tetangga terdekat. Anda dapat melakukan "hop" dari node ke node lain dalam grafik. Dalam banyak grafik dunia nyata setelah beberapa lompatan, ada sedikit informasi yang bermakna (misalnya, rekomendasi dari teman teman teman). Namun, dalam ruang vektor, Anda dapat menggunakan metrik jarak untuk mendapatkan hasil kuantitatif (misalnya, jarak Euclidian atau Kesamaan Kosinus). Jika Anda memiliki metrik jarak kuantitatif dalam ruang vektor yang bermakna, langsung menemukan tetangga terdekat.
" Teknik, Aplikasi, dan Kinerja Penyematan Grafik: Survei " adalah artikel tinjauan umum yang lebih rinci.
sumber
Apa itu Embeddings grafik? "Grafik Embeddings" adalah area panas saat ini dalam pembelajaran mesin. Ini pada dasarnya berarti menemukan "representasi vektor laten" dari grafik yang menangkap topologi (dalam arti yang sangat mendasar) dari grafik. Kita dapat membuat "representasi vektor" ini kaya dengan juga mempertimbangkan hubungan vertex-vertex, informasi tepi dll. Ada kira-kira dua level embedding dalam grafik (tentu saja kita dapat kapan saja menentukan lebih banyak level dengan secara logis membagi seluruh grafik ke dalam subgraph dengan berbagai ukuran):
Aplikasi - Dengan memperhatikan dengan seksama, embeddings adalah representasi "laten" yang berarti jika grafik memiliki | V | * | V | matriks adjacency di mana | V | = 1M, sulit digunakan atau memproses angka 1M * 1M dalam suatu algoritma. Jadi, penyisipan laten dimensi 'd', di mana d << | V |, akan membuat matriks kedekatan | V | * d dan relatif lebih mudah digunakan. Aplikasi lain bisa jadi - Pertimbangkan skenario sederhana di mana kami ingin merekomendasikan produk kepada orang-orang yang memiliki minat serupa di jejaring sosial. Dengan mendapatkan simpul vertex (di sini berarti representasi vektor dari setiap orang), kita dapat menemukan yang serupa dengan memplot vektor-vektor ini dan ini membuat rekomendasi menjadi mudah. Ini adalah beberapa aplikasi dan ada yang lain. Anda dapat merujuk pada makalah survei yang bagus - Teknik Penyematan Grafik, sebuah Survei .
Dari mana semua itu datang? Ada banyak pekerjaan di bidang ini dan hampir semua berasal dari penelitian inovatif di bidang pemrosesan bahasa alami - "Word2Vec" oleh Mikolov. Jika Anda ingin memulai dengan penelitian tentang embeddings grafik, saya akan merekomendasikan untuk terlebih dahulu memahami cara kerja Word2Vec. Anda dapat menemukan penjelasan yang bagus - pembelajaran parameter Word2Vec menjelaskan dan Stanford Lecture . Kemudian Anda dapat melompat ke kertas yang Anda daftarkan. Karya-karya tersebut dapat dikategorikan sebagai:
Bekerja berdasarkan "Vertex Embeddings": - DeepWalk , Node2Vec , LINE .
Karya berdasarkan "Graph Embeddings": - Deep Graph Kernels , Subgraph2Vec .
sumber
Dalam makalah Sebuah teorema batas pusat untuk penyematan omnibus dari grafik produk titik acak oleh Levin et.al. kertas, jenis tertentu dari embedding grafik (embedded Omnibus) mendefinisikan embedding grafik sebagai metodologi "di mana simpul grafik dipetakan ke vektor dalam ruang Euclidean dimensi rendah." Periksa tautan untuk informasi lebih lanjut.
sumber