19강. SVM - Soft-margin Kernelized SVM

이찬·2023년 9월 10일
0

SVM : support Vector Machine

  • perceptron : 인공신경망의 최소 개념
    since 1958
  • decision tree (기반 ensemble 모델) : 1번째 부흥
  • SVM : 2번째 부흥


분류 문제 => "decision boundary"를 통해 0,1을 구분

  • Support Vector : 가장 가깝게 맞붙어 있는 서로 다른 종류의 data
  • 왜 이름이 Support Vector일까?
    data의 x,y좌표를 정형 data로 바꾸면 두개의 열이 될 것이고, 그 2개의 숫자로 1개의 점을 찍는다. 이때 여러개의 숫자를 모아놓은 행을 벡터라고 부르기에, 순서쌍과 유사한 의미로 생각하면 된다.
    또한, 결정경계의 형성의 기반이 되기에 'support'해준다고 부른다.
  • 결정경계에서 멀어진 면 (2차원일 때에는 선이지만, 그 이상부터는 면이기에, plane이라고 부른다.)

SVM은 Margin을 최대화하는 결정 경계를 찾는 기법

1번째 Upgrade : Soft Margin

  • 현실세계에서 만나는 data는 정확히 구분되기 보다는 조금씩 섞여서 존재
  • 일부 data는 없는 data라고 취급

SVM 의 목적 함수 objective function

  • objective function : 이 함수를 풀면 원래 풀고자 하는 문제가 풀리는 함수 => minimize / maximize
    => minimize == cost function

2번재 Upgrade : 더 높은 차원으로 만들어주는 Kernel 함수

  • 이전과 같이 data를 무시할 수 없는 경우가 있음
  • 한 줄로 데이터를 깔끔하게 분리할 수 없음
  • Linearly Unseperable 선형 분리 불가능

  • 차원을 늘리면 면 하나로 분리가 되기도 함
  • 늘렸던 차원을 다시 원래의 차원으로 돌림
  • 차원을 줄이면 높았던 차원에서의 결정경계가 휘어지게 됨

<차원을 높였던 함수> : Kernel Function

  • 임의의 함수 => Hyper Parameter
  • 새로운 열을 추가해서 생성

대표적인 Kernel

  • feature crosses : 특성 교차 => 딥러닝에서 입력층에 기존의 열들을 바탕으로 연산을 통해, x data기준 새로운(더 높은 차원의 열) 열을 추가해주는 것을 의미 (svm에서 kernel함수를 쓰는 것과 유사)

Kernel 함수와 Deep Learning

  • 입력 layer 에서 다음 layer로 넘어가는 2가지 연산
  1. 선형 결합
  • 선형 결합 시의 seta를 컴퓨터가 error를 줄이는 방향으로 정해줌
  • Layer : Learnable Kernel
  • 사람이 seta를 정하지 않는 것이, deep learning이 좋은 성능을 뽑아내는 비결

about Deep Learning - 2. 활성화 함수

profile
Kyunghee univ. IE 21

0개의 댓글