콘텐츠로 이동

P4-2.2 비지도학습(unsupervised learning)

Section ID: P4-2.2 Version: v2026.07.20

P4-2.1에서는 라벨(label)이 있는 사례로 모델을 학습하는 지도학습(supervised learning)을 봤습니다. 이번에는 라벨이 없는 데이터에서 구조를 찾는 비지도학습(unsupervised learning)을 봅니다.

비지도학습은 “정답 없이 제멋대로 학습한다”는 뜻이 아닙니다. 비지도학습은 사람이 미리 붙인 라벨 없이 데이터 안의 비슷함, 묶음, 축, 밀도, 이상한 점을 찾아보는 접근입니다. 모델이 정답을 맞히는 것이 아니라, 사람이 데이터를 더 잘 이해하거나 다음 작업을 하기 위해 구조 후보를 만드는 경우가 많습니다.

이 절은 비지도학습(unsupervised learning), 라벨 없는 구조 읽기, 군집화(clustering)차원 축소(dimensionality reduction)의 큰 구분을 설명합니다. 뒤 절에서는 이 손잡이를 바탕으로 현재 맥락의 판단을 이어 가고, 구조 탐색의 기본 뜻은 이 절과 개념사전을 기준으로 다시 연결합니다.

비지도학습(unsupervised learning)에서 닫을 질문

이 절은 먼저 라벨 없는 데이터에서 구조를 읽는 비지도학습이 어떤 문제를 다루는가를 닫습니다. k-means와 DBSCAN은 P4-17 클러스터링에서, PCA와 t-SNE는 P4-18 차원 축소에서 이어집니다.

  • 라벨이 없다는 것은 무엇인가?
  • 비지도학습은 무엇을 배우는가?
  • 군집화(clustering), 차원 축소(dimensionality reduction), 이상치 탐지(outlier detection)는 어떤 문제인가?
  • 비지도학습 결과를 왜 조심해서 해석해야 하는가?
  • 지도학습과 비지도학습은 실제 작업에서 어떻게 이어질 수 있는가?

비지도학습(unsupervised learning)에서 남길 판단 기준

  • 비지도학습을 라벨 없는 데이터에서 구조를 찾는 접근으로 설명할 수 있습니다.
  • 군집화, 차원 축소, 이상치 탐지의 차이를 예시로 구분할 수 있습니다.
  • “비슷한 데이터끼리 묶인다”는 말이 자동으로 의미 있는 정답을 보장하지 않음을 설명할 수 있습니다.
  • 비지도학습 결과를 사람이 해석하고 검토해야 한다는 점을 이해할 수 있습니다.
  • 비지도학습이 이후 지도학습이나 데이터 분석의 준비 단계로 쓰일 수 있음을 말할 수 있습니다.

먼저 한 장면으로 이해하기

온라인 쇼핑몰의 고객 데이터를 생각해 봅니다. 다음과 같은 정보는 있지만, 아직 “고객 유형” 라벨은 없다고 해 보겠습니다.

고객 최근 30일 방문 횟수 구매 횟수 평균 구매 금액 쿠폰 사용 여부
고객 A 20 8 높음 자주 사용
고객 B 3 0 낮음 거의 사용 안 함
고객 C 18 7 높음 자주 사용
고객 D 5 1 중간 가끔 사용

지도학습이라면 각 고객에 우수 고객, 이탈 위험, 일반 고객 같은 라벨이 붙어 있을 수 있습니다. 하지만 비지도학습에서는 그런 라벨 없이 시작합니다. 대신 데이터가 자연스럽게 비슷한 고객끼리 묶이는지, 어떤 축으로 차이가 나는지, 유난히 다른 고객이 있는지를 살펴봅니다.

여기서 중요한 점은 모델이 고객 유형의 의미를 자동으로 이해하는 것이 아니라는 점입니다. 모델은 비슷한 패턴을 찾을 수 있습니다. 그러나 그 묶음이 “우수 고객”인지, “쿠폰 민감 고객”인지, “일시적 이벤트 참여자”인지는 사람이 데이터와 업무 맥락을 보고 해석해야 합니다.

같은 고객 표라도 비지도학습에서는 정답 라벨을 맞히는 표보다 구조 후보를 읽는 표로 다룹니다. 아래 도식은 같은 입력 표가 군집 후보, 축 요약, 이상치 후보처럼 서로 다른 읽기 결과로 갈라질 수 있음을 보여 줍니다.

flowchart TD
  A["고객 표<br/>방문 / 구매 / 금액 / 쿠폰 사용"]
  B["군집 후보<br/>활동형 / 탐색형 / 휴면형"]
  C["축소된 보기<br/>행동의 2차원 지도"]
  D["이상치 후보<br/>유난한 구매 패턴"]
  E["사람 해석<br/>이름 붙이고 점검"]
  F["다음 작업<br/>분석 또는 지도학습"]

  A --> B
  A --> C
  A --> D
  B --> E
  C --> E
  D --> E
  E --> F

지도학습과 비교하기

지도학습과 비지도학습은 데이터의 모양부터 다르게 보입니다.

구분 지도학습(supervised learning) 비지도학습(unsupervised learning)
데이터 입력 X와 라벨 y가 함께 있습니다. 입력 X만 있고 명시적 라벨 y가 없습니다.
질문 이 입력의 정답 출력은 무엇인가? 이 데이터 안에 어떤 구조가 있는가?
대표 문제 분류, 회귀 군집화, 차원 축소, 이상치 탐지
결과 해석 실제 라벨과 비교해 성능을 평가하기 쉽습니다. 결과의 의미를 사람이 해석하고 검증해야 합니다.
예시 메일이 스팸인지 정상인지 예측합니다. 비슷한 메일 유형을 묶어 봅니다.

비지도학습에서는 라벨이 없기 때문에 “정답과 비교해 몇 퍼센트 맞았다”처럼 단순하게 말하기 어렵습니다. 대신 묶음이 업무적으로 의미 있는지, 시각화가 데이터 이해에 도움이 되는지, 이상치 후보가 실제로 점검할 가치가 있는지를 따져야 합니다.

흐름으로 보기

비지도학습의 기본 흐름은 다음처럼 볼 수 있습니다.

flowchart TB
  A["1. 라벨 없는 데이터<br/>X만 있음"]
  B["2. 표현 정하기<br/>특징 선택"]
  C["3. 구조 후보 찾기<br/>군집 / 축 / 밀도"]
  D["4. 점검<br/>시각화하고 비교"]
  E["5. 해석<br/>패턴에 이름 붙이거나 활용"]
  F["6. 다음 작업<br/>분석 또는 지도학습"]

  A --> B
  B --> C
  C --> D
  D --> E
  E --> F

이 도식에서 핵심은 human interpretation입니다. 비지도학습 결과는 데이터 안의 구조 후보입니다. 모델이 만든 묶음이나 축은 사람이 이름을 붙이고, 업무적으로 쓸 수 있는지 확인해야 합니다.

비지도학습에서 자주 만나는 세 문제

비지도학습은 여러 방식으로 쓰입니다. 핵심은 다음 세 가지 문제를 먼저 구분하는 일입니다.

문제 질문 쉬운 예시
군집화(clustering) 비슷한 사례끼리 묶이는가? 비슷한 구매 패턴의 고객을 묶습니다.
차원 축소(dimensionality reduction) 많은 특징을 더 적은 축으로 요약할 수 있는가? 100개 특징을 2차원 그림으로 줄여 봅니다.
이상치 탐지(outlier detection) 다른 사례와 유난히 다른 점이 있는가? 평소와 다른 결제 패턴을 점검 후보로 찾습니다.

scikit-learn의 비지도학습 문서도 군집화, 다양체 학습(manifold learning), 행렬 분해(matrix factorization), 이상치 탐지, 밀도 추정(density estimation) 같은 여러 범주를 다룹니다. 이 절은 그중 군집화, 차원 축소, 이상치 탐지를 중심으로 설명합니다.

군집화: 비슷한 것끼리 묶기

군집화(clustering)는 라벨 없는 데이터를 비슷한 사례끼리 묶어 보는 접근입니다.

고객 데이터에서 방문 횟수와 구매 횟수를 기준으로 보면 다음과 같은 묶음이 보일 수 있습니다.

묶음 후보 데이터에서 보이는 패턴 사람이 붙일 수 있는 해석
묶음 A 방문도 많고 구매도 많음 활동적인 고객
묶음 B 방문은 많지만 구매는 적음 탐색 고객 또는 가격 비교 고객
묶음 C 방문도 구매도 적음 휴면 고객 후보

하지만 이 이름은 모델이 알려 준 것이 아닙니다. 사람이 데이터를 보고 붙인 해석입니다. 군집화 결과는 “이런 묶음이 보인다”는 출발점이지, 곧바로 “이 고객은 반드시 이런 사람이다”라는 결론은 아닙니다.

Google의 클러스터링 설명도 라벨 없는 예시를 유사도(similarity)에 따라 묶는 방식으로 설명합니다. 특히 실제 적용에서는 어떤 유사도 기준을 쓸지 명시해야 하며, 특징이 많아질수록 비교가 더 복잡해진다는 점을 강조합니다.

이때 특히 조심할 점은 군집 ID가 붙었다는 사실을 정답 라벨이 생겼다로 오해하지 않는 것입니다.

보이는 것 아직 아닌 것
군집 0, 군집 1, 군집 2 모델이 비슷한 사례를 임시로 묶은 결과 현실의 확정 고객 유형 라벨
2차원 그림에서 가까운 점 특정 표현 공간에서 가깝게 보인다는 뜻 반드시 같은 원인이나 같은 업무 집단
이상치 후보 다른 사례와 다르게 보인다는 신호 곧바로 오류나 위험의 확정 판정

즉 비지도학습의 출력은 보다 구조 후보에 가깝습니다. 이 점을 먼저 받아들이면 뒤에서 군집화나 차원 축소 결과를 과장하지 않게 됩니다.

차원 축소: 많이 보이는 것을 적게 그려 보기

차원 축소(dimensionality reduction)는 많은 특징을 더 적은 수의 축으로 줄여 보는 접근입니다.

예를 들어 고객 한 명을 설명하는 특징이 50개라면 사람이 한눈에 보기 어렵습니다. 차원 축소는 이 정보를 2개나 3개의 축으로 줄여 시각화하거나, 중요한 변화 방향을 보기 쉽게 만들 수 있습니다.

차원 축소는 정보를 버리는 작업일 수 있습니다. 따라서 “2차원 그림에서 가까워 보인다”는 이유만으로 실제 데이터에서도 반드시 같은 의미라고 단정하면 안 됩니다. 어떤 정보가 보존되고 어떤 정보가 줄어들었는지 확인해야 합니다.

이상치 탐지: 다른 점을 점검 후보로 보기

이상치 탐지(outlier detection)는 대부분의 사례와 다르게 보이는 데이터를 찾는 접근입니다.

예를 들어 결제 서비스에서 평소와 다른 시간, 다른 금액, 다른 지역에서 결제가 발생하면 이상치 후보가 될 수 있습니다. 그러나 이상치가 곧 부정 거래라는 뜻은 아닙니다. 여행 중 결제일 수도 있고, 정상적인 고가 구매일 수도 있습니다.

그래서 비지도학습 결과는 보통 “점검 후보”로 읽어야 합니다. 모델이 이상하다고 표시한 이유를 살펴보고, 실제 업무 기준과 결합해 판단해야 합니다.

결과를 해석할 때 조심할 점

비지도학습은 라벨이 없기 때문에 결과 해석이 특히 중요합니다.

  • 모델이 만든 묶음은 자동으로 의미 있는 집단이 아닙니다.
  • 가까운 점들이 항상 같은 원인으로 가까운 것은 아닙니다.
  • 차원 축소 그림은 원래 데이터의 모든 정보를 보존하지 않을 수 있습니다.
  • 이상치 후보는 실제 오류, 위험, 부정행위와 다를 수 있습니다.
  • 결과에 이름을 붙이는 순간 사람의 해석이 들어갑니다.

따라서 비지도학습은 “정답을 찾았다”보다 “데이터를 이해할 후보 구조를 찾았다”로 읽어야 합니다.

지도학습으로 이어질 수 있는 자리

비지도학습은 지도학습과 완전히 분리된 세계가 아닙니다. 실제 작업에서는 서로 이어질 수 있습니다.

예를 들어 고객을 군집화한 뒤, 각 군집의 행동을 분석해 마케팅 전략을 다르게 세울 수 있습니다. 또는 군집 ID를 새로운 특징(feature)으로 사용해 지도학습 모델에 넣을 수도 있습니다. 차원 축소로 데이터를 시각화한 뒤, 어떤 라벨 오류가 있는지 점검할 수도 있습니다.

이때도 주의할 점은 같습니다. 비지도학습 결과는 다음 작업의 재료가 될 수 있지만, 그 자체가 현실의 정답을 보장하지는 않습니다.

비지도학습 결과는 다음 순서로 해석합니다.

  1. 먼저 데이터에서 어떤 묶음이나 축이 보이는지 본다.
  2. 그다음 사람이 그 묶음에 어떤 해석을 붙일 수 있는지 본다.
  3. 마지막에야 이것을 다음 분석이나 지도학습 준비에 쓸지 결정한다.

이 순서를 거치면 비지도학습 결과를 곧바로 정답처럼 고정하는 실수를 줄일 수 있습니다.

실제로는 지금 문제를 비지도학습으로 읽는가를 먼저 판정해야 합니다.

현재 상태 비지도학습으로 읽는가 이유
라벨 없이 데이터의 묶음, 축, 이상한 점을 먼저 보고 싶다 정답 예측보다 구조 이해가 현재 목표이기 때문입니다.
라벨은 없지만 다음 분석을 위한 후보 구조가 필요하다 군집, 축, 이상치 후보가 다음 작업의 재료가 될 수 있기 때문입니다.
이미 안정된 라벨이 있고 새 사례의 출력을 맞추고 싶다 보통 아니오 구조 탐색보다 지도학습 문제가 더 직접적이기 때문입니다.

체크리스트

  • 어떤 상황에서 비지도학습의 목표가 정답 맞히기가 아니라 구조 후보 만들기인지 설명할 수 있는가
  • 군집 ID, 2차원 그림의 가까움, 이상치 후보가 왜 곧바로 정답 라벨이 아닌지 말할 수 있는가
  • 비지도학습 결과를 다음 분석이나 지도학습 준비에 어떻게 이어 붙일지 설명할 수 있는가
  • 비지도학습이 라벨 없는 데이터에서 구조 후보를 찾는 접근이라는 점을 설명할 수 있는가
  • 군집화, 차원 축소, 이상치 탐지가 각각 어떤 구조 후보를 드러내는지 구분할 수 있는가
  • 비지도학습 결과에는 사람이 해석을 붙여야 하고, 지도학습처럼 정답과 직접 비교해 평가하기 어렵다는 점을 설명할 수 있는가

사례 및 예시

사례 1. 고객 유형 이름은 없지만 비슷한 패턴이 보이는가를 먼저 보고 싶을 때

한 쇼핑몰이 고객 행동 데이터를 많이 모아 두었지만, 아직 충성 고객, 이탈 위험 고객, 할인 민감 고객 같은 유형 라벨은 없다고 하겠습니다. 사람은 그래도 데이터 안에 어떤 묶음이 있는지 먼저 보고 싶어질 수 있습니다.

이 장면에서는 지도학습처럼 정답 라벨을 맞추는 문제가 아닙니다. 대신 방문 횟수, 구매 금액, 쿠폰 사용 같은 값들만 보고 비슷한 고객끼리 묶이거나, 눈에 띄게 다른 고객이 있는지 살펴보는 일이 먼저입니다.

그래서 비지도학습은 라벨 없는 데이터에서 구조 후보를 찾는 접근으로 설명됩니다. 모델이 이 집단은 VIP다라는 이름까지 알려 주는 것은 아니고, 사람이 나중에 해석을 붙일 만한 패턴을 먼저 드러냅니다.

확인 가능한 결과는 묶음과 축이 실제 검토 질문을 만드는지로 볼 수 있습니다. 예를 들어 비슷한 구매 패턴의 고객이 몇 그룹으로 나뉘고, 그 차이를 사람이 설명할 수 있다면 비지도학습 결과가 다음 분석 단계의 출발점이 됩니다.

flowchart TD
  A["고객 행동 표"]
  B["아직 라벨이 없음"]
  C["비슷한 패턴 찾기"]
  D["묶음 후보가 보임"]
  E["이상치나 축소 보기 단서가 보임"]
  F["사람 해석은 뒤에 따라옴"]
  G["다음 분석 질문에 활용"]

  A --> B --> C
  C --> D
  C --> E
  D --> F
  E --> F
  F --> G

출처와 참고 자료