180 likes | 968 Views
패턴인식 개론. Ch.8 클러스터링. 학습목표. 데이터 마이닝 (data mining) : 각종 데이터 속에 숨어있는 패턴 , 규칙 , 관계 등의 정보를 자동으로 탐색하고 데이터 간의 연관을 발굴 (mining) 해 내는 인공지능 , 공학 및 통계 기법을 연구하는 학문 분야이다 . 이 장에서는 데이터 마이닝의 시작 이라고 할 수 있는 같은 패턴끼리 모아주는 클러스터링 (Clustering) 방법에 관하여 설명한다 .
E N D
패턴인식 개론 • Ch.8 클러스터링
학습목표 • 데이터 마이닝(data mining): 각종 데이터 속에 숨어있는 패턴, 규칙, 관계 등의 정보를 자동으로 탐색하고 데이터 간의 연관을 발굴(mining)해 내는 인공지능, 공학 및 통계 기법을 연구하는 학문 분야이다. • 이 장에서는 데이터 마이닝의 시작이라고 할 수 있는 같은 패턴끼리 모아주는 클러스터링(Clustering) 방법에 관하여 설명한다. • 실습에서는 임의의 데이터에 대하여 k-means 알고리즘을 이용하여 직접 클러스터링 시뮬레이션을 해본다.
교사 학습 vs. 비교사 학습 • 교사/감독 학습 (supervised learning) - {x, ω}관측된 자료가 특징 벡터 x 와 관측 값이 속해있는 클래스 ω 로 이루어진 변수 쌍 {x, ω}으로 구성될 경우의 학습은 특징벡터와 정확한 답이 주어졌기 때문에 교사/감독 (supervised : 교사와 함께 훈련한) 학습이라고 한다. • 모수적 또는 • 비모수적 방법을 통해서 각 클래스의 확률밀도를 추정하여 분류기에 사용한다. • 비교사/무감독 학습 (unsupervised learning) - {x}클래스 라벨 ω 가 주어지지 않고 특징 벡터 x={x1, x2,...,xN } 만으로 이루어진 데이터 집합이 주어질 경우의 학습은 정확한 답은 제공 받지 못하므로 비교사/무감독 (unsupervised : 교사 없이 훈련한) 학습이라고 한다. • 모수적 방법 • 비모수적 방법 • 비교사 학습이유용한 경우 • 1) 데이터 마이닝과 같이 원천적으로 데이터에 대한 클래스 라벨들이 주어지지 않을 경우 • 2) 많은 데이터 집합들이 작은 프로토타입(원형) 집합으로 압축되어 질 수 있는 경우 • 3)표본의 수가 너무 많아서 각 표본마다 일일이 라벨링하는 것이 비용이 많이 드는 지루한과정일 경우
비교사학습의 두가지 접근법 • 모수적 (parametric) 방법 (혼합 모델 구축을 통한 방법) • 이 방법은 여러 개의 모수적 확률밀도함수(주로 가우시안)를 혼합하여 주어진 확률밀도함수를 모델링하는 방법으로 아래 식과 같이 모델링 되며, 모델 파라미터를 찾는 것이 목적이다. 이 방법을 “모수적 혼합 모델(parametric mixturemodels)”이라고 한다. • 비모수적 (non-parametric) 방법 • 이 방법은 주어진 데이터에 대한 어떠한 가정도 하지 않고 정해진 수의 클러스터들로 데이터를 나누는 방법으로 군집화 (클러스터링)라고 한다. 이 방법은 파라미터 최우추정(MLE)과 밀접하게 관련되어 있다.
클러스터링 아래의 좌측 그림처럼 분산된 데이터 집합은 수많은 특징 벡터들로 이루어져 있다. 이들 데이터 집합을 그룹들 혹은 클러스터들로 나누어 각 클러스터의 중심의 대표 벡터로 할당하려고 한다. 이러한 대표벡터들의 개 수 K는 미리 정해져 있어야 한다. 즉, K는 결정적이지 않다. 아래의 우측의 그림은 2차원 유클리디안 공간상에서 K=8의 영역으로 공간을 분할한 그림이다. 이 중심벡터들의 위치는 검은 점으로 보여주고 있는데, 클러스터에 사상되는 특징벡터들은 클러스터링 되었다고 말한다.
클러스터링 • 비모수 군집화의 세가지 단계 • 1) 표본간의 유사(또는 차이)정도를 측정방법 정의 • 2) 군집화를 위한 결정함수 정의 • 3) 결정함수를 최대화(또는 최소화) 시키는 알고리즘 정의 특징벡터 집합 x가 새로운 벡터집합y로 군집화되는 과정은 특징벡터들 간에 정의된 거리척도(distance measure)또는 측량(metric)과 깊은 관련이 있다. • 유클리디안 자승거리 • 중심평균 • N개의 벡터에서 전체 왜곡 • 알고리즘 종류 • k-means 알고리즘 • 비균일 이진 분할(non-uniform binary split) 알고리즘 • k-means 알고리즘에 따른 이진 분할 알고리즘: LBG 알고리즘
k-means 알고리즘과 EM알고리즘 • ■ k-means 알고리즘 • 다음과 같이 주어지는 평균자승오차(Mean Squared Error) 규준함수 JMSE를반복적인 스타일로 최소화시키는 가장 단순한 군집화(clustring)과정이다. • 클러스터의 개수 K 를 결정 • 임의의 클러스터 중심을 할당하여 클러스터 초기화 • 각각의 클러스터에 대하여 표본 평균을 새로 구함 • 각각의 표본을 가장 근접한 평균을 갖는 클러스터로 다시 할당함 • 모든 표본에 변화가 없으면 알고리즘 중지 또는 3번 단계로 이동하여 계속 수행
k-means 알고리즘과 EM알고리즘 • ■ k-means 알고리즘의 계산 절차 • 중심 초기화 : 데이터 집합 {x1,…,xN} 으로부터 임의의K개의 벡터를 선택하여 K개의 초기 중심집합 {y1, …,yK} 을 만든다. • 클러스러링 단계: 만약 데이터 xn 이 yi 에 가장 가깝다면 클러스터 X i 에 속하도록 라벨링한다. 결국 데이터 집합을 K개의 클러스터들 {X1, …, XK}로 나누어진다. • 중심갱신 단계: 클러스터링 단계에서 구한 새로운 클러스터들에서 각각의 중심을 갱신한다. • 왜곡검증 단계: 데이터와 가장 가까운 클러스터 중심들과 거리의 합으로 총 왜곡 (distortion)을 구한다. • 총 왜곡이 적절하게 변하지 않거나 설정된 반복횟수에 도달할 때까지 단계2~단계4를 반복한다. • 왜곡 검증 예 :
비균일 이진 분할 • ■ 비균일 이진 분할 계산 절차 • 한 개의 클러스터 X1과 관련된 중심이 y1=c(X1)인 모든 데이터 점들 xn으로 시작한다. 클러스터 카운트는 k=1으로 둔다. • K 개의 중심들을 얻기 위해서 3 ~ 6단계를 (K-1)번 반복한다. • 클러스터 내의 점들과 중심의 평균 거리로 측정된 가장 큰 왜곡을 가진 클러스터 Xi를 선택한다(비균일 알고리즘). (균일 알고리즘의 경우는 모든 클러스터를 차례대로 선택한다). • 선택된 클러스터 Xi를 K=2로 k-means를 행하여 두 개의 부-클러스터Xa와 Xb로 나눈다. • 중심 yi를 대치하고 새로운 중심을 다음과 같이 둔다.yi = c(Xa) yk+1 = c(Xb) • 클러스터 카운트를 증가 시킨다. k k+ 1
군집화 알고리즘 종류 • 군집화 알고리즘 세가지 • k-means 알고리즘 • 비균일 이진 분할 (non-uniform binary split) 알고리즘 • LBG 알고리즘( k-means 알고리즘에 따르는 이진 분할 알고리즘 ) : k-means의 초기값을 랜덤 데이터 점으로 하는 대신에 이진 분리로 구한 중심을 사용하면 표준 k-means 방법을 사용하는 경우보다 더 나아질 것이다. 이와 같이 이진 분할과 k-means를 결합된알고리즘을 LBG 알고리즘이라고 한다. LBG는 Linde, Y., A. Buzo, and R. M. Gray 세 명의 연구자 이름의 첫 문자를 의미한다. • .
ISODATA • ■ ISODATA ( Iterative Self-Organizing Data Analysis Technique Algorithm ) • 자기 발견적 학습법을 통해서 자동적으로 군집의개수를 선택하는 k-mean 알고리즘의확장된 방법이다. • ISODATA 알고리즘은사용자로부터 일련의 파라미터를 선택하도록 요구한다. • NMIN_EX : 군집당최소 표본 수 • ND: 대략적으로 요구되는 군집 개수 • σs2 : 분리가 요구되는 최대 분산 파라미터 • DMERGE : 결합이 요구되는 최대 분리 거리 • NMERGE: 걸합될 수 있는 최대 군집 수 • 알고리즘은 다음과 같이 반복적으로 작동된다. • K-means 군집화를 수행한다. • 충분이 다른 표본들로 구성된 군집을 분리한다. • 충분이 근접한 두 개의 군집을 결합한다. • ①-과정으로 돌아 간다.
MATLAB 실습 • ■ k-means 알고리즘을 이용한 시뮬레이션 • K-means 알고리즘을 이용하여 군집화 과정을 직접 시뮬레이션해 보자. 스크립트 파일을 실행하면, 아래의 그림과 같이 붉은 점으로 표시된 클러스터링 중심을 초기값에서부터 시작하여 찾아가는 궤적을 확인해 볼 수 있다. • ■ 왜곡 검증이 포함된 k-means 알고리즘 시뮬레이션 • K-means 알고리즘에 왜곡검증을 포함한 내용이다. 실행 스크립트 파일은 vp_test.m 파일이다.
MATLAB 실습 • ■ LBG 알고리즘 을이용한 시뮬레이션 • LBG 알고리즘을이용한 시뮬레이션으로 k-means 알고리즘보다 빠르게 클러스터링하는 과정을 확인할 수 있을 것이다.