본문 바로가기
Computer Science/Algorithms

[알고리즘] K-mean Clustering Algorithm

by Henry Cho 2022. 5. 24.
728x90

K-mean Clustering Algorithm


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# K-mean Clustering Algorithm

K-mean clustering algorithm은 Machine learning 과정에서 분류나 그룹화를 하는 데 사용되는 대표적인 Machine learning 알고리즘 중에 하나이다.

K-mean clustering은 간단하면서도 많이 알려진 기본적인 ML 알고리즘이며, K-mean 기반으로 응용된 다양한 방식의 알고리즘이 존재한다.

K-mean의 핵심은 K라고 불리는 임의의 Clustering 개수를 지정하고 이를 기반으로 그룹화와 각 평균 Clustering 간의 거리(Distance)를 산출하는 것이다.

이를 토대로 ML에서는 특정 조건이나 패턴을 통해 각 변수(Variables)별 그룹화가 가능하며, 결과적으로 분류 작업이 이루어진다.


# K-mean에서 K란?

K-mean에서 K는 임의의 숫자를 의미한다.

한마디로 K-mean clustering algorithm에서 K를 3으로 지정하면 3개의 클러스터링, 즉 그룹을 만든다는 것을 의미한다.

만약에 K가 1이라면 1개의 그룹만이 존재하기 때문에 주어진 모든 데이터 또는 변수가 하나의 그룹인 셈이다.

K는 마치 수학에서 사용하는 n과 같은 것이라고 생각하면 이해하기 쉽다.


# K-mean에서 mean이란?

K-mean clustering에서 중요한 것은 그룹화를 하는 것도 중요하지만 최종적으로 각 그룹으로 이루어진 변수별 거리를 측정하여 비교하는 것이 중요하다.

따라서 clustering이 이루어진 다음에 마지막으로 각 클러스터링별 거리를 측정하여 비교하는데, 이때 평균인 mean을 사용하기에 K-mean clustering algorithm이라고 부른다.

포스팅 아래의 예제를 살펴보면 K-mean 이해하는데 도움이 될 것이다.


# K-mean에서 Clustering이란?

Clustering이라는 것은 Computer science에서 특히 Data science에서는 데이터 집단을 의미한다.

어렵게 생각할 필요없이 특정 조건으로 분류된 그룹 또는 집단이라고 생각하면 된다.

K-mean clustering algorithm과 같이 결과적으로 Clustering, 즉 데이터 집단 분류가 


# K-mean Clustering Algorithm Examples

K-mean clustering algorithm을 쉽게 이해하기 위해서는 간단한 예제를 통해 살펴보는 것이 좋다.

우선 linear한 예제를 통해 K-mean clustering algorithm을 적용해보자.

 

<Fig01. K-mean_example_1>

먼저 위와 같이 하나의 라인에 6개의 데이터 또는 노드가 존재한다고 가정해보자.

6개의 노드의 위치는 위와 같이 존재하며, 클러스터링 개수는 2개를 사용하여 나타내 보려고 한다.

한마디로 K-mean에 해당하는 K가 2인 셈이다.

 

<Fig02. K-mean_example_1>

 

임의의 K 위치를 설정해준다.

이번 예제에서는 K값이 2이기에 지정되는 임의의 K 위치도 2개가 된다.

하나는 파란색, 나머지 하나는 주황색을 표시를 해주었다.

<Fig03. K-mean_example_1>

위의 예제처럼 처음 K의 위치를 설정해준 다음에는 Distance를 기준으로 Clustering이 이루어진다.

아래의 예제 그림은 주황색과 파란색의 Clustering이 거리를 기준으로 나누어지고 있는 걸 알 수 있다.

가까운 거리에 있는 K값끼리 같은 클러스터링으로 묶여지는 걸 알 수 있다.

K값이 2개보다 많은 3개나 4개일 경우에는 더 세분화하여 나누어져 Clustering이 된다.

<Fig04. K-mean_example_1>

Clustering 작업이 끝나고 난 뒤에는 K-mean 구해야 한다.

한마디로 처음 임의로 지정해두었던 위치가 클러스터링 별 중간값으로 변환된다.

따라서 이를 K-mean clustering algorithm이라고 부른다.

<Fig05. K-mean_example_1>

 


 

728x90

댓글