Jag stötte nyligen på grafbäddning som DeepWalk och LINE. Men jag har fortfarande inte en klar uppfattning om vad som menas med grafinbäddningar och när man ska använda den (applikationer)? Alla förslag är välkomna!

Kommentarer

  • En grafbäddning är en inbäddning för grafer! Så det tar ett diagram och returnerar inbäddningar för diagrammet, kanterna eller hörnpunkterna. Inbäddningar möjliggör likhetssökning och underlättar i allmänhet maskininlärning genom att tillhandahålla representationer .
  • @Emre vad menar det med inbäddning? 🙂
  • Som innebörden av bädden går, fixa saker på något. Inbäddning av diagram är ungefär som att fixera hörn på en yta och rita kanter för att representera ett nätverk. Så exempel kan vara som plan graf kan bäddas in på en $ 2D $ yta utan kantkorsning. Vikter kan tilldelas kanter och lämpliga kantlängder, dvs. hjälper oss att förstå / uppskatta som @Emre nämnde likhetssökning etc.
  • @KiriteeGak Tack 🙂 Vilka är deras verkliga applikationer? De säger att de kan användas för rekommendation och allt? men hur?
  • Youtube-videorekommendationer kan visualiseras som en modell där video du för närvarande tittar på är den nod du befinner dig på och nästa videor som finns i din rekommendation är de som liknar dig mest baserat om vad liknande användare har sett nästa och många fler faktorer naturligtvis vilket är ett enormt nätverk att korsa. Detta papper är en enkel läsning för att förstå applikationen.

Svar

Grafbäddning lär sig en mappning från ett nätverk till ett vektorutrymme, samtidigt som relevanta nätverksegenskaper bevaras.

Vektorutrymmen är mer mottagliga för datavetenskap än grafer. Diagram innehåller kanter och noder, dessa nätverksförhållanden kan bara använda en specifik delmängd av matematik, statistik och maskininlärning. Vektorutrymmen har en rikare verktygssats från dessa domäner. Dessutom är vektoroperationer ofta enklare och snabbare än motsvarande grafoperationer.

Ett exempel är att hitta närmaste grannar. Du kan utföra ”humle” från nod till en annan nod i ett diagram. I många verkliga diagram efter ett par humle finns det lite meningsfull information (t.ex. rekommendationer från vänner till vänner till vänner). I vektorrymden kan du dock använda avståndsmätvärden för att få kvantitativa resultat (t.ex. euklidiskt avstånd eller Cosine-likhet). Om du har kvantitativa avståndsmätvärden i ett meningsfullt vektorutrymme är det enkelt att hitta närmaste grannar.

Grafinbäddningstekniker, applikationer och prestanda: En undersökning ”är en översiktsartikel som går närmare in.

Svar

Vad är diagraminbäddningar? ”Grafinbäddningar” är ett hett område idag inom maskininlärning. Det betyder i princip att hitta ”latent vektorrepresentation” av grafer som fångar topologin (i mycket grundläggande mening) i diagrammet. Vi kan göra denna ”vektorrepresentation” rik genom att också överväga vertex-vertex-förhållanden, kantinformation etc. Det finns ungefär två nivåer av inbäddningar i grafen (naturligtvis kan vi när som helst definiera fler nivåer genom att logiskt dela upp hela grafen underbilder av olika storlekar):

  • Vertex-inbäddningar – Här hittar du latent vektorrepresentation av varje toppunkt i den angivna grafen. Du kan sedan jämföra de olika hörnpunkterna genom att plotta dessa vektorer i utrymmet och intressant ”liknande” hörn plottas närmare varandra än de som är olika eller mindre relaterade. Detta är samma arbete som görs i ”DeepWalk” av Perozzi.
  • Grafinbäddningar – Här du hittar den latenta vektorbilden för hela grafen. Till exempel har du en grupp kemiska föreningar som du vill kontrollera vilka föreningar som liknar varandra, hur många typer av föreningar som finns i gruppen (kluster) etc. Du kan använda dessa vektorer och plotta dem i rymden och hitta all ovanstående information. Detta är arbetet som görs i ”Deep Graph Kernels” av Yanardag.

Applikationer – Genom att titta noga är inbäddningar ”latenta” representationer, vilket betyder att om en graf har en | V | * | V | angränsningsmatris där | V | = 1M, det är svårt att använda eller bearbeta 1M * 1M-nummer i en algoritm. Så, latent inbäddning av dimensionen ”d”, där d < < | V |, skulle göra angränsningsmatrisen | V | * d och relativt lättare att använda. En annan applikation kan vara – Tänk på ett enkelt scenario där vi vill rekommendera produkter till människor som har liknande intressen i ett socialt nätverk.Genom att få vertex-inbäddningar (här betyder det vektorrepresentation av varje person) kan vi hitta liknande genom att plotta dessa vektorer och detta gör rekommendationen lätt. Det här är några applikationer och det finns andra. Du kan hänvisa till en trevlig undersökningspapper – Grafinbäddningstekniker, en undersökning .

Varifrån kom allt? Det har gjorts många arbeten inom detta område och nästan alla kommer från den banbrytande forskningen inom naturligt språkbearbetningsfält – ”Word2Vec” av Mikolov. Om du vill komma igång med forskningen om grafinbäddningar rekommenderar jag att du först förstår hur Word2Vec fungerar. Du hittar fina förklaringar – Word2Vec-parameterinlärning förklaras och Stanford-föreläsning . Sedan kan du hoppa till de papper som du listade. Dessa verk kan kategoriseras som:

Kommentarer

  • Wowww !! Detta är absolut ett perfekt svar. Tack så mycket 🙂 Mycket bra gjort 🙂
  • Hej Mausam Jain. Kan du snälla meddela mig om jag kan använda diagraminbäddningar för att identifiera viktiga noder i nätverket?
  • Hej Volka. För att svara på den här frågan måste jag veta vilken typ av diagram arbetar du med; är det twitter, facebook, reddit eller något annat?
  • Tack för ditt svar. Jag arbetar faktiskt i ett socialt nätverk där jag vill identifiera de mest sociala människorna 🙂
  • Här är ’ en mer detaljerad version av detta svar. mot datascience.com/…

Svar

I papperet En central gränssats för en omnibusbäddning av slumpmässiga punktproduktdiagram av Levin et.al. papper, en specifik typ av grafinbäddning (Omnibus-inbäddning) definierar inbäddning av diagram som en metod ”där kurvorna i en graf avbildas till vektorer i ett lågdimensionellt euklidiskt utrymme.” Kolla länken för mer information.

Kommentarer

  • välkommen till forumet. Om du vill nämna ett papper, skriv också ner dess namn som en del av texten (eftersom länkar kan brytas).

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *