cnu data intelligence lab - home - kcc 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의...

60
Tutorial @ KCC 2019 June 26, 2019

Upload: others

Post on 10-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

Tutorial @ KCC 2019 June 26, 2019

Page 2: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

연사 소개

Sungsu Lim Assistant Professor Data Intelligence Lab. Division of Computer Convergence Chungnam National University Web: http://cnudi.com/ E-mail: sungsu (at) cnu.ac.kr Selected Publications [TKDE ’19] LinkBlackHole*: Robust Overlapping Community Detection Using Link Embedding [TIST ’17] Differential Flattening: A Novel Framework for Community Detection in Multi-Layer Networks [JSTAT ’16] Motif-Based Embedding for Graph Clustering (Qualcomm Innovation Award) [ICDE ’16] BlackHole: Robust Community Detection Inspired by Graph Drawing [ICDE ’14] LinkSCAN*: Overlapping Community Detection Using the Link-Space Transformation [TON ’14] Stability of the Max-Weight Protocol in Adversarial Wireless Networks (Humantech Paper Award)

Recent Projects Graph Stream Mining

Data Mining for Smart Living Graph Compression/Summarization

충남대학교 컴퓨터공학과 임성수 02/60

Page 3: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 마이닝

차원 축소 기법

그래프 표현 학습

최신 기법 및 응용

목차

1.1 그래프 마이닝

1.2 관계와 그래프

1.3 대표적인 문제

충남대학교 컴퓨터공학과 임성수 03/60

Page 4: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

빅데이터 분석

데이터의 홍수 속에서 의미 있는 정보를 찾아 제공(수집, 전처리, 저장, 분석, 활용 등)

수집: IT 기술 발달로 인한 실시간, 연결된 데이터 수집 → 비정형, 그래프 데이터

분석: 데이터를 이해하고 유용한 정보를 얻기 위한 분석 → 모델링, 데이터 마이닝

그래프 마이닝

빅데이터를 설명하는 4V 실세계 그래프 스트림

충남대학교 컴퓨터공학과 임성수 04/60

Page 5: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 데이터 분석

복잡하게 연결된 사회 속에서 다양한 종류의 요소가 다양한 형태의 관계 가짐

관계에 기반한 분석을 위해 네트워크 과학(network science) 활용

네트워크를 그래프(graph)로 표현하여 분석

그래프 마이닝

소셜/정보 네트워크 단백질 상호작용 네트워크 도로 네트워크

충남대학교 컴퓨터공학과 임성수 05/60

Page 6: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 표현

주어진 데이터로부터 의미 있는 분석을 하기 위한 그래프 표현(representation)

풀고자 하는 문제에 맞는 그래프로 표현해주면 더 쉽게 해결

그래프 마이닝

이미지 픽셀 간 유사도를 그래프로 표현 뇌 영역별 활성화를 그래프로 표현

* 참고자료: Intro. to segmentation, Lecture note, Stanford CS231B [LINK]

The brain as a network, Nature ’12 [LINK]

충남대학교 컴퓨터공학과 임성수 06/60

Page 7: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 그래프

고차원 데이터는 데이터 간 거리를 통한 전역적(global) 구조 파악이 어려움

유사도를 가중치로 하는 그래프 생성 후 분석하면 전역적 구조 분석 가능

연결 관계 및 유사도 정의를 위해 데이터 포인트 간 거리 활용

그래프 마이닝

거리 공간 상 데이터 유사도 그래프

* 참고자료: Similarity graphs in machine learning, MLSS ’07 [LINK]

A tutorial on spectral clustering, Statistics and Computing ’07 [LINK]

충남대학교 컴퓨터공학과 임성수 07/60

Page 8: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

관계(Relation)

집합 𝑉에 관한 관계 𝐸는 𝑉 × 𝑉의 부분 집합으로 정의

𝑢, 𝑣 ∈ 𝐸일 때, 𝑢, 𝑣가 𝐸에 의해 관계되어 있다고 함

그래프(Graph)

Graph: 𝐺 = (𝑉,𝐸), where 𝑉: set of vertices, 𝐸: set of edges(= relationships)

Undirected graph: 대칭(symmetric) 관계만 고려, 순서쌍 대신 집합 표기

Vertex(node): 체계(system)의 구성 요소, 개체, 행위자 등

Edge(link): 구성 요소 간의 관계, 상호 작용 등

관계와 그래프

𝑉 = 1,2,3,4,5 , 𝐸 = { 1,2 , 1,4 , 2,4 , 3,4 , 3,5 , 4,5 , 2,1 , 4,1 , 4,2 , 4,3 , 5,3 , 5,4 } = 1,2 , 1,4 , 2,4 , 3,4 , 3,5 , 4,5

그래프 구성 요소, 관계

1

2

3

5

4

충남대학교 컴퓨터공학과 임성수 08/60

Page 9: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

행렬(Matrix)

유한 집합에 관한 관계는 0-1 행렬을 통해 표현 가능

인접 행렬(adjacency matrix): 𝐺 = (𝑉,𝐸), 𝑉 = 𝑎1, … , 𝑎𝑛 일 때,

𝐴 = 𝑎𝑖𝑖 , where 𝑎𝑖𝑖 = �1 if 𝑎𝑖 , 𝑎𝑖 ∈ 𝐸0 if 𝑎𝑖 , 𝑎𝑖 ∉ 𝐸

유사도 행렬(similarity matrix): 𝑎𝑖𝑖 값들 대신 노드 간 유사도로 구성된 행렬 𝑊

가중치 그래프(weighted graph) 표현 가능

관계와 그래프

𝐴 =

0 1 0 1 0101

0 0 10 0 11 1 0

011

0 0 1 1 0

, W =

0.0 1.0 0.0 0.6 0.01.00.00.6

0.0 0.0 0.60.0 0.0 0.60.6 0.6 0.0

0.01.00.6

0.0 0.0 1.0 0.6 0.0

1

2

3

5

4

그래프 인접 행렬, 유사도 행렬

충남대학교 컴퓨터공학과 임성수 09/60

Page 10: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

리스트(List)

가능한 모든 관계들 중 일부만이 값을 가지고 대부분이 0일 때 희소(sparse)하다고 함

희소 행렬을 저장하고 처리하는 것은 비효율적이기 때문에 압축하거나 리스트 사용

인접 리스트(adjacency list): 각 노드 당 관계를 가지는 이웃(neighbor)들 표현

연결 리스트(edge list): 모든 관계들을 나열하여 표현

관계와 그래프

1

2

3

5

4

1 2 3 4 5

2 4 1 4 4 5 1 2 3 3 4

5

{ (1,2),(1,4), (2,1),(2,4), (3,4),(3,5), (4,1),(4,2),(4,3),(4,5), (5,3),(5,4) }

그래프 인접 리스트 연결 리스트

충남대학교 컴퓨터공학과 임성수 10/60

Page 11: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

다양한 관계를 표현하는 그래프

이분 그래프(bipartite graph): 서로 다른 두 집합 간의 관계 표현

다층 그래프(multilayer graph): 다양한 종류의 관계가 존재하는 경우 표현

관계와 그래프

이분 그래프를 활용한 안정적 매칭 다층 그래프를 활용한 다중 관계 표현

* 참고자료: Stable matching, Nobel prize in economic sciences ’12 [LINK]

Multilayer networks, J. Complex Networks ’14 [LINK]

충남대학교 컴퓨터공학과 임성수 11/60

Page 12: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

다양한 관계를 표현하는 그래프

시간 그래프(temporal graph): 시간에 따라 관계가 변화하는 경우 표현

하이퍼그래프(hypergraph): 노드 셋 이상이 만드는 고차원 관계 표현

관계와 그래프

그래프 스냅샷으로 구성된 시간 그래프 고차원 관계를 표현한 하이퍼그래프

* 참고자료: Temporal networks, Physics Reports ’12 [LINK]

Learning with hypergraph, NIPS ’07 [LINK]

충남대학교 컴퓨터공학과 임성수 12/60

Page 13: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

대표적인 그래프 마이닝 문제

군집화(clustering)

- 각 노드의 소속(membership)이 주어지지 않을 때

관계에 기반한 커뮤니티(community)를 찾는 문제

- 내부 연결이 외부보다 상대적으로 밀집한 군집 탐색

- 데이터 전처리 시 비슷한 집단으로 묶어서 처리 가능

연결 예측/추천(link prediction/recommendation)

- 그래프 스트림 또는 시간에 따라 변하는 그래프에 대해

이전 정보 및 관계에 기반한 향후 연결을 예측하는 문제

- 유사도가 높거나 동질성을 가진 노드 간 연결 예측/추천

- 이용자 간 연결 외에 상품과 구매자의 연결/선호도 고려

대표적인 문제

* 참고자료: Community detection in networks, Physics Reports ’16 [LINK]

A survey of link prediction in complex networks, CSUR ’17 [LINK]

충남대학교 컴퓨터공학과 임성수 13/60

Page 14: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

대표적인 그래프 마이닝 문제

랭킹(influential user identification)

- 기준에 따라 각 노드의 중요성, 중심성을 측정하여

그래프 상의 노드들에 대해 순위를 매기는 문제

- 그래프 알고리즘과 반복적 방법을 통해 해결 가능

- Google’s PageRank: 웹페이지의 중심성 계산

정보 확산 예측/제어(information diffusion)

- 그래프 상에서 정보가 퍼지는 현상을 모델링하여

매 시간에 따른 정보 확산 결과를 예측하는 문제

- 정보 확산을 촉진/방지하는 알고리즘 설계/분석 가능

- 소셜 트렌드, 뉴스, 루머, 전염병 등 확산 현상 분석

대표적인 문제

* 참고자료: Influence maximization on social graphs: a survey, TKDE’18 [LINK]

Information diffusion in OSNs: a survey, SIGMOD Record ’13 [LINK]

충남대학교 컴퓨터공학과 임성수 14/60

Page 15: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 마이닝

차원 축소 기법

그래프 표현 학습

최신 기법 및 응용

목차

2.1 차원 축소 기법

2.2 선형 차원 축소

2.3 비선형 차원 축소

충남대학교 컴퓨터공학과 임성수 15/60

Page 16: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

복잡한 세상, 복잡한 데이터

데이터는 다양한 속성으로 이루어진 수많은 레코드의 모임

속성(attribute)은 각 레코드의 성질 및 특징(feature)을 표현

속성의 개수를 차원(dimension)이라고 부름 → 고차원 데이터 등장

차원 축소 기법

다양한 속성을 가지는 고차원 데이터 수많은 속성 존재

충남대학교 컴퓨터공학과 임성수 16/60

Page 17: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

차원의 저주(Curse of dimensionality)

데이터의 차원이 높아질수록 문제 발생

차원이 증가하면 공간 대비 밀도가 기하급수적으로 감소

중요도가 떨어지는 특징 사용 시 과적합(overfitting)에 빠질 수 있음

데이터 차원 낮추기

특징 선택(feature selection): 전체 특징 중 중요한 일부 선택

특징 추출(feature extraction): 전체 특징에 대한 함수로 중요 특징 추출

차원 축소 기법

특징 선택 특징 추출

충남대학교 컴퓨터공학과 임성수 17/60

Page 18: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

선형 방법(Linear method)

특징 추출 함수가 선형인 경우로 투영(projection)에 해당

예) 주성분 분석(PCA), 특이값 분해(SVD), LDA, Classical MDS, NMF, etc.

주성분 분석(PCA)

평균 0으로 조정(𝑋𝑐 = 𝑋 − 𝜇𝐼𝑇)

공분산 행렬 계산(Σ = 1𝑛𝑋𝑐𝑋𝑐𝑇)

주성분(principal component):

공분산 행렬의 고유값(=분산)이

큰 것부터 고유벡터를 차원에 추가

선형 차원 축소

* 참고자료: Linear dimensionality reduction: a survey, JMLR 2015 [LINK]

Decomposing signals in components, scikit-learn [LINK]

선형 차원 축소를 통한 분류

충남대학교 컴퓨터공학과 임성수 18/60

Page 19: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

선형 방법의 한계

다양체(manifold): 기하학적 유추를 통해 정의하는 위상 공간을 뜻함

다양체의 경우 선형 방법으로 분류가 어려울 수 있음(예: 곡면)

선형 분리(linearly separable)가 안 되는 경우 존재

선형 차원 축소

선형 방법의 한계 선형 분리가 안 되는 경우

충남대학교 컴퓨터공학과 임성수 19/60

Page 20: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

선형 방법의 개선

커널 기법 적용

- 커널 함수를 적용하여 고차원으로 변환한 후 선형 방법을 통한 차원 축소

비선형 방법 적용

- 선형 변환이 아닌 지역적 선형 변환, 또는 비선형적인 변환을 통한 차원 축소

- 각 데이터 포인트에 대해 주변과의 관계가 유지되는지 학습

선형 차원 축소

커널 기법: 고차원 비선형 변환 후 선형 차원 축소 지역적 선형 변환

충남대학교 컴퓨터공학과 임성수 20/60

Page 21: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

비선형 방법(Nonlinear method)

선형 방법의 한계를 해결하기 위한 비선형 방법

예) Kernel PCA, manifold learning(Isomap, LLE, LE, t-SNE), etc.

비선형 차원 축소

* 참고자료: Manifold learning, scikit-learn [LINK]

다양체 학습을 통한 비선형 차원 축소

충남대학교 컴퓨터공학과 임성수 21/60

Page 22: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

이웃 임베딩(Neighbor embedding)

SNE & t-SNE: 데이터 포인트 간 유사도를 고려한 임베딩 방법

SNE: 1. 고차원 데이터 포인트 𝑥𝑖에 대한 𝑥𝑖의 조건부 확률 정의(정규 분포 사용)

𝑝𝑖|𝑖 =exp − 𝑥𝑖−𝑥𝑗

2/2𝜎𝑖2

∑ exp − 𝑥𝑖−𝑥𝑘 2/2𝜎𝑖2

𝑘≠𝑖: 𝑥𝑖 기준으로 𝑥𝑖가 가까우면 더 높은 확률

2. 저차원 좌표 𝑦𝑖 ,𝑦𝑖에 대해 동일한 방식으로 정의되는 𝑞𝑖|𝑖들에 대해

𝑝𝑖|𝑖들과의 거리(divergence)가 최소화되도록 저차원 임베딩

- Kullback-Leibler 거리: ∑ 𝐾𝐾 𝑃𝑖|𝑄𝑖𝑖 = ∑ ∑ 𝑝𝑖|𝑖 log 𝑝𝑗|𝑖

𝑞𝑗|𝑖𝑖𝑖

비선형 차원 축소

* 참고자료: Kullback-Leibler 거리 설명 [LINK]

t-SNE를 이용한 시각화 [LINK]

충남대학교 컴퓨터공학과 임성수 22/60

Page 23: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

이웃 임베딩

t-SNE: 정규 분포 대신 t-분포, 조건부 확률 분포 대신 결합 확률 분포 사용

→ 가까운 경우 더 가깝게, 먼 경우 더 멀게 저차원 임베딩

→ 대칭적이기 때문에 최적화 식이 비교적 간편

→ 근사적으로 연산을 더 빠르게 수행 가능

비선형 차원 축소

손글씨 인식하기: PCA vs t-SNE [LINK] 정규분포와 t-분포의 차이

* 참고자료: Visualizing data using t-SNE, JMLR ’08 [LINK]

Accelerating t-SNE using tree-based algorithms, JMLR ’14 [Link]

충남대학교 컴퓨터공학과 임성수 23/60

Page 24: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 표현 학습(Graph representation learning)

그래프 데이터 차원 축소, 그래프에 대한 저차원 표현 학습

예) Graph embedding, graph convolutional networks(GCNs), etc.

비선형 차원 축소

Graph embedding Graph convolutional networks

* 참고자료: Representation learning on graphs, IEEE Data Eng. Bulletin 2017 [LINK]

A comprehensive survey of graph embedding, IEEE TKDE 2018 [LINK]

A survey on network embedding, IEEE TKDE 2018 [LINK]

충남대학교 컴퓨터공학과 임성수 24/60

Page 25: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 마이닝

차원 축소 기법

그래프 표현 학습

최신 기법 및 응용

목차

3.1 그래프 임베딩

3.2 구조 유지 변환

3.3 성질 유지 변환

충남대학교 컴퓨터공학과 임성수 25/60

Page 26: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 임베딩

그래프를 벡터 공간으로 임베딩하여 그래프 데이터 분석이 더 쉽도록 변환

다양한 네트워크 추론(network inference) 문제를 벡터 공간에서 해결

그래프 임베딩

G = ( V, E ) G = ( V ) Vector Space

generate

embed

병렬 연산이 쉬움

다양한 데이터 분석 기법 적용 가능

Network Inference

Community detection

Link prediction

Node importance

Node classification

Network evolution

충남대학교 컴퓨터공학과 임성수 26/60

Page 27: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

좋은 그래프 임베딩

대상: 임베딩의 대상은 노드, 연결, 부분 구조 등 다양하게 정의 가능

목표: 그래프 구조(structure) 및 성질(property)이 유지되는 변환

활용: 그래프 데이터 분석을 보다 효과적으로 수행

그래프 임베딩

Graph embedding: a toy example from TKDE 2018 [LINK]

충남대학교 컴퓨터공학과 임성수 27/60

Page 28: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

좋은 노드 임베딩

대상: 임베딩의 대상은 노드

목표: 그래프의 노드 간 유사도(similarity, proximity)가 유지되는 변환

활용: 그래프 데이터 분석을 보다 효과적으로 수행

그래프 임베딩

Vertex embedding: a toy example from WWW tutorial 2018 [LINK]

Goal:

Need to define!

충남대학교 컴퓨터공학과 임성수 28/60

Page 29: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

좋은 노드 임베딩을 위하여

해야 할 일

1. Encoder 정의: 임베딩 방식을 정하기

2. 노드 간의 유사도 정의: 임베딩 평가 방식 정하기

3. 노드 간의 유사도와 임베딩 후 벡터 간의 유사도의 차이를 최소화

주요 방식

1. Adjacency-based similarity

2. Multi-hop similarity

3. Higher-order proximity

4. Random walk approaches

5. Neural networks

그래프 임베딩

* 참고자료: Representation learning on graphs, IEEE Data Eng. Bulletin 2017 [LINK]

Representation learning on graphs, WWW 2018 tutorial [LINK]

충남대학교 컴퓨터공학과 임성수 29/60

Page 30: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 기반 임베딩

최신 기법: Adjacency-based similarity 활용, WWW 2013 [LINK]

노드 간의 유사도: 연결 가중치(edge weight)

노드 간의 연결이 있을 때 임베딩 후 벡터 간의 유사도와 차이 최소화

구조 유지 변환

(weighted) adjacency matrix for the graph

loss (what we want to minimize)

sum over all node pairs

embedding similarity

충남대학교 컴퓨터공학과 임성수 30/60

Page 31: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 기반 임베딩

최신 기법: Multi-hop similarity 활용,

GraRap, CIKM 2015 [LINK], HOPE, KDD 2016 [LINK]

노드 간의 유사도: 연결 가중치 대신 아래와 같이 k-hop을 고려

노드 간의 연결이 있을 때 임베딩 후 벡터 간의 유사도와 차이 최소화

구조 유지 변환

constant shift node degree

충남대학교 컴퓨터공학과 임성수 31/60

Page 32: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

좋은 노드 임베딩

대상: 임베딩의 대상은 노드

목표: 그래프의 성질(property)이 유지되도록 유사도를 정의하여 변환

활용: 전역적(global) 관점을 반영한 분석을 가능하게 함

그래프가 가지고 있는 성질이 유지되도록 유사도를 정의하여 임베딩

구조/성질 유지 변환

1 2

6

3

4

5 7

8

전이성 (Transitivity)

구조적 동치 (Structural equivalence)

동질성 (Homophily)

5

1

3

2

4

6

A

B C

A

B C

충남대학교 컴퓨터공학과 임성수 32/60

Page 33: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 기반 임베딩

최신 기법: Higher-order proximity 활용, HOPE, KDD 2016 [LINK]

노드 간의 유사도: 인접 행렬의 다항식 형태로 주어짐

Katz proximity 등 다양한 방식을 사용 가능하며, transitivity 유지됨

구조/성질 유지 변환

𝑆 = 𝑀𝑔−1 ⋅ 𝑀ℓ

min𝑈∗,𝑉∗

𝑆 − 𝑈𝑠𝑈𝑡𝑇

𝐹

2

𝑈𝑠,𝑈𝑡 ∈ ℝ𝑁×𝑘: source/target embedding vectors

𝑀𝑔,𝑀ℓ: polynomials of adjacency matrix

𝐾: dimensionality of the space

충남대학교 컴퓨터공학과 임성수 33/60

Page 34: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 기반 임베딩

최신 기법: Higher-order proximity 활용, AROPE, KDD 2018 [LINK]

노드 간의 유사도: 인접 행렬의 다항식 형태로 주어짐

임의의 차수의 다항식을 통해 higher-order proximity 정의 가능

구조/성질 유지 변환

𝑆 = ℱ 𝐴 = 𝑤1𝐴1 + 𝑤2𝐴2 + ⋯+ 𝑤𝑞𝐴𝑞

min𝑈∗,𝑉∗

𝑆 − 𝑈∗𝑉∗𝑇 𝐹2

𝑈∗,𝑉∗ ∈ ℝ𝑁×𝑑: content/context embedding vectors

𝑤1, … ,𝑤𝑞: arbitrary weights

𝑑: dimensionality of the space

THM (reweighting)

𝜆, 𝐱 가 𝐴의 eigenpair이면

ℱ 𝜆 , 𝐱 가 𝑆의 eigenpair임

⇒ 추가적인 복잡한 계산 없이

임의 차수 다항식 반영 가능

충남대학교 컴퓨터공학과 임성수 34/60

Page 35: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 기반 임베딩

최신 기법: Random walk approaches 활용,

DeepWalk, KDD 2014 [LINK], node2vec, KDD 2016 [LINK]

노드 간 유사도: 무작위 행보(random walk)에서 함께 나올 확률

다양한 전략의 무작위 행보 사용 가능

구조/성질 유지 변환

1. 𝑢에서 시작한 random walk 𝑅이

𝑣를 방문할 확률 추정

2. 임베딩 후 벡터 간의 유사도와 차이 최소화

충남대학교 컴퓨터공학과 임성수 35/60

Page 36: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 기반 임베딩

최신 기법: Random walk approaches 활용, DeepWalk, KDD 2014 [LINK]

노드 간의 유사도: Skip-gram language modeling에서 착안함

구조/성질 유지 변환

Language sentences

Random walk in a graph

Softmax 함수

충남대학교 컴퓨터공학과 임성수 36/60

우도(Likelihood)

Page 37: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

유사도 기반 임베딩

최신 기법: Random walk approaches 활용, node2vec, KDD 2016 [LINK]

노드 간의 유사도: biased random walk를 사용하여 지역적, 전역적 성질 반영

Biased RW: DFS, BFS를 활용한 무작위 행보의 전이 확률 정의 후 성능 개선

Homophily(𝑝가 큰 경우), structural equivalence (𝑞가 큰 경우) 유지됨

구조/성질 유지 변환

충남대학교 컴퓨터공학과 임성수 37/60

Page 38: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 마이닝

차원 축소 기법

그래프 표현 학습

최신 기법 및 응용

목차

4.1 그래프 뉴럴 네트워크

4.2 임베딩 + 시각화 기법

4.3 임베딩 + 대화형 기법

충남대학교 컴퓨터공학과 임성수 38/60

Page 39: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

딥 뉴럴 네트워크

Neural network: 인간의 뇌를 모방하여 만든 (인공, artificial) 신경망

인간의 뇌: 1000억개의 뉴런, 100조개의 시냅스로 복잡하게 연결된 네트워크

딥러닝: 여러 개의 은닉층으로 이루어진 뉴럴 네트워크로 심층 학습을 가능케 함

그래프 뉴럴 네트워크

* 참고자료: 모두를 위한 머신러닝/딥러닝 강의 [LINK]

충남대학교 컴퓨터공학과 임성수 39/60

뉴럴 네트워크 뉴런과 활성 함수

Page 40: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

컨볼루셔널 네트워크

Convolutional network: 영상 처리에서 쓰이는 특수한 연결 구조의 뉴럴 네트워크

영역을 이동시키면서 특징을 찾아내며, 특징 계산 가중치를 공유하여 문제 복잡도 줄임

컨볼루션 층: 입력에 대해 컨볼루션 커널을 적용하여 특징 지도(feature map) 생성

서브샘플링 층: 특징 지도에 풀링(pooling)을 통해 차원 축소, 해상도를 줄인 뉴런 층

그래프 뉴럴 네트워크

* 참고자료: Convolutional neural networks, Lecture note, Stanford CS231n [LINK]

충남대학교 컴퓨터공학과 임성수 40/60

컨볼루셔널 네트워크

Page 41: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 뉴럴 네트워크

컨볼루셔널 네트워크를 이용하여 그래프 임베딩을 수행, GCN, ICLR 2017 [LINK]

그래프 뉴럴 네트워크

* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]

1) Define a neighborhood aggregation function.

2) Define a loss function on the embeddings, L(zu)

충남대학교 컴퓨터공학과 임성수 41/60

Page 42: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 뉴럴 네트워크

컨볼루셔널 네트워크를 이용하여 그래프 임베딩을 수행, GCN, ICLR 2017 [LINK]

그래프 뉴럴 네트워크

* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]

3) Train on a set of nodes, i.e., a batch of compute graphs

충남대학교 컴퓨터공학과 임성수 42/60

Page 43: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 뉴럴 네트워크

컨볼루셔널 네트워크를 이용하여 그래프 임베딩을 수행, GCN, ICLR 2017 [LINK]

그래프 뉴럴 네트워크

* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]

4) Generate embeddings for nodes as needed

Even for nodes we never trained on

충남대학교 컴퓨터공학과 임성수 43/60

Page 44: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 뉴럴 네트워크

뉴럴 네트워크의 parameters는 노드들끼리 공유하며, 귀납적으로 활용 가능,

GraphSAGE, NIPS 2017 [LINK]

그래프 뉴럴 네트워크

* 참고자료: Representation learning on graphs, WWW 2018 tutorial [LINK]

Inductive node embedding generalize to entirely unseen graphs

하나의 그래프에서 학습 다른 그래프에 모델 적용

충남대학교 컴퓨터공학과 임성수 44/60

Page 45: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

순환 신경망

Recurrent neural network(RNN): 시계열 데이터에 적합한 뉴럴 네트워크

현재까지 입력 데이터를 요약한 정보인 기억(hidden state)을 가지고 학습

순환 뉴런으로 구성, 기억을 바탕으로 새로운 입력을 이해하는 순환적 학습 과정

LSTM: RNN의 응용으로 장기 기억이 필요한 정보를 별도의 cell에 저장하여 사용

그래프 뉴럴 네트워크

* 참고자료: Recurrent neural networks, Lecture note, Stanford CS230 [LINK]

충남대학교 컴퓨터공학과 임성수 45/60

순환 신경망

Page 46: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 뉴럴 네트워크

LSTM/GRU를 활용하여 overfitting, vanishing gradient 문제를 해결,

GG-NN, ICLR 2016 [LINK]

순환 신경망(RNN)의 propagation model을 통한 양방향 학습 수행 함

그래프 뉴럴 네트워크

충남대학교 컴퓨터공학과 임성수 46/60

Page 47: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

어텐션 메커니즘

어텐션(Attention): 중요한 정보에 주목하게 만들어 모델의 성능을 높이는 기법

RNN의 매 단계 수집하는 정보를 기반으로 특정 부분을 뽑아 자세히 보도록 함

기계 번역(machine translation)을 위한 모델에 처음 도입된 후 널리 쓰임

그래프 뉴럴 네트워크

충남대학교 컴퓨터공학과 임성수 47/60

* 참고자료: Effective approaches to attention-based neural machine translation, EMNLP 2015 [LINLK]

어텐션 모델을 활용한 기계 번역

Page 48: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 뉴럴 네트워크

Graph attention network: 각 노드에 대해 multi-head attention을 적용한 컨볼루션,

GAT, ICLR 2018 [LINK]

Edge-wise 매커니즘: 서로 다른 이웃 노드에게 서로 다른 가중치를 부여할 수 있음

그래프 구조에 의존적이지 않아서 귀납적 문제 해결에 장점

그래프 뉴럴 네트워크

충남대학교 컴퓨터공학과 임성수 48/60

어텐션 메커니즘 그래프 어텐션 네트워크

Page 49: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

그래프 뉴럴 네트워크

GCN 관련 최신 기법들 요약

그래프 뉴럴 네트워크

* 참고자료: Deep learning on graphs: a survey, ArXiv 2018 [LINK]

충남대학교 컴퓨터공학과 임성수 49/60

Page 50: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

블랙홀 임베딩(BlackHole embedding)

그래프 시각화(graph drawing) 기법에 착안한 임베딩 방식

밀집하게 연결된 노드들의 임베딩 결과가 유사하게 위치하도록 극대화

과하게 섞인(highly-mixed) 커뮤니티들을 보다 쉽게 찾을 수 있는 방식

임베딩 + 시각화 기법

Original Graph

Communities of Vertices

Communities of Positions

Positions in a Space

BlackHole Embedding

Point Clustering

Membership Translation

Community

* 참고자료: BlackHole: Robust community detection inspired by graph drawing, ICDE ’16 [LINK]

충남대학교 컴퓨터공학과 임성수 50/60

Page 51: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

힘-방향 시각화(Force-directed drawing)

힘의 평형, 또는 에너지 최소화 문제를 통해 저차원 좌표를 찾는 임베딩 방식

인력(attractive force): 연결된 두 노드 사이에서 서로를 끌어 당기는 힘

척력(repulsive force): 임의의 두 노드 사이에서 서로를 밀어내는 힘

블랙홀 임베딩

기존 방식들은 커뮤니티 경향은 보이지만 겹치진 않음

𝑎, 𝑟값이 threshold 내에서 인력이 극대화 되게 설정

Modularity의 relaxation이 되도록 𝑤𝑖𝑖값을 설정

블랙홀처럼 뭉치면서 클러스터링에 알맞은 임베딩

임베딩 + 시각화 기법

min𝑝:𝑉→𝑆

�𝑤𝑖𝑖𝑎 + 1

𝑝 𝑖 − 𝑝 𝑗 𝑎+1 −𝑤𝑖𝑤𝑖𝑟 + 1

𝑝 𝑖 − 𝑝 𝑗 𝑟+1

𝑖,𝑖 ∈𝑉(2)

인력 척력

LinLog BlackHole

충남대학교 컴퓨터공학과 임성수 51/60

Page 52: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

부분 구조를 고려한 임베딩

고차원 부분 구조(higher-order substructure)를 고려한 임베딩 방식

관심이 있는 부분 구조(예: triangle, path, cycle 등)의 가중치 재조정

가중치 그래프에 블랙홀 임베딩을 적용하면 해당 부분 구조를 탐색 가능

임베딩 + 시각화 기법

* 참고자료: Motif-based embedding for graph clustering, JSTAT ’16 [LINK]

Original Graph

Communities of Vertices

Communities of Positions

Positions in a Space

Motif-Based Embedding

Point Clustering

Membership Translation

Motif-Based Weighting

Graph Embedding

충남대학교 컴퓨터공학과 임성수 52/60

Page 53: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

부분 구조를 고려한 임베딩

힘의 평형, 또는 에너지 최소화 문제를 통해 저차원 좌표를 찾는 임베딩 방식

가중치를 재조정: 𝑓 𝑖, 𝑗 = 𝑤𝑖𝑖 + 𝑚𝑖𝑖, where 𝑚𝑖𝑖 is the motif weight of 𝑖, 𝑗

모티프 가중치

모티프(motif): 관심 있는 부분 구조, 가중치를 재조정하여 이를 포함하는 커뮤니티 발견

임베딩 + 시각화 기법

min𝑝:𝑉→𝑆

�𝑓 𝑖, 𝑗𝑎 + 1

𝑝 𝑖 − 𝑝 𝑗 𝑎+1 −𝑤𝑖𝑤𝑖𝑟 + 1

𝑝 𝑖 − 𝑝 𝑗 𝑟+1

𝑖,𝑖 ∈𝑉(2)

인력 척력

Mixing: 0.43 Mixing: 0.26

𝑓: {𝑖, 𝑗} ↦ 𝑤𝑖𝑖 + 𝑚𝑖𝑖 𝑤𝑖𝑖: the existence of an edge 𝑖, 𝑗 𝑚𝑖𝑖: # of motifs containing 𝑖 & 𝑗 together

충남대학교 컴퓨터공학과 임성수 53/60

Page 54: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

링크 관계를 고려한 임베딩

링크-공간 그래프(link-space graph)를 활용한 링크 임베딩 방식

링크-공간 그래프: 링크들 사이의 관계를 표현한 변환 그래프

링크 임베딩: 임베딩의 대상이 링크, 링크들 사이의 관계를 나타냄

중첩 클러스터링(overlapping clustering): 링크 커뮤니티는 관계 기반 커뮤니티로,

노드를 기준으로 본다면 한 노드는 여러 종류의 링크 커뮤니티에 중첩되어 속할 수 있음

임베딩 + 시각화 기법

* 참고자료: LinkBlackHole*: Robust overlapping community detection using link embedding, TKDE ’19 [LINK]

12

34 13

23 35

1

2

3

4

5

0 03

45

1

2

3

4

5

0 Step 1 Step 2 Step 3 Step 4

Original Graph Link-Space Graph Link Embedding Link Communities Overlapping Communities

충남대학교 컴퓨터공학과 임성수 54/60

Page 55: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

링크-공간 그래프

커널 기법과 같이 기존 그래프를 한 차원 올려서 생각하는 방식

링크(original graph) ↔ 노드(link-space graph) 링크-링크 관계(original graph) ↔ 링크(link-space graph)

링크-링크 유사도(original graph) ↔ 링크 가중치(link-space graph)

높은 차원에서 효율적으로 다루기 위해 sampling을 해도 성능이 보장됨을 이론적/실험적 증명

임베딩 + 시각화 기법

6 5 7

k

8

4

i

1 2 3

j

0 i1 j1

i0 i2

ik

j2 j3

j4

k5 k8

k6 k7 𝑤 𝑣𝑖𝑘 ,𝑣𝑖𝑘 = 𝜎 𝑒𝑖𝑘 , 𝑒𝑖𝑘

Original graph Link-space graph

jk

* 참고자료: LinkSCAN*: Overlapping community detection using the link-space transformation, ICDE ’14 [LINK]

충남대학교 컴퓨터공학과 임성수 55/60

Page 56: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

대화형 그래프 마이닝

대화형(interactive) 데이터 마이닝: 입력에 따른 피드백을 통한 사용자 목적에 맞는 분석

임베딩 + 대화형 기법

* 참고자료: Interactive Visual Graph Mining and Learning, TIST 2018 [LINK]

충남대학교 컴퓨터공학과 임성수 56/60

Page 57: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

대화형 그래프 임베딩

사용자 목적에 맞는 인터랙티브 그래프 데이터 분석 기법 및 도구 개발에 관심

일부 요소들에 집중하여 이들 간의 관계를 보여주는 임베딩 기법 개발중

→ 관심 인물들을 기준으로 한 커뮤니티 발견(community detection)

→ 시드 노드를 중심으로 한 그래프 요약(graph summarization)

임베딩 + 대화형 기법

고정된 노드 위치들을 기준으로 나머지 노드들의 위치 학습

충남대학교 컴퓨터공학과 임성수 57/60

Page 58: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

대화형 그래프 임베딩

동적 그래프 임베딩: 시간에 따라 추가, 제거되는 노드, 링크의 수가 제한적일 때

성능이 이론적으로 보장되는 효율적인 동적 임베딩 기법 개발중

기존 연구: 확률적 모델링 + 딥러닝, 랜덤워크 + lazy restart 등의 방식을 활용

임베딩 + 대화형 기법

* 참고자료: Learning embeddings of out-of-sample nodes in dynamic networks, AAAI 2018 [LINK]

TIMERS: error-bounded SVD restart on dynamic networks, AAAI 2018 [LINK]

충남대학교 컴퓨터공학과 임성수 58/60

Page 59: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

Research Objectives Understanding complex systems with Big Data Developing algorithms for solving intelligence and real-world data problems

Research Areas Data Mining, Network Science, Artificial Intelligence, Machine Learning

맺음말

You can find more at

http://cnudi.com/

Feel free to contact us!

충남대학교 컴퓨터공학과 임성수 59/60

Page 60: CNU Data Intelligence Lab - Home - KCC 2019 tutorial · 2019-06-27 · 정규분포와 t-분포의 차이 손글씨 인식하기: PCA vs t-SNE [LINK] * 참고자료: Visualizing data

감사합니다

Thank You Very Much!

Any Questions?

충남대학교 컴퓨터공학과 임성수 60/60