콘텐츠로 이동

P1-8.2 비지도학습(unsupervised learning): 구조(structure)와 표현(representation)

Section ID: P1-8.2 Version: v2026.07.20

8.1에서는 라벨(label)을 데이터에 붙인 구분 표식으로 설명했습니다. 지도학습(supervised learning)은 입력(input)과 라벨(label)이 함께 있는 예시에서 입력과 출력의 관계를 맞추려 합니다.

이번 절은 반대쪽에서 시작합니다. 비지도학습(unsupervised learning)은 사람이 미리 붙인 라벨 없이 데이터 안의 구조(structure), 군집(cluster), 표현(representation)을 찾으려는 학습 방식입니다.

이 절의 핵심 질문은 라벨이 없을 때 모델이 데이터에서 무엇을 찾으려 하는가입니다.

비지도학습은 아무 기준 없이 배우는 일이 아니라, 사람이 붙인 라벨 없이 데이터 안의 구조를 찾는 일이다.

이 절에서는 비지도학습(unsupervised learning), 구조(structure), 군집화(clustering), 차원 축소(dimensionality reduction), 클러스터 라벨(cluster label)라벨이 없는 데이터에서 구조를 찾는 학습이라는 관점으로 묶어 봅니다. 라벨(label)지도학습(supervised learning)은 8.1에서, 표현(representation)의 기본 감각은 3.3과 4.3에서 먼저 다뤘습니다.

비지도학습, 구조, 군집화, 차원 축소, 표현, 클러스터 라벨은 초반에 모두 데이터를 정리하는 비슷한 말처럼 들릴 수 있습니다. 우선 각 용어의 자리를 짧게 구분하면 다음과 같습니다.

용어 아주 짧은 뜻 이 절에서의 역할
비지도학습 라벨 없이 데이터의 구조를 찾는 방식 Chapter 8의 두 번째 기준점
구조 데이터 안의 관계와 패턴 무엇을 찾으려 하는지 설명하는 중심 개념
군집화 비슷한 것끼리 묶는 방식 대표적인 비지도학습 문제
차원 축소 많은 축을 더 적은 축으로 다시 보는 방식 구조를 보기 쉽게 만드는 대표 문제
표현 모델이 다루기 쉬운 데이터의 모양 구조가 드러나게 바꾸는 관점
클러스터 라벨 알고리즘이 만든 묶음 번호나 표식 사람이 붙인 지도학습 라벨과 구분할 대상

이 절에서 유지해야 할 최소 구분은 비지도학습은 라벨 없음, 군집화는 묶기, 차원 축소는 축 줄이기, 표현은 데이터의 계산 가능한 모양, 클러스터 라벨은 해석 전 결과 표식입니다.

여기서는 비지도학습 알고리즘을 계산하지 않습니다. K-평균(k-means), 계층적 군집화(hierarchical clustering), 주성분 분석(PCA, principal component analysis), t-SNE, 오토인코더(autoencoder)는 이름과 역할만 지나갑니다.

또한 이 절은 먼저 라벨이 없을 때 모델이 데이터 안에서 무엇을 찾으려 하는가를 닫습니다. 거리 함수(distance function), 차원의 저주(curse of dimensionality), 클러스터 평가 지표는 Part 4의 클러스터링과 차원 축소 장에서 다시 다루고, 매니폴드 학습(manifold learning)의 세부 수학은 여기서 먼저 꺼내지 않습니다.

또한 라벨(label) 자체를 다시 길게 정의하지는 않습니다. 그 기본 구분은 8.1에서 먼저 다뤘고, 여기서는 라벨이 없을 때 무엇이 학습의 기준이 되는가에 집중합니다. 표현(representation)도 이 절에서 처음 도입하는 새 말이라기보다, 비지도학습이 구조를 드러내기 위해 표현을 바꿀 수 있다는 연결 정도만 잡습니다.

여기서는 다음 정의를 기준선으로 둡니다.

비지도학습은 사람이 붙인 라벨 없이 데이터 안의 구조, 군집, 표현을 찾는 방식이다.

라벨 없이 구조와 표현을 찾는 방식

  • 비지도학습(unsupervised learning)을 라벨 없는 데이터에서 구조를 찾는 방식으로 설명합니다.
  • 라벨 없음이 목표 없음이나 기준 없음과 같지 않다는 점을 이해합니다.
  • 군집화(clustering)와 차원 축소(dimensionality reduction)를 입문 수준에서 구분합니다.
  • 클러스터 라벨(cluster label)과 사람이 붙인 라벨(label)을 혼동하지 않습니다.
  • 비지도학습과 지도학습, 강화학습, 딥러닝을 같은 분류로 섞지 않습니다.

세 가지 기준

여기서는 “정답이 없다”는 말만으로 비지도학습을 설명하지 않기 위해 세 가지 기준을 먼저 둡니다.

기준 왜 중요한가 이 절에서 필요한 이해 수준
비지도학습은 라벨 없이 데이터 안의 구조를 찾으려는 시도라는 점 지도학습과의 차이를 보여 주는 가장 기본적인 기준입니다. 사람이 미리 정한 정답 없이 비슷함, 묶임, 축을 찾는다고 이해하면 됩니다.
결과는 자동으로 의미가 정해지지 않고 사람이 해석해야 한다는 점 군집이나 축을 곧바로 진실로 읽는 실수를 줄여 줍니다. 모델이 묶음을 만들더라도 이름 붙이는 일은 사람이 한다고 알면 됩니다.
군집화, 차원 축소, 밀도 같은 문제는 질문이 서로 다르다는 점 비지도학습을 하나의 기법처럼 뭉뚱그리지 않게 해 줍니다. “무엇이 비슷한가”, “어떻게 줄여 볼까”, “어디가 빽빽한가” 정도의 차이를 잡으면 됩니다.

라벨이 없다는 말은 목표가 없다는 말이 아니다

비지도학습에서 unsupervised는 “아무 안내가 없다”는 뜻으로 읽히기 쉽습니다. 그러나 여기서 중요한 뜻은 사람이 미리 붙인 라벨이 없다는 점입니다.

사람이 미리 붙인 라벨이 없다. 그래도 데이터 안에서 구조를 찾으려는 목표는 있다.

Google의 Machine Learning Glossary는 비지도학습(unsupervised machine learning)을 라벨이 없는 예시(unlabeled examples)에서 패턴을 찾도록 모델을 훈련하는 방식으로 설명합니다. 8.1에서 본 지도학습이 라벨을 기준으로 예측을 맞춘다면, 비지도학습은 사람이 미리 붙인 라벨 없이 데이터 자체의 배열과 관계를 봅니다.

예를 들어 고객 문의 데이터가 있다고 해 봅니다.

문의 문장 사람이 붙인 라벨
“환불하고 싶어요.” 없음
“배송이 언제 오나요?” 없음
“상품이 깨져서 왔어요.” 없음
“주문 취소 가능한가요?” 없음
“주소를 바꾸고 싶어요.” 없음

이 데이터에는 배송, 환불, 교환 같은 라벨이 붙어 있지 않습니다. 하지만 문장 사이의 비슷함은 여전히 존재할 수 있습니다. 비지도학습은 이런 비슷함, 반복되는 패턴, 숨은 축을 찾으려 합니다.

구조(structure)는 데이터 안의 관계다

비지도학습에서 말하는 구조(structure)는 데이터가 아무렇게나 흩어져 있지 않고 어떤 관계를 가진다는 뜻입니다. 구조는 하나의 정답표가 아니라, 데이터를 바라보는 방식에 따라 드러나는 패턴입니다.

예를 들어 온라인 쇼핑 데이터에서는 다음 구조를 찾을 수 있습니다.

데이터 찾을 수 있는 구조
고객의 구매 기록 비슷한 구매 성향을 가진 고객 그룹
상품 조회 기록 함께 자주 조회되는 상품 묶음
문의 문장 비슷한 의도를 가진 문장 묶음
서버 로그 평소와 다른 요청 패턴
이미지 특징 비슷한 모양이나 질감을 가진 이미지 묶음

여기서 중요한 점은 사람이 미리 이 고객은 A그룹, 이 문장은 배송 문의라고 붙이지 않았다는 점입니다. 모델은 데이터의 거리, 밀도, 분산, 유사도 같은 기준을 사용해 구조를 찾습니다.

지도학습은 라벨을 기준으로 맞춘다. 비지도학습은 라벨 없이 구조를 찾는다.

군집화(clustering)는 비슷한 것끼리 묶는다

군집화(clustering)는 비지도학습의 대표적인 예입니다. scikit-learn 문서는 라벨이 없는 데이터(unlabeled data)의 clustering을 sklearn.cluster 모듈로 수행할 수 있다고 설명합니다.

여기서 말하는 군집화는 사람이 눈으로 보며 직접 묶는 수동 분류와 다릅니다. 사람도 통계 분석이나 업무 정리 과정에서 데이터를 묶을 수 있습니다. 하지만 AI와 머신러닝 문맥에서의 군집화는 데이터의 특징(feature)을 숫자로 표현하고, 거리(distance), 유사도(similarity), 밀도(density), 분산(variance) 같은 계산 기준을 사용해 묶음을 찾는 절차에 가깝습니다.

구분 사람이 직접 묶는 경우 알고리즘 기반 군집화
기준 사람이 읽고 판단한 의미, 업무 경험, 사전 지식 선택한 특징, 거리, 유사도, 밀도, 분산
결과 사람이 붙인 분류명이나 업무 그룹 군집 번호, 중심점, 묶음 구조
장점 맥락과 의도를 바로 반영하기 쉬움 많은 데이터를 일관된 계산 기준으로 탐색하기 쉬움
주의점 사람마다 기준이 달라질 수 있음 계산 기준이 업무 의미와 꼭 일치하지 않을 수 있음

따라서 군집화는 “사람처럼 알아서 분류한다”기보다, 사람이 정한 특징과 알고리즘 기준에 따라 비슷해 보이는 데이터를 묶어 보는 방법입니다.

군집화는 데이터를 보고 비슷한 것끼리 묶습니다.

예를 들어 K-평균(k-means)은 데이터를 몇 개의 군집으로 나누고, 각 데이터가 가까운 중심점(centroid)에 배정되도록 반복합니다. Stanford CS229 노트는 k-means를 라벨이 없는 데이터에서 cohesive clusters를 만들려는 문제로 설명하고, 각 훈련 예시를 가장 가까운 cluster centroid에 배정한다고 설명합니다. scikit-learn도 k-means가 샘플을 여러 그룹으로 나누고 within-cluster sum-of-squares 기준을 최소화하려 한다고 설명합니다.

입력 데이터 군집화가 찾으려는 것
고객 구매 이력 구매 패턴이 비슷한 고객 묶음
뉴스 기사 주제가 비슷한 기사 묶음
문장 임베딩 의미가 가까운 문장 묶음
이미지 특징 시각적으로 비슷한 이미지 묶음
센서 기록 비슷한 동작 상태의 묶음

조금 더 구체적으로 보면, 군집화는 보통 “무엇을 비슷하다고 볼 것인가”를 먼저 정해야 합니다. 같은 데이터라도 어떤 특징(feature)을 보느냐에 따라 묶임이 달라질 수 있습니다.

상황 비교할 수 있는 특징 가능한 군집 주의할 점
쇼핑몰 고객 구매 빈도, 평균 주문 금액, 재방문 주기 자주 구매하는 고객, 가끔 큰 금액을 쓰는 고객, 둘러보기만 많은 고객 VIP, 이탈 위험 같은 이름은 사람이 나중에 붙이는 해석
고객 문의 문장 임베딩, 자주 나오는 단어, 문의 길이 배송 문의와 가까운 문장, 환불 문의와 가까운 문장, 불량 문의와 가까운 문장 군집이 업무 부서와 꼭 일치하지 않을 수 있음
뉴스 기사 제목과 본문 임베딩, 등장 인물, 장소, 주제어 정치 기사 묶음, 경제 기사 묶음, 스포츠 기사 묶음 같은 사건을 다룬 기사와 같은 주제의 기사가 섞일 수 있음
상품 이미지 색, 모양, 질감, 이미지 특징 벡터 비슷한 색감의 상품, 비슷한 형태의 상품, 비슷한 촬영 구도의 상품 사람이 생각하는 상품 카테고리와 다를 수 있음
서버 로그 요청 시간, 응답 코드, 지연 시간, 호출 경로 정상 요청 패턴, 느린 요청 패턴, 오류가 많은 패턴 이상 징후 후보일 뿐 원인 분석은 별도로 필요

따라서 군집화는 “정답 분류표를 대신 만들어 주는 기능”이라기보다, 데이터 안에서 비슷해 보이는 묶음을 계산 기준에 따라 제안하는 도구에 가깝습니다.

예를 들어 고객 문의 문장을 군집화하면 모델은 다음처럼 묶을 수 있습니다.

군집 포함될 수 있는 문장
군집 1 “언제 배송되나요?”, “아직 상품이 안 왔어요.”
군집 2 “환불하고 싶어요.”, “결제 취소 가능한가요?”
군집 3 “상품이 깨져서 왔어요.”, “교환 가능한가요?”

이 예시에서 모델은 배송, 환불, 교환이라는 라벨을 알고 시작한 것이 아닙니다. 먼저 문장들이 서로 얼마나 가까운지 보고 묶습니다. 사람이 그 묶음을 살펴본 뒤 “이 묶음은 배송 문의에 가까워 보인다”라고 이름을 붙일 수 있습니다.

이때 군집 1, 군집 2 같은 번호는 8.1에서 말한 사람이 붙인 라벨과 다릅니다. 군집 번호는 알고리즘이 비슷한 데이터를 묶기 위해 만든 결과 표식입니다. 사람이 나중에 군집을 보고 “군집 1은 배송 관련 문의로 보인다”라고 해석할 수는 있지만, 그 해석은 별도의 검토 과정입니다.

클러스터 라벨(cluster label)은 알고리즘이 만든 묶음 번호다. 사람이 미리 붙인 지도학습 라벨과 같은 의미가 아니다.

차원 축소(dimensionality reduction)는 복잡한 데이터를 낮은 차원으로 본다

비지도학습은 데이터를 묶는 데만 쓰이지 않습니다. 복잡한 데이터를 더 적은 축으로 바꾸어 보기도 합니다. 이를 차원 축소(dimensionality reduction)라고 부릅니다.

차원(dimension)은 데이터가 가진 설명 축으로 생각할 수 있습니다. 이미지라면 픽셀 수가 많고, 문서라면 단어 또는 임베딩 차원이 많고, 고객 데이터라면 구매 횟수, 금액, 방문 시간, 지역 같은 항목이 많을 수 있습니다.

차원 축소는 이런 많은 축을 그대로 모두 보지 않고, 중요한 구조를 가능한 한 유지하면서 더 적은 축으로 옮겨 보려는 시도입니다.

데이터 차원 축소가 도와주는 일
고차원 이미지 특징 비슷한 이미지가 가까이 놓이는지 확인
문장 임베딩 의미가 비슷한 문장 묶음 관찰
고객 행동 데이터 주요 행동 축을 찾아 시각화
센서 데이터 정상 패턴과 다른 패턴 탐색

scikit-learn의 PCA 설명은 PCA가 다변량 데이터셋을 분산(variance)을 많이 설명하는 직교 성분들로 분해한다고 설명합니다. 또한 낮은 차원 공간으로 투영하면서 설명된 분산을 많이 보존하는 일이 관심사라고 설명합니다.

입문 단계의 기준선은 다음과 같습니다.

차원 축소는 복잡한 데이터를 더 적은 축으로 다시 보는 일이다. 목표는 중요한 구조를 최대한 잃지 않고 보기 쉽게 만드는 것이다.

표현(representation)은 데이터가 모델 안에서 보이는 모양이다

비지도학습을 이해할 때 표현(representation)이라는 말도 중요합니다. 표현은 원래 데이터를 모델이나 알고리즘이 다루기 쉬운 형태로 바꾼 것입니다.

예를 들어 문장은 그대로는 계산하기 어렵습니다. 문장을 숫자 벡터(vector)로 바꾸면 문장 사이의 거리나 유사도를 계산할 수 있습니다. 이미지는 픽셀 배열이지만, 모델 안에서는 모양, 색, 경계, 질감 같은 특징으로 표현될 수 있습니다.

비지도학습은 라벨을 맞추는 대신, 데이터의 구조가 잘 드러나는 표현을 찾는 데 쓰일 수 있습니다.

원래 데이터 표현의 예
문의 문장 문장 임베딩(sentence embedding)
상품 이미지 이미지 특징 벡터(feature vector)
고객 행동 로그 행동 패턴 벡터
문서 묶음 주제와 관련된 낮은 차원 표현

비지도학습은 “라벨 없이 데이터의 구조가 보이도록 표현을 바꾸는 일”과도 연결될 수 있습니다. 표현을 모델이 함께 학습하는 흐름은 P1-9와 Part 5에서, 임베딩이 검색과 RAG로 이어지는 흐름은 Part 6에서 다시 봅니다.

비지도학습 결과는 해석이 필요하다

비지도학습은 라벨이 없기 때문에 결과를 그대로 업무 의미로 받아들이면 위험합니다.

예를 들어 군집화 결과가 다음처럼 나왔다고 해 봅니다.

군집 포함된 고객
군집 1 구매 금액이 높고 방문 빈도가 높음
군집 2 방문은 많지만 구매는 적음
군집 3 특정 시즌에만 구매함

이 결과만으로 VIP, 이탈 위험, 계절 고객이라고 단정하면 안 됩니다. 그런 이름은 사람이 데이터를 해석해 붙이는 후속 라벨입니다. 비지도학습은 후보 구조를 보여 줄 수 있지만, 그 구조가 실제 업무적으로 어떤 의미인지 검토해야 합니다.

비지도학습 결과를 볼 때는 다음 질문이 필요합니다.

이 구조는 어떤 기준으로 만들어졌는가? 다른 거리 기준이나 변수 선택을 쓰면 결과가 달라지는가? 업무적으로 해석 가능한가? 사람이 붙인 의미가 과도한 해석은 아닌가?

지도학습과 다른 학습 유형의 경계

8.2는 비지도학습만 다룹니다. 8.1과 8.3의 경계를 다시 정리하면 다음과 같습니다.

학습 유형 데이터와 신호 중심 질문 이 장에서의 위치
지도학습(supervised learning) 입력과 라벨 이 입력에 어떤 라벨을 예측할 것인가 8.1
비지도학습(unsupervised learning) 라벨 없는 데이터 데이터 안의 구조는 무엇인가 8.2
강화학습(reinforcement learning) 상태, 행동, 보상 어떤 행동이 장기적으로 보상을 높이는가 8.3

딥러닝(deep learning)은 이 표와 같은 층위(level)가 아닙니다. 딥러닝은 비지도학습에도 쓰일 수 있지만, 그 자체가 비지도학습과 같은 말은 아닙니다.

체크리스트

  • 비지도학습(unsupervised learning)을 라벨 없는 데이터에서 구조를 찾는 방식으로 설명할 수 있다.
  • 라벨 없음이 목표 없음과 같지 않다는 점을 설명할 수 있다.
  • 군집화(clustering)는 비슷한 것끼리 묶는 방식이라고 설명할 수 있다.
  • 차원 축소(dimensionality reduction)는 복잡한 데이터를 더 적은 축으로 다시 보는 방식이라고 설명할 수 있다.
  • 클러스터 라벨(cluster label)과 사람이 붙인 지도학습 라벨(label)을 구분할 수 있다.
  • 비지도학습 결과에는 사람의 해석과 검토가 필요하다는 점을 설명할 수 있다.
  • 무엇을 비슷하다고 볼 것인지, 어떤 구조를 찾는지, 결과를 누가 해석하는지 나누어 설명할 수 있다.
  • 군집 번호나 축소 좌표를 곧바로 업무 의미나 진실처럼 읽지 않아야 함을 설명할 수 있다.

출처와 참고 자료