신경 네트워크 대 지원 벡터 머신 : 두 번째는 확실히 우수합니까?


52

필자가 읽은 많은 저자들은 SVM이 회귀 / 분류 문제에 직면 할 수있는 우수한 기술이며, NN을 통해 유사한 결과를 얻을 수 없다는 것을 알고 있습니다. 종종 비교는

NN 대신 SVM

  • 강력한 창립 이론을 가지고
  • 2 차 프로그래밍으로 글로벌 최적 달성
  • 적절한 수의 매개 변수를 선택하는 데 문제가 없습니다
  • 과적 합의 경향이 적습니다
  • 예측 모델을 저장하기 위해 더 적은 메모리 필요
  • 더 읽기 쉬운 결과와 기하학적 해석

널리 받아 들여지는 생각입니까? 무료 점심 정리 또는 이와 유사한 문구를 인용하지 마십시오. 제 질문은 그러한 기술의 실제 사용에 관한 것입니다.

다른 한편으로, 당신은 분명히 어떤 종류의 추상적 문제가 NN과 직면하게 될까요?


4
나는 그 질문이 약간 광범위하다고 생각합니다. 그러나 실제로 NN은 NN 구조를 선택하면 훨씬 더 조정 가능한 것처럼 보이지만 SVM은 매개 변수가 적습니다. NN이 문제를 해결하기 위해 최적으로 설정 되었다면 두 가지 질문이 있습니다. 그리고 일반 개업의의 손에 SVM은 NN과 어떻게 비교됩니까?
Patrick Caldon

2
@PatrickCaldon 귀하의 관점을 이해하지만 적절한 방법으로 구성하는 방법을 모르는 경우 더 많은 매개 변수를 다루는 것이 항상 더 나은 도구를 의미하는 것은 아닙니다. 가능하더라도 오랜 연구가 필요할 수 있습니다. 또는, 당신은 당신의 applciation의 목적을 위해 이렇게 다양한 조정 기능이 필요하지 않을 수 있습니다
stackovergio

1
그게 내 요점이야 특정 문제에서 이상적인 환경에서 도구가 어떻게 작동합니까? 또는 대부분의 사람들에게이 도구가 어떻게 작동합니까? 여기서 가장 큰 요소는 사람 btw라고 생각합니다. 이 때문에 관련 요소가 자주 있다고 생각합니다. 사용 방법을 알고있는 전문가가 있습니까? 등 "나는 X 중 좋은 성과를 얻었다"많은 explan 수있는 그런
패트릭 Caldon

1
내가 아는 것으로부터, 다층 피드 포워드 ANN은 활성화 기능에 관계없이 어느 정도 보편적 인 근사치입니다. 사용 된 커널 기능에 훨씬 더 의존하는 SVM의 비슷한 결과를 알지 못합니다.
Momo

2
실제로는 교육 시간으로 인해 NN이 약간 더 실용적이라고 생각합니다. 비선형 SVM은 큰 N을 잘 처리 할 수 ​​없습니다. 두 알고리즘 모두 과적 합할 수 있고 강력한 정규화가 필요합니다.
Shea Parkes

답변:


43

그것은 절충의 문제입니다. SVM은 현재 NN 은 이전 있었습니다 . Random Forests, Probabilistic Graphic Models 또는 Nonparametric Bayesian 방법이 있다고 주장하는 논문이 점점 늘어나고 있습니다. 어떤 모델이 고관절로 간주 될지 에 대한 예측 모델을 Annals of Improbable Research 에 게시해야합니다 .

잘 알려진 어려운 감독 문제의 경우, 가장 성능이 뛰어난 단일 모델은 NN 유형, SVM 유형 또는 신호 처리 방법을 사용하여 구현 된 문제 별 확률 적 경사 하강 방법입니다.


NN의 장점 :

  • 지원할 수있는 데이터 유형이 매우 유연합니다. NN은 수동으로 기능을 파생하지 않고도 기본적으로 모든 데이터 구조에서 중요한 기능을 학습하는 데 상당한 노력을 기울입니다.
  • NN은 여전히 ​​피쳐 엔지니어링의 이점을 제공합니다. 예를 들어 길이와 너비가있는 경우 면적 피쳐가 있어야합니다. 모델은 동일한 계산 노력으로 더 잘 수행됩니다.

  • 감독되는 머신 러닝의 대부분은 레이블을 길이 관측 값의 벡터로 사용하여 피처 매트릭스로 관측치에 데이터를 구조화해야합니다. NN에는이 제한이 필요하지 않습니다. 구조화 된 SVM에는 환상적인 작업이 있지만 NN만큼 유연하지는 않습니다.


SVM의 장점 :

  • 하이퍼 파라미터가 적습니다. 일반적으로 SVM은 상당히 정확한 모델을 얻기 위해 그리드 검색이 덜 필요합니다. RBF 커널이있는 SVM은 일반적으로 성능이 뛰어납니다.

  • 글로벌 최적 보장.


NN과 SVM의 단점 :

  • 대부분의 경우 그들은 모두 블랙 박스입니다. SVM 해석에 대한 연구가 있지만 GLM만큼 직관적이지 않을 것입니다. 이것은 일부 문제 영역에서 심각한 문제입니다.
  • 블랙 박스를 수락하려는 경우 일반적으로 트레이드 오프가 다른 많은 모델을 포장 / 스태킹 / 부스팅하여 상당히 정확도를 높일 수 있습니다.

    • 랜덤 포레스트는 추가 노력없이 가방 외부 예측 (leave-one-out prediction)을 생성 할 수 있고, 매우 해석 가능하며, 편향-분산 트레이드 오프 (배지 모델에 적합)가 우수하고 매력적입니다. 선택 바이어스에 비교적 강하다. 병렬 구현을 작성하는 것은 매우 간단합니다.

    • 확률 그래픽 모델은 도메인 별 지식을 모델에 직접 통합 할 수 있고 이와 관련하여 해석 할 수 있기 때문에 매력적입니다.

    • 비모수 적 (또는 실제로 매우 모수적인) 베이지안 방법은 신뢰 구간을 직접 생성하기 때문에 매력적입니다. 작은 샘플 크기와 큰 샘플 크기에서 매우 잘 수행됩니다. 선형 대수 구현을 작성하는 것은 매우 간단합니다.


41
최근 딥 러닝이 증가함에 따라 NN은 SVM보다 "더 많은"고려 대상이 될 수 있습니다.
bayerj

30

귀하의 질문에 대한 답변은 내 경험에 "아니오"이며, SVM은 확실히 우수하지 않으며, 가장 잘 작동하는 것은 데이터 세트의 특성과 각 도구 세트를 사용하는 운영자의 상대 기술에 달려 있습니다. 일반적으로 SVM은 훈련 알고리즘이 효율적이고 정규화 매개 변수를 가지고있어 정규화 및 과적 합에 대해 생각하게하므로 우수합니다. 그러나 MLP가 SVM보다 훨씬 나은 성능을 제공하는 데이터 세트가 있습니다 (커널 기능으로 미리 지정하지 않고 자체 내부 표현을 결정할 수 있기 때문에). MLP (예 : NETLAB) 및 정규화 또는 조기 중지 또는 아키텍처 선택 (또는 세 가지 모두)을 올바르게 구현하면 매우 우수한 결과를 얻을 수 있으며 (적어도 성능 측면에서) 재현 할 수 있습니다.

모델 선택은 SVM의 주요 문제로, 커널을 선택하고 커널을 최적화하고 정규화 매개 변수를 사용하면 모델 선택 기준을 과도하게 최적화 할 경우 심각한 과적 합이 발생할 수 있습니다. SVM의 기반이되는 이론은 편안하지만 대부분은 고정 커널에만 적용되므로 커널 매개 변수를 최적화하려고하면 더 이상 적용되지 않습니다 (예 : 커널 조정에서 해결해야하는 최적화 문제) 일반적으로 볼록하지 않으며 로컬 최소값을 가질 수 있습니다).


7
나는 이것에 전적으로 동의합니다. 저는 현재 뇌-컴퓨터 인터페이스 데이터에 대한 SVM과 ANN을 훈련하고 있으며 SVM이 더 나은 일부 데이터 세트와 ANN이 더 나은 일부 데이터 세트가 있습니다. 흥미로운 점은 내가 사용하는 모든 데이터 세트의 성능을 평균 할 때 SVM과 ANN이 정확히 동일한 성능에 도달한다는 것입니다. 물론 이것은 증거가 아닙니다. 일 화일뿐입니다. :)
alfa

27

나는 대부분의 친구들이 공유하는 것처럼 보이는 나의 의견을 설명하려고 노력할 것이다. SVM이 아닌 NN에 대한 다음과 같은 우려가 있습니다.

  1. 클래식 NN에서 매개 변수의 양은 엄청나게 높습니다. 길이가 100 인 벡터를 두 개의 클래스로 분류한다고 가정합니다. 입력 레이어와 동일한 크기의 숨겨진 레이어는 100000 개가 넘는 무료 매개 변수로 이어집니다. 과적 합이 얼마나 나쁜지 (이러한 공간에서 현지 최소값으로 넘어가는 것이 얼마나 쉬운 지), 그리고이를 방지하기 위해 필요한 훈련 지점의 수 (그리고 훈련하는 데 얼마나 많은 시간이 필요한지)를 상상해보십시오.
  2. 일반적으로 토폴로지를 한 눈에 선택하려면 실제 전문가 여야합니다. 즉, 좋은 결과를 얻으려면 많은 실험을 수행해야합니다. 그렇기 때문에 SVM을 사용하고 NN에서 비슷한 결과를 얻을 수 없다고 말하는 것이 더 쉬운 이유입니다.
  3. 일반적으로 NN 결과는 재현 할 수 없습니다. NN 교육을 두 번 실행하더라도 학습 알고리즘의 임의성으로 인해 다른 결과를 얻을 수 있습니다.
  4. 일반적으로 결과에 대한 해석은 전혀 없습니다. 그것은 작은 관심사이지만 어쨌든.

NN을 사용해서는 안된다는 의미가 아니라 신중하게 사용해야합니다. 예를 들어 Convolutional NN은 이미지 처리에 매우 적합하고 다른 Deep NN은 다른 문제에도 적합하다는 것이 입증되었습니다.

그것이 도움이되기를 바랍니다.


2
ANN 결과를 재현 할 수있게하려면 임의 함수를 시드하십시오.
Franck Dernoncourt

@Franck 그것은 실제 재현성이 아닙니다.
sanity

17

대부분의 문제에 신경망을 사용하고 있습니다. 요점은 대부분의 경우 모델보다는 사용자의 경험에 관한 것입니다. NN을 좋아하는 이유는 다음과 같습니다.

  1. 융통성이 있습니다. 나는 힌지 손실, 제곱, 교차 엔트로피 등 내가 원하는 것을 잃을 수 있습니다. 차별화가 가능한 한, 내 요구에 정확히 맞는 손실을 설계 할 수도 있습니다.
  2. 그들은 베이지안 신경망, 변형 베이 즈, MLE / MAP 등 모든 것을 유아식으로 치료할 수 있습니다. (그러나 경우에 따라 더 어려워집니다.)
  3. 그들은 빠르다. 대부분의 MLP는 두 개의 행렬 곱셈과 하나의 비선형 성이 그 사이에 현명하게 적용됩니다. SVM으로 이길 수 있습니다.

나는 당신의 다른 요점들을 단계적으로 살펴볼 것입니다.

강력한 창립 이론을 가지고

이 경우 NN도 마찬가지로 강력합니다. 확률 적 프레임 워크에서 NN을 훈련시키기 때문입니다. 이를 통해 사전 및 베이지안 치료 (예 : 변형 기술 또는 근사)를 사용할 수 있습니다.

2 차 프로그래밍으로 글로벌 최적 달성

한 세트의 하이퍼 파라미터 그러나 좋은 hp를 찾는 것은 볼록하지 않으며, 전 세계적으로 최적을 찾았는지 알 수 없습니다.

적절한 수의 매개 변수를 선택하는 데 문제가 없습니다

SVM을 사용하면 하이퍼 매개 변수도 선택해야합니다.

예측 모델을 저장하기 위해 더 적은 메모리 필요

지지 벡터를 저장해야합니다. SVM은 일반적으로 MLP를 저장하는 데 더 저렴하지는 않지만 경우에 따라 다릅니다.

더 읽기 쉬운 결과와 기하학적 해석

MLP의 최상위 계층은 분류의 경우 로지스틱 회귀입니다. 따라서 기하학적 해석 (초평면 분리)과 확률 론적 해석도 있습니다.


지원 벡터를 저장해야하는 이유는 무엇입니까? SVM의 하이퍼 플레인 / 마링을 저장하기에 충분하지 않습니까?
Julian

하이퍼 평면은 지원 벡터를 통해 표현되기 때문입니다. 새로운 점의 거리를 계산하려면 그 점을 반복합니다.
bayerj 2016 년

0

어떤면에서이 두 가지 범주의 기계 학습 기술은 서로 관련이 있습니다. 완벽하지는 않지만 이러한 기술의 유사성을 보여주는 데 도움이되는 두 가지 논문은 다음과 같습니다.

로난 콜 로버트와 사미 벤 지오 퍼셉트론, MLP 및 SVM 사이의 링크. 머신 러닝에 관한 제 21 회 국제 컨퍼런스 (ICML '04)의 진행. ACM, 뉴욕, 뉴욕, 미국, 23-. DOI : https://doi.org/10.1145/1015330.1015415

안드라스, 피터 (2002). 서포트 벡터 머신과 정규화 신경망의 동등성. 신경 처리 편지. 15. 97-104. 10.1023 / A : 1015292818897.

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