클래스를 선형으로 분리 할 수있는 고차원 피쳐 공간으로 데이터를 변환하는 이유는 무엇입니까?


10

SVM 및 선형으로 분리 할 수없는 데이터에 대한 섹션에서 내 책 (Webb 및 Wiley의 통계 패턴 분류)을 읽었습니다.

많은 실제 문제에서 클래스를 분리하는 선형 경계가 없으며 최적의 분리 초평면을 찾는 문제는 의미가 없습니다. 복잡한 피처 벡터 를 사용하여 클래스를 선형으로 분리 할 수있는 고차원 피처 공간으로 데이터를 변환하더라도 데이터의 과적 합으로 인해 일반화 능력이 저하 될 수 있습니다. .Φ(x)

클래스를 선형으로 분리 할 수있는 고차원 피쳐 공간으로 데이터를 변환하는 이유가 과적 합 및 일반화 능력이 좋지 않은 이유

답변:


8

@ffriend는 그것에 대해 좋은 소식을 가지고 있지만 일반적으로 높은 차원의 특징 공간으로 변환하고 거기에서 학습하면 학습 알고리즘은 더 높은 공간의 특징을 고려하도록 '강제'됩니다. 원래 데이터와 관련이 있으며 예측 품질을 제공하지 않습니다.

이것은 훈련 할 때 학습 규칙을 제대로 일반화하지 않을 것임을 의미합니다.

직관적 인 예를 들어 보자. 키에서 체중을 예측하려고한다고 가정 해 봅시다. 사람들의 몸무게와 키에 해당하는 모든 데이터가 있습니다. 일반적으로 선형 관계를 따릅니다. 즉, 무게 (W)와 높이 (H)를 다음과 같이 설명 할 수 있습니다.

W=mHb

여기서 은 선형 방정식의 기울기이고 는 y 절편 또는이 경우 W 절편입니다.mb

우리는 당신이 노련한 생물 학자이며 관계가 선형 이라는 것을 알고 있다고 말하십시오. 데이터가 위쪽으로 향하는 산점도처럼 보입니다. 2 차원 공간에 데이터를 보관하면 데이터를 한 줄에 맞출 수 있습니다. 모든 점에 도달 하지는 않았지만 괜찮습니다. 관계가 선형이라는 것을 알고 어쨌든 좋은 근사치를 원합니다.

이제이 2 차원 데이터를 가져와 더 높은 차원의 공간으로 변환했다고 가정하겠습니다. 따라서 만 대신 , , , 및 차원을 5 개 더 추가합니다 .HH2H3H4H5H2+H7

이제이 데이터에 맞는 다항식의 계수를 찾으십시오. 즉 , 데이터에 '가장 적합한'다항식에 대한 계수 를 찾고 싶습니다 .ci

W=c1H+c2H2+c3H3+c4H4+c5H5+c6H2+H7

그렇게하면 어떤 종류의 선을 얻게 되겠습니까? @ffriend의 맨 오른쪽 줄거리처럼 보이는 것을 얻을 수 있습니다. 학습 알고리즘을 '강제'하여 아무 상관없는 고차 다항식을 고려했기 때문에 데이터를 과적 합했습니다. 생물학적으로 말하면, 무게는 단지 높이에 비례합니다. 또는 상위 오 센스에 의존 하지 않습니다.H2+H7

그렇기 때문에 맹목적으로 데이터를 고차 차원으로 변환하면 일반화하지 않고 과적 합의 위험이 매우 높아집니다.


6

선형 회귀를 사용하여 평원의 2D 점 집합에 가까운 함수를 찾으려고한다고 가정 해 봅시다 (기본적으로 SVM의 기능과 거의 같습니다). 적십자 아래의 3 개 이미지에서 관측치 (훈련 데이터)가 표시되고 3 개의 파란색 선은 회귀 분석에 사용되는 다항식의 차수가있는 방정식을 나타냅니다.

여기에 이미지 설명을 입력하십시오

첫 번째 이미지는 선형 방정식으로 생성됩니다. 보시다시피, 점을 아주 잘 반영하지 않습니다. 우리는 학습 알고리즘에 너무 작은 "자유도"(너무 작은 정도의 다항식)를 부여했기 때문에 이를 언더 피팅 이라고 합니다. 두 번째 이미지는 훨씬 낫습니다. 우리는 2 도의 다항식을 사용했으며 꽤 좋아 보입니다. 그러나 "자유도"를 더 높이면 세 번째 이미지가 나타납니다. 파란색 선은 십자가를 통해 올 수 있지만이 선이 실제로 종속성을 설명한다고 생각합니까? 나는 그렇게 생각하지 않습니다. 예, 훈련 세트 학습 오류 (십자선과 선 사이의 거리)는 매우 작지만 실제 데이터에서 관찰을 하나 더 추가하면 아마도 오류가 두 번째 방정식을 사용하는 것보다 훨씬 클 것입니다 영상. 이 효과를 오버 피팅 이라고 합니다-우리는 훈련 데이터를 너무 면밀히 따르 려고 애를 씁니다. 단일 변수의 다항식을 사용하는 것은 커널의 간단한 예입니다. 한 차원 ( ) 대신 여러 차원 ( , , 등)을 사용합니다. 당신은 더 높은 차원 공간에 데이터를 변환하는 것은 할 수 있음을 알 수 underfit을 극복하는 데 도움이 , 하지만 그것은 또한 수 overfit으로 이어질 . 진짜 도전은 "정확한"것을 찾는 것입니다. 이 주제에 대한 추가 연구를위한 몇 가지 팁. 교차 검증 이라는 절차로 과적 합을 탐지 할 수 있습니다.xxx2x3. 간단히 말해, 데이터를 10 개 부분으로 나누고 9 개를 훈련 용으로, 1 개를 유효성 검사 용으로 가져갑니다. 유효성 검사 세트의 오류가 열차 세트의 오류보다 훨씬 높으면 초과 적합입니다. 대부분의 머신 러닝 알고리즘은 과적 합을 극복 할 수있는 일부 매개 변수 (예 : SVM의 커널 매개 변수)를 사용합니다. 또한 여기에서 인기있는 키워드 중 하나는 정규화입니다. 최적화 프로세스에 직접 영향을 미치는 알고리즘 수정으로 문자 그대로 "훈련 데이터를 너무 자세히 따르지 않습니다"라고 말합니다.

BTW, DSP가 이런 종류의 질문에 적합한 사이트인지 확실하지 않습니다. 아마도 CrossValidated 를 방문하는 관심이있을 것입니다 .


이것은 Andrew Ng의 기계 학습에 대한 비디오 강의에서 빌린 것입니다. 당신이 아니라면 닥터 응. 이 경우 실험실의 박사 과정 학생을 찾고 있습니까? (강의는 관심있는 사람들을 위해 coursera.com에서 찾을 수 있습니다)
CyberMen

@CyberMen : images.google.com에서 도난당했습니다. :) 예, 표기법은 Ng와 매우 유사합니다. 그리고 나는 머신 러닝에 대한 그의 코스 (그리고 다른 논문들)를 제안 할 것입니다.
ffriend

나는 적어도 다른 SE 사이트 중에서 DSP가 이런 종류의 질문에 적합한 장소라고 생각합니다.
Gigili

2

더 읽어 보셨습니까?

6.3.10 섹션의 끝에서 :

"그러나 커널의 매개 변수 가 설정되어야하고 선택 이 잘못되면 일반화가 제대로되지 않을 수 있습니다. 주어진 문제에 대한 최상의 커널 선택은 해결되지 않으며 특정 문제에 대한 특수 커널 (예 : 문서 분류)이 도출되었습니다. "

섹션 6.3.3으로 연결됩니다.

" 허용 가능한 커널 은 기능 공간에서 내부 제품으로 표현할 수 있어야합니다. 즉, Mercer의 조건을 만족해야합니다."

자체적으로 매우 어려운 영역으로 커널을 사용하면 다른 부분에서 스무딩과 같은 다른 매개 변수를 적용해야하지만 큰 시간을 알 수없는 큰 데이터를 가질 수 있습니다. 따라서 그러한 것은 일반화하기가 매우 어렵습니다.


내가 말한 것처럼 "4.2.5 Support vector machines"을 읽고 있는데 6 장에서 무슨 말을하는지 모르겠습니다. 내가 질문에서 언급 한 후의 단락은 그것에 대해 아무것도 없기 때문에 여기에서 더 잘 물어볼 것이라고 생각했습니다.
Gigili

죄송합니다. Webb의 Statistical Pattern Recognition 과도 혼합 되어 있습니다.
sigrlami
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.