SVM (Support Vector Machine) 은 어떻게 작동하며 선형 퍼셉트론 , 선형 판별 분석 또는 로지스틱 회귀 와 같은 다른 선형 분류기와 다른 점은 무엇 입니까? *
(* 알고리즘, 최적화 전략, 일반화 기능 및 런타임 복잡성에 대한 근본적인 동기로 생각하고 있습니다 )
SVM (Support Vector Machine) 은 어떻게 작동하며 선형 퍼셉트론 , 선형 판별 분석 또는 로지스틱 회귀 와 같은 다른 선형 분류기와 다른 점은 무엇 입니까? *
(* 알고리즘, 최적화 전략, 일반화 기능 및 런타임 복잡성에 대한 근본적인 동기로 생각하고 있습니다 )
답변:
서포트 벡터 머신은 구분하기 가장 어려운 포인트에만 초점을 맞추는 반면 다른 분류기는 모든 포인트에주의를 기울입니다.
서포트 벡터 머신 접근 방식의 직관은 분류 기가 가장 까다로운 비교 (B와 A의 점이 그림 2에서 가장 가까운 점)에 적합하면 쉽게 비교할 수 있다는 점입니다 ( 서로 멀리있는 B와 A 지점 비교).
퍼셉트론 및 기타 분류기 :
퍼셉트론은 한 번에 한 점씩 찍고 그에 따라 구분선을 조정하여 만들어집니다. 모든 점이 분리되면 퍼셉트론 알고리즘이 중지됩니다. 그러나 어디서나 멈출 수 있습니다. 그림 1은 데이터를 분리하는 여러 개의 분할 선이 있음을 보여줍니다. 퍼셉트론의 정지 기준은 간단합니다. "100 % 분리 할 때 포인트를 분리하고 라인 개선을 중지합니다". 퍼셉트론은 최상의 분리 라인을 찾도록 명시 적으로 지시되지 않습니다. 로지스틱 회귀 및 선형 판별 모형은 퍼셉트론과 유사하게 구축됩니다.
가장 좋은 구분선은 A에 가장 가까운 B 지점과 B에 가장 가까운 A 지점 사이의 거리를 최대화합니다.이를 위해 모든 점을 볼 필요는 없습니다. 실제로, 아래에서 볼 수 있듯이 멀리 떨어진 지점에서 피드백을 통합하면 선이 약간 멀리 떨어질 수 있습니다.
벡터 머신 지원 :
다른 분류기와 달리 서포트 벡터 머신은 가장 좋은 분리 라인을 찾도록 명시 적으로 지시됩니다. 어떻게? 서포트 벡터 머신은 가장 가까운 포인트를 검색합니다 (그림 2). "서포트 벡터"(이름 "서포트 벡터 머신"은 포인트가 벡터와 같고 가장 좋은 선이 "의존"또는 가장 가까운 지점에서 "지원"됩니다.
가장 가까운 지점을 찾으면 SVM은 해당 지점을 연결하는 선을 그립니다 (그림 2에서 'w'로 표시된 선 참조). 벡터 빼기 (점 A-점 B)를 수행하여이 연결선을 그립니다. 그런 다음, 서포트 벡터 머신은 최상의 분리선을 연결선과 이등분하는 선으로 선언합니다.
서포트 벡터 머신은 새로운 샘플 (새로운 포인트)을 얻을 때 이미 B와 A를 가능한 한 멀리 떨어 뜨리는 라인을 만들었 기 때문에 더 낫습니다. 상대방의 영토로 향하는 선.
나는 시각적 학습자라고 생각하며 오랫동안 지원 벡터 머신의 직관과 씨름했다. SVM 분류기에서 Duality and Geometry 라는 논문이 마침내 빛을 보는 데 도움이되었습니다. 그곳에서 이미지를 얻었습니다.
Ryan Zotti의 답변 은 의사 결정 경계의 최대화에 대한 동기를 설명하고, carlosdc의 답변 은 다른 분류 자와 관련하여 몇 가지 유사점과 차이점을 제공합니다. 이 답변에서는 SVM의 교육 및 사용 방법에 대한 간단한 수학적 개요를 제공합니다.
다음에서 스칼라는 이탤릭 소문자로 표시됩니다 (예 : ), 굵은 소문자가있는 벡터 (예 :
허락하다:
함께 다음과 같이 하나는 SVM의 결정 경계를 나타낼 수 있습니다 :
클래스 는 다음과 같이 결정됩니다.
더 정확하게는 있습니다.
SVM은 다음 두 가지 요구 사항을 충족시키는 것을 목표로합니다.
SVM은 두 의사 결정 경계 사이의 거리를 최대화해야합니다. 수학적으로, 이것은 우리에 의해 정의 된 초평면 사이의 거리는 최대화하려는 의미 에 의해 정의 된 초평면 입니다. 이 거리는 . 이는 을 해결하고자한다는 의미 입니다. 마찬가지로 우리는 원합니다 .
SVM은 또한 모든 올바르게 분류해야합니다 . 이는
다음과 같은 이차 최적화 문제가 발생합니다.
이 이차 최적화 문제는 데이터를 선형으로 분리 할 수있는 경우 솔루션을 인정하기 때문에 이것은 마진 SVM 입니다.
소위 슬랙 변수 를 도입하면 제약 조건을 완화 할 수 있습니다 . 트레이닝 세트의 각 샘플에는 자체 슬랙 변수가 있습니다. 이를 통해 다음과 같은 이차 최적화 문제가 발생합니다.
이것은 소프트 마진 SVM 입니다. 는 오류 항의 페널티 라는 하이퍼 파라미터 입니다. ( 선형 커널을 사용하는 SVM에서 C의 영향은 무엇입니까? 및 SVM 최적 매개 변수를 결정하기위한 검색 범위는 무엇입니까? ).
원래의 피처 공간을보다 높은 차원의 피처 공간에 매핑 하는 함수 를 도입하여 훨씬 더 유연성을 추가 할 수 있습니다 . 이것은 비선형 결정 경계를 허용합니다. 이차 최적화 문제는 다음과 같습니다.
이차 최적화 문제는 라그랑지안 이중 문제 (이전 문제를 초기 라고 함 ) 라는 다른 최적화 문제로 변환 할 수 있습니다 .
이 최적화 문제는 (그라데이션을 으로 설정하여 ) 다음과 같이 단순화 할 수 있습니다 .
는 ( 대표자 정리에 명시된대로 ).
따라서 우리 는 훈련 세트 의 를 사용하여 를 배웁니다 .
(FYI : SVM을 장착 할 때 이중 문제로 귀찮게하는 이유는 무엇입니까? 짧은 대답 : 빠른 계산 + 커널 트릭을 사용할 수 있지만, 원시에서 SVM을 훈련시키는 좋은 방법이 있지만 {1} 참조)
한 번 학식, 하나는 특징 벡터와 함께 새로운 샘플의 클래스를 예측할 수 으로는 다음과 같습니다 :
합산의 이 사람이 모든 훈련 샘플을 통해 요약하는 것을 의미하기 때문에, 압도적으로 보일 수 있지만, 대부분의 입니다 (볼 수 있는 이유는 Lagrange multipliers는 SVM에 대해 드문 경우 이므로 실제로는 문제가되지 않습니다. ( 모든 특수한 경우를 구성 할 수 있습니다 .) iff 은 지원 벡터입니다 . 위의 그림에는 3 개의 지원 벡터가 있습니다.
최적화 문제는 내부 제품 에서만 를 사용한다는 것을 알 수 있습니다. . 매핑 함수 내적에 된다 라고 커널 종종 붙이고, 일명 커널 함수, .
내부 제품이 효율적으로 계산되도록 를 선택할 수 있습니다 . 따라서 계산 비용이 적게 드는 잠재적으로 높은 기능 공간을 사용할 수 있습니다. 이를 커널 트릭 이라고합니다 . 커널 함수가 유효 하기 위해서는 , 즉 커널 트릭과 함께 사용할 수 있으려면 두 가지 주요 속성을 만족시켜야 합니다 . 이 존재 선택할 수있는 커널 함수는 . 사이드 참고로, 커널 트릭은 다른 기계 학습 모델에 적용 할 수있다 그들이이 언급되는 경우, kernelized .
SVM에 대한 흥미로운 QA :
다른 링크들 :
참고 문헌 :
다른 분류 기와의 유사점과 차이점에 중점을 둘 것입니다.
퍼셉트론에서 : SVM은 힌지 손실과 L2 정규화를 사용하고 퍼셉트론은 퍼셉트론 손실을 사용하며 정규화를 위해 조기 중지 (또는 다른 기술 중 하나)를 사용할 수 있습니다. 실제로 퍼셉트론에는 정규화 용어가 없습니다. 정규화 용어가 없으므로 퍼셉트론은 오버 트레이닝되어야하므로 일반화 기능이 임의로 나빠질 수 있습니다. 최적화는 확률 적 경사 하강을 사용하여 수행되므로 매우 빠릅니다. 긍정적 인 측면 에서이 백서는 약간 수정 된 손실 기능으로 조기 중지를 수행함으로써 성능이 SVM과 동등 할 수 있음을 보여줍니다 .
로지스틱 회귀에서 : 로지스틱 회귀는 로지스틱 손실 항을 사용하며 L1 또는 L2 정규화를 사용할 수 있습니다. 로지스틱 회귀 분석을 생성 순진 베이어의 차별적 형제라고 생각할 수 있습니다.
LDA에서 : LDA는 또한 생성 알고리즘으로 볼 수 있으며, 확률 밀도 함수 (p (x | y = 0) 및 p (x | y = 1)가 정규 분포를 따르는 것으로 가정합니다. 그러나 "훈련"은 (많은 특징을 가질 때) 큰 행렬의 반전을 필요로한다는 단점이있다. 동질성 하에서 LDA는 정상적으로 분산 된 데이터에 최적 인 베이 즈 인 QDA 가된다 . 가정은 당신이 정말로 이것보다 더 잘 할 수 없다고 만족합니다.
런타임 (테스트 시간)에서 모델이 학습되면 이러한 모든 방법의 복잡성이 동일합니다. 이는 훈련 절차에서 찾은 하이퍼 플레인과 데이터 포인트 사이의 점에 불과합니다.
이 기법은 가능한 첫 번째 긍정적 및 부정적 예에 충분한 마진을 남기는 결정 경계선을 그릴 때 사용됩니다.
위의 그림에서와 같이 과 같은 직교 벡터를 선택하면 알 수없는 예제 에 대해 결정 기준을 설정 하여 형식의 양수로 카탈로그 화할 수 있습니다 .
거리 중간에있는 결정 선을 넘어 투영을 배치하는 값에 해당합니다. 그주의 .
양성 샘플의 동등한 조건은 다음과 같습니다.
와 함께
의사 결정 규칙이 있고 거기에 도달 하려면 와 가 필요 합니다 .
우리가 부과 할 첫 번째 제약 은 모든 긍정적 인 샘플에 대해 ,, ; 음수 샘플의 경우 입니다. 분할 경계 또는 초평면 ( 중앙 )에서 값은 이고 거터의 값은 및 .
벡터 는 가중치 벡터 이고 는 바이어스 입니다.
이 두 가지 불평등을 가져 오려면, 우리는 변수 소개 할 수 수 있도록 긍정적 예를 들어, 및 예는 부정적이며, 경우에 결론
따라서이 값은 0보다 커야 하지만 , 예제가 결정 초평면과지지 벡터의 끝 (이 경우 선) 사이의 분리 마진을 최대화하는 초평면 ( "홈통")에있는 경우, 그때:
이것은 을 요구하는 것과 같습니다
두 번째 제약 조건 : 결정 초평면과 서포트 벡터의 끝까지의 거리가 최대화됩니다. 즉, 분리 마진 ( "거리") 이 최대화됩니다.
결정 경계 수직 인 단위 벡터를 가정하면 두 " 테두리 "플러스와 마이너스 예제의 차이가있는 내적 은 "거리" 의 너비입니다 .
위의 방정식에서 와 는 거터에 있습니다 (분리를 최대화하는 초평면에서). 따라서 긍정적 인 예 : 또는 ; 부정적인 예 : . 따라서 거리의 폭을 재구성하십시오.
이제 거리의 너비를 최대화해야합니다. 즉, 최대화 하거나 를 최소화하거나 최소화해야합니다.
수학적으로 편리합니다.
그래서 우리는 :
제약 조건으로 를 최소화 하십시오.
우리는 일부 제약 조건에 따라이 표현을 최소화하고 싶기 때문에 Lagrange multiplier가 필요합니다 (방정식 2 및 4로 돌아갑니다).
일러스트레이션,
따라서,
그리고 와 관련하여 차별화
즉, 곱셈기와 레이블의 제로섬 곱이 있습니다.
방정식 Eq (6)을 다시 Eq (5)에 연결
두 번째 항은 방정식 Eq (7)에 따라 0입니다.
따라서,
식 (8)은 최종 라그랑지안이다.
따라서 최적화는 예제 쌍의 내적에 의존합니다.
위의 식 (1)에서 "결정 규칙"으로 돌아가서 식 (6)을 사용하십시오.
새로운 벡터 대한 최종 결정 규칙이 될 것
방정식 와 사이의 @Antoni의 게시물에서 픽업하여 원래 또는 초기 최적화 문제는 다음과 같은 형식임을 기억하십시오.
Lagrange multipliers의 방법을 사용하면 제한적인 최적화 문제를 제한되지 않은 형태로 바꿀 수 있습니다.
여기서 은 Lagrangian 이라고 하고 는 Lagrangian multipliers 라고합니다 .
우리의 원초적 라그랑에 최적화 문제는 다음이된다 : (사용주의 , 우리는 또한 사용해야합니다으로 가장 엄격한 아니다 하고 ... 여기)
@Antoni와 Proat. Patrick Winston이 도출 한 작업은 최적화 기능과 제약 조건이 다음과 같은 기술적 조건을 충족한다고 가정합니다.
이것은 우리가 와 대해 의 부분 도함수를 취하여 0과 같게 한 다음 결과를 라그랑지안의 원래 방정식에 다시 연결하여 동등한 것을 생성 할 수있게합니다. 형태의 이중 최적화 문제
과도한 수학적 기술을 사용하지 않고도 이러한 조건은 이중성과 Karush Kuhn Tucker (KTT) 조건의 조합으로 최적의 솔루션이 동일한 지 확인하면서 원시 문제 대신 이중 문제 를 해결할 수 있습니다. 우리의 경우 조건은 다음과 같습니다.
그러면 있는데, 이는 초기 및 이중 문제에 대한 해결책입니다. 또한, 파라미터 는 아래 KTT 조건을 만족합니다.
또한 일부 가 KTT 솔루션을 만족시키는 경우 초기 및 이중 문제에 대한 솔루션이기도합니다.
상기 식 는 특히 중요하며 이중 상보성 조건 이라 불린다 . 이 의미하는 경우 후 구속을 의미 즉 그것이 평등보다는 불평등 보유 활성이다. 이것은 불평등 구속 조건이 동등 구속 조건으로 바뀌는 Antoni의 도출에서 방정식 뒤에있는 설명 입니다.α * i > 0 g i ( w * ) = 0 g i ( w ) ≤ 0 ( 2 )