커널 PCA 용 커널을 선택하는 방법은 무엇입니까?


13

커널 PCA (주성분 분석)가 최종 데이터 출력에서 ​​어떤 커널을 선택하여 데이터를 양호하게 분리 할 수있는 방법은 무엇이며 커널의 매개 변수를 최적화하는 방법은 무엇입니까?

가능한 경우 Layman의 용어를 높이 평가할 것이며 그러한 방법을 설명하는 논문 링크도 좋습니다.


1
"좋은 데이터 분리"라고 말할 때 정확히 무엇을 말하는 것입니까? 어떤 커널 PCA 응용 프로그램을 염두에두고 있습니까? "데이터 분리"와 관련이있는 경우 kPCA 대신 일부 분류 기술 (커널 지원 벡터 시스템 등)을 사용해야합니까? 이 모든 것 외에도 좋은 질문은 +1입니다. 커널 선택에 대한 경험이 없으므로 여기서 도움을 줄 수 없습니다.
amoeba

@amoeba 비선형 차원 축소에 사용됩니다. CS 과정을 수강하지 않았기 때문에 지원 벡터에 대한 나의 지식은 약간 제한되어 있습니다. 저는 학부생이며 온라인 신문을 통해 배우고 있습니다. "좋은 데이터 분리"라는 말은 이 백서 의 도표에 표시된 것을 의미 합니다 . Matlab과 함께 작업하고 있으며 커널 PCA 코드가 단순, 폴리, 방사형 및 시그 모이 드 커널을 위해 작동하고 있지만 최상의 결과를 위해 언제 사용할지 아는 것이 도움이 될 것입니다.
향신료

커널을 선택하는 가장 좋은 방법은 교차 검증을 사용하는 것이라고 생각합니다. 여기 에서 SVM을 위해 커널을 선택하는 방법을 참조하십시오. 교차 유효성 검사를 사용하려면 kPCA에 대한 성능 측정 만 있으면됩니다. 즉, PCA / KPCA 설계되지 않는다는 것을 주 후에 무엇이지만, 경우에 클래스 분리 괜찮은 측정 할 수 있습니다 모두에서 좋은 수준의 분리를 초래하는이; 단순히 캡처 된 분산을 최대화합니다.
amoeba

나는 약간의 독서를했고 결국 당신의 질문에 대답 할 수 있습니다. 그러나 시간이 좀 걸릴 수 있습니다 (일).
amoeba

@amoeba 분산을 극대화하는 것은 당신이 그것을 언급 한 지금 나에게 의미가 있습니다. 나는 교차 검증을 스스로 살펴볼 것이지만 시간을 찾을 수 있다면 조금 살펴볼 수 있다면 좋을 것입니다! 감사합니다.
향신료

답변:


8

모든 커널 기반 방법에서 최적의 커널 (커널 유형 또는 커널 매개 변수)을 선택하는 일반적인 방법은 교차 검증입니다. 지원 벡터 머신을위한 커널 선택에 대한 설명은 여기를 참조하십시오 : SVM을위한 커널 선택 방법?

교차 검증의 기본 개념은 일부 "테스트"데이터를 제외하고 알고리즘을 실행하여 나머지 "트레이닝"데이터에 모델을 맞추고 결과 모델이 테스트 데이터를 얼마나 잘 설명하는지 (그리고 오류가 얼마나 큰지) 확인하는 것입니다. 입니다). 이 과정은 서로 다른 왼쪽 데이터에 대해 반복되고 평균 교차 검증 된 오류를 형성하기 위해 오류가 평균화 된 다음 가장 낮은 오류를 생성하는 알고리즘을 선택하기 위해 다른 알고리즘을 비교할 수 있습니다. SVM에서 분류 성능 (또는 관련 측정)을 모델 성능 측정으로 사용할 수 있습니다 . 그런 다음 테스트 데이터를 가장 잘 분류 할 수있는 커널을 선택합니다.

그러면 kPCA에서 사용할 수있는 모델 성능 측정 기준은 무엇입니까? "좋은 데이터 분리"(아마도 좋은 클래스 분리)를 달성하려면 훈련 데이터에서이를 측정하고이를 사용하여 최상의 커널을 찾을 수 있습니다. 참고 그러나, PCA / KPCA이 좋은 데이터 분리를 얻을 수 있도록 설계되지 않습니다 (그들은 계정으로 클래스 레이블을하지 않는 전혀 ). 따라서 일반적으로 말하자면 클래스 관련이없는 다른 모델 성능 측정 값을 원할 것입니다.

표준 PCA에서는 재구성 오류 를 테스트 세트의 성능 측정으로 사용할 수 있습니다 . 커널 PCA에서 재구성 오류를 계산할 수도 있지만 문제는 다른 커널간에 비교할 수 없다는 것입니다. 재구성 오류는 대상 피처 공간에서 측정 된 거리입니다. 다른 커널은 다른 목표 공간에 해당합니다. 그래서 우리는 문제가 있습니다.

이 문제를 해결하는 한 가지 방법은 대상 공간이 아니라 원래 공간에서 재구성 오류를 계산하는 것입니다. 분명히 남은 테스트 데이터 포인트는 원래 공간에 있습니다. 그러나 kPCA 재구성은 목표 공간의 [저 차원 부분 공간]에 존재한다. 그러나 할 수있는 것은 원래 공간에서 가능한 한이 재구성 지점에 가깝게 매핑 될 지점 ( "사전 이미지")을 찾아 테스트 지점과이 사전 이미지 사이의 거리를 측정하는 것입니다. 재구성 오류로.

나는 여기에 모든 공식을 제시하지는 않지만 대신 당신에게 몇 가지 논문을 참조하고 여기에 몇 개의 그림 만 삽입하십시오.

kPCA의 "사전 이미지"라는 개념은이 논문에서 분명히 소개되었습니다.

Mika 등. 교차 유효성 검사를 수행하지 않지만 노이즈 제거를 위해 사전 이미지가 필요합니다.이 그림을 참조하십시오.

Mika 등의 kPCA 노이즈 제거.

노이즈 제거 (두꺼운) 포인트는 kPCA 프로젝션의 사전 이미지입니다 (여기에는 테스트 및 교육이 없습니다). 이러한 사전 이미지를 찾는 것은 쉬운 일이 아닙니다. 그래디언트 디센트를 사용해야하며 손실 기능은 커널에 따라 다릅니다.

그리고 여기 교차 검증 목적과 커널 / 하이 파라미터 선택을 위해 사전 이미지를 사용한 최신 논문이 있습니다 :

이것은 그들의 알고리즘입니다.

알람과 후쿠 미즈

그리고 여기에 몇 가지 결과가 있습니다 (내 생각에 거의 자명하다고 생각합니다).

알람과 후쿠 미즈


1
(+1)이 사전 이미지는 주어진 클러스터에 할당 된 포인트 의 Fréchet / Karcher 수단 의 집합이며 , 반드시 도움이되는 것은 아닙니다.
Dougal

xxyyzz

두 번째 생각에, 나는 전에 충분한주의를 기울이지 않았다고 생각합니다. 내 의견은 kPCA가 아닌 커널 k- 평균에 적용됩니다. 사전 이미지는 분명히 그 개념과 관련이 있지만 전혀 같은 것은 아닙니다. 소음이 유감입니다. :)
Dougal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.