728x90
서포트 백터 머신...
두 클래스를 명확히 구분할 수 있는 경계를 찾는다.
이때 거리 개념으로 특정 거리 이상일 경우 어떤 클래스에 속하도록 경계를 설정하는데
거리를 정의하기 위해 경계와 수직인 벡터가 등장하고 그 벡터와의 내적 개념이 등장.
내적을 이용해서 거리를 정의하고, 제약조건을 준다. 여기서 라그랑주 승수법을 이용
그리고 그 거리를 최대화해서 두 클래스를 구분짓는 경계의 폭을 크게 한다.
* 라그랑즈 승수법은 제약조건(보통 boundary condition)을 특정 상수값과 곱해서 목적함수에 더해준다. 그리고 목적함수에 대해 모든 변수들에 대한 편미분을 0으로 한다. 제약조건을 따로 명시할 필요가 없는 좋은 수학 도구이다.
-> 이렇게 할 수 있는 이유는 목적함수의 gradient(쉽게 말해 기울기)와 제약 조건의 gradient가 평행하기 때문이다.
-> 접점을 이루는 곳이 제한된 조건을 만족하는 함수의 최대값이라는 것을 알 수 있다.
-> 그렇다면 접점을 찾는 조건은 무엇일까? 바로 두 곡선의 기울기가 접점에서 평행을 이룬다는 사실이다. 곡선의 기울기는 미분을 통해 알 수 있는데 변수가 많아지면 편미분을 통해서, 조금더 자세하게는 gradient를 통해서 구할 수 있다.
ref) https://wikidocs.net/5719
'Data-science > machine learning' 카테고리의 다른 글
rdkit 설치하기 (1) | 2022.05.15 |
---|---|
[pandas] pandas dataframe 이용해서 그룹별로 train/val 나누기 (0) | 2022.01.06 |
dtreeviz IndexError, decision tree visualization (0) | 2020.11.11 |
epoch, iter ? (0) | 2019.05.20 |
머신러닝 이미지 데이터 전처리 주의사항 (0) | 2019.02.12 |