Summary

  • 발전 흐름

    • 단순한 분류
    • 최선의 분류(margin)
    • →현실적인 분류(slack)
  • 선형 분리 가정(Perceptron)

    • → 여러 해 중 최선 선택(Margin/SVM)
    • → 분리 불가능한 경우 처리(Soft-margin/Hinge Loss)
    • → 비선형 확장(Kernel)
방법특징
Perceptron0-1 loss, 미분 불가능, 단순하지만 infeasible 시 멈추지 않음
SVM (Hard-margin)0-1 loss, 미분 불가능, 경계 근처 점만 고려, 선형 분리 가능해야 함
Soft-margin SVM경계 근처 점 + 위반 점 고려, convex optimization으로 해결

1. Perceptron Algorithm

  • Perceptron Algorithm (Rosenblatt, 1957)
    • 가장 고전적인 학습 알고리즘

    1. 가중치 , bias 초기화
    2. 각 샘플마다 예측
    3. 예측 후 잘못 분류된 경우에만 가중치를 업데이트
    • 장점: 해가 있으면 반드시 수렴하며, 매우 단순하다.
    • 단점: 해가 없으면 영원히 멈추지 않고, 해가 없는지 알 수도 없다.

2. Linear Programming 접근

  • Perceptron의 단점을 보완하기 위해 LP로 정식화한다.

  • 목적함수 없이(null objective) 단순히 제약 조건 만족 여부만 확인한다.

  • Perceptron과 달리 문제가 infeasible(해 없음)한 경우를 알려준다는 장점이 있다.

3. Margin과 SVM

3.1. Margin 개념

  • 선형 분리 가능한 데이터에는 분류 경계가 무수히 많이 존재한다.

  • 해가 여러 개일 때, 이 중 어떤 경계가 가장 좋은가?

  • Margin 개념 도입

    • Margin: 가장 가까운 점까지의 거리
    • 이를 최대화(Maximum)하면 robust한 분류기
    • 마진을 최대화하는 결정 경계를 찾음으로써 모델의 일반화 성능을 높인다.
  • 에서 초평면 경계 까지의 거리

3.2. SVM

  • SVM (Support Vector Machine)

    • 제약을 고정하고 분모(가중치 norm)를 최소화하는 형태로 변환한다.
  • 이는 Convex 문제(QCQP; Quadratically Constrained Quadratic Program)로,

  • 표준 solver로 풀 수 있고 infeasible 여부도 판별 가능하다.

3.3. Soft-margin SVM

  • 실제 데이터는 선형 분리 불가능한 경우가 많다.

  • 이때 기존의 SVM은 오류를 허용하지 않아 → 선형 분리 불가능하면 infeasible로 끝나버린다.

  • slack variable(penalty) 도입으로 오차를 허용해 해결한다.

  • 하이퍼파라미터 C의 역할

    • 큰 C: 위반(outlier)에 강한 페널티 → 모든 점을 정확히 분류하려 함
    • 작은 C: 일반적인 샘플의 패턴에 집중 → 일부 outlier는 무시

3.4. Hinge Loss

0-1 Loss(미분 불가능) 대신 사용하는 SVM의 손실 함수

  • Soft-margin SVM은 Hinge Loss로 다시 표현할 수 있다.

  • 마진 안쪽이거나 잘못 분류된 경우에만 손실이 생기며, 목적함수는 다음과 같이 정의된다.

  • C의 역할

    • C가 크면 outlier에 민감(penalize)
    • C가 작으면 일반 샘플에 집중

cf. Kernel