그래프 임베딩이란 무엇입니까?


13

최근에는 DeepWalk 및 LINE과 같은 그래프 임베딩을 발견했습니다. 그러나 그래프 임베딩의 의미와 사용시기 (응용 프로그램)에 대한 명확한 아이디어가 여전히 있습니까? 어떤 제안이라도 환영합니다!


1
그래프 임베딩은 그래프 임베딩입니다! 따라서 그래프를 가져 와서 그래프, 가장자리 또는 정점에 대한 임베딩을 반환합니다. 임베딩은 유사 검색을 가능하게하며 일반적으로 표현 을 제공하여 기계 학습을 용이하게합니다 .
Emre

@ 임베딩이란 무엇을 의미합니까? :)
Volka

1
퍼가기의 의미로 무언가를 무언가에 고정시킵니다. 그래프 삽입은 일종의 정점을 표면에 고정하고 가장자리를 그리기 위해 네트워크를 나타내는 것과 같습니다. 평면이 그래프에 내장 될 수있는 것처럼, 예 그럴 에지 크로싱없이 표면. 모서리와 적절한 모서리 길이에 가중치를 지정할 수 있습니다. @Emre 등 검색 유사성 언급 한 바와 같이 우리가 / 견적을 이해하는 데 도움이2D
Kiritee GAK을

@KiriteeGak 감사합니다 :) 실제 응용 프로그램은 무엇입니까? 그들은 추천과 모두를 위해 사용될 수 있다고 말합니까? 그러나 어떻게?
Volka

1
Youtube 비디오 추천은 현재보고있는 비디오가 현재 노드이고 추천에 포함 된 다음 비디오가 유사한 사용자가 다음에 본 것과 많이 본 내용을 기반으로 가장 유사한 비디오 인 모델로 시각화 할 수 있습니다. 더 많은 요소는 물론 통과 할 거대한 네트워크입니다. 백서는 응용 프로그램 이해에 대한 간단한 읽기 자료입니다.
Kiritee Gak

답변:


19

그래프 임베드는 관련 네트워크 특성을 유지하면서 네트워크에서 벡터 공간으로의 맵핑을 학습합니다.

벡터 공간은 그래프보다 데이터 과학에 더 적합합니다. 그래프에는 에지와 노드가 포함되어 있으며 이러한 네트워크 관계는 특정 수학, 통계 및 기계 학습 하위 세트 만 사용할 수 있습니다. 벡터 공간에는 해당 도메인의 풍부한 도구 세트가 있습니다. 또한 벡터 연산은 종종 동등한 그래프 연산보다 단순하고 빠릅니다.

가장 가까운 이웃을 찾는 것이 한 예입니다. 그래프에서 노드에서 다른 노드로 "홉"을 수행 할 수 있습니다. 몇 번의 홉 이후의 많은 실제 그래프에는 의미있는 정보가 거의 없습니다 (예 : 친구의 친구 친구의 추천). 그러나 벡터 공간에서는 거리 메트릭을 사용하여 정량 결과 (예 : 유클리드 거리 또는 코사인 유사성)를 얻을 수 있습니다. 의미있는 벡터 공간에 정량적 거리 메트릭이있는 경우 가장 가까운 이웃을 찾는 것이 간단합니다.

" 그래프 포함 기술, 응용 프로그램 및 성능 : 설문 조사 "는보다 자세하게 설명하는 개요 기사입니다.


26

그래프 임베딩이란 무엇입니까? "그래프 임베딩 (Graph Embeddings)"은 오늘날 머신 러닝 분야에서 인기있는 분야입니다. 기본적으로 그래프의 토폴로지 (매우 기본적인 의미)를 캡처하는 그래프의 "잠재적 벡터 표현"을 찾는 것을 의미합니다. 정점-정점 관계, 모서리 정보 등을 고려하여이 "벡터 표현"을 풍부하게 만들 수 있습니다. 그래프에는 대략 두 가지 수준의 임베딩이 있습니다 (물론 전체 그래프를 논리적으로 나누어서 더 많은 수준을 정의 할 수 있음) 다양한 크기의 하위 그래프) :

  • 정점 임베딩 -여기에 주어진 그래프에서 모든 정점의 잠복 벡터 표현이 있습니다. 그런 다음 공간에 이러한 벡터를 플로팅하여 서로 다른 정점을 비교할 수 있으며 흥미롭게도 "유사한"정점은 유사하지 않거나 덜 관련있는 정점보다 서로 가깝게 그려집니다. 이것은 Perozzi의 "DeepWalk"에서 수행 된 것과 동일한 작업입니다.
  • 그래프 임베딩 -여기서 전체 그래프 자체의 잠재 벡터 표현을 찾을 수 있습니다. 예를 들어, 어떤 화합물이 서로 유사한 지, 그룹에 몇 가지 화합물이 있는지 (클러스터) 확인하려는 화학 화합물 그룹이 있습니다. 이러한 벡터를 사용하여 공간 및 위의 모든 정보를 찾으십시오. 이것은 Yanardag의 "Deep Graph Kernels"에서 수행 된 작업입니다.

응용- 신중하게 살펴보면 임베딩은 "잠재적 인"표현으로, 그래프에 | V | * | V | 인접 행렬 여기서 | V | = 1M, 알고리즘에서 1M * 1M 숫자를 사용하거나 처리하기 어렵다. 따라서 차원 'd'의 잠재 삽입은 d << | V | 인 경우 인접 행렬 | V |를 만듭니다. * d는 비교적 사용하기 쉽습니다. 다른 적용 사례는 다음과 같습니다. 소셜 네트워크에 관심이있는 사람들에게 제품을 추천하려는 간단한 시나리오를 고려하십시오. 정점 임베딩 (여기서는 각 사람의 벡터 표현을 의미 함)을 가져 와서 이러한 벡터를 플로팅하여 유사한 이미지를 찾을 수 있으며 이로 인해 추천이 쉬워집니다. 이들은 일부 응용 프로그램이며 다른 응용 프로그램이 있습니다. 훌륭한 설문지 인 Graph Embedding Techniques, Survey를 참조 할 수 있습니다 .

어디에서 왔습니까? 이 분야에서 많은 연구가 이루어졌으며 거의 ​​모든 것은 자연 언어 처리 분야의 혁신적인 연구-Mikolov의 "Word2Vec"에서 비롯되었습니다. 그래프 임베딩에 대한 연구를 시작하려면 먼저 Word2Vec의 작동 방식을 이해하는 것이 좋습니다. 당신은 좋은 설명을 찾을 수 있습니다 -Word2Vec 매개 변수 학습 설명스탠포드 강의 . 그런 다음 나열된 논문으로 이동할 수 있습니다. 이러한 작품은 다음과 같이 분류 할 수 있습니다.


2
와우 !! 이것은 절대적으로 완벽한 해답입니다. 고마워 :) 아주 잘 했어요 :)
Volka

안녕하세요 Mausam Jain. 네트워크에서 중요한 노드를 식별하기 위해 그래프 임베딩을 사용할 수 있는지 알려주시겠습니까?
Volka

안녕, 볼카 이 질문에 답하기 위해, 당신은 어떤 종류의 그래프 를 작업하고 있는지 알아야 합니다. 트위터, 페이스 북, 레딧 또는 다른 것입니까?
flyingDope

당신의 답변에 감사드립니다. 나는 실제로 가장 사회적 사람들을 식별하고 싶은 소셜 네트워크에서 일하고 있습니다 :)
Volka

0

논문 에서 Levin et.al에 의한 랜덤 도트 곱 그래프의 옴니버스 임베딩에 대한 중심 한계 정리. 논문에서 특정 유형의 그래프 임베딩 (옴니버스 임베딩)은 그래프 임베딩을 "그래프의 정점이 저 차원 유클리드 공간의 벡터에 매핑되는 방법"으로 정의합니다. 자세한 내용은 링크를 확인하십시오.


포럼에 오신 것을 환영합니다. 논문을 언급하고 싶다면, 링크의 내용이 손상 될 수 있기 때문에 그 이름을 텍스트의 일부로 적어주십시오.
Mark.F
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.