본문 바로가기

ML | DL

Cluster analysis of Unsupervised Learning

Unsupervised Learning(비지도 학습) Algorithm은 레이블 없는 데이터(비정형 데이터)를 훈련하는 것을 말합니다. 그러므로 시스템의 아무런 도움 없이 학습해야 합니다. 부족한 정보를 통해 pattern을 찾고 grouping 할 수 있는 것이 있는지 찾아내는 것이 목표가 될 수 있고, 이것을 단독으로 사용하기보다는 비지도 학습으로 파악한 데이터의 숨겨진 특징을 원본 데이터 대신 지도 학습의 인풋 데이터로 활용해서 지도 학습의 성능을 더욱 끌어올리는 용도로 많이 활용합니다.

 

그렇다면 비정형 데이터라는 것은 무엇일까요??

비정형 데이터란 인간이 만든 작업물에서 나온 데이터로 예를 들 수 있습니다. 사진, 레코드, 텍스트, 영상 등 데이터의 형태만 존재하고 데이터 자체에 어떤 설명이 없는 것을 말합니다. 이런 유형의 데이터를 가지고 어떤 예측을 수행할 수는 없지만 몇가지 범주안에서 지도 학습의 성능을 높이거나 군집(Clustering)을 통해 새로운 지식을 얻을 수 있고 예상치 못한 패턴을 찾는데 도움을 줄 수 있습니다. 

 

비지도 학습의 범주로는

- 군집 분석 (Cluster analysis)

- 차원 축소(Dimensionality reduction)

- 이상치 감지 (Anomaly detection)

등이 있는데 오늘은 가장 많이 사용되는 군집 분석에 대해 알아보겠습니다.!

 

먼저 군집 분석이란 데이터의 분포를 파악해 설정한 기준으로 데이터를 그룹화하는 것을 말합니다. 흩어진 데이터는 그룹화를 통해 데이터를 탐색하고 숨겨진  패턴을 발견할 수 있습니다. 군집 분석의 예로는 마케팅 전략으로 고객을 세분화하는데 가장 많이 사용하고 있습니다. 군집 분석의 대표적인 알고리즘으로는 Hierarchical clustering(계층적 군집)과 k-Means clustering이 있는데 오늘은 가장 흔히 쓰이는 k_Means clustering에 대해 알아보겠습니다.

 

k-Means clustering

k-Means clustering은 k개로 cluster(군집할 그룹의 개수)의 개수를 설정한 후에 가장 가까운 값을 찾아 군집을 형성하는데요. 그렇다면 먼저 적절한 k개의 cluster 찾는 것이 중요하겠죠? 아래의 그래프를 설명해줍니다.

 

 

 

엘보우 포인트라는 것은 팔꿈치가 꺾이는 것처럼 생겨서 지어진 이름인데요. 저렇게 눈에 띄게 꺾이는 포인트를 얘기합니다.

이 포인트를 참고해 cluster의 개수를 정할 수 있는데 위의 데이터는 3개나 5개를 cluster parameter로 잡아 훈련할 수 있습니다. 자세한 코드는 참고를 확인해주세요.! 

 

자 그럼 이렇게 얻은 cluster의 개수로 한번 훈련을 해서 시각화해보겠습니다.

 

왼 3개 / 오 5개

차이가 보이시나요? 왼쪽보다는 오른쪽이 클러스터링을 더 잘한 것 같죠?? 몇 개를 클러스터로 채택해야 할지 모르겠다면 이와 같이 여러 번 실험해보는 것도 좋은 방법입니다. 

 

이렇게 그룹화를 한 후에 새로운 값이 들어왔을때 어떤 군집에 속할지 예측하고 더 나은 군집을 위해 여러 가지 실험을 해본다면 다양한 범위에서 사용해 볼 수 있을 것 같습니다.!

 

 

 

오늘은 여기서 마무리 할게요.!

조언은 언제나 감사히 받겠습니다.

 

 

 

 

Reference : https://www.kaggle.com/fazilbtopal/popular-unsupervised-clustering-algorithms

'ML | DL' 카테고리의 다른 글

XGBoost regressor  (0) 2020.10.01
ARIMA model for time series forecasting(시계열 분석)  (3) 2020.08.12
Linear Regression  (0) 2020.06.17
Supervised Learning  (0) 2020.06.12