비선형 데이터에 대해 가능하면 커널 트릭을 사용해야합니까?


13

최근에 Kernel 트릭을 사용하는 방법에 대해 배웠습니다.이 방법은 데이터를 해당 차원의 데이터를 선형화하기 위해 더 높은 차원의 공간에 매핑합니다. 이 기술을 사용하지 않아야하는 경우가 있습니까? 올바른 커널 기능을 찾는 것이 문제입니까?

선형 데이터의 경우 물론 도움이되지 않지만 비선형 데이터의 경우 항상 유용합니다. 학습 시간 및 확장 성 측면에서 선형 분류기를 사용하는 것이 비선형보다 훨씬 쉽습니다.

답변:


8

선형 데이터의 경우 물론 도움이되지 않지만 비선형 데이터의 경우 항상 유용합니다. 학습 시간 및 확장 성 측면에서 선형 분류기를 사용하는 것이 비선형보다 훨씬 쉽습니다.

@BartoszKP는 이미 커널 트릭이 유용한 이유를 설명했습니다. 그러나 귀하의 질문을 완전히 해결하기 위해 커널 화가 선형 적으로 분리 할 수없는 데이터를 처리 하는 유일한 옵션아니라고 지적하고 싶습니다 .

모델의 비선형 화 를 위한 3 가지의 좋은 일반적인 대안 이 있습니다.

  • 하나 이상의 처리 장치 계층을 추가하여 데이터를 선형으로 분리 가능한 사례로 변환 할 수있는 중립 네트워크 기반 방법. 가장 간단한 경우에는 프로세스에 비선형 성을 추가하는 시그 모이 드 기반 레이어입니다. 무작위로 초기화되면 상위 계층의 그라디언트 기반 최적화 중에 업데이트가 이루어집니다 (실제로 선형 문제를 해결합니다).
  • 특히, 심층 학습 기법을 사용하여 추가 선형 분류를위한 데이터를 준비 할 수 있습니다. 이전의 아이디어와 매우 유사하지만 여기서는 선형 모델의 훈련을 기반으로 추가 미세 조정을 위한 좋은 시작점을 찾기 위해 먼저 처리 레이어 를 학습합니다.
  • 랜덤 투영-사전 정의 된 일부 공간에서 (비선형) 투영을 샘플링하고 그 위에 선형 분류기를 학습시킬 수 있습니다. 이 아이디어는 극도의 머신 러닝 에서 크게 활용됩니다 . 여기서 매우 효율적인 선형 솔버를 사용하여 임의의 프로젝션에서 간단한 분류기를 훈련시키고 매우 우수한 성능을 얻습니다 (분류 및 회귀 모두에서 비선형 문제에 대해서는 익스트림 학습을 확인하십시오). 기계 ).

kernelization은 훌륭한 delinearization 기술이다, 당신은 - 요약하면 appraoch "다음 경우"문제가 선형이 아닌 경우, 그것을 사용하지만,이 장님해서는 안됩니다. 이것은 최소한 몇 가지 흥미로운 방법 중 하나이며 문제와 요구 사항에 따라 다양한 결과를 얻을 수 있습니다. 특히, ELM은 커널 화 된 SVM이 제공하는 솔루션과 매우 유사한 솔루션을 찾는 반면, 동시에 큰 행을 빠르게 훈련 할 수 있습니다 (따라서 커널 화 된 SVM보다 훨씬 확장 성이 뛰어납니다 ).


10

선형 방법에 대해 일반적으로 커널 트릭에 대해 지불하는 가격이 일반화 한계가 더 큽니다. 선형 모델의 경우 해당 VC 치수치수 수 측면에서 선형입니다 (예 : Perceptron의 VC 치수는 d + 1).

이제 고차원 공간으로 복잡한 비선형 변환을 수행 할 경우, 가설 세트의 VC 차원은 새로운 고차원 공간의 차원 수와 관련하여 선형이므로 크게 커집니다. 그리고 그것으로 일반화 한계가 올라갑니다.

서포트 벡터 머신 은 다음 두 가지를 수행하여 가장 효율적인 방법으로 커널 트릭을 악용합니다.


1
"무게의 숫자가 아니라 공간 차원의 관점에서"무게의 수의 관점에서도 선형 "입니다. 원하는만큼 많은 가중치로 선형 분류자를 매개 변수화 할 수 있지만 VC 치수는 여전히 d + 1입니다 (여기서 d는 공간 치수 임). "SVM 모델의 VC 차원은 지원 벡터 수와 관련이 있습니다"VC 차원은 SV 수와 정확히 어떻게 동일합니까? 나는 하드 마진 바운드에 대해 알고 있지만 소프트 마진 경우 afaik에는 그러한 관계가 없습니다. Radamacher의 복잡성 범위에서도 SV의 수를 변수로 찾을 수 없습니다.
lejlot

또한 "커널 대상 공간이 얼마나"큰 "관련이 없는지, 일반화 바운드의 관점에서 아무것도 잃어 버리지 않는다"는 것은 내가 완전히 잘못 알고있는 한입니다. 높은 차원의 공간은 SVM과 같은 정규화 된 모델을 사용하더라도 일반화 기능이 느슨해 질 수 있습니다.
lejlot

1
@lejlot 감사합니다. 처음 두 가지 실수를 수정했습니다. 마지막 두 발언과 관련 될 시간이 필요합니다. 정보를 다시 확인한 후 답변을 개선하고 소스를 제공하려고합니다. :)
BartoszKP

1
이제 거의 정확하지만 커널 공간의 크기와 관련이 없다는 가정의 이유는 무엇입니까? 데이터 세트를 가져와 RBF 커널 및 C-> inf를 사용하여 SVM을 실행하면 과도하게 적합합니다. 그렇게 간단하지 않습니다. 형상 공간의 치수 수는 관련 이 있지만 C를 사용하여 제어 할 수 있습니다 (래그 레인지 승수의 상한으로). 특히-RBF를 사용하는 SVM의 VC 차원은 무한대이며 일반화 범위 (Vapnik 's)는 쓸모가 없습니다 (Radamacher는 작동하지만 완전히 다른 이야기입니다).
lejlot

1
@lejlot 나는 또 다른 참조를주었습니다. 소프트 마진 경우에 대한 경계를 명시 적으로 제공하며 차원 수에 의존하지 않습니다.
BartoszKP

6

귀하의 질문에 비 기술적 답변을 제공하려고 노력할 것입니다.

실제로 선형은 선호되어야하며 언급 한 이유, 훈련 시간, 확장 성, 최종 모델 해석 용이성, 기본 또는 이중 작업 선택, 과적 합에 대한 내결함성 등의 이유로 첫 번째 선택이어야합니다.

선형 모델이 만족스러운 성능을 얻지 못하면 비선형 솔루션을 시도 할 수 있습니다. 고려해야 할 몇 가지 단점은 다음과 같습니다.

  • 커널의 선택. 이것은 분명하지 않습니다. 일반적으로 다른 옵션을 테스트해야합니다.
  • 훈련 세트를 과도하게 장착 할 위험이 있습니다. 실제로 원한다면 과도하게 맞추는 것이 매우 쉽습니다. 과적 합을 피하려면 더 강력한 평가 프레임 워크가 필요하고 (보이지 않은 데이터에 대한 성능의 분산 / 안정성을 측정해야 함) 적절한 모델 선택을 수행하기에 충분한 데이터가 필요합니다
  • 이중으로 작업하므로 최종 모델을 해석 할 수 없습니다. 즉, 기능 X 등이 기능 X보다 중요하다고 주장 할 수 없습니다.
  • 데이터 양이 많을수록 교육 시간이 늘어납니다 (듀얼에 있으므로 기능 수가 적음)

"이중 작업"에 대한 흥미로운 통찰력은 기능의 중요성을 주장 할 수 없습니다. 추가로 설명하는 자료에 대한 언급이 있습니까?
javadba
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.