군집 분석 (Cluster Analysis) 2016년 가을학기 강원대학교 컴퓨터과학전공 문양세.

Slides:



Advertisements
Similar presentations
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
Advertisements

Chapter 8. TEXT CLUSTERING 서울시립대 전자전기컴퓨터공학과 데이터마이닝 연구실 G 노준호.
알고리즘 기본 개념 정렬 알고리즘 탐색 알고리즘 알고리즘 복잡도.
컴퓨터와 인터넷.
(Classification – Advanced Techniques)
패턴인식 개론 Ch.8 클러스터링.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
Learning Classifier using DNA Bagging
데이터 마이닝 - 강의 개요 년 가을학기 강원대학교 컴퓨터과학전공 문양세.
강원대학교 지구물리학과 이훈열 참고: PG Steamer User’s Guide
NLP Lab. 세미나 발표자:이주호 2007년 7월 18일 수요일
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
Multimedia Programming 10: Point Processing 5
Error Detection and Correction
Cluster Analysis (군집 분석)
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
숭실대학교 마이닝연구실 김완섭 2009년 2월 8일 아이디어  - 상관분석에 대한 연구
PySpark Review 박영택.
2014년 가을학기 손시운 지도 교수: 문양세 교수님 군집 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
1.4 중첩된 한정기호 (Nested Quantifiers) 이산수학 (Discrete Mathematics)
자바 5.0 프로그래밍.
프로그래밍 개요
2장 모델링 2.1 소개 2.2 정보 검색 모델의 분류체계 2.3 검색 : 축적과 여과 2.4 정보 검색 모델의 형식 특성
Linux/UNIX Programming
군집 분석.
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
군집분석 (Cluster analysis)
메모리 관리 & 동적 할당.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Linux/UNIX Programming
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
이산수학(Discrete Mathematics)  명제의 동치 (Propositional Equivalence)
Decision Tree & Ensemble methods
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
데이터 마이닝 - 강의 개요 년 가을학기 강원대학교 컴퓨터과학전공 문양세.
Clustering Algorithm KUT Youn-Hee Han.
정보처리학회논문지 B 제10-B권 제1호(2003.2) 김만선, 이상용
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
Linux/UNIX Programming
Canary value 스택 가드(Stack Guard).
알고리즘 알고리즘이란 무엇인가?.
이산수학(Discrete Mathematics)
문서 클러스터링 일본언어문화학과 서동진.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
Support Vector Machine
Flow Diagram IV While.
7주차: Functions and Arrays
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
데이터 종류와 전처리 (Data Types and Preprocessing)
9 브라우저 객체 모델.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
텍스트 분석 ㈜ 퀀트랩.
이산수학(Discrete Mathematics)  술어와 한정기호 (Predicates and Quantifiers)
07. DB 설계 명지대학교 ICT 융합대학 김정호.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
 6장. SQL 쿼리.
(Permutations and Combinations)
C++ Espresso 제15장 STL 알고리즘.
7 생성자 함수.
Linux/UNIX Programming
6 객체.
Text Clustering G 조한얼.
Presentation transcript:

군집 분석 (Cluster Analysis) 2016년 가을학기 강원대학교 컴퓨터과학전공 문양세

K-Means 군집화 (K-Means Clustering) 계층 군집화 (Hierarchical Clustering) 강의 내용 Cluster Analysis 군집 분석의 개념과 종류 K-Means 군집화 (K-Means Clustering) 계층 군집화 (Hierarchical Clustering) 밀도기반 군집화 (Density-Based Clustering)

군집 분석이란? (What is Cluster Analysis?) 그룹내의 객체들은 유사하도록(관련이 있도록) 그룹간의 객체들은 유사하지 않도록(관련이 없도록), 주어진 객체들의 그룹 짓는 작업이다. Finding groups of objects such that the objects in a group will be similar (or related) to one another and different from (or unrelated to) the objects in other groups.

군집 분석의 응용 이해 (understanding) 요약 (summarization) Cluster Analysis 이해 (understanding) 브라우징을 위해 연관된 문서들을 그룹핑한다. 유사 기능을 갖는 유전자 혹은 단백질을 그룹핑한다. 유사한 가격 변화를 보이는 주식들을 그룹핑한다. 요약 (summarization) 대용량 데이터 집합의 크기를 줄인다.

군집 분석이 아닌 것은? Cluster Analysis

클러스터의 개념은 모호하다. Cluster Analysis Notion of a cluster can be ambiguous!

군집화(Clustering)의 종류 군집화란 클러스터의 집합(a set of clusters)을 구하는 작업이다. Cluster Analysis 군집화란 클러스터의 집합(a set of clusters)을 구하는 작업이다. 군집화는 크게 분할 군집화와 계층 군집화로 나눌 수 있다. 분할 군집화(Partitional Clustering): 데이터 객체들을 중복이 없는 부분집합으로 나눈다. 계층 군집화 (Hierarchical Clustering): 계층 트리에 의해 구성되며 하위 군집을 상위 군집이 포함(nest)하는 구조이다.

분할 군집화 Cluster Analysis

계층 군집화 Cluster Analysis

군집(Cluster)의 종류 잘 분리된 클러스터 (Well-separated clusters) Cluster Analysis 잘 분리된 클러스터 (Well-separated clusters) 중심기반 클러스터 (Center-based clusters) 연속된 클러스터 (Contiguous clusters) 밀도기반 클러스터 (Density-based clusters) 특성 클러스터 (Property clusters) 혹은 개념적 클러스터 (Conceptual Clusters)

군집 종류: Well-Separated Clusters Cluster Analysis

군집 종류: Center-Based Clusters Cluster Analysis

군집 종류: Contiguity-Based Clusters Cluster Analysis

군집 종류: Density-Based Clusters Cluster Analysis

군집 종류: Conceptual Clusters Cluster Analysis

Type of proximity or density measure Sparseness 입력 데이터 특징의 중요성 Cluster Analysis Type of proximity or density measure This is a derived measure, but central to clustering Sparseness Dictates type of similarity Adds to efficiency Attribute type Type of Data Other characteristics, e.g., autocorrelation Dimensionality Noise and Outliers Type of Distribution

K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 강의 내용 Cluster Analysis 군집 분석의 개념과 종류 K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 밀도기반 군집화 (Density-Based Clustering)

K-Means 군집화 Cluster Analysis

K-Means 군집화 – 상세 내용 Cluster Analysis

두 개의 서로 다른 K-Means 군집화 결과 Original Points Optimal Clustering Cluster Analysis Original Points Optimal Clustering Sub-optimal Clustering

K-Means 군집화 실행 예제 (1/2) Cluster Analysis

K-Means 군집화 실행 예제 (2/2) Cluster Analysis

K-Means 클러스터의 평가 군집화가 잘 되었는지의 평가: Sum of Squared Errors (SSE) Cluster Analysis 군집화가 잘 되었는지의 평가: Sum of Squared Errors (SSE)

초기 중심점 선택의 중요성 (1/2) Cluster Analysis

초기 중심점 선택의 중요성 (2/2) Cluster Analysis

초기 중심점 선택에서의 문제점 (1/4) 10 Clusters Example Cluster Analysis 10 Clusters Example Starting with two initial centroids in one cluster of each pair of clusters

초기 중심점 선택에서의 문제점 (2/4) 10 Clusters Example Cluster Analysis 10 Clusters Example Starting with two initial centroids in one cluster of each pair of clusters

초기 중심점 선택에서의 문제점 (3/4) 10 Clusters Example Cluster Analysis 10 Clusters Example Starting with some pairs of clusters having three initial centroids, while other have only one.

초기 중심점 선택에서의 문제점 (4/4) 10 Clusters Example Cluster Analysis 10 Clusters Example Starting with some pairs of clusters having three initial centroids, while other have only one.

초기 중심점 선택 문제의 해결책 Cluster Analysis

중심점의 점증적 갱신 (Updating Centers Incrementally) Cluster Analysis

Pre-processing and Post-processing Cluster Analysis

이등분 K-Means (Bisecting K-Means) Cluster Analysis 전통적 K-Means 알고리즘의 간단한 변형(variant) 하나의 클러스터에서 시작해서, SSE가 큰 클러스터들을 대상으로 이등분한다. 이등분은 2-Means 알고리즘을 적용하며, K개 클러스터를 얻을 때 까지 반복한다.

이등분 K-Means 예제 Cluster Analysis

K-Means 군집화의 한계 Cluster Analysis

K-Means 한계 – 크기가 다른 경우 Original Points K-means (3 Clusters) Cluster Analysis Original Points K-means (3 Clusters)

K-Means 한계 – 밀도가 다른 경우 K-means (3 Clusters) Original Points Cluster Analysis Original Points K-means (3 Clusters)

K-Means 한계 – 구형 모양 Original Points K-means (2 Clusters) Cluster Analysis Original Points K-means (2 Clusters)

K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 강의 내용 Cluster Analysis 군집 분석의 개념과 종류 K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 밀도기반 군집화 (Density-Based Clustering)

계층 군집화 Cluster Analysis 계층 트리로 구성된 중첩된 클러스터를 생성한다. (Produces a set of nested clusters organized as a hierarchical tree) 계통수(dendrogram)로 시각화될 수 있다. 계통수 형태의 트리는 레코드들의 병합/분할의 순서를 나타낸다.

계층 군집화의 장점 클러스터의 개수를 미리 가정/결정할 필요가 없다. Cluster Analysis 클러스터의 개수를 미리 가정/결정할 필요가 없다. 적당한 레벨에서 계통수를 자름(cutting)으로서 원하는 개수의 클러스터를 얻을 수 있다. 계통수(계층 트리)는 의미 있는 분류체계 (taxonomy)와 대응되기도 한다. 예제: 생물학에서 동물계(animal kingdom) 혹은 계통 재구성(phylogeny reconstruction)

계층 군집화의 두 가지 접근방식 병합형(agglomerative) 방식 분할형(divisive) 방식 Cluster Analysis 병합형(agglomerative) 방식 분할형(divisive) 방식 전통적 계층 알고리즘은 유사도(similarity) 혹은 거리 행렬(distance matrix)를 사용한다.

병합형 군집화 알고리즘 Cluster Analysis

시작 상황 (Starting Situation) Cluster Analysis

중간 상황(Intermediate Situation) (1/2) Cluster Analysis

중간 상황(Intermediate Situation) (2/2) Cluster Analysis

통합 이후(After Merging) Cluster Analysis

클러스터간 유사도의 정의는? (1/5) Cluster Analysis

클러스터간 유사도의 정의는? (2/5) Cluster Analysis

클러스터간 유사도의 정의는? (3/5) Cluster Analysis

클러스터간 유사도의 정의는? (4/5) Cluster Analysis

클러스터간 유사도의 정의는? (5/5) Cluster Analysis

클러스터 유사도 – MIN (1/2) Cluster Analysis 1 2 3 4 5

클러스터 유사도 – MIN (2/2) 5 1 3 5 2 1 2 3 6 4 4 Nested Clusters Dendrogram Cluster Analysis 5 1 2 3 4 5 6 4 3 2 1 Nested Clusters Dendrogram

MIN 사용 시 장점 Can handle non-elliptical shapes Two Clusters Cluster Analysis Two Clusters Original Points Can handle non-elliptical shapes

MIN 사용 시 단점 Sensitive to noise and outliers Two Clusters Cluster Analysis Two Clusters Original Points Sensitive to noise and outliers

클러스터 유사도 – MAX (1/2) Cluster Analysis 1 2 3 4 5

클러스터 유사도 – MAX (2/2) 5 4 1 2 3 4 5 6 2 3 1 Dendrogram Nested Clusters Cluster Analysis 5 4 1 2 3 4 5 6 2 3 1 Dendrogram Nested Clusters

MAX 사용 시 장점 Less susceptible to noise and outliers Two Clusters Cluster Analysis Two Clusters Original Points Less susceptible to noise and outliers

MAX 사용 시 단점 Tends to break large clusters Cluster Analysis Two Clusters Original Points Tends to break large clusters Biased towards globular clusters

클러스터 유사도 – Group Average (1/3) Cluster Analysis 1 2 3 4 5

클러스터 유사도 – Group Average (2/3) Cluster Analysis 5 4 1 2 3 4 5 6 2 3 1 Dendrogram Nested Clusters

클러스터 유사도 – Group Average (3/3) Cluster Analysis

계층 군집화 – 비교 Cluster Analysis 5 5 1 2 3 4 5 6 4 4 1 2 3 4 5 6 3 2 2 1 MIN MAX 3 1 5 5 1 2 3 4 5 6 4 4 1 2 3 4 5 6 2 2 Ward’s Method 3 3 1 Group Average 1

계층 군집화 – 복잡도 분석 Cluster Analysis

계층 군집화 – 문제점 및 한계 Cluster Analysis

K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 강의 내용 Cluster Analysis 군집 분석의 개념과 종류 K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 밀도기반 군집화 (Density-Based Clustering)

DBSCAN – 대표적 밀도기반 군집화 알고리즘 Cluster Analysis

DBSCAN: Core, Border, and Noise Points Cluster Analysis

DBSCAN 알고리즘 먼저, noise points를 제거한다. 나머지 points를 대상으로 밀도기반 군집화를 수행한다. Cluster Analysis 먼저, noise points를 제거한다. 나머지 points를 대상으로 밀도기반 군집화를 수행한다.

DBSCAN 예제 – Core, Border, and Noise Points Cluster Analysis

DBSCAN이 잘 동작하는 경우 Original Points Clusters Resistant to Noise Cluster Analysis Clusters Original Points Resistant to Noise Can handle clusters of different shapes and sizes

DBSCAN이 잘 동작하지 않는 경우 Original Points Varying densities Cluster Analysis (MinPts=4, Eps=9.75). Original Points Varying densities High-dimensional data (MinPts=4, Eps=9.92)

DBSCAN: EPS와 MinPts의 결정방법 Cluster Analysis 기본 아이디어: 클러스터내의 각 점들에 대해서, 해당 점의 k번째 인접 이웃(k-th nearest neighbor)이 대충(roughly) 동일한 위치에 있도록 한다. 노이즈는 k번째 인접 이웃이 다른 점들에 비해 멀리 떨어진 경우이다. 결국, 모든 점들에 대해서, 각 점들의 k번째 인접 이웃의 거리를 정렬하여 나타내고, 이를 바탕으로 적당한 EPS와 MinPts를 결정한다.

클러스터 유용성 (Cluster Validity) Cluster Analysis 감독 분류(supervised classification)에서는 모델을 평가하는 다양한 척도가 존재하였다. (예: accuracy, precision, recall) 군집 분석에서도, 결과로 얻어낸 클러스터들에 대해서 “얼마나 잘 군집화가 되었느냐?”와 같이 클러스터 질에 대한 질문을 수행할 수 있다. 그러나, 군집화 결과는 보는 사람의 관점(eye of the beholder)에 따라 좋고 나쁨이 달라질 수 있다. 그렇다면, 왜 군집화의 결과를 평가해야 하는가? To avoid finding patterns in noise To compare clustering algorithms To compare two sets of clusters To compare two clusters

랜덤 데이터에서 발견된 클러스터 DBSCAN Random Points K-means Complete Link(MAX) Cluster Analysis DBSCAN Random Points K-means Complete Link(MAX)

클러스터 유용성의 척도 Cluster Analysis

밀도기반 군집화의 다른 방법 격자기반 군집화 (Grid-Based Clustering) Cluster Analysis 격자기반 군집화 (Grid-Based Clustering) 데이터 공간을 격자(cell)로 나누고, 주어진 임계치보다 큰 밀도 값을 갖는 격자들을 추려낸 후, 연속된 격자들을 연결하여 클러스터를 형성한다. 부분공간 군집화 (Subspace Clustering) 전체공간이 아닌 부분공간을 대상으로 클러스터링을 수행한다. 다시 말해, 전체 속성이 아니 부분 속성을 대상으로 클러스터링을 수행한다.

격자기반 군집화 사례 Cluster Analysis

부분공간 군집화 사례 Cluster Analysis

K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 강의 내용 Cluster Analysis 군집 분석의 개념과 종류 K-Means 군집화 (k-Means Clustering) 계층 군집화 (Hierarchical Clustering) 밀도기반 군집화 (Density-Based Clustering)