Contents
- Networks and Applications
- Structure of Graphs
Networks are a general language for describing complex systems of interacting entities!
= 상호작용하는 특성들을 설명
우리가 살고 있는 세상 속에는 생각보다 많은 도메인에서 많은 요소들이 네트워크로 구성되어 있다 ~
모든 network는 도메인마다 다르고, 각 네트워크에 존재하는 object의 의미와 관계 모두 다 다르다 ~
Network를 통해 괜찮은 Relational Structure 를 구축한다면 ~?
= By explicitly modeling relationships, we achieve better performance
= 네트워크를 이해하면, 이런 시스템을 모델링하고 예측할 수 있게 된다
그럼.. why network?
1. univeral language for describing complex data
2. shared vocab btw fields
3. data availability & computational challenges
4. impact! (Google, Facebook, Amazon, ...)
사람들 사이의 관계 그래프로 표현 ~
link prediction : node를 embedding 함으로써, 비슷한 네트워크를 가진 노드가 서로 가까이 있도록 설정...
-> (나의 이해) 노드 임베딩 하면 비슷한 특성을 가진 노드는 비슷한 embedding space 에 존재하게 되는데, 이 때 비슷한 임베딩 공간에 존재하고 있는 노드에 연결되어 있는 다른 이웃 노드들 추천
-> 비슷한 embedding space 에 있는 것 graph-based 로 추천!
진짜 뉴스는 이렇게 서로서로 연관성이 있는데, 가짜 뉴스는 연결이 안 되어 있다. random 으로 구분하거나(50%) human이 구분(66%)하는 것 보다 graph-based로 구분(86%)하는 것이 훨씬 성능이 좋다
🙋🏻 학생 질문 :
그래서 그래프 네트워크 왜 하나용? 안 와닿아요
🙆🏻♀️ 답변 :
prob : we don't have enough data
do : capturing prior knowledge network
to be efficient the amount of data you have
result : provide information
unidirected 에서는 연결된 개수만 구하면 되서 degree 로 표현하지만,
directed 에서는 방향성도 고려해야 하기 때문에 in-degree, out-degree 구분
모든 노드에 모두 연결 ~ everyone links to everyone!
최대 edge 개수를 가진 undirected graph
서로 다른 종류의 독립된 노드들로 구성된 그래프!
U-V 사이만 연결되어 있고, U끼리는 연결 No & V끼리도 연결 No No
대표적인 예시가 pinterest! + Authors-to-Papers, Actors-to-Movies they appeared in 등등 ...
실제 도메인에서 많이 나타나고 있는 구조라고 함 ~
(추천시스템 CF - U : user
, V : item
)
bipartite graph를 펼쳐서, neighbor in common이 존재하면 연결 ~
ex. Projection V
A와 B는 2 라는 공통 요소를 가지고 있어서 연결되지만,
A와 C는 공통 yellow node 가 없어서 연결이 안 됨
인접행렬! (+ 알고리즘에서 맨날 본 bfs dfs ㅠㅠ)
bridge edge
, articulation node
: 삭제되면 connected 에서 disconnected 로 바꿀 수 있는 edge / nodestrongly connected components (SCC)
: any node can visit each other, 그래프에서 부분적으로 나타나는 connected subgraph