การฝังกราฟคืออะไร


13

ฉันเพิ่งเจอกราฟการฝังเช่น DeepWalk และ LINE อย่างไรก็ตามฉันยังไม่มีความคิดที่ชัดเจนว่ากราฟ embeddings มีความหมายอย่างไรและควรใช้เมื่อใด (แอปพลิเคชัน) ข้อเสนอแนะใด ๆ ยินดีต้อนรับ!


1
การฝังกราฟเป็นการฝังกราฟ! ดังนั้นจึงต้องใช้กราฟและส่งคืน embeddings สำหรับกราฟขอบหรือจุดยอด embeddings เปิดใช้การค้นหาความคล้ายคลึงกันและโดยทั่วไปจะอำนวยความสะดวกในการเรียนรู้เครื่องโดยการให้การแสดง
Emre

@ มันหมายถึงอะไรโดยการฝัง? :)
Volka

1
เมื่อฝังความหมายลงไปแล้ว การฝังกราฟนั้นเหมือนกับการตรึงจุดยอดบนพื้นผิวและการวาดขอบเพื่อแสดงว่าเครือข่าย ตัวอย่างเช่นกราฟระนาบสามารถฝังลงบนพื้นผิวโดยไม่ต้องข้ามขอบ สามารถกำหนดน้ำหนักให้กับขอบและความยาวขอบที่เหมาะสม ได้แก่ ช่วยให้เราเข้าใจ / ประเมินตามที่ @Ere กล่าวถึงการค้นหาความคล้ายคลึงกันเป็นต้น2D
Kiritee Gak

@KiriteeGak ขอบคุณ :) แอปพลิเคชั่นโลกแห่งความจริงของพวกเขาคืออะไร? พวกเขาบอกว่าสามารถใช้สำหรับการแนะนำได้หรือไม่ แต่อย่างไร
Volka

1
คำแนะนำวิดีโอ Youtube สามารถมองเห็นได้เป็นแบบจำลองที่วิดีโอที่คุณกำลังดูอยู่คือโหนดที่คุณเปิดอยู่และวิดีโอถัดไปที่อยู่ในคำแนะนำของคุณคือวิดีโอที่คล้ายกับคุณมากที่สุดโดยอิงจากสิ่งที่ผู้ใช้ที่คล้ายกัน ปัจจัยเพิ่มเติมแน่นอนซึ่งเป็นเครือข่ายขนาดใหญ่เพื่อสำรวจ นี้กระดาษที่ดีง่ายอ่านทำความเข้าใจการประยุกต์ใช้
Kiritee Gak

คำตอบ:


19

การฝังกราฟเรียนรู้การแมปจากเครือข่ายไปยังพื้นที่เวกเตอร์ในขณะที่รักษาคุณสมบัติเครือข่ายที่เกี่ยวข้อง

เวกเตอร์สเปซนั้นคล้อยตามศาสตร์ข้อมูลมากกว่ากราฟ กราฟมีขอบและโหนดความสัมพันธ์เครือข่ายเหล่านี้สามารถใช้เฉพาะส่วนย่อยของคณิตศาสตร์สถิติและการเรียนรู้ของเครื่อง ช่องว่างเวกเตอร์มีชุดเครื่องมือยิ่งขึ้นจากโดเมนเหล่านั้น นอกจากนี้การดำเนินการของเวกเตอร์มักจะง่ายและเร็วกว่าการดำเนินการทางกราฟที่เทียบเท่า

ตัวอย่างหนึ่งคือการค้นหาเพื่อนบ้านที่ใกล้ที่สุด คุณสามารถทำการ "กระโดด" จากโหนดหนึ่งไปอีกโหนดหนึ่งในกราฟ ในกราฟที่ใช้งานจริงหลายแห่งหลังจากมีการกระโดดสองสามครั้งมีข้อมูลที่มีความหมายเพียงเล็กน้อย (เช่นคำแนะนำจากเพื่อนของเพื่อนของเพื่อน) อย่างไรก็ตามในปริภูมิเวกเตอร์คุณสามารถใช้การวัดระยะทางเพื่อให้ได้ผลลัพธ์เชิงปริมาณ (เช่นระยะทางแบบยุคลิดหรือความคล้ายคลึงโคไซน์) หากคุณมีการวัดระยะทางเชิงปริมาณในพื้นที่เวกเตอร์ที่มีความหมายการหาเพื่อนบ้านที่ใกล้ที่สุดนั้นตรงไปตรงมา

" เทคนิคการฝังกราฟแอปพลิเคชันและประสิทธิภาพการทำงาน: แบบสำรวจ " เป็นบทความภาพรวมที่มีรายละเอียดมากขึ้น


26

งานแต่งงานกราฟคืออะไร? "Graph Embeddings" เป็นพื้นที่ร้อนแรงในการเรียนรู้ของเครื่อง โดยทั่วไปหมายถึงการค้นหา "การแทนเวกเตอร์แฝง" ของกราฟที่จับทอพอโลยี (ในแง่ที่พื้นฐานมาก) ของกราฟ เราสามารถทำให้ "การแสดงเวกเตอร์" สมบูรณ์ด้วยการพิจารณาถึงความสัมพันธ์ของจุดยอด - จุดยอดข้อมูลขอบ ฯลฯ มีงานแต่งงานประมาณสองระดับในกราฟ (ซึ่งแน่นอนว่าเราสามารถกำหนดระดับเพิ่มเติมได้ทุกเวลาโดยแบ่งกราฟทั้งหมดเป็นตรรกะ กราฟย่อยขนาดต่างๆ):

  • Vertex Embeddings - ที่นี่คุณจะพบการแสดงเวกเตอร์แฝงของจุดยอดทุกจุดในกราฟที่กำหนด จากนั้นคุณสามารถเปรียบเทียบจุดยอดต่าง ๆ ได้ด้วยการพล็อตเวกเตอร์เหล่านี้ในพื้นที่และจุดยอดที่ "คล้ายกัน" นั้นน่าสนใจซึ่งใกล้กันมากขึ้นกว่าจุดที่แตกต่างกัน นี่เป็นงานเดียวกับที่ทำใน "DeepWalk" โดย Perozzi
  • Graph Embeddings - ที่นี่คุณจะพบการแสดงเวกเตอร์แฝงของกราฟทั้งหมด ตัวอย่างเช่นคุณมีกลุ่มของสารประกอบทางเคมีที่คุณต้องการตรวจสอบว่าสารประกอบใดมีความคล้ายคลึงกันซึ่งมีสารประกอบหลายชนิดในกลุ่ม (กลุ่ม) ฯลฯ คุณสามารถใช้เวกเตอร์เหล่านี้และพล็อตพวกมันในอวกาศและ ค้นหาข้อมูลข้างต้นทั้งหมด นี่คืองานที่ทำใน "Deep Graph Kernels" โดย Yanardag

แอปพลิเคชั่น - โดยการมองอย่างระมัดระวัง embeddings คือการแสดง "แฝง" ซึ่งหมายความว่าหากกราฟมี | V | * | V | adjacency matrix โดยที่ | V | = 1M มันใช้งานยากหรือประมวลผลหมายเลข 1M * 1M ในอัลกอริทึม ดังนั้นการฝังมิติ 'แฝง' โดยที่ d << | V | จะทำให้เมทริกซ์ adjacency | V | * d และใช้งานง่ายขึ้น แอปพลิเคชันอื่นอาจเป็น - พิจารณาสถานการณ์สมมติแบบง่าย ๆ ที่เราต้องการแนะนำผลิตภัณฑ์ให้กับผู้ที่มีความสนใจคล้ายกันในเครือข่ายสังคมออนไลน์ ด้วยการใส่จุดสุดยอด (นี่หมายถึงการแทนเวกเตอร์ของแต่ละคน) เราสามารถหาคนที่คล้ายกันได้โดยการพล็อตเวกเตอร์เหล่านี้และทำให้การแนะนำง่ายขึ้น แอปพลิเคชั่นเหล่านี้บางแอปพลิเคชั่นและอื่น ๆ คุณสามารถดูกระดาษสำรวจความสุข - เทคนิคกราฟฝัง, การสำรวจ

มันมาจากที่ไหน? มีงานจำนวนมากในพื้นที่นี้และเกือบทั้งหมดมาจากการวิจัยที่ก้าวล้ำในสาขาการประมวลผลภาษาธรรมชาติ - "Word2Vec" โดย Mikolov หากคุณต้องการเริ่มต้นด้วยการวิจัยเกี่ยวกับงานแต่งงานกราฟฉันจะแนะนำให้เข้าใจก่อนว่า Word2Vec ทำงานอย่างไร คุณสามารถหาคำอธิบายที่ดี - Word2Vec การเรียนรู้พารามิเตอร์อธิบายและStanford บรรยาย จากนั้นคุณสามารถข้ามไปที่เอกสารที่คุณระบุไว้ ผลงานเหล่านี้สามารถแบ่งได้เป็น:


2
Wowww !! นี่เป็นคำตอบที่สมบูรณ์แบบอย่างแน่นอน ขอบคุณมาก :) ทำได้ดีมาก :)
Volka

สวัสดี Mausam Jain คุณช่วยบอกฉันทีว่าฉันสามารถใช้กราฟ embeddings เพื่อระบุโหนดที่สำคัญในเครือข่าย
Volka

สวัสดี Volka เพื่อที่จะตอบคำถามนี้ฉันต้องรู้ว่าคุณใช้กราฟประเภทใด มันพูดเบาและรวดเร็ว Facebook, Reddit หรืออย่างอื่น?
flyingDope

ขอบคุณสำหรับการตอบกลับของคุณ. จริงๆแล้วฉันทำงานในเครือข่ายโซเชียลที่ฉันต้องการระบุผู้คนที่โซเชียลมากที่สุด :)
Volka

0

ในบทความทฤษฎีบทขีด จำกัด กลางสำหรับรถโดยสารฝังกราฟผลิตภัณฑ์แบบจุดโดย Levin et.al กระดาษการฝังกราฟชนิดเฉพาะ (การฝังแถบ Omnibus) กำหนดกราฟการฝังเป็นวิธีการ "ซึ่งจุดยอดของกราฟถูกแมปกับเวกเตอร์ในปริภูมิแบบยุคลิดแบบมิติต่ำ" ตรวจสอบลิงค์สำหรับข้อมูลเพิ่มเติม


ยินดีต้อนรับสู่ฟอรัม หากคุณต้องการพูดถึงกระดาษโปรดเขียนชื่อเป็นส่วนหนึ่งของข้อความเช่นกัน (เพราะลิงก์อาจใช้งานไม่ได้)
Mark.F
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.