GBT
한국외국어대학교기술경영학부 · 경영정보
거리 기반 학습과 퓨샷 · 강의자료
목차 강의 홈 ↗
인공지능 · 거리 기반 학습

거리 기반 학습과
퓨샷

kNN과 K-means의 거리 기반 계산을 살펴보고, 메트릭 러닝과 프로토타입 네트워크로 확장한다. 의사결정트리의 분할 기준과 퓨샷 학습 방법도 비교한다.

kNN → Prototypical5개 장해설 · 실습 포함원문 출처 링크
어느 병원의 진단실

학습 데이터가 적은 문제

의료 영상처럼 레이블을 수집하기 어려운 분야에서는 새로운 클래스의 학습 데이터가 적을 수 있다. 이런 조건에서는 대규모 학습을 처음부터 수행하기 어렵다.

퓨샷 학습은 클래스당 소수의 예제로 새로운 클래스를 구분하는 문제를 다룬다. 이전 데이터에서 학습한 표현이나 유사도 계산 방법을 활용한다.

데이터 사이의 거리를 사용하는 kNN과 K-means를 살펴본 뒤, 유사한 데이터를 가깝게 표현하는 메트릭 러닝과 퓨샷 분류를 알아본다.

거리를 잰다kNN의 투표, K-means의 중심: 학습 없이 거리 계산만으로 분류와 군집이 된다
질문을 고른다의사결정트리: 분할 후 불순도가 많이 줄어드는 특징과 임계값을 선택한다
거리를 배운다임베딩 공간 자체를 학습해, 본 적 없는 클래스도 몇 장이면 되게 만든다
01
kNN

kNN 분류

가장 단순한 분류기: 그리고 k라는 손잡이 하나에 판정이 뒤집히는 분류기.

원리

최근접 이웃을 이용한 예측

새 데이터가 들어오면, 가장 가까운 k개의 학습 데이터를 찾아 다수결로 클래스를 정한다. 유사도는 유클리드 거리, 또는 벡터 방향을 비교하는 코사인 유사도로 잰다.

같은 새 데이터가 k=3이면 클래스 A, k=9면 클래스 B로 판정이 뒤집히는 kNN 예시 두 장
그림 1. 같은 질의점도 k=3일 때는 A, k=9일 때는 B로 분류된다. 작은 k는 가까운 이웃의 영향을 크게 받고, 큰 k는 더 넓은 범위의 이웃을 참고한다. 검증 데이터로 적절한 k와 거리 기준을 선택한다.
다수결 (majority voting)k개의 이웃을 동등하게 취급해 빈도가 높은 쪽으로 예측한다. 단순하지만 "아슬아슬하게 가까운 표"와 "멀리서 온 표"가 같은 무게다.
가중 투표 (weighted voting)가까운 이웃에게 더 큰 영향력을 준다: 가중치를 거리의 역수(1/d, 1/(1+d²) 등)에 비례시켜 가중합으로 판단한다.
직접 해보기 1 · 조작

별을 옮기고 k를 돌려 보기

실습 목표: k와 질의점의 위치에 따른 분류 결과를 비교한다. 캔버스를 클릭하면 질의점이 이동한다.

실습 방법: 두 클래스의 경계 부근에 질의점을 놓고 k를 1부터 15까지 바꾼다. 확인할 내용: 다수결과 거리 가중 투표의 예측이 언제 달라지는지 비교한다. 경계에서 멀리 떨어진 위치에서도 확인한다.

더 읽기

kNN은 일반적으로 학습 데이터를 저장하고 예측 시 이웃을 검색한다. 참조 데이터가 많으면 거리 계산과 메모리 비용이 커질 수 있다. 데이터 전처리, 거리 선택, 검색 방법에 따라 준비 시간과 예측 성능이 달라진다.

생각해 볼 질문: k를 짝수로 두면 무슨 문제가 생기는가? k=전체 데이터 수로 두면 이 분류기는 무엇과 같아지는가?

02
K-means

K-means 군집화

비지도 군집의 대표: 할당과 갱신, 두 동작의 반복이 알아서 멈춘다.

알고리즘

군집 할당과 중심 갱신

K-means는 레이블 없이 n개 관측값을 k개 군집으로 나눈다. 예를 들어 고객의 키와 체중을 이용해 비슷한 체형의 군집을 찾을 수 있다.

무작위 중심 선택, 가장 가까운 중심으로의 할당, 중심 재계산과 수렴의 K-means 3단계
그림 2. 각 점을 가장 가까운 중심에 할당한 뒤 군집별 평균으로 중심을 갱신한다. 이 두 단계를 반복하며 SSE를 줄인다.
  1. 데이터에서 k개를 임의로 뽑아 각 클러스터의 중심(centroid)으로 삼는다.
  2. 할당: 모든 데이터에 대해 k개 중심과의 거리를 재고, 가장 가까운 중심의 클러스터로 배정한다.
  3. 갱신: 클러스터별 소속 데이터의 평균 위치로 중심을 다시 계산한다.
  4. 소속이 더 이상 바뀌지 않을 때까지 2~3을 반복한다.
직접 해보기 2 · 실행

K-means를 한 동작씩 굴려 보기

실습 목표: 군집 할당과 중심 갱신을 반복하며 SSE가 어떻게 변하는지 확인한다.

실습 방법: [할당+갱신 1회]를 반복하고, 수렴 후 [새 초기값]으로 다시 실행한다. 확인할 내용: 반복 중 SSE의 변화와 초기값에 따른 최종 군집의 차이를 비교한다. k를 바꿀 때의 결과도 확인한다.

더 읽기

kNN 분류는 레이블이 있는 이웃을 이용해 새로운 데이터의 범주를 예측한다. K-means는 레이블 없이 데이터를 군집화한다. kNN의 k는 참고할 이웃 수, K-means의 k는 군집 수다.

생각해 볼 질문: K-means의 갱신 단계가 "평균"인 이유를 SSE 최소화와 연결해 설명할 수 있는가? 평균 대신 중앙값을 쓰면 무엇이 달라지는가?

k의 선택

엘보우 방법과 군집 수 선택

여러 k에 대해 K-means를 실행하고 SSE를 비교한다. k를 늘려도 SSE 감소 폭이 작아지기 시작하는 지점을 후보로 고려한다.

클러스터 수 k에 따른 SSE 감소 곡선. k=3에서 꺾이는 팔꿈치가 표시되어 있다
그림 3. 군집 수를 늘리면 가능한 최소 SSE는 감소하거나 같아진다. 따라서 SSE만 최소화하면 군집이 지나치게 많아질 수 있다. 이 예제에서는 k=3 부근에서 감소 폭이 줄어든다. 실제 실행 결과는 초기값의 영향을 받는다.
더 읽기

엘보우가 뚜렷하지 않으면 실루엣 계수 등 다른 기준도 함께 살펴본다. K-means는 유클리드 거리와 평균 중심을 사용하므로 길게 휘어진 군집이나 크기가 크게 다른 군집에서 적합하지 않을 수 있다.

생각해 볼 질문: 배달 거점 문제에서 SSE 말고 현실적으로 함께 고려해야 할 제약은 무엇인가? (거점당 처리 용량, 강 건너기…)

03
트리

의사결정트리

의사결정트리는 분할 전후 불순도의 감소량을 기준으로 특징과 임계값을 선택한다.

원리

특징과 임계값에 따른 분할

의사결정트리는 특징의 값에 따라 데이터를 반복해서 나눈다. 이 예제는 한 특징과 임계값을 사용하는 분할이며, 2차원 그림에서 좌표축과 평행한 경계로 나타난다. 분류와 회귀에 모두 사용할 수 있다.

두 개의 질문으로 이루어진 의사결정트리와, 그 질문들이 공간을 세 영역으로 분할하는 좌표 그림
그림 4. 트리의 두 분할이 입력 공간을 세 영역으로 나눈다. 예측에 사용한 경로를 따라 어떤 조건으로 분류했는지 확인할 수 있다. 분할 조건은 데이터로부터 학습한다.
더 읽기

분류 트리는 각 노드에서 클래스 혼합이 많이 줄어드는 특징과 임계값을 선택한다. 아래에서 엔트로피와 정보이득으로 분할 후보를 비교한다.

분류 트리에는 엔트로피나 지니 불순도 등의 기준을 사용한다. 깊이가 과도하게 커지면 과대적합이 발생할 수 있으므로 깊이 제한, 최소 샘플 수, 가지치기 등을 적용한다. 랜덤 포레스트는 여러 트리를 결합하는 방법이다.

생각해 볼 질문: "성별을 먼저 묻는 트리"가 성능이 좋게 나왔다. 배포해도 되는가? 해석 가능성이 오히려 문제를 드러내는 상황을 생각해 보자.

엔트로피

클래스가 섞인 정도

엔트로피는 노드 안의 클래스 분포가 얼마나 불확실한지를 나타낸다. 한 클래스만 있으면 0이고, 두 클래스가 절반씩 섞여 있으면 가장 크다.

두 색의 점이 비슷하게 섞인 집단, 한 색이 더 많은 집단, 한 색만 있는 집단의 불순도 비교
그림 5. 색은 클래스를 나타낸다. 서로 다른 클래스가 섞여 있는 정도를 비교한다.
출처: 기존 강의자료 「인공지능13주차」 24쪽, 「불순도의 지표」 그림.
더 읽기

분류 트리는 분할 후의 클래스 혼합이 줄어드는 질문을 찾는다. 엔트로피와 지니 불순도는 이 혼합을 수치로 나타내는 대표적인 기준이다.

계산 예제

5:5, 9:1, 10:0의 엔트로피

샘플 10개를 클래스 A와 B로 나눈다. p는 A의 비율이며, B의 비율은 1 − p다. 엔트로피는 클래스를 알기 전의 불확실성이며, 알게 될 때 얻는 평균 정보량이다.

가능성이 같은 두 결과를 0과 1로 구분하는 정보량이 1비트(bit)다. 이 기준에 맞춰 밑이 2인 로그를 사용한다.

H=−plog2p−(1−p)log2(1−p) 비율이 0인 클래스의 항은 0으로 처리한다.
  1. A 5개, B 5개H=−510log2510−510log2510=1비트
  2. A 9개, B 1개H=−910log2910−110log2110≈0.469비트
  3. A 10개, B 0개H=−1log21=0비트모든 샘플의 클래스가 같다.
더 읽기

log₂ 0.5 = −1이므로 5:5의 엔트로피는 0.5 + 0.5 = 1이다. 0 log₂ 0은 극한값 0으로 정의하며 log₂ 0을 직접 계산하지 않는다.

밑이 2인 로그를 쓰면 단위는 비트이고, 자연로그를 쓰면 나트(nat)다. 0.469비트는 평균 정보량이므로 비트 단위의 저장 칸을 쪼갠다는 뜻이 아니다. 의사결정트리에서는 엔트로피를 클래스가 섞인 정도인 불순도의 지표로 사용한다. 한 클래스만 남아 순도가 높아질수록 엔트로피는 낮아진다.

출처 C. E. Shannon (1948), A Mathematical Theory of Communication, 로그의 밑과 정보 단위.

여러 클래스에서는 H = −Σₖ pₖ log₂ pₖ를 사용한다. pₖ는 해당 노드에서 클래스 k의 비율이다. 최대값 1비트는 두 클래스일 때의 값이며, K개 클래스가 같은 비율이면 최대값은 log₂ K다. 위의 10개 샘플은 계산을 위해 별도로 구성한 예제다.

정보이득

분할 전후 엔트로피 비교

정보이득은 질문으로 데이터를 나눈 뒤 엔트로피가 얼마나 줄었는지를 나타낸다. 자식 노드의 엔트로피는 각 노드의 샘플 수에 따라 가중평균한다.

정보이득 = 분할 전 엔트로피 − 분할 후 엔트로피의 가중평균
IG=H(부모)−n왼쪽n전체H(왼쪽)−n오른쪽n전체H(오른쪽)

같은 부모 노드에서 후보를 비교할 때는 분할 후 엔트로피의 가중평균이 낮을수록 정보이득이 크다.

과일 분류 예제

후보 1: 빨간색인가?

사과 2개와 바나나 2개가 있다. 이 가상 데이터에서는 사과는 모두 빨간색, 바나나는 모두 노란색이다. 클래스 비율이 반반이므로 분할 전 엔트로피는 1비트다.

  1. 예: 사과 2개. 한 클래스만 있으므로 엔트로피는 0이다.
  2. 아니오: 바나나 2개. 이쪽도 엔트로피는 0이다.
  3. 두 노드의 샘플 수는 각각 전체의 절반이다. 분할 후 엔트로피=24×0+24×0=0비트
정보이득 = 1 − 0 = 1비트
더 읽기

엔트로피 1비트가 최대인 것은 두 클래스에 대한 결과다. 이 예제의 색상과 길이는 계산을 위한 가상 설정이며, 실제 과일 전체의 특성을 나타내지 않는다.

과일 분류 예제

후보 2: 길이가 10cm 이상인가?

같은 과일을 길이로 나눴더니, 예 쪽에는 사과 1개와 바나나 2개, 아니오 쪽에는 사과 1개가 남았다고 하자.

  1. 예: 사과 1개, 바나나 2개. H=−13log213−23log223≈0.918비트
  2. 아니오: 사과 1개. 엔트로피는 0이다.
  3. 샘플 수가 3개와 1개이므로 가중치도 다르다. 분할 후 엔트로피≈34×0.918+14×0≈0.689비트
정보이득 ≈ 1 − 0.689 = 0.311비트
두 후보 중에서는 정보이득이 1비트인 색상 질문을 선택한다.
더 읽기

반올림 전 엔트로피는 0.9182958…, 분할 후 가중평균은 0.6887219…, 정보이득은 0.3112781…이다. 계산은 중간값을 반올림하지 않고 표시할 때만 소수 셋째 자리로 줄였다.

연속형 변수

숫자 데이터의 분할 기준 찾기

같은 네 과일의 길이를 사과 8cm·12cm, 바나나 14cm·18cm로 두자. 값을 정렬한 뒤 서로 다른 인접 값의 중간값을 분할 후보로 삼을 수 있다.

정렬된 길이: 8, 12, 14, 18cm
후보 기준값: 10, 13, 16cm
  1. 10cm: 사과 1개 / 사과 1개·바나나 2개. 정보이득 ≈ 0.311비트.
  2. 13cm: 사과 2개 / 바나나 2개. 정보이득 = 1비트.
  3. 16cm: 사과 2개·바나나 1개 / 바나나 1개. 정보이득 ≈ 0.311비트.

각 기준값 t에서 길이 ≤ t와 길이 > t로 나눈다. 길이 기준 중에서는 13cm가 가장 좋으며, 이 데이터에서는 색상 질문과 정보이득이 같다.

더 읽기

10cm는 (8 + 12) ÷ 2다. 8과 12 사이에서는 분할 결과가 같으므로 모든 실수를 하나씩 검사할 필요가 없다. 앞 예제의 “10cm 이상인가?”도 이 데이터에서 같은 두 집단을 나누며, 예·아니오의 방향만 바뀐다. 실제 구현은 정렬과 누적 통계 등을 이용해 후보 비교를 효율적으로 수행한다.

학습 절차

질문 선택과 분할 반복

  1. 후보 구성: 현재 노드에서 사용할 특징과 분할 기준을 정한다.
  2. 정보이득 비교: 각 후보로 나눠 클래스 수를 세고, 분할 후 엔트로피의 가중평균을 계산한다.
  3. 질문 선택: 조건을 만족하는 후보 중 정보이득이 가장 큰 질문으로 나눈다.
  4. 반복과 종료: 자식 노드에서 같은 과정을 반복한다. 한 클래스만 남거나, 최대 깊이·최소 샘플 수 등 종료 조건에 도달하면 멈춘다.
더 읽기

각 노드에서 좋은 분할을 선택하는 탐욕적 방법이다. 가능한 나무 전체를 전부 비교해 최적의 나무를 보장하는 방법은 아니다. 후보 특징 수를 제한하거나 분할을 무작위로 선택하는 변형도 있다. 분할할 수 없거나 설정된 개선 기준을 만족하지 못하면 엔트로피가 0보다 커도 종료한다.

불순도 기준과 트리 알고리즘을 구분한다. ID3는 엔트로피 기반 정보이득을 사용한다. scikit-learn의 DecisionTreeClassifier는 CART 기반 이진 분할에서 criterion="entropy" 또는 "gini"를 선택할 수 있다. 엔트로피를 선택한다고 ID3로 바뀌지는 않는다.

출처 기존 강의자료 「인공지능13주차」 23~24쪽. 과일 예제는 수업용 가상 데이터다. 분할과 종료 조건: scikit-learn 의사결정트리 문서 (2026-10-13 확인).

04
메트릭

메트릭 러닝

원본 데이터의 거리와 의미적 유사도는 다를 수 있다. 메트릭 러닝은 과제에 적합한 거리를 계산할 수 있도록 표현을 학습한다.

발상

유사한 것은 가깝게, 다른 것은 멀리

메트릭 러닝은 데이터 간 유사도·거리를 효과적으로 잴 수 있는 임베딩 공간을 학습하는 방법론이다. 신경망 f가 입력을 벡터로 바꾸고, 같은 클래스는 가깝게, 다른 클래스는 멀게 표현하도록 훈련한다. 여기서는 거리 비교의 원리를 먼저 살펴본다. 신경망과 역전파의 계산은 다음 모듈(M6)에서 배운다.

Triplet Loss: L = max( d(a,p) − d(a,n) + m, 0 )
기준(anchor)–같은 클래스(positive)–다른 클래스(negative) 세 샘플 — "positive보다 negative가 여유(m)만큼 더 멀어야 벌점이 0"
Contrastive Loss쌍(pair) 기반: 유사 쌍은 거리²로, 비유사 쌍은 여유 마진 안쪽일 때만 벌점. Triplet의 2점 버전.
N-pair / Center Loss여러 negative를 동시에 비교하거나(N-pair), 클래스 중심과의 거리를 직접 죄는(Center) 변형들: 목표는 모두 같다.
더 읽기

메트릭 러닝으로 학습한 표현은 새로운 데이터와 기존 데이터의 유사도를 비교하는 데 사용할 수 있다. 얼굴 인증과 유사 이미지 검색이 대표적인 활용 예다. RAG의 의미 검색에서도 문장이나 문서의 벡터 표현을 비교한다.

생각해 볼 질문: Triplet 훈련에서 "너무 쉬운 negative"(이미 충분히 먼 샘플)만 뽑으면 학습이 왜 멈추는가? 어떤 negative를 골라야 하는가?

출처 FaceNet: Schroff 외, 2015: arxiv.org · Contrastive: Hadsell 외, 2006: ieeexplore.ieee.org

자기지도

대조학습을 이용한 표현 학습

대조학습은 관련된 쌍과 그렇지 않은 쌍을 구분하도록 표현을 학습한다. 여기서는 같은 이미지의 서로 다른 증강을 양성 쌍으로 사용하는 자기지도 학습을 다룬다.

  • Positive pair: 같은 이미지에 다른 증강(자르기, 색 왜곡)을 가한 두 버전. 임베딩이 가까워지도록.
  • Negative pair: 서로 다른 이미지들. 임베딩이 멀어지도록.
  • 데이터 증강이 핵심: 무엇을 "같다"로 정의할지가 증강의 설계에 달려 있다.
더 읽기

자기지도 학습은 사람이 부여한 레이블 없이 데이터에서 표현을 학습하고, 이후 소량의 레이블로 과제를 학습하는 데 활용할 수 있다. 증강 방식도 중요하다. 예를 들어 색을 바꾼 이미지를 같은 대상으로 처리하면 색 변화에 덜 민감한 표현을 학습할 수 있다.

생각해 볼 질문: 의료 영상에서 "좌우 반전" 증강이 위험할 수 있는 이유는? (심장의 위치를 생각해 보라)

출처 SimCLR: Chen 외, 2020: arxiv.org

05
퓨샷

프로토타입 네트워크

클래스별 지원 샘플의 임베딩 평균을 대표 벡터로 사용한다.

구조

프로토타입 계산과 분류

각 클래스를 프로토타입(대표 벡터) 하나로 표현하고, 쿼리와 프로토타입 사이의 거리로 분류한다. 프로토타입은 지원 집합(support set) 임베딩의 평균이다: cₖ = (1/|Sₖ|) Σ f(xᵢ).

세 클래스의 지원 샘플 임베딩과 그 평균인 프로토타입 별표, 그리고 쿼리에서 각 프로토타입까지의 거리를 표시한 그림
그림 6. 질의점은 가장 가까운 프로토타입의 클래스로 분류된다. 성능은 임베딩의 품질과 지원 샘플의 수·분포에 영향을 받는다.
  1. 에피소드 샘플링: N개 클래스 × 클래스당 K개 샘플로 미니 과제를 만든다 (N-way K-shot).
  2. 프로토타입 계산: 지원 집합 임베딩의 클래스별 평균.
  3. 거리 기반 분류: 쿼리와 각 프로토타입의 유클리드 거리를 잰다.
  4. 손실 계산: 거리를 확률로 변환하고 교차엔트로피로 임베딩을 학습할 수 있다. 소프트맥스와 교차엔트로피의 계산은 M6에서 다룬다: p(y=k|x) = exp(−d(f(x),cₖ)) / Σⱼ exp(−d(f(x),cⱼ)).
더 읽기

에피소드 훈련은 클래스 N개와 클래스당 지원 샘플 K개로 구성한 소규모 분류 과제를 반복하는 방식이다. 일반적인 퓨샷 평가에서는 훈련 클래스와 평가 클래스를 분리한다. 새로운 클래스의 소수 샘플로 분류할 수 있는 표현을 학습하는 것이 목적이다.

생각해 볼 질문: 클래스당 영상 5장으로 새 질환을 식별하는 시스템을 가정한다. 이 문제에서 지원 집합과 쿼리는 각각 무엇인가?

출처 Snell, Swersky & Zemel, "Prototypical Networks for Few-shot Learning", NeurIPS 2017: arxiv.org

비교 · 식별 연습

퓨샷 학습 방법 비교

Prototypical Networks, Matching Networks, Relation Networks가 비교 대상과 유사도를 계산하는 방식을 정리한다.

Prototypical NetMatching NetRelation Net
비교 대상클래스당 프로토타입 1개모든 지원 샘플과 비교쿼리·지원 쌍을 모듈에 입력
거리/유사도유클리드 거리 (고정)코사인 + 어텐션 가중거리 함수 자체를 학습 (비선형)
강점계산 효율 · 해석 용이 · Zero-shot 확장유연한 가중치복잡한 관계 모델링
더 읽기

Prototypical Networks는 클래스별 평균 벡터와의 거리를, Matching Networks는 지원 샘플과의 유사도에 따른 가중치를 사용한다. Relation Networks는 두 표현의 관계 점수를 학습한다. 알고리즘을 선택할 때는 레이블의 유무, 클래스 구성, 지원 샘플 수를 함께 확인한다.

생각해 볼 질문: Prototypical이 Zero-shot(샘플 0개)으로 확장 가능한 이유는? 프로토타입을 이미지가 아닌 무엇으로 만들 수 있는가?

06
정리

요약 정리

거리 기반 분류와 군집화, 표현 학습, 퓨샷 분류의 차이를 정리한다.

핵심 내용

  1. kNN과 K-means는 목적이 다르다. kNN 분류는 레이블이 있는 이웃을 참고해 예측하고, K-means는 레이블 없이 데이터를 군집으로 나눈다.
  2. 분류 트리는 정보이득으로 분할을 비교할 수 있다. 부모 노드의 엔트로피에서 자식 노드 엔트로피의 가중평균을 뺀다.
  3. 거리 기반 방법에서는 표현과 거리의 선택이 중요하다. 메트릭 러닝은 과제에 적합한 유사도를 계산하도록 표현을 학습한다.
  4. 퓨샷 분류는 이전에 학습한 표현을 활용한다. 프로토타입 네트워크는 새로운 클래스의 소수 샘플로 대표 벡터를 만들고 질의점을 분류한다.
다음 장

다음 장에서는 신경망과 역전파를 다룬다. 순전파, 손실함수, 가중치 갱신을 배우고, 이 장에서 소개한 임베딩을 어떻게 학습하는지 연결해 본다.

한국외국어대학교 기술경영학부 · 경영정보 · 그림 1~4, 6은 직접 제작했고 그림 5는 기존 13주차 강의자료에서 가져왔다. 엔트로피와 정보이득 예제의 과일 수·색상·길이는 계산을 위한 가상 설정이다.
※
출처

참고문헌

공개 원문 링크를 제공한다. 엔트로피와 정보이득 관련 설명은 2026년 10월 13일 보완했다.

1차 문헌

  1. Cover, T., & Hart, P. (1967). Nearest Neighbor Pattern Classification. IEEE Trans. Information Theory, 13(1). ieeexplore.ieee.org
  2. Lloyd, S. (1982). Least Squares Quantization in PCM. IEEE Trans. Information Theory, 28(2). (1957년 벨연구소 내부 보고서의 출판본: K-means의 원형) ieeexplore.ieee.org
  3. Quinlan, J. R. (1986). Induction of Decision Trees (ID3). Machine Learning, 1, 81–106. springer.com
  4. Hadsell, R., Chopra, S., & LeCun, Y. (2006). Dimensionality Reduction by Learning an Invariant Mapping. CVPR. ieeexplore.ieee.org
  5. Schroff, F., Kalenichenko, D., & Philbin, J. (2015). FaceNet: A Unified Embedding for Face Recognition and Clustering. CVPR. arxiv.org
  6. Vinyals, O., et al. (2016). Matching Networks for One Shot Learning. NeurIPS. arxiv.org
  7. Snell, J., Swersky, K., & Zemel, R. (2017). Prototypical Networks for Few-shot Learning. NeurIPS. arxiv.org
  8. Sung, F., et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. CVPR. arxiv.org
  9. Chen, T., et al. (2020). A Simple Framework for Contrastive Learning of Visual Representations (SimCLR). ICML. arxiv.org

교재 · 도구 문서

  1. scikit-learn. Decision Trees: Classification criteria. 엔트로피, 지니 불순도, 분할 후 가중평균의 정의. 2026-10-13 확인.
  2. 천인국 (2023). 인공지능: 파이썬으로 배우는 머신러닝과 딥러닝 (2판). 인피니티북스.: 9주차 강의 교재 (kNN·K-means·의사결정트리).
인용 원칙

그림 1~4, 6의 데이터·판정 수치는 스크립트로 생성해 계산했다. 그림 5는 기존 강의자료 「인공지능13주차」 24쪽의 원본 그림이다. K-means의 기원은 Lloyd(1957 보고서/1982 출판)로 표기해 발표와 출판 연도의 차이를 병기했다.