Graph Database Meetup in Korea #4. Graph Database Usecases based on Graph Theory (그래프 이론을 적용한 그래프 데이터베이스 활용 사례)
국내 유일 그래프 데이터베이스 연구 개발 전문 기업, <비트나인> 주최로 진행된
그래프 데이터베이스 밋업(Meetup) 4번째! "그래프 이론을 적용한 그래프 데이터데이터베이스 활용 사례_ 그래프 이론 및 그래프 알고리즘 소개" 입니다.
10가지 그래프 이론 소개 및 활용 사례를 소개 드렸습니다. 발표자료를 통해 그래프 데이터베이스의 다양한 활용 사례를 확인해 보시기 바랍니다. :)
AgensGraph는 고객의 DB 수집 및 가공을 통한 저장/관리부터, 분석하여 시각화를 통한 구현 목표 기능과의 연동까지! "데이터 흐름의 모든 영역"에서 서비스를 제공하고 있습니다.
☞ 발표 영상 보러가기: https://www.youtube.com/playlist?list=PLGp3huJbWNDhQT4aBCS13udGhYnIc1GnO
☞ 밋업 참가 신청 하러가기: https://www.meetup.com/ko-KR/graphdatabase/
☞ 이메일 문의: hnkim@bitnine.net
☞ 그래프 데이터베이스 솔루션 AgensGraph 직접 사용해 보기: https://bitnine.net/
Graph Database Meetup in Korea #4. 그래프 이론을 적용한 그래프 데이터베이스 활용 사례
1. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Graph Database Meetup
그래프 이론을 적용한 그래프DB 활용 사례
Ver 1.2
2018.05.10
2. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Index
Session 1. Graph Database 소개
Session 2. Graph Theories and Use Cases
3. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Session 1.
What is The Graph Database
4. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Graph Database의 개념
5. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 5
Graph 개념
Graph는 점(Vertex)와 선(Edge)의 연결로 데이터를 저장하여, 특정 대상 간 상관관계를 파악하기 용이 함
Vertex Edge Graph+ =
대상 객체를 표현함
ex) 홍길동/21세/남/…
ex) 모자/캡/남성용/...
관계를 표현함
ex) 구입하다, 대행하다, 선물하다
대상 간 인과관계를 표현함
ex) OOO쇼핑몰 8월 구매 흐름
6. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 6
Graph Data
모든 종류의 데이터 간의 관계를 점(Vertex or Node)과 선(Edge or Relationship)으로 연결한 데이터 모델
Property
Edge
Vertex
Label
7. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 7
Graph Database
Graph Data Model을 기반으로 데이터를 저장, 관리, 분석할 수 있는 기술을 제공하는 데이터베이스
Graph Query Language
Administration Tools
Data Management
데이터 처리 및 분석을 위한 직관적인 언어
시스템 관리, 백업, 모니터링 등과 같은 관리 도구
데이터 캐시, 클러스터 구성, 트랜잭션 관리
8. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 8
RDB와 GDB 비교
시각적인 그래프를 통해 데이터를 확인하므로 직관적으로 문제에 대한 파악 및 insight 도출 가능
고객정보 테이블
상품정보 테이블 상품유형 테이블
주문정보 테이블
구매하다
ㆍID: 1
ㆍName: Bill
ㆍGender: Male
ㆍAge: 25
ㆍProductID: 10235
ㆍProductName: ElectricRazor
ㆍUnitPrice: 164,000
ㆍProductType: Home_Appliances
ㆍOrderID: 17082101
ㆍProductID: 10235
ㆍUserID: 1
ㆍQuantity: 1
ㆍPrice: 164,000
Bill E_Razor
property property property
Relational Database Graph Database
9. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 9
RDB와 GDB 비교 (1/3) – Performance
데이터 조회시 Join을 위한 테이블 스캔 연산이 없어 응답속도가 매우 빠름.
Depth RDBMS execution time(s) GraphDB execution time(s) Records returned
2 0.016 0.01 ~2500
3 30.267 0.168 ~110,000
4 1543.505 1.359 ~600,000
5 Unfinishied 2.132 ~800,000
했을 때,
응답 시간 차이 1.6~1135배
Relational Database Graph Database
Alisa의 친구의 친구를
검색하는 질의(Query)를
요청
10. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 10
RDB와 GDB 비교 (2/3) – Flexibility
데이터 구조 변경이 자유로운 Schema-less한 데이터 구조로 급변하는 비즈니스 환경에 유연하게 적용 가능.
Relational Database Graph Database
11. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 11
RDB와 GDB 비교 (3/3) - Intuitive
시각적인 그래프를 통해 데이터를 확인하므로 직관적으로 문제에 대한 파악 및 insight 도출 가능
Relational Database Graph Database
12. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Graph Database 활용 사례
13. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 1313
파나마의 최대 로펌 모색 폰세카가 보유하고 있던,
20만개 이상의 조세피난 역외회사들에 관한, 약 1,150만 건의 기밀문서자료
각 국 전·현직 지도자, 정치인, 유명인사들의 조세 회피 관련 정보들이 포함되어
전세계적으로 파장을 일으킨 사건
※ 출처: 2018 The International Consortium of Investigative Journalists; ICIJ
14. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 14
The Panama Papers 사례. Issue
ICIJ는 해당 사건을 분석하는데, 기존 관계형DB 기반 분석기술로는 수십년이 소요될 것으로 판단 함
e-Mail Database PDF Image Text ETC.
4,804,618건 3,047,306건 2,154,264건 1,117,026건 320,166건 2,242건
(O)(X) (X) (X) (X) (X)
관계형DB 기반 분석기술의 한계
ㆍ사전 규격화되지 않은 비정형 데이터 처리가 불가능
(이미지, 문서, 영상, 녹취, 메일 등)
ㆍ다양한 상관관계 간 분석이 어려움
※ 출처: 2018 ICIJ
15. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 15
The Panama Papers 사례. Solution
데이터 유형에 상관없이, 광범위하고 복잡한 관계를 분석할 수 있는 그래프DB를 통해 해결함
Graph Database를 이용해 저장 및 분석 조세회피 근거를 명확히 규명함
※ 출처: 2018 The International Consortium of Investigative Journalists; ICIJ
16. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Session 2.
Graph Theories and Use cases
17. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Index
1. 그래프DB Offering과 그래프 이론
2. 그래프 이론 개요
3. 그래프 이론 소개 및 활용사례
4. 그래프 알고리즘 요약
18. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프DB Offering과 그래프 이론
19. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 데이터베이스 오퍼링과 그래프 이론
19
AgensGraph
Visualization, monitoring
and management
of complex enterprise
Analyzing massive
documents and discover
insights from unstructured
data
Proactive pattern detection
from network behaviors for
threat analysis and crime
investigation
Distributed ledger, transaction
and user monitoring for
operational excellence of
private Blockchain
Supporting for user’s
decision for specific domains
by subjective probability
algorithm
AssetManager TextMiner PatternDetector ChainKeeper DecisionTutor
Value
Offering
Definition
Graph
Theory
Target
Industry
AgensBrowser
• Manufacturing
• Utility & Telco
• Healthcare
• Education
• Government
• Banking, Card
• Banking, card
• Logistics
• Education
• Retail
그래프데이터베이스의 적용 영역은 상당히 광범위하나, 비트나인은 AgensGraph 기반의 5가지 핵심
오퍼링을 정의하고 상세화함
Node Edge Graph Node Edge & Treemapping Graph Node Edge Graph Node Edge Graph Node Edge Graph
Motif extraction Motif extraction
Similarity Similarity
Statistical Method Statistical Method
Community Detection Community Detection Community Detection
Centrality Centrality Centrality Centrality
MST MST
Shortest Path Shortest Path
Text Mining
Time Series Time Series
Bayesian
Pattern Detection
Clustering & Classification
Ranking
Other Statistics
Presentation(표현) Discovery(발견) Inference(추론)
Network
20. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 개요
21. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Micro-level Meso-level Macro-level
그
래
프
분
석
기
법
그
외
분
석
기
법
21
그래프 분석 스펙트럼
그래프 분석을 위한 그래프 이론은 필요한 분석범위에 따라 다양한 분석지표가 있으며, 아래는 대표적인 영역임
Classification & Clustering Shortest path MSTPattern detectionRanking & Centrality
Bayesian statisticsText mining Regression & Time series analysis
22. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프의 기본 구성
Basic Graph Glossary
Terminology Definition Concept
Degree,
Strength
Degree 는 i 노드가 가진 링크의 개수(또는 I 노드로부터 연결된 노드의 개수)를 의미
Strength 는 Weighted graph에서는 degree 개념을 확장하여 i 노드가 가진 링크의 강도의 총합
Binary, Weighted 연결선의 강도 존재 유무에 따라서 나뉘는 기준
Undirectional,
Directional
연결선의 방향성의 존재 유무에 따라서 나뉘는 기준
Unipartite,
Multipartite
노드의 구성이 한가지 종류로만 이루어져 있는지, 또는 여러 종류로 이루어져 있는지에 따라서
그래프의 종류를 나눈 것 (노드의 종류가 2가지로만 이루어져 있는 경우, Bipartite graph)
Hypergraph
링크개념을 확장한 기준으로서 , 하나의 연결선이 다수의 노드와 연결가능한 그래프를 의미함.
일반적으로 Hypergraph data의 경우 hyperedge를 이종의 Node로 표현한 Bipartite graph로
치환하여 정보손실없이 데이터를 다룸
Motif 그래프 네트워크 상에서 특정 국부(Local) 네트워크가 지니는 속성
Monoplex, Multiplex,
Multilayer graph
그래프가 하나의 레이어로만 이루어져 있는지(Monoplex), 또는 둘 이상의 레이어로 구성되며 각
레이어를 구성하는 노드는 동일하고 링크의 구성만 바뀌는지(Multiplex), 아니면 둘 이상의
레이어로 구성되며 각 레이어를 구성하는 노드set 또한 변하는지(Multilayer)에 대한 구분 방법
22
23. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
24. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 24
Node-Edge Graph. 정의 및 목적
데이터 구성요소를 객체(점, Node)와 객체간 관계(선, Edge)로 표현하는 데이터 표현 모델임
What?
(정의)
Why?
(목적)
How?
(활용법)
데이터를 점과 선으로 단순화해 표현한
데이터 모델로서, 그래프 이론의 기본 개념
1. 각기 다른 시스템으로부터 연결패턴의
유사성을 찾아 보편적인 분석절차를
수행하기 위함
2. 연결관계가 복잡한 시스템으로부터
직관적인 분석을 수행하기 위함
관계정보 기반의 탐색 또는 분석을 통한
시사점 도출
Vertex / Node
Edge /
Relationship
Property
Protein interaction networkInternet network
Graph modelActor network
Barabási, A. L. (2016). Network science. Cambridge university press.
25. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 25
Node-Edge Graph. 활용 사례
데이터 구성 요소간 관계가 복잡하고 다양한 시스템의 경우, 그래프로 표현하는것이 적합함
그래프는 SNS시스템의 사용자
프로필 정보와 사용자간의 복잡한
관계를 나타내고, 분석하기에 적합함
Social Network
생명과학 분야 중 -omics와 같이
대규모의 데이터 간 상호작용을
나타내고 분석하는데 그래프가
적합함
Omics network
다양한 IT 서비스 운영기관의 경우
구성된 전산시스템 전체 모니터링
환경 구축 시 물리적-논리적
시스템간의 연관관계를 그래프
형태로 관리하는것이 편리함
Network/IT
Operations
활용 사례 사례 별 그래프 예시
Metabolic pathway network
of Escherichia coli
자산 계층
(HW 장비)
네트워크 계층
(스위치, 회선)
논리서버 계층
(Web, DB서버)
응용서버 계층
(App. 서버)
서비스 계층
(Application)
protein-protein interaction network of
Escherichia coli
26. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
27. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 27
Ranking(Centrality). 정의 및 목적
각각의 데이터에 다양한 기준, 조건 등을 적용하여 데이터들간의 순위를 도출하는 기법을 말함
What?
(정의)
Why?
(목적)
How?
(활용법)
각각의 데이터에 수많은 기준, 조건 등을
적용하여 데이터들간의 순위를 도출하는
기법
데이터들 간의 상대적 중요성을 측정하기
위함
1. Degree Centrality - 가장 간단한 중심성
척도로, 한 노드에 연결된 모든 Egde의
갯수(Weighted 그래프일 경우에는 모든
Weight의 합)로 중심성을 평가
2. Eigenvector Centrality - 노드의 연결
회수와, 연결된 이웃의 중요도를 종합한
랭킹 알고리즘
페이지랭크와 그 관계를 도식화한 그림.
A, B, C 등은 페이지를 나타내고, 숫자는 PageRank를 의미함
28. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 28
Ranking(Centrality). 활용 사례
Ranking 알고리즘은 노드의 연결 회수와 연결된 이웃의 중요도를 종합하는 개념임
1. Closeness - Graph상에서 특정
노드가 다른 임의의 노드들과
평균적으로 얼마나 가까운가에 대한
척도
2. Betweenness - Graph상에서 모든
node pair에 대한 shortest path set을
구하였을 때, 특정 노드를 거쳐가는
path가 몇 개나 되는지를 정량적으로
계산한 매개중심성 척도
중심성 척도
사례
활용 사례 사례 별 그래프 예시
특정 세그먼트에 집중된 데이터의
발생 빈도를 분석 (패턴 추출과 연계)
예시) ‘서울’에 거주중인 ‘30대’ ‘여성’
이 주로 구입한 상품 찾아, 해당
타겟에 추천
타겟 마케팅
(상품추천,
큐레이션)
Transaction #1 Transaction #2 Transaction #3
Transaction #4 Transaction #5 Transaction #n
29. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
30. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 30
Pattern detection. 정의 및 목적
방대한 데이터 사이에 존재하는 일정한 패턴을 발견/인식하여 특정 문제를 해결하기 위한 알고리즘
What?
(정의)
Why?
(목적)
How?
(활용법)
불규칙하고 방대한 데이터 사이에서, 일정한
패턴을 발견/인식하여 특징을 찾아내는 기법
어떤 문제의 원인이 가지는 형식을 발견하여
주어진 문제를 해결하기 위함
1. Jaccard coefficient - 두 집합 사이의
유사도를 측정
2. Cosine similarity - 내적공간의 두 벡터간
각도의 코사인값을 이용하여 측정된
벡터간의 유사도를 측정
P#1-6P#1-5 P#1-nP#1-4P#1-3P#1-2P#1-1
Pattern#1
31. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 31
Pattern detection. 활용 사례
패턴 탐지/추출을 통해 고객에게 더나은 서비스를 해줄 수 있는 상승효과 및 상황 모니터링 등을 통한
예방효과가 가능함
시스템 로그인
접속 로그
분석을 통한
이상 징후 포착
침해위협 탐지
(CTI)
보험청구 접수된
내역 분석을
통한 사기 활동
적발
이상거래 탐지
(FDS)
한 사용자가
20 개 이상의 위치에서,
시스템에 동시에 로그인 한
이상징후 포착
32. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
33. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 33
Classification (Clustering). 정의 및 목적
대규모 데이터를 의도한 목적에 따라 분류 또는 군집하여 시사점을 발견함
What?
(정의)
Why?
(목적)
How?
(활용법)
어떤 객체나 대상을 밀접한 유사성 또는
거리에 따라 구분하여, 목적에 맞게
활용하는 기법
분류 또는 군집을 통해 시사점을 발견하고
각 영역에 맞는 대응 전략 수립 또는 추론을
하기 위함
1. 분류화(Classification) - 주어진 데이터
집합을 이미 정의된 몇 개의 클래스로
구분 (숫자인식 등)
2. 군집화(Clustering) - 입력 데이터의 분포
특성을 분석하여 임의의 복수 개의
그룹으로 구분 (영상분리 등)
A B C D E
A Group B Group
C GroupD GroupE Group
Refer : http://www.differencebetween.net/
34. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 34
Classification (Clustering). 활용 사례
소셜 네트워크 상에서 고객 활동을 분석하여, 성향에 최적화된 서비스 제공할 수 있음
소셜 네트워크 상의 사용자 취향을
분석하여, 해당 사용자에 최적화된
서비스 제공
예시) 뉴스피드, 콘텐츠, 광고,
친구추천, 상품 추천 등
소셜 네트워크
분석
활용 사례 사례 별 그래프 예시
각 저널에 투고된 논문들의 인용관계
등을 분석하여 학문분야를 재구성 및
시각화
예시) Shape of science
문헌분석
Hassan-Montero, Y., et al. (2014). El profesional de la información, 23(3).
사용자 취향 분석 사용자 최적화 콘텐츠 노출
35. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
36. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 36
Shortest Path. 정의 및 목적
두 지점 사이의 경로 가중치(시간, 돈 등 경로 당 비용) 합을 최소화하는 경로를 탐색하는 것을 말함
What?
Why?
How?
최단 경로 알고리즘이란 그래프 상의 두 정점
사이를 연결하는 경로 중 가장 짧은 경로를
찾는 절차
특정 두 지점 간에 가장 빠른 경로를 이용해
경제적, 시간적 비용을 줄여 프로세스를 최적화
복잡한 네트워크 모델링을 위해 최단거리 탐색
알고리즘을 기반으로 분석대상 확장
1. Dijstra Algorithm – 최단경로 탐색 기초
알고리즘
2. Bellman-Ford Algorithm – 변수의 가중치가
음수일 때 사용
3. Floyd Warshall Algorithm - 모든 꼭지점
사이의 최단 경로를 구할 때 사용
Graph
Data
• Graph Sources
• Input
Shortest
Path
• Graph Traversal
• Intermediate
Result
Frequen
cy
Analysis
• Pattern mining
• Output
Refer : Waqas Nawaz, et al., Shortest Path Analysis in Social Graphs, 2014
Shortest path and Graph
Dijstra Algorithm
Refer : http://www.101computing.net/dijkstras-shortest-path-algorithm/
37. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 37
Shortest Path. 활용 사례
중간 경로가 늘어날 수록 비용이 증가하는 비즈니스 문제를 해결하기 위함
• 대표적인 최단 거리 알고리즘 활용
사례
• Vertex = 지도 상 위치
• Edge = 도로
• 가중치 = 도로 이동 시간
네비게이션
시스템
• 수송망 네트워크
• Vetex = 출발/도착/중개 포인트
• Edge = 수송 수단
• 가중치 = 수송 비용
최소비용
수송네트워크
• Facebook 그래프의 시각화
• Clustering 알고리즘 적용
• 최단거리 경로 도출
SNS 그래프
경로 최적화
활용 사례 사례 별 그래프 예시
Refer : Waqas Nawaz, et al., Traversal Optimizations and
Analysis for Large Graph Clustering, 2015
38. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
39. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 39
Min./Max. Spanning Tree. 정의 및 목적
그래프 내 모든 Node를 연결하는 Edge의 가중치 합이 최소/최대가 되는 부분그래프를 구함
What?
Why?
How?
복잡한 그래프의 부분집합을 추출하는
기법으로서, 추출된 부분그래프 내 Edge
weight의 총합이 최소/최대가 되는
부분집합을 추출함
다양하고 복잡한 경우의 수가 존재하는
그래프의 핵심을 추려내기 위함
1. 아주 복잡한 대규모 그래프의 경우, MST를
활용하여 그래프 내 중요 뼈대를 추출하는
기법으로 활용
2. 공정관리와 같이 경우의 수가 제약된 최적화
문제의 해법을 도출하는 기법으로 활용
Minimum spanning tree of US highway
Major military deployment sites
40. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 40
Min./Max. Spanning Tree. 활용 사례
투입비용이 많이 드는 설비의 계획 또는 복잡한 연관관계의 핵심을 파악하는데 사용
대규모의 통신선로 구축 시, 설비가
필요한 공간을 네트워크로 표현하고
MST를 이용하여 통신설비 계획
통신선로
설계
• PERT – 작업 순서나 공정 진도를
네트워크모델로 표현하고 관리
• CPM – 주어진 납기내 최소원가를
산정하여 스케쥴링
PERT (Program
Evaluation and Review
Technique)
CPM (Critical Path
Method)
활용 사례 사례 별 그래프 예시
41. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
42. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 42
Text Mining. 정의 및 목적
주어진 토막글 내부 의미를 컴퓨터가 인식하고 분석할 수 있도록 정형화 하는 프로세스
What?
(정의)
Why?
(목적)
How?
(활용법)
반/비정형 텍스트 데이터를 정형화하고,
특징을 추출하는 기법
추출된 특징으로부터 의미 있는 정보를
발견할 수 있도록 하기 위함
1. 폭발적으로 발생하는 텍스트데이터를
그래프 형태로 구조화 하여 관리
2. 주어진 질문에 대한 올바른 답안을
도출하기 위한 지식 그래프 Pool을
구축하고 탐색함
43. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 43
Text Mining. 활용 사례
폭발적으로 발생하는 비정형 데이터를 효과적으로 처리하기 위한 도구로서 그래프를 이용
자연어 처리를 통해 파싱(parsing)된
어절단위의 text의 의미를 파악하는
pool로서 지식 그래프를 구축함
챗봇 구축
(지식 그래프)
주어진 주제와 관련한 온라인 게시글
(트위터 등)을 수집하고 분석하여
해당 주제에 대한 누리꾼들의 반응을
파악하고 의견을 취합함
실시간 온라인
리뷰 분석
활용 사례 사례 별 그래프 예시
44. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
45. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 45
Regression Analysis. 정의 및 목적
관찰된 연속형 변수들에 대해 독립변수와 종속변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법
What?
(정의)
Why?
(목적)
How?
(활용법)
하나나 그 이상의 독립변수의 종속변수에
대한 영향의 추정을 할 수 있는 통계기법
여러 데이터들 간의 관계성을 수학적으로
추정, 설명하기 위함
복잡한 그래프에서 상관관계 분석을
기반으로 인과관계를 추론하는데 활용
1. Simple & Multiple Regression –
독립변수와 종속변수가 1:1 또는 N:1 일
경우
2. Linear & Logistic Regression – 선형
또는 범주형 (범주형의 경우 Classification과 연계)
Simple Regression
Refer : https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/
Type of Research Model
X1
ZX2
X3
Y
ZX ZX
Y
(a) 독립-종속변수 (b) 매개변수 (c) 조절변수
46. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 46
Regression Analysis. 활용 사례
회귀분석은 전통적 통계이론이지만, 그래프 모델 확산으로 추론을 위한 분석영역으로 확장되고 있음
특정 환자의 증상과 이에 따른
치료약품 Recommendation 모델
분석 (특정 연구 영역의 인과관계
모델로 확대)
의약품
효능 분석
인터넷 서비스 유형에 따른 그래프
모델의 상관관계를 정의하고 이를
Logistic 회귀분석을 통해 분석함
그래프 위상기반
Logistic
Regression
분석
활용 사례 사례 별 그래프 예시
서비스
A
서비스
B
서비스
H
非 유사
유사
서비스간
Correlation network
생성 및 분류
A
C
B
F
G
ID
E H
Spinal
Stenosis
Back
pain
Sciatica
Leg pain
Chymop
apain
Posture-
D
methylpr
ednisolo
ne
bupivac
aine
Remarks : Disease, Symptom, Drug
Refer : http://www.nactem.ac.uk/
The National Centre for Text Mining, Univ. of Manchester
47. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
48. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 48
Time Series Analysis. 정의 및 목적
과거 데이터의 변화를 분석하고 이를 수학적으로 모델링해 미래 데이터를 예측함
What?
Why?
How?
시간에 따라서 변하는 자료로부터 패턴을
찾고 모델링하는 분석기법
과거 자료로부터 미래 예측을 하기 위함
시계열분석은 그래프 이론과 접목하여
1. 시계열 기반의 진화그래프 분석
2. 그래프 요소의 시계열 분석
과 같이 활용됨
Time series
analysis
Graph
based on time series
Time series analysis of
graph elements
패턴별 Frequency
Time
최빈패턴
추출그래프
생성
Time
49. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 49
Time Series Analysis. 활용 사례
시계열분석은 그래프 이론과 접목하여 크게 두 방향의 분석이 이루어짐
시계열 기반의
그래프 분석
그래프 요소의
시계열분석
활용 사례 사례 별 그래프 예시
복수의 시계열이 발생하는 시스템의
경우(주식시장, 뇌파 등),
전체시스템에 대한 단순명료한
분석을 위하여 시계열 간 상호연관
네트워크를 구축함
변화하는 그래프의 경우, 그래프
요소(Edge weight, Motifs, etc.)에
대한 시간변화를 시계열 분석을
수행함
http://vax.herokuapp.com/
SHIN, et al. Subgraph “backbone” analysis of dynamic brain networks
during consciousness and anesthesia. PloS one, 2013, 8.8: e70899.
50. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 이론 소개 및 활용사례
● Node-edge Graph
● MST (Min./Max. Spanning Tree)
● Pattern detection
● Shortest path
● Classification (Clustering)
● Regression
● Time series analysis
● Text mining
● Ranking (Centrality)
● Bayesian
Graph Analysis Other Statistics
51. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
Bayesian. 정의 및 목적
베이지안 확률 이론에서 출발하여 베이지안 네트워크 및 추론 영역으로 발전하고 있음
What?
(정의)
Why?
(목적)
How?
(활용법)
실험을 통하여 추가 정보를 얻은 후, 베이즈
정리를 사용하여 가설 확률을 업데이트하는
통계적 추론 방법
데이터를 주어진 조건에 맞게 적응하도록
동적으로 분석할 때 주로 적용되며, 최근의
인공지능 분야에서는 사전 데이터로부터
배운 지식을 추가 데이터로 조건에 맞게
업데이트할 때 사용함
1. 예측하고자 하는 미래와 유사한 과거
데이터 샘플링
2. 샘플링한 데이터를 과거 발생 확률과
종합하여 결과 확인 (Subjective and
Objective)
3. 예측 시점의 특이사항을 반영하여 예측
결과 도출
Bayesian’s theorem
Refer : Steven D. Buckingham, Bench philosophy : Bayesian statistics, Labtimes, 04/2011
Refer : https://www.bayesserver.com/docs/introduction/bayesian-networks
51
52. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 52
Bayesian. 활용 사례
최근 베이지안 이론은 인공지능 기계학습의 확산과 더불어 추론, 추천 등 광범위한 영역에서 활용되고 있음
매년 같은 날의 과거 기상
데이터와 현재 기후변화를
분석하여 날씨 예측
날씨 예측
예시) 유동인구 수요조사를 통한
‘맥도날드’ 입점 의사결정
예시) 차량통행량 분석을 통한
신규도로 공사지 선정
공급수요 예측
(유동인구,
차량통행량 등)
활용 사례 사례 별 그래프 예시
53. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved. 53
그래프 이론에 대한 AgensGraph의 구현 절차
ApplicationSource Data
수집 가공 분석 시각화
기능
연동
저장
&관리
AgensGraph는 고객의 DB를 수집 및 가공을 통한 저장관리부터, 분석하여 시각화를 통한 구현 목표 기능과의
연동까지 데이터 흐름의 모든 영역에서 서비스를 제공함
분석방법에 따라
선택적 수행
GDB를 활용한
데이터 분석절차
분석 결과에 따른 재 가공
그래프 이론 적용 부분
54. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 알고리즘 요약
55. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 알고리즘 요약
Graph Algorithm
Theory Algorithm Definition Notation and/or Concept
Ranking
(Centrality)
Eigenvector
Centrality
선형대수의 고유벡터 개념을 그래프에 적용한 알고리즘으로서 노드의 연결
회수와, 연결된 이웃의 중요도를 종합한 랭킹 알고리즘
PageRank
노드 Vi 에 대한 가중치를 이와 간선으로 연결된 다른 노드들의 개수와
중요도로 평가
Pattern
Detection
Jaccard
Coefficient
두 집합 사이의 유사도를 측정. 자카드 계수는 0과 1 사이의 값을 가지며, 두
집합이 동일하면 1의 값을 가지고, 공통의 원소가 하나도 없으면 0의 값을
가짐
Cosine
Similarity
내적공간의 두 벡터간 각도의 코사인값을 이용하여 측정된 벡터간의
유사도를 측정
Classification
(Clustering)
k-means
Clustering
각 클러스터와 거리 차이의 분산을 최소화하는 방식으로, 레이블이 달려
있지 않은 입력 데이터에 레이블을 달아주는 역할을 수행
Girvan-Newman
Centrality가 높은 Edge를 삭제해 나아가면서 Graph 내 Group을 찾는
알고리즘
Shortest Path
Dijstra
Algorithm
시작 노드부터 끝 노드까지의 최단 경로를 구하는 알고리즘으로 시작
노드에서 인접한 노드를 찾고, 최단거리가 알려지지 않은 노드들의
최단거리 노드 찾기를 반복하여 실행
Bellman-Ford
Algorithm
거리 변수의 가중치가 음수일 때 사용
Floyd Warshall
Algorithm
모든 꼭지점 사이의 최단 경로를 구할 때 사용
INITIALIZE-SINGLE-SOURCE(G, s)
1 for each vertex v ∈ V[G]
2 do d[v] ← ∞
3 π[v] ← NIL
4 d[s] 0
5 for each edge (u, v ) ∈ E [G ]
6 do if d [v ] > d [u ] + w (u, v )
7 then return FALSE
8 return TRUE
FLOYD-WARSHALL(W )
1 n ← rows[W ]
2 D(0) ← W
3 for k ← 1 to n
RELAX(u, v, w)
1 if d[v] > d[u] + w(u, v)
2 then d[v] ← d[u] + w(u, v)
3 π[v] ← u
BELLMAN-FORD(G, w, s)
1 INITIALIZE-SINGLE-SOURCE(G, s)
2 for i ← 1 to |V [G ]| - 1
3 do for each edge (u, v ) ∈ E [G ]
4 do RELAX(u, v, w )
4 do for i ← 1 to n
5 do for j ← 1 to n
6 do
7 return D(n)
55
56. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
그래프 알고리즘 요약 - 계속
Theory Algorithm Definition Notation and/or Concept
MST
(Min./Max.
Spanning
Tree)
Prim’s Algorithm
노드 기준에서의 알고리즘으로서 , 기준 노드로부터 간선비용에 따라
신장트리의 이웃을 결정하는 알고리즘 (Dense graph에서 최적)
Kruskal’s Algorithm
간선 기준의 알고리즘으로서 간선비용에 따른 순차적인 대입을 통한
취사선택을 하는 알고리즘 (Sparse graph에서 최적)
Text Mining
Frequent Itemset
Mining
동시에 출현하는 여러 항목 집합에서 동시에 출현하는 항목 집합을 탐색
SimRank
그래프 구조에서 두 노드의 유사도를 구하기 위한 방법으로 두 노드가
유사한 노드들에 의해 공통적으로 연관되어 있는 유사도를 계산
Regression
Linear Regression 종속변수를 독립변수와 오차항의 선형결합으로서 나타낼 수 있는 것
Logistic Regression
로지스틱 회귀는 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를
대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정
분류로 나뉘기 때문에 일종의 분류 (classification) 기법으로도 활용
Bayesian Bayes’ theorem
두 확률 변수의 사전 확률과 사후 확률 사이의 관계를 나타내는 정리로
사전확률로부터 사후확률을 구함. 전통적인 확률이 연역적 추론에 기반을
두고 있다면 베이즈 정리는 확률임에도 귀납적, 경험적인 추론을 사용
Graph Algorithm
56
57. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
AgensGraph 그래프 분석 알고리즘
AgensGraph는 고객이 원하는 분석에 최적화된 다양한 그래프 분석 기능을 제공하고 있음
동형 사상 검색 SNS 차수 중심 검색 위상 정렬 최단 경로 검색 연결성 높은 요소 강조
랜덤그래프 분석 꼭지점 차수 분포 SNS 분석 중심요소 계산 네트워크 중심 탐색 IN/OUT 요소 탐색
그래프 기호 연산 임의 근방 제거 그래프 특성 테스트 오일러 사이클 시각화 해밀턴 사이클 시각화 엣지 커버
독립 엣지 집합깊이 우선 검색너비 우선 검색순환 분해 채색트리 강조 중심/주변 거리 계산
Analytics
행렬 표현 전환
57
58. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.
References
Book, Report and Column
1. Steven D. Buckingham, Bench philosophy : Bayesian statistics, Labtimes, 2011
2. Federal Highway Administration. Status of the Nation's Highways, Bridges, and Transit: 2004 Conditions and Performance. 2015.
3. Milena Yankova, Text Mining to Triplestores – The Full Semantic Circle, 2015.
4. SUNIL RAY, 7 Types of Regression Techniques you should know!, 2015.
5. Barabási, A. L., Network science, 2016.
6. IDC Report 2016.
7. CDEP, Digital Economy Outlook 2017.
8. Meyavuz, Prim’s Algorithm Progression Animation for randomly distributed points, 2017.
9. Veritas, Data Genomics Index 2017.
Paper
1. Kanehisa, M., et al. KEGG: kyoto encyclopedia of genes and genomes. Nucleic acids research, 28(1), 27-30, 2000.
2. KLAMT, Steffen, et al. Hypergraphs and cellular networks. PLoS computational biology, 5.5: e1000385, 2009.
3. Shin, J., et al. Subgraph “backbone” analysis of dynamic brain networks during consciousness and anesthesia. PloS one, 8(8), e70899, 2013.
4. Hassan-Montero, Y., et al. Graphical interface of the SCImago Journal and Country rank: an interactive approach to accessing bibliometric information. El profesional de la información,
23(3), 272-278, 2014.
5. Nawaz, W., et al. Shortest Path Analysis in Social Graphs. International Conference on Convergence and its Application (ICCA), Seoul, Korea, 2014.
6. Rajagopala, S. V., et al. The binary protein-protein interaction landscape of Escherichia coli. Nature biotechnology, 32(3), 285, 2014.
7. Nawaz, W. Traversal optimizations and analysis for large graph clustering. Data Engineering Workshops (ICDEW), 31st IEEE International Conference on (pp. 260-264). IEEE, 2015.
Web
1. Difference between.net
2. Dijkstra’s Shortest Path Algorithm
3. The National Centre for Text Mining, Univ. of Manchester
4. VAX! A game about epidemic prevention.
5. Bayesian simple model
58
59. ⓒ 2018 by Bitnine Co, Ltd. All Rights Reserved.