[학습 일기 #25] 머신러닝 4일차_분류

Ariel_Jeong·2026년 2월 3일

[학습 일기 시리즈]

목록 보기
25/44

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)

장점

  • 연속적, 미분 가능 → 경사 하강법을 통한 최적화 가능
  • 출력을 확률로 해석 가능

해석

  • P(y=1∣x) 형태의 확률 예측

👉 이진분류에서 사실상 표준 출력 함수


1.1.2. 로지스틱 회귀, 손실 함수

로지스틱 회귀는 이름과 달리 분류 모델이다.
우선 연속형으로 예측 후 시그모이드 변환을 하기 때문에
분류이지만 이름이 회귀로 붙었다.

cf) 왜 MSE가 아닌 BCE를 쓰는가?

  • MSE(Mean Squared Error)

    • 분류 문제에서 출력층 가중치(w)에 대해 비볼록(non-convex) 형태의 손실 함수를 생성한다.
      * 비볼록(non-convex)함수:
      여러 개의 봉우리와 골짜기를 가진 함수로,
      하나의 전역 최소점이 아닌 여러 지역 최소점을 가질 수 있는 함수
    • 학습 불안정(틀렸을 때 더 세게 혼내야 하는 상황에서 약해짐)
  • BCE(Binary Cross-Entropy Loss)

    • 특징:
      • 이진 분류 특화
      • Convex → 안정적인 최적화
      • 틀린 예측에 강한 패널티

1.1.3. 손실 함수의 확률적 의미

  • 가정

    • 타겟 y는 베르누이 분포(이진)를 따른다.
  • 학습 목표

    • 데이터가 주어졌을 때

    • 수식의 의미:
      “입력 x가 주어졌을 때 모델 파라미터 w를 조절해서
      지금 관측된 정답 y가 나올 확률을 최대화하자”

    • 이는 최대우도추정(MLE) 문제

    • 로그 변환 → 음수 → BCE Loss

👉 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, 데이터 증강)
  • 주의점:
    • Train 데이터에만 적용 필수




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) 거리 기반 알고리즘의 아킬레스건: 차원의 저주

  • 차원 증가 → 거리 차이 소실
  • 모든 이웃이 비슷해짐
  • 해결
    • 차원 축소(PCA)
    • 특징 선택
    • 거리 스케일링
profile
R&D 분야의 경험을 토대로 커리어 확장에 도전중인 개발꿈나무입니다.

0개의 댓글