1. 분류(Classification)란?
새로운 데이터가 어떤 클래스에 속하는지 판단하기 위한 목표를 가지는 유형
1.1. 이진분류(활성화 함수: Sigmoid)
- 클래스가 2개인 분류 문제
ex. {0, 1}, {Negative, Positive}, {정상, 암환자}
1.1.1. Unit step vs. sigmoid

[캡쳐 1-1. 계단 함수와 시그모이드 함수. 출처: 강의 자료]
Unit Step Function (계단 함수)
입력이 임계값(threshold)을 넘으면 1, 아니면 0 출력
특징
- 출력이 이산적 → Hard Decision
- 특정 지점에서 미분값이 0 또는 정의되지 않음 → 경사하강법(Gradient Descent) 사용 불가
문제점
- 미분 불가
- 정보 손실
- 확신도, 확률 정보 표현 불가
👉 “결정은 가능하지만, 학습은 불가능한 함수”
Sigmoid Function

출력 범위: (0, 1)
장점
- 연속적, 미분 가능 → 경사 하강법을 통한 최적화 가능
- 출력을 확률로 해석 가능
해석
👉 이진분류에서 사실상 표준 출력 함수
1.1.2. 로지스틱 회귀, 손실 함수
로지스틱 회귀는 이름과 달리 분류 모델이다.
우선 연속형으로 예측 후 시그모이드 변환을 하기 때문에
분류이지만 이름이 회귀로 붙었다.

cf) 왜 MSE가 아닌 BCE를 쓰는가?
1.1.3. 손실 함수의 확률적 의미
👉 in label = 베르누이 분포, BCE Loss 최소화 = Likelihood 최대화
* Likelihood(우도): 주어진 데이터(관측값)가 나타날 가능도
1.2. 다중분류(활성화 함수: Softmax)
클래스가 3개 이상인 분류 문제.
1.2.1. Softmax

- 특징
- 출력값의 합 = 1
- 각 클래스의 확률 분포 생성
- 가장 큰 확률을 가진 클래스 선택
👉 “확률 분포를 만드는 함수”
1.2.2. Cross-Entropy Loss
다중분류에서 사용하는 손실 함수.

- label이 카테고리 분포(Categorical Distribution)를 따른다고 가정
- Negative Log-Likelihood(NLL)계산 결과 → Croos-Entropy Loss
- 실제 분포와 모델 예측 분포의 차이를 측정 → 정답 클래스의 예측 확률(q_i)을 높이는 방향으로 학습 유도
cf) 데이터 불균형 다루기(SMOTE)
SMOTE(Synthetic Minority Over-sampling Technique) 개념
- 소수 클래스 샘플 간의 이웃 보간
- 단순 복제가 아닌 Synthetic 데이터 생성(Data Augmentation, 데이터 증강)
- 주의점:
2. 모델의 종류
2.1. 의사 결정 나무(Decision Tree)
- 작동 원리
- 질문을 반복하며 데이터를 분할
- 각 분기에서 불순도(Impurity)를 최소화
- 최종 노드에서 클래스 결정
👉 대표적인 White-box 모델
-
강점
- 해석력 매우 뛰어남(White Box)
- 변수 중요도 파악 가능
- 전처리 요구 적음(비모수적 모델)
- 비선형 관계 표현 가능
-
한계
- 데이터 변화에 매우 민감
- 깊어질수록 과적합
- 경계선 근처 오차: 분류 경계선 근처의 데이터에 대해 오차가 클 수 있음
2.1.1. 지니지수(Gini Index)

- 임의로 두 샘플을 뽑았을 때, 서로 다른 클래스일 확률
- CART 알고리즘에서 사용하는 대표적인 불순도 측정 지표
- 지니 지수가 낮을수록 데이터의 순도가 높음을 의미(0 = 완전 순수)
- 분할 기준: 분할 후 자식 노드들의 지니 지수 합(가중 평균)이 가장 작아지는 지점을 선택
2.1.2. 엔트로피(Entropy)

- 정보 이론에 기반한 불확실성 or 무질서도 측정 지표
- 엔트로피가 낮을수록(무질서도 ↓) 순도가 높음을 의미
- 분할 기준: Information Gain(분할 전후의 엔트로피 차이)이 최대가 되는 지점을 선택
2.1.3. 과적합의 해결책: 가지치기(Pruning)
불필요한 가지를 제거하여 모델을 단순화
사전 가지치기(나무가 성장하는 과정에서 특정 정지 규칙에 도달하면 분할 stop)
- max_depth: 나무의 최대 깊이 제한
- min_samples_leaf: 리프 노드가 되기 위한 최소 샘플 수
- 위의 두 가지는 하이퍼 파라미터에 해당됨
사후 가지치기(나무 끝까지 성장 후 검증 데이터의 오차를 평가하여 도움 되지 않는 하위 가지 제거)
cf) 앙상블(Ensemble)기법
의사결정나무의 단점(불안정성, 과적합)을 보완하기 위한 방법
ex. 랜덤 포레스트(Random Forest), 그래디언트 부스팅(Gradient Boosting)
2.2. 나이브 베이즈 분류기
-
베이즈 정리(사전 확률과 우도를 통해 사후 확률을 추론하는 조건부 확률) 기반 확률 모델
-
모든 특성은 순진하게(Naive) 독립적이라 가정(특성 간 영향 주지 x)

-
P(Y|X): 사후 확률. 데이터 X가 주어졌을 때, 클래스 Y일 확률(우리가 구하고자 하는 값)
-
P(X|Y): 우도. 클래스 Y가 주어졌을 때, 데이터 X가 나타날 확률
-
P(Y): 사전 확률. 데이터와 무관하게, 클래스 Y가 나타날 일반적인 확률
-
P(X): 증거. 데이터 X가 나타날 확률
(클래스 간 확률 비교 시 생략 가능하여 계산을 단순화)
장점
- 매우 빠름
- 단순성 및 용이성(모델 이해 쉬움. 파라미터 튜닝 거의 필요 없음)
- 적은 데이터에서도 안정적
- 고차원 데이터에 강함(텍스트 분류, 문서 분류 등)
단점
- 독립성 가정이 현실과 다름
- Zero-Frequency Problem: 학습 데이터에 없던 특성이 테스트 데이터에 나타나면 해당 특성의 확률이 0이 되어 전체 예측을 왜곡
- 해결 방법: 라플라스 스무딩(Laplace Smoothing. 분자와 분모에 작은 상수 더해 0 방지) 적용
- 가우시안 모델의 경우, 특성이 정규분포를 따르지 않으면 성능이 저하될 수 있음
주요 활용 분야
2.2.1. 종류
- 가우시안(Gaussian)
- 데이터 유형: 연속적인 숫자형
- 가정: 각 클래스별 특성이 정규분포(가우시안 분포)를 따른다고 가정
- 주요 용도: 일반적인 연속형 데이터의 분류
- 다항(Multinomial)
- 데이터 유형: 이산적인 데이터(주로 '카운트' 기반)
- 가정: 특성이 다항분포를 따른다고 가정
- 주요 용도: 문서 분류, 토픽 모델링
- 베르누이(Bernoulli)
- 데이터 유형: 이진(Binary)데이터
- 가정: 특성이 베르누이 분포를 따른다고 가정
- 주요 용도: 스팸 메일 필터링, 텍스트 특성 존재 여부 기반 분류
2.3. KNN(K-Nearest Neighbors)
작거나 중간 규모의 데이터셋, 비선형 문제, 빠른 초기 모델링이 필요할 때
가장 강력한 도구가 될 수 있는 모델
-
핵심 특징
- 지도 학습
- 비모수 방식(Non-parametric): 데이터 분포에 대한 가정 x
- 지연 학습(Lazy Learning): 훈련 단계 없이 예측 시점에 모든 계산 수행.
= 인스턴스 기반 학습(전체 훈련 데이터를 메모리에 저장)
- K값이 하이퍼 파라미터(Low K: 과적합, High K: 과소적합)
-
작동 방식
- 학습 단계 없음
- 예측 시점에 거리 계산(가장 보편적으로 유클리드 거리 사용)
- 가장 가까운 K개의 이웃 선택
- 분류: K개의 이웃들의 클래스 중 가장 많은 클래스(다수결)
- 회귀: K개의 이웃들의 수치 값의 평균으로 새로운 데이터의 값 예측
-
언제 사용하면 좋은가?
- 데이터 구조가 단순
- 데이터 양이 많지 않을 때
- 기준 모델(Baseline) 용도
-
최적의 K 찾기
- 방법 1(경험적 규칙). K = sqrt(n). 여기서 n은 훈련 샘플의 수, 홀수 선택(이진 분류에서 동률 방지)
- 방법 2. 교차 검증(Cross-Validation). 가장 신뢰도 높은 방법
cf) 핵심 거리 특정 지표
-
유클리드 거리(연속형):
두 점 사이의 직선 거리(피타고라스)
-
맨해튼 거리(고차원 데이터):
좌표축을 따라 이동하는 거리의 합
-
해밍 거리(범주형 or 이진 벡터):
같은 길이의 두 문자열/벡터에서 값이 다른 위치의 개수
-
민코프스키 거리:
유클리드와 맨해튼 거리를 일반화한 형태. 매개변수 p값에 따라 달라짐
cf) 거리 기반 알고리즘의 아킬레스건: 차원의 저주
- 차원 증가 → 거리 차이 소실
- 모든 이웃이 비슷해짐
- 해결