군집분석 - alicenlaw

Download Report

Transcript 군집분석 - alicenlaw

군집분석: 비지도 학습
• 효율적 군집분석
– 급내 (intra-class) 유사성이 높고
– 급간 (inter-class) 유사성이 낮다
군집분석의 연구 분야
• Scalability. 작은 자료 (수 백개 까지는 잘 적용
된다. 예: 200 개 이하)
• 다양한 종류의 자료. (이진, 범주형, 이산형 등
에도 적용 가능)
• 구형 자료 (spherical data)외의 다양한 형태
(말발굼 자료 등)의 자료에도 적용 가능
• 잡음 자료나 이상 값 등의 영향
• 고차원 자료에도 효율적인 방법
• 결과의 유용성과 해석
자료
• Data matrix
– n: 자료수
– p: 변수의 수
• Dissimilarity
–nxn
 x11

 ...
x
 i1
 ...
x
 n1
...
x1f
...
...
...
...
...
x if
...
...
...
...
...
x nf
...
 0
 d(2,1)
0

 d(3,1) d ( 3,2) 0
matrix :
:
:

d ( n,1) d ( n,2) ...
x1p 

... 
x ip 

... 
x np 







... 0
자료의 형태
• 구간형 변수
• 이진 변수
• 명목형, 순서형 변수
• 혼합형 변수
구간형변수
• 표준화
– mean absolute deviation:
sf  1
n (| x1 f  m f |  | x2 f  m f | ... | xnf  m f |)
여기서
mf  1
n (x1 f  x2 f
– 펴준화 점수 (z-score)
 ... 
xnf )
xif  m f
zif 
sf
.
• mean absolute deviation 이 표준편차보다 robust
거리: Similarity 와 Dissimilarity
• 두 개체간의 거리: 유사성과 비유사성
• Minkowski distance:
d (i, j)  q (| x  x |q  | x  x |q ... | x  x |q )
i1
j1
i2
j2
ip
jp
• xi = (xi1, xi2, …, xip), xj = (xj1, xj2, …, xjp) :
p-차원인 2 개의 개체
q: 양정수
• q = 1, Manhattan
d (i, j) | x  x 거리
|  | x  x | ... | x  x |
i1 j1 i2 j 2
ip j p
거리
• q = 2, Euclidean 거리
d (i, j)  (| x  x |2  | x  x |2 ... | x  x |2 )
i1
j1
i2
j2
ip
jp
– 특성
• d(i,j)  0
• d(i,i) = 0
• d(i,j) = d(j,i)
• d(i,j)  d(i,k) + d(k,j)
• 기타: 가중 거리 (341쪽). Pearson 상관게수, 기
타
이진변수
• 이진자료의 분할표
Object j
Object i
1
0
sum
1
a
b
a b
0
c
d
cd
sum a  c b  d
p
c
• Simple matching coefficient
(bsymmetric
- 중요
d (i, j) 
a bc  d
성이 동일)
d (i, j) 
bc
a bc
• Jaccard coefficient (asymmetric, 중요성이 다름):
이진변수 (asymmetric) 예
Name
Jack
Mary
Jim
Gender
M
F
M
Fever
Y
Y
Y
Cough
N
N
P
– gender: symmetric
– 기타변수: asymmetric
– Y, P =>1, N => 0
Test-1
P
P
N
Test-2
N
N
N
01
 0.33
2 01
11
d ( jack , jim ) 
 0.67
111
1 2
d ( jim , mary ) 
 0.75
11 2
d ( jack , mary ) 
Test-3
N
P
N
Test-4
N
N
N
명목 변수
• 방법 1: Simple matching
– m: # of matches, p: total # of variables
m
d (i, j)  p 
p
• 방법 2: 명목형 변수=>이진 변수
– 각 범주에 대해 이진 변수화
순서 변수
• xif 를 순위 rif 로 변환
– 각 변수는 다음과 같은 형식에 의해 [0, 1] 사이의 값으
로 표준화
rif 1 rif {1,...,M f }
zif 
M f 1
– 구간형 변수와 같은 방법으로 거리계산
혼합형
• DB 에 모든 형식의 자료가 다 있는 경우
• 가중값을 사용.
 pf  1 ij( f ) d ij( f )
d (i, j) 
 pf  1 ij( f )
– f :이진 또는 명목
xif = xjf => dij(f) = 0, 기타 =>dij(f) = 1
– f : 구간, 표준화 거리 (교재 346 참조)
– f : 순서형, 순위 표준화
zif  r  1
M 1
if
f
군집방법
• Partitioning algorithms: K-means, Kmedoids
• Hierarchy algorithms: dendrogram
K-Means 방법
• K 가 주어질 때 다음의 4 단계로 작동
– 샘플을 k 개의 부분 집합으로 분리
– 현재의 분할이 군집이 되고 이 분할의 중심
(centroid) 을 계산
– 각 개체를 가장 가까운 중심에 할당
– 2 단계 부터 다시 시작. 만약 더 이상 개체
의 움직임이 없으면 여기서 마침.
K-Means 방법: 그림
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
2
2
1
1
0
0
0
1
2
3
4
5
6
7
8
9
10
0
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
2
2
1
1
0
1
2
3
4
5
6
7
8
9
10
0
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10
K-Means 장단점
• 장점
– 비교적 효율적. O(tkn),
n=개체수, k = 군집수, t = # 반복수. k, t << n.
– 대개 지역적 최적점에 도달.
• 단점
– 중심(mean)이 정의될 때에만 성립. 범주형에는
불가
– K 를 먼저 정의해야함
– 이상값에 매우 민감
– non-convex 형의 군집을 발견할 수 없음
K-Means 방법의 변형
• 초기 k 평균의 선택:
– 계층적 응집모형 (hierachical agglomeration)
으로부터 k 와 평균을 초기화
• 범주형 자료의 처리: k-modes (Huang’98)
– 평균을 최빈값(modes) 로 대체
– 범주형 비유사성 측도를 사용
– 군집의 새로운 중심(modes) 추정을 위해 거리
보다 빈도를 사용
– 구간변수와 범주형 변수의 혼합=> k-means 와
k-modes의 혼합을 사용: k-prototype 방법
K-Medoids 방법
• K-means 방법은 몇 개의 이상값에 너무
민감
=> PAM (Partitioning Around Medoids,
1987)
– 평균 대신 대표주자 (medoid)를 선택하고 더
좋은 군집을 만드는 대표주자가 있으면 대체한
다.
– PAM 은 자료수가 작을 때 잘 되지만 큰 자료에
는 불안 (non-scalable)
R program for PAM
library(cluster)
data(votes.repub)
votes.diss <- daisy(votes.repub) #euclidean distance
votes.clus <- pam(votes.diss, 2, diss = TRUE)$clustering
if(interactive())
clusplot(votes.diss, votes.clus, diss = TRUE,
shade = TRUE, labels = 1)
K-medoid: iris data:
##irir 자료: k-medoid (PAM): k=3
par(mfrow=c(1,2))
data(iris)
iris.x <- iris[, 1:4]
clusplot(iris.x, pam(iris.x, 3)$clustering, diss = FALSE,
plotchar = TRUE, color = TRUE, shade =
TRUE,span=FALSE, line=1)
게층적 군집분석
• 거리행렬을 사용하여 군집.
– K 를 먼저 선택할 필요가 없다.
– 끝나는 지점을 지정해야한다.
Step 0
a
Step 1
Step 2 Step 3 Step 4
ab
b
abcde
c
cde
d
de
e
Step 4
agglomerative
(AGNES)
Step 3
Step 2 Step 1 Step 0
divisive
(DIANA)