커널 PCA (주성분 분석)가 최종 데이터 출력에서 어떤 커널을 선택하여 데이터를 양호하게 분리 할 수있는 방법은 무엇이며 커널의 매개 변수를 최적화하는 방법은 무엇입니까?
가능한 경우 Layman의 용어를 높이 평가할 것이며 그러한 방법을 설명하는 논문 링크도 좋습니다.
커널 PCA (주성분 분석)가 최종 데이터 출력에서 어떤 커널을 선택하여 데이터를 양호하게 분리 할 수있는 방법은 무엇이며 커널의 매개 변수를 최적화하는 방법은 무엇입니까?
가능한 경우 Layman의 용어를 높이 평가할 것이며 그러한 방법을 설명하는 논문 링크도 좋습니다.
답변:
모든 커널 기반 방법에서 최적의 커널 (커널 유형 또는 커널 매개 변수)을 선택하는 일반적인 방법은 교차 검증입니다. 지원 벡터 머신을위한 커널 선택에 대한 설명은 여기를 참조하십시오 : SVM을위한 커널 선택 방법?
교차 검증의 기본 개념은 일부 "테스트"데이터를 제외하고 알고리즘을 실행하여 나머지 "트레이닝"데이터에 모델을 맞추고 결과 모델이 테스트 데이터를 얼마나 잘 설명하는지 (그리고 오류가 얼마나 큰지) 확인하는 것입니다. 입니다). 이 과정은 서로 다른 왼쪽 데이터에 대해 반복되고 평균 교차 검증 된 오류를 형성하기 위해 오류가 평균화 된 다음 가장 낮은 오류를 생성하는 알고리즘을 선택하기 위해 다른 알고리즘을 비교할 수 있습니다. SVM에서 분류 성능 (또는 관련 측정)을 모델 성능 측정으로 사용할 수 있습니다 . 그런 다음 테스트 데이터를 가장 잘 분류 할 수있는 커널을 선택합니다.
그러면 kPCA에서 사용할 수있는 모델 성능 측정 기준은 무엇입니까? "좋은 데이터 분리"(아마도 좋은 클래스 분리)를 달성하려면 훈련 데이터에서이를 측정하고이를 사용하여 최상의 커널을 찾을 수 있습니다. 참고 그러나, PCA / KPCA이 좋은 데이터 분리를 얻을 수 있도록 설계되지 않습니다 (그들은 계정으로 클래스 레이블을하지 않는 전혀 ). 따라서 일반적으로 말하자면 클래스 관련이없는 다른 모델 성능 측정 값을 원할 것입니다.
표준 PCA에서는 재구성 오류 를 테스트 세트의 성능 측정으로 사용할 수 있습니다 . 커널 PCA에서 재구성 오류를 계산할 수도 있지만 문제는 다른 커널간에 비교할 수 없다는 것입니다. 재구성 오류는 대상 피처 공간에서 측정 된 거리입니다. 다른 커널은 다른 목표 공간에 해당합니다. 그래서 우리는 문제가 있습니다.
이 문제를 해결하는 한 가지 방법은 대상 공간이 아니라 원래 공간에서 재구성 오류를 계산하는 것입니다. 분명히 남은 테스트 데이터 포인트는 원래 공간에 있습니다. 그러나 kPCA 재구성은 목표 공간의 [저 차원 부분 공간]에 존재한다. 그러나 할 수있는 것은 원래 공간에서 가능한 한이 재구성 지점에 가깝게 매핑 될 지점 ( "사전 이미지")을 찾아 테스트 지점과이 사전 이미지 사이의 거리를 측정하는 것입니다. 재구성 오류로.
나는 여기에 모든 공식을 제시하지는 않지만 대신 당신에게 몇 가지 논문을 참조하고 여기에 몇 개의 그림 만 삽입하십시오.
kPCA의 "사전 이미지"라는 개념은이 논문에서 분명히 소개되었습니다.
Mika 등. 교차 유효성 검사를 수행하지 않지만 노이즈 제거를 위해 사전 이미지가 필요합니다.이 그림을 참조하십시오.
노이즈 제거 (두꺼운) 포인트는 kPCA 프로젝션의 사전 이미지입니다 (여기에는 테스트 및 교육이 없습니다). 이러한 사전 이미지를 찾는 것은 쉬운 일이 아닙니다. 그래디언트 디센트를 사용해야하며 손실 기능은 커널에 따라 다릅니다.
그리고 여기 교차 검증 목적과 커널 / 하이 파라미터 선택을 위해 사전 이미지를 사용한 최신 논문이 있습니다 :
이것은 그들의 알고리즘입니다.
그리고 여기에 몇 가지 결과가 있습니다 (내 생각에 거의 자명하다고 생각합니다).