본문 바로가기

반응형

Machine Learning Tasks/Clustering

(10)
Clustering - Invariant Information Clustering for Unsupervised Image Classification and Segmentation (2) 이전 포스트 [Machine Learning/Unsupervised Learning] - Clustering - Invariant Information Clustering for Unsupervised Image Classification and Segmentation (1) Experiment Image clustering ImageNet 데이터셋의 비지도학습 벤치마크 데이터셋인 STL10과 MNIST, CIFAR 에 대해서 실험을 수행하며 semi-supervised 방법으로도 실험을 수행합니다. 먼저 clustering이 색깔같은 단순한 특징에 의해 이루어지지 않도록 Sobel filtering 을 수행하며 데이터 augmentation 을 위해 배치 안의 각 이미지별로 $r$ 번 변환을 수행합니다..
Clustering - Invariant Information Clustering for Unsupervised Image Classification and Segmentation (1) 이번 포스트에서 살펴볼 논문은 IMSAT 과 마찬가지로 mutual information 을 최대화하여 clustering 하는 방법론에 관한 내용입니다. 입력 $x$와 $x$에 대한 출력 $y$의 mutual information 을 최대화하는 IMSAT과 달리 이번 포스트의 IIC (Invariant Information Clustering)에서는 입력 $x$와 $x$와 비슷한 $x'$의 각 출력의 mutual information 을 최대화하는 것인데요, image clustering 과 segmentation 에 적용하여 놀라운 성능을 거두었다고 합니다. 자세한 내용을 한 번 살펴보겠습니다. Method Invariant information clustering 먼저 $x, x'$ 을 이미지의 내..
Clustering - Performance (3), S_Dbw 이전 포스트 [Machine Learning/Unsupervised Learning] - Clustering - Performance (1) [Machine Learning/Unsupervised Learning] - Clustering - Performance (2), Total Sum of Squares Clustering 의 중요한 목적은 비슷한 데이터끼리는 뭉치게 하고 (compactness) 덜 비슷한 데이터끼리는 떨어지게끔 (separation) 묶어주는 것입니다. 이에따라 clustering 의 성능을 평가하는 여러 지표에서는 각 군집의 compactness, 군집 간 separation 을 동시에 고려해주게 되는데요. 이번 포스트에서 살펴볼 내용은 intra-cluster variance ..
Clustering - Performance (2), Total Sum of Squares 지난 포스트 [Machine Learning/Unsupervised Learning] - Clustering - Performance (1) 지난 포스트에서 라벨 없이 clustering 의 성능 평가를 위한 지표들인 silhouette score, calinski-harabasz index, davies-bouldin index 에 대해 알아봤습니다. Clustering 의 목적 자체가 전체 데이터셋 중 비슷한 데이터끼리는 같은 군집으로 비슷하지 않은 데이터끼리는 서로 다른 군집끼리는 구별되도록 묶는 알고르짐이기에 대표적인 지표들인 silhouette score, calinski-harabasz index 는 서로 모양은 다르지만 clustering 의 성능 평가를 위해서 1) 각 군집이 얼마나 잘 뭉..
Clustering - Performance (1) 지난 포스트 [Machine Learning/Unsupervised Learning] - Clustering - Hungrian Algorithm 지난 포스트에서는 clustering 의 결과 할당된 군집 번호를 라벨과의 정확도가 최대화가 되도록 재할당하는 Hungarian Algorithm 에 대하여 알아봤습니다. 이번 포스트에서는 데이터에 대한 라벨이 없고 순수히 clustering 결과의 성능을 측정하기 위한 다양한 방법들을 알아보도록 하겠습니다. Silhouette score Silhouette score 는 지난 포스트에서 cluster 의 개수를 판단하는 지표로서 소개해드렸는데요, clustering 의 성능을 평가하는데도 사용됩니다. Silhouette score 는 특정 데이터 샘플과 같은..
Clustering - Hungrian Algorithm Clustering 은 주어진 데이터를 정해진 수의 군집 수에 따라 비슷한 특성끼리 묶어주는 알고리즘으로 K-Means, DBSCAN, deep learning based clustering 등 모든 종류의 clustering 알고리즘은 훈련 후의 각 데이터 샘플 별 할당된 군집 번호를 출력합니다. 하지만 문제는 할당된 군집 번호가 훈련 시마다 매 번 다르고 각 데이터 별 라벨이 있을 경우 라벨 번호와 맞지 않는다는 것인데요, 이번 포스트에서는 clustering 이후의 군집 번호를 기준 (라벨)에 맞게 재정렬하는 Hungarian 알고리즘에 대해 알아보도록 하겠습니다. 4개의 클래스를 가진 16개의 데이터가 [0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3] 라벨을 가졌을 때, clusteri..
Clustering - Learning Discrete Representations via Information Maximizing Self-Augmented Training Deep neural networks 는 데이터의 복잡한 비선형 관계를 잘 모델링할 수 있다는 점에서 머신러닝의 다양한 분야에 채택되어 왔고 clustering 이나 hash learning 과 같은 discrete representation이 필요한 태스크에도 응용되어 왔습니다. 하지만 deep neural networks은 모델의 복잡도가 크고 clustering과 같은 비지도학습은 타겟 단에서의 라벨이 없기 때문에 모델에 대한 적절한 정규화 (regularization)이 필수적입니다. 이번 포스트에서 다룰 내용은 데이터를 discrete representation 으로 매핑하는 deep neural networks를 data augmentation 에 대해서도 결과가 변하지 않도록 (invaria..
Clustering - DBSCAN 지난 포스트에서 다루었던 K-Means는 데이터 간의 거리를 이용해 군집을 나누는 방법이라면, 이번 포스트에서 다룰 DBSCAN (Density-Based Spectral Clustering of Application with Noise)는 데이터가 세밀하게 모여있는 밀도가 높은 곳을 뭉치는 군집 방법으로서 서로 이웃한 데이터들을 군집에 반복적으로 포함시키기 때문에 일반적으로 원형 형태 군집으로 나타나는 거리 기반 군집화에 비해 불특정한 모양의 군집 형성이 가능합니다. 위 그림은 sklearn.datasets 모듈의 make_moons 함수를 이용한 가상 데이터를 K-Means와 DBSCAN을 이용하여 군집화 한 결과로 K-Means는 거리 기반으로 두 군집이 명확히 구분되지 않으나 DBSCAN은 밀도 ..

반응형