본문 바로가기
클래스 리뷰/22.12 K-Digital 기초역량훈련 딥러닝 강의

[패스트캠퍼스] 딥러닝 강의 - 5주차 학습일지 - 클러스터링 모델 정리

by 직_장인 2023. 2. 8.

5주차 요약

5주차는 비지도학습(Unspervised Learning)의 한 부분인 클러스터링(Clustering)에 대해 공부했다.

비지도학습 특징으로, 정답에 해당하는 target value가 없다보니 feature vector가 중요하게 작용한다.

4가지 모델(K-means, Hierarchical Agglomerative Clustering, DBSCAN, Spectral Clustering)에 대한 이론 설명과 실습으로 구성되었다.

(이론 정리부터 하고 실습은 추후에 첨부할 예정이다.)

 

클러스터링(Clustering) 모델

1). K-means

https://stanford.edu/~cpiech/cs221/handouts/kmeans.html

K-means 클러스터링 모델은, 쉽게 풀어쓰면 K개의 평균지점을 찾는 것이다.

- (a) 그림과 같은 데이터가 있을 때, 우리가 2개(= K)의 군집으로 구분하고자 한다.

- (b) 그림과 같이, 두개의 기준점(centroid)를 랜덤하게 찍는다.

- (c) 그림과 같이, 각 데이터들을 더 가까운 기준점으로 지정(labeling) 한다.

- (d) 그림과 같이, 같은 label의 데이터들의 평균(mean)을 구한다.

- (e) 그림과 같이, (d)에서 구한 평균(mean)을 새로운 기준점으로 지정한다.

- 기준점이 바뀌지 않을 때까지 반복해서 계산한다.

- 기준점이 바뀌지 않는다면, 그때의 각 데이터들의 label을 기준으로 군집(cluster)으로 판단한다.

 

이렇게 간단한 원리로 작동하기 때문에 결과에 대한 해석이 가능하다.

(비지도 학습에서는 기준 삼을 수 있는 정답이 없기 때문에 결과 해석이 중요하게 작용한다.)

학습속도가 빠르고, 주어진 데이터에서 항상 정답이 나오는(convex) 장점이 있다.

단점으로는, 평균(mean) 계산이기 때문에 이상치(outlier)에 영향을 많이 받는다.

 

 

2). Hierarchical Agglomerative Clustering(상향식 계층 클러스터링)

https://towardsdatascience.com/hierarchical-clustering-explained-e59b13846da8

모든 데이터간 유사도를 계산해서, 아래부터 위로(상향식) 데이터를 묶어가는 방법이다.

유사도묶는 방식을 기준으로 계산하며, 모든 데이터가 묶일 때까지 반복한다.(때문에, 계산 속도가 느리다.)

특정 임계값(Threshold, 그림의 빨간색 점선)을 기준으로 잘랐을 때, 세로로 구분되는 군집(cluster)을 최종 군집으로 판단한다.

(왼쪽 그림을 Dendrogram이라고 한다.)

 

 

3). DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

https://medium.com/@agarwalvibhor84/lets-cluster-data-points-using-dbscan-278c5459bee5

이름에 밀도(density)가 들어가 있듯, 밀도라는 개념으로 계산하여 클러스터링 하는 방법이다.

다른 방법들과 다른점은 Noise Data를 이상치(outlier)로 처리한다는 것이다.

그래서 이상치 검출(outlier detection) 문제를 풀때 사용된다고 한다.

 

밀도를 계산하기 위해, 그림의 MinPts, Eps를 알아야 한다.

Eps거리값으로, 같은 클러스터(cluster)로 묶는 기준이 된다.

MinPts는 Eps 거리값으로 원을 그렸을 때 그 안에 최소한 포함되어야 하는 데이터 수이다.

 

4). Spectral Clustering

그래프 클러스터링 기법이라고 하는데, 이 부분은 이해가 부족한 것 같다.

더 공부해서 따로 정리해야겠다.

 

 

클러스터링 모델 정리는 여기까지!

 

 

 

※ 이 글은 내일배움카드를 이용한 국비지원교육인 K-Digital 기초역량훈련 딥러닝 강의 학습일지입니다.

※ 강의내용을 그대로 가져온 것이 아닌, 학습 과정을 기반으로 개인적으로 풀어 쓴 학습일지입니다.

댓글