Loading...
2024. 9. 4. 22:33

군집을 찾는 알고리즘2 - Louvain algorithm

주어진 그래프의 개별 정점에서부터 점점 군집을 병합해가는 상향식 알고리즘  1. first phase - modularity optimization 처음 주어진 상태에서는 개별 node 1개씩이 하나의 군집이라고 생각 특정 node i를 그것의 이웃(neighbor)인 j에 병합시키면서 modularity의 변화량을 계산함 원래 상태의 modularity와 이웃인 j에 병합시킨 뒤 modularity의 차이를 계산한다. 병합시키면 군집이 생기니까 modularity는 최소한 감소하지는 않음 이 때 최대로 modularity가 증가하는 이웃 j가 있을 것인데 그곳에 i를 포함시킨다. 증가하는 경우가 없다면 어떠한 곳에도 포함시키지 않는다. 다시 다른 node v를 선택하여 위 과정을 반복, 모든 node에..

2024. 9. 2. 20:05

그래프 전파 모형3 - 전파 최대화 문제(influence maximization)

1. viral marketing 소비자들로 하여금 상품에 대해 긍정적인 입소문을 내게하는 기법 효과적으로 상품 정보가 소비자들에게 알려질려면 소문의 시작점이 중요하다. 시작점에 따라 입소문이 전파되는 범위가 달라지기 때문이다.  2. importance of seed set SNS 인플루언서들이 높은 광고비를 받는 이유가 있다. 전파 모형에서 첫 시작점을 seed set이라고 부르는데 viral marketing에서는 이 시작점을 잘 선택해야 광고 효과를 극대화할 수 있다.   케이트 미들턴을 광고 모델로 선택했더니 판매량이 급증했다 선형 임계치 모형에서도 seed set의 중요성을 볼 수 있는데 처음에 u와 v를 선택했을 때 총 9명(7명 전파)이 A를 선택했다.    만약 위 모형에서 다음과 같이 ..

2024. 9. 1. 22:22

군집을 찾는 알고리즘1 - Girvan-Newman algorithm

1. idea 군집을 찾는 대표적인 하향식 알고리즘으로 전체 그래프에서 시작하여 군집들이 서로 분리되도록 link를 순차적으로 제거함 서로 다른 군집을 연결하는 다리 역할을 하는 link를 먼저 제거해나가야 군집들이 분리 될 것이다.   2. betweenness centrality 그래프의 임의의 두 node의 최단 경로 위에 특정 link가 몇번이나 놓이는지 계산    link A-B는 양 옆 4개의 node중 하나를 선택하여 만든 최단 경로에 모두 존재해야하므로 4*4=16가지가 있다. 따라서 그림을 보면 직관적으로 betweenness centrality가 높은 link는 두 군집을 연결하는 다리 역할을 할 가능성이 높다.   3. algorithm 주어진 그래프에서 모든 link의 매개 중심성을..

2024. 5. 15. 00:42

그래프 전파 모형2 - 확률적 전파 모형(Stochastic cascade model)

1. 왜 확률적 전파 모형이 필요한가? 코로나19가 전파되는 과정을 모형화하고 싶은데 의사결정 기반의 선형 임계치 모형은 적절한 모형일까? 그렇지 않다. 누구도 코로나19에 걸리려고 의사결정을 한것이 아니다. 확률적으로 코로나19에 감염되기 때문에 확률에 기반한 전파 모형이 적절하다.  2. 독립적 전파 모형(independent cascade model) 방향성이 있고 가중치가 있는 weighted directed graph를 생각하자. u에서 v로의 weighted link (u,v)의 가중치는 P(u,v)로 u가 감염되었을 때 v를 감염시킬 확률이다.  당연하지만 시작점인 u가 감염되지 않았을 때는 의미 없다. node u가 감염될때마다 v를 감염시킬 확률 P(u,v)에 의해 다음 v를 감염시킨다...

2024. 5. 10. 23:41

그래프 전파 모형1 - 선형 임계치 모형(linear threshold model)

1. 그래프를 통한 전파 1) 정보의 전파 SNS에 의한 정보 전파 스페인의 15M 운동은 트위터를 통해 전국적으로 알려졌다    2) 행동의 전파 SNS에 의한 행동 전파 틀리면 펭귄 사진으로 프로필 사진을 바꿈   아이스 버킷 챌린지  3) 고장의 전파 small world effect의 예시라고 볼 수도 있다.  컴퓨터 네트워크 같은 경우 일부분만 고장나도 다른 부분에서 과부하가 걸려 금방 전체가 고장난다       4) 질병의 전파 사회에서 극히 일부만 질병에 걸려도 전체로 퍼지는 경우가 많다.   네트워크에서 전파과정은 다양하면서 복잡하다.  이것을 체계적으로 이해하고 분석하기 위해 그래프를 이용한 수학적으로 모형화할 필요가 있다.  2. 선형 임계치 모형(linear threshold mode..

2023. 8. 7. 01:13

그래프를 다루는 파이썬의 NetworkX 라이브러리 맛보기

1. NetworkX 그래프를 생성, 변경, 시각화하고 구조와 변화를 분석하는 함수들을 제공하는 파이썬의 라이브러리 속도가 느리나 사용이 편함 비슷한 라이브러리로 Snap.py(아마 Snap이 이름이겠지??)는 속도가 빠르나 사용이 불편하다고함 2. 그래프 시각화 nx.Graph()로 무방향 그래프, nx.DiGraph()로 방향 그래프를 초기화 #그래프의 생성과 초기화 G = nx.Graph() # 방향성이 없는 그래프 DiGraph = nx.DiGraph() # 방향성이 있는 그래프 초기화된 그래프 객체에 add_node를 이용해 그래프에 node를 추가할 수 있음 G.add_node(1) print("Num of nodes in G: " + str(G.number_of_nodes())) print(..