추가사항
hyperplane 식은 x∙w-d=0 이 이와같은 방식으로 나옴
x 점들의 영역을 positive space , 원 들의 영역을 negative space 라 칭하게됨
즉 데이터를 집어넣어 값의 부호를 확인함으로써 어느 부분에 속하는지 확인을 할 수 있다.
제공되는 dataset T 가 이런 모양이라고 하자 (n 차원의 Q개의 데이터)
-d 를 +w0 로 쓴거
delta 를 hyperplane 에서 가장 가까운 data 까지의 거리라고 했을때 이식이 성립함.
위 식에서 양변을 delta로 나눠주면 이 식이 된다.
양변에 di 를 곱해주고 한쪽으로 넘기면 어떤 클래스간에 성립하는 식이 된다.
각 클래스간 경계에서 가장 가까운 data 를 x+ x- 라고 하자
1번식 - 2번식을 하면 3번식이 나옴
1번식은 margin data 를 넣었을 때고 2 번식은 hyperplane 상의 점을 넣었을 때다.
W 가 단위 벡터가 아니라고 하면 단위 벡터로 만들어서
식을 전개시키면
맨 밑에 식과 같은 상태로 만들수 있는데
이 값이 1이다.
즉 이게 1 이다 (x+)-(xㅠ) <- 요게 마진
그래서 마진의 식은 1/(w 절대값) 으로 구해진다.
d+ 랑 d- 는 같기때문에 total margin 은 이렇게 나온다.
즉 마진을 최대화 하기 위해서는 W를 최소화 하면 된다.
옆 식을 만족하는 즉 제일 가까운 data를 support vector 라고 한다.
그때의 거리를 마진이라고 한다.
마진을 최대로 한다는것은 W 를 최소화 한다는 것이다. 또 W를 최소화 한다는것은 W의 제곱을 최소화 하는것과 같은 것이므로 목적함수를 다음과 같이 표시할 수 있다.
단 제약조건이 존재하는데 모든 training data 가 아래식을 만족해야 한다.
이 식을 쿼드라틱 프로그래밍이라 하는데 라그랑주 승수법을 이용해서 푼다.
여기 있음
람다는 0보다 커야됨.
근데 g 가 Q 개 있음
이때 Q 개의 람다를 이렇게 표현 (상수)
'공부 > 핸즈온 머신러닝' 카테고리의 다른 글
핸즈온 머신러닝 2 chap 8 차원 축소 (1) | 2021.02.26 |
---|---|
핸즈온 머신러닝 2 chap 7 앙상블 학습과 랜덤 포레스트 (0) | 2021.02.25 |
핸즈온 머신러닝 2 chap 6 decision tree (0) | 2021.02.24 |
핸즈온 머신러닝 2 chap 5 SVM (0) | 2021.02.23 |
핸즈온 머신러닝 2 chap 4 모델 훈련 (0) | 2021.02.22 |