서포트 벡터머신
아꿈사
송성곤
SVM
❏ 서포트 벡터 머신(support vector machine, SVM)은 패턴 인식, 자료 분석을 위한
지도 학습 모델이며, 주로 분류와 회귀 분석을 위해 사용한다.
❏ 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은
주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지
판단하는 비확률적 이진 선형/비선형 분류 모델을 만든다.
❏ 딥러닝이 나오기 전까지 가장 성공적인 분류기 역할을 했음
최적 분리
❏ 오른쪽 결정 영역 중 최적은 ?
❏ 결정영역 근처에 있는 ‘분류하기
애매한’ 데이터의 거리가 최대가
되어야 함
최적 분리 - 마진과 서포트 벡터
❏ 마진이란 어떠한 점들로
포함하지 않는 영역을
최대화해서 클래스들을 분리할
수 있도록 만드는 것
❏ 서포트 벡터란 결정 경계선에
가장 가까이 있는 각 클래스의
데이터 점
최적 분리 - 초평면
❏ 초평면(hyperplane)
은 데이터 임베딩
공간에서 1차원 낮은
부분 공간
최적 분리 - 마진과 서포트 벡터, 초평면
❏ 결정 경계의 초평면
❏ w * x - b = 0
❏ 위쪽 서포트 벡터를 지나는 초평면
❏ w * x - b = 1
❏ 아래 쪽 서포트 벡터를 지나는 초평면
❏ w * x - b = -1
❏ w은 초평면의 법선 벡터(normal
vector)
❏ 유닛 벡터는 w/||w||
❏ 마진 : 1/||w||
서포트 벡터 머신 알고리즘 - 최적화 문제를 사용한 파라미터
계산
❏ 선형 조건에 부합하도록
이차함수를 최적화 시키는
문제선형 조건에
부합하도록 이차함수를
최적화 시키는 문제
서포트 벡터 머신 알고리즘 - 최적화 문제를 사용한 파라미터
계산
❏ 최적화하려 하는 값에
형식적인 라그랑주 승수
(Lagrange multiplier) 항을
더하여, 제약된 문제를
제약이 없는 문제로 바꾼다.
서포트 벡터 머신 알고리즘 - 최적화 문제를 사용한 파라미터
계산
❏ 솔루션은 다음과 같은 형식을 가짐
❏
❏ 분류함수는 다음과 같은 형식
Soft Margin SVM
❏ 만약 훈련 데이터가 선형으로 분리되지
않을 경우, 슬랙 변수 ξ 가 잘못 분류되거나
노이즈가 포함된 데이터에 추가됨
❏ 잘못 분류된 데이터 포인트를 본래 속하는
클래스로 비용을 들여 이동시켜줌
비선형 SVM
❏ 결정 영역이 선형이 아닌 경우
❏ 데이터 포인트를 선형으로 분류하기 위해 차원을 더 생성
비선형 SVM - 커널
❏ 피처맵의 내적을 커널이라고 함
❏ 파라미터 결정
❏ x대신 Φ(x)을 사용하여 다음 식을 계산
SVM의 성능
❏ 서포트 벡터 머신은 실세계 데이터에 좋은 성능을 보여줌
❏ 프로그래머는 커널 함수를 설계 해야 함
❏ 나머지 파라미터는 자동으로 계산
❏ 데이터 집합의 크기가 클 수록 시간 소모가 큼
❏ 초평면의 최대 마진을 구하기 위해서 훈련 데이터 개수의 제곱에 해당하는
계산량 필요
❏ 모든 서포트 벡터를 저장 해야 함
SVM 다계층 분류
❏ SVM을 트레이닝 시켜서 하나의
클래스를 다른 클래스들로부터
분류하도록 만들고, 또 다른 분류기로
다른 클래스를 나머지
클래스들로부터 분류하게 만든다.
❏ N개의 클래스에 대해서 N개의
SVM이 필요.
참고자료
❏ T 아카데미 - 인공지능을 위한 머신러닝 알고리즘
❏ https://tacademy.sktechx.com/live/player/onlineLecture
Detail.action?seq=103
❏ 알고리즘 중심의 머신러닝 가이드 (제이펍)

서포트 벡터머신

  • 1.
  • 2.
    SVM ❏ 서포트 벡터머신(support vector machine, SVM)은 패턴 인식, 자료 분석을 위한 지도 학습 모델이며, 주로 분류와 회귀 분석을 위해 사용한다. ❏ 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형/비선형 분류 모델을 만든다. ❏ 딥러닝이 나오기 전까지 가장 성공적인 분류기 역할을 했음
  • 3.
    최적 분리 ❏ 오른쪽결정 영역 중 최적은 ? ❏ 결정영역 근처에 있는 ‘분류하기 애매한’ 데이터의 거리가 최대가 되어야 함
  • 4.
    최적 분리 -마진과 서포트 벡터 ❏ 마진이란 어떠한 점들로 포함하지 않는 영역을 최대화해서 클래스들을 분리할 수 있도록 만드는 것 ❏ 서포트 벡터란 결정 경계선에 가장 가까이 있는 각 클래스의 데이터 점
  • 5.
    최적 분리 -초평면 ❏ 초평면(hyperplane) 은 데이터 임베딩 공간에서 1차원 낮은 부분 공간
  • 6.
    최적 분리 -마진과 서포트 벡터, 초평면 ❏ 결정 경계의 초평면 ❏ w * x - b = 0 ❏ 위쪽 서포트 벡터를 지나는 초평면 ❏ w * x - b = 1 ❏ 아래 쪽 서포트 벡터를 지나는 초평면 ❏ w * x - b = -1 ❏ w은 초평면의 법선 벡터(normal vector) ❏ 유닛 벡터는 w/||w|| ❏ 마진 : 1/||w||
  • 7.
    서포트 벡터 머신알고리즘 - 최적화 문제를 사용한 파라미터 계산 ❏ 선형 조건에 부합하도록 이차함수를 최적화 시키는 문제선형 조건에 부합하도록 이차함수를 최적화 시키는 문제
  • 8.
    서포트 벡터 머신알고리즘 - 최적화 문제를 사용한 파라미터 계산 ❏ 최적화하려 하는 값에 형식적인 라그랑주 승수 (Lagrange multiplier) 항을 더하여, 제약된 문제를 제약이 없는 문제로 바꾼다.
  • 9.
    서포트 벡터 머신알고리즘 - 최적화 문제를 사용한 파라미터 계산 ❏ 솔루션은 다음과 같은 형식을 가짐 ❏ ❏ 분류함수는 다음과 같은 형식
  • 10.
    Soft Margin SVM ❏만약 훈련 데이터가 선형으로 분리되지 않을 경우, 슬랙 변수 ξ 가 잘못 분류되거나 노이즈가 포함된 데이터에 추가됨 ❏ 잘못 분류된 데이터 포인트를 본래 속하는 클래스로 비용을 들여 이동시켜줌
  • 11.
    비선형 SVM ❏ 결정영역이 선형이 아닌 경우 ❏ 데이터 포인트를 선형으로 분류하기 위해 차원을 더 생성
  • 12.
    비선형 SVM -커널 ❏ 피처맵의 내적을 커널이라고 함 ❏ 파라미터 결정 ❏ x대신 Φ(x)을 사용하여 다음 식을 계산
  • 13.
    SVM의 성능 ❏ 서포트벡터 머신은 실세계 데이터에 좋은 성능을 보여줌 ❏ 프로그래머는 커널 함수를 설계 해야 함 ❏ 나머지 파라미터는 자동으로 계산 ❏ 데이터 집합의 크기가 클 수록 시간 소모가 큼 ❏ 초평면의 최대 마진을 구하기 위해서 훈련 데이터 개수의 제곱에 해당하는 계산량 필요 ❏ 모든 서포트 벡터를 저장 해야 함
  • 14.
    SVM 다계층 분류 ❏SVM을 트레이닝 시켜서 하나의 클래스를 다른 클래스들로부터 분류하도록 만들고, 또 다른 분류기로 다른 클래스를 나머지 클래스들로부터 분류하게 만든다. ❏ N개의 클래스에 대해서 N개의 SVM이 필요.
  • 15.
    참고자료 ❏ T 아카데미- 인공지능을 위한 머신러닝 알고리즘 ❏ https://tacademy.sktechx.com/live/player/onlineLecture Detail.action?seq=103 ❏ 알고리즘 중심의 머신러닝 가이드 (제이펍)