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가지 연산
- 선형 결합
- 선형 결합 시의 seta를 컴퓨터가 error를 줄이는 방향으로 정해줌
- Layer : Learnable Kernel
사람이 seta를 정하지 않는 것이, deep learning이 좋은 성능을 뽑아내는 비결
about Deep Learning - 2. 활성화 함수