주어진 데이터 세트에 대해 SVM을 실행하고 다음 관찰을 수행했습니다. 분류기를 작성하기위한 기능 수를 변경하면 결과 지원 벡터 수도 변경됩니다.
이런 종류의 시나리오를 설명하는 방법을 알고 싶습니다.
주어진 데이터 세트에 대해 SVM을 실행하고 다음 관찰을 수행했습니다. 분류기를 작성하기위한 기능 수를 변경하면 결과 지원 벡터 수도 변경됩니다.
이런 종류의 시나리오를 설명하는 방법을 알고 싶습니다.
답변:
SVM이 해결하는 최적화 문제를 보면 :
st 모든
지지 벡터들이다 대응 . 즉, 잘못 분류되었거나 경계에 가까운 데이터 포인트입니다.
이제 전체 기능 세트가있을 때이 문제에 대한 솔루션과 일부 기능을 버리는 경우를 비교해 보겠습니다. 피처를 버리는 것은 기능적으로 피처를 유지하는 것과 동일하지만, 버리고 싶은 피처 대한 을 추가합니다 .
이 두 가지 최적화 문제를 비교하고 수학을 통해 살펴보면 피처 수와 지원 벡터 수 사이에 밀접한 관계가 없다는 것이 밝혀졌습니다. 어느 쪽이든 갈 수 있습니다.
간단한 경우에 대해 생각하는 것이 좋습니다. 네거티브 및 포지티브 기능이 각각 (-1, -1) 및 (1,1) 주위에 모여 있고 3 개의지지 벡터가있는 대각선 분리 초평면으로 분리 가능한 2 차원 사례를 상상해보십시오. 이제 y 축 기능을 삭제한다고 가정하면 이제 데이터가 x 축에 투영됩니다. 데이터가 여전히 분리 가능한 경우 (예 : x = 0) 각 측면에 하나씩 2 개의 지원 벡터 만 남게되므로 y 기능을 추가하면 지원 벡터 수가 증가합니다. 그러나 데이터를 더 이상 분리 할 수없는 경우 x = 0의 잘못된쪽에있는 각 점에 대해 하나 이상의 지원 벡터를 얻게됩니다.이 경우 y- 기능을 추가하면 지원 벡터의 수가 줄어 듭니다.
따라서이 직관이 정확하거나 매우 높은 차원의 기능 공간에서 작업하거나 높은 차원의 기능 공간에 매핑되는 커널을 사용하는 경우 데이터를 분리 할 가능성이 높아 지므로 기능을 추가하는 경향이 있습니다. 또 다른 지원 벡터를 추가합니다. 데이터를 현재 분리 할 수없고 분리 성을 크게 향상시키는 기능을 추가하는 경우 지원 벡터 수가 감소 할 가능성이 높습니다.