대용량 벡터에 서포트 머신을 사용할 수 있습니까?


13

SVM에 대한 제한된 지식으로 짧고 뚱뚱한 데이터 매트릭스 (많은 기능과 많은 인스턴스는 아님)에는 좋지만 빅 데이터에는 적합하지 않습니다.엑스

한 가지 이유는 커널 행렬 가 행렬 이라는 것을 이해합니다. 여기서 은 데이터의 인스턴스 수입니다. 우리가 100K 데이터라고 말하면, 커널 행렬 는 요소를 가지며 ~ 80G 메모리를 사용할 수 있습니다.케이×케이1010

대용량 데이터에 사용할 수있는 SVM의 수정 사항이 있습니까? (100K에서 1M 데이터 포인트 규모로 말합니까?)


단순히 "큰 데이터"이상으로 SVM의 목표를 논의 할 경우 잠재적 인 응답자에게 도움이 될 것입니다. 그것은 당신의 쿼리에 대해 아무 것도 모른다고 말하면, SVM을 나누고 정복 알고리즘으로 활용할 수없는 이유가 있습니까?
마이크 헌터

SVM을 무엇에 사용하고 있습니까? 다른 방법을 사용할 수 있습니까?
tom

답변:


12

언급했듯이 커널 매트릭스를 저장하려면 데이터 포인트 수에 따라 2 차로 확장되는 메모리가 필요합니다. 기존의 SVM 알고리즘에 대한 교육 시간도 데이터 포인트 수에 따라 선형 적으로 확장됩니다. 따라서 이러한 알고리즘은 대규모 데이터 세트에는 적합하지 않습니다.

가능한 트릭은 커널 화 된 SVM을 선형 SVM으로 재구성하는 것입니다. 커널 행렬의 각 요소 는 데이터 공간 와 사이의 내적을 점 공간으로 매핑 한 후 (비선형으로) 냅니다. 피처 공간 매핑케이나는제이엑스나는엑스제이케이나는제이=Φ(엑스나는)Φ(엑스제이)Φ은 커널 함수에 의해 암시 적으로 정의되며 커널 화 된 SVM은 피처 공간 표현을 명시 적으로 계산하지 않습니다. 피처 공간은 매우 높은 차원이거나 심지어 무한한 차원 일 수 있으므로 중소 규모의 데이터 집합에 대해 계산 효율이 높습니다. 그러나 위와 같이 큰 데이터 세트에는 불가능합니다. 대신, 데이터를 비선형으로 형상 공간에 명시 적으로 매핑 한 다음 형상 공간 표현에 대해 선형 SVM을 효율적으로 훈련시킬 수 있습니다. 기능 공간 매핑은 주어진 커널 기능에 근접하도록 구성 할 수 있지만 '전체'기능 공간 매핑보다 더 적은 차원을 사용합니다. 큰 데이터 세트의 경우 여전히 풍부한 피쳐 공간 표현을 제공 할 수 있지만 데이터 포인트보다 차원이 훨씬 적습니다.

커널 근사법에 대한 한 가지 접근법은 Nyström 근사법을 사용합니다 (Williams and Seeger 2001). 더 작은 하위 행렬을 사용하여 큰 행렬의 고유 값 / 고유 벡터를 근사화하는 방법입니다. 다른 접근 방식은 무작위 기능을 사용하며 '무작위 부엌 싱크대'(Rahimi and Recht 2007)라고하는 솜씨입니다.

대규모 데이터 세트에서 SVM을 훈련시키는 또 다른 방법은 일련의 작은 하위 문제로 최적화 문제를 근사화하는 것입니다. 예를 들어, 원초 문제에 확률 론적 경사 하강 법을 사용하는 것이 하나의 접근법입니다 (다른 방법들 중에서도). 최적화 분야에서 많은 작업이 이루어졌습니다. Menon (2009)은 좋은 조사를 제공합니다.

참고 문헌

윌리엄스와 시거 (2001). Nystroem 방법을 사용하여 커널 머신의 속도를 높입니다.

라히 미와 레흐트 (2007). 대규모 커널 머신을위한 임의의 기능.

메논 (2009) . 대규모 지원 벡터 머신 : 알고리즘 및 이론.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.