표준 PCA에 비해 커널 PCA의 장점은 무엇입니까?


18

커널 SVD를 사용하여 데이터 매트릭스를 분해하는 종이에 알고리즘을 구현하고 싶습니다. 그래서 커널 방법과 커널 PCA 등에 관한 자료를 읽었습니다. 그러나 수학적 세부 사항에 관해서는 특히 나에게 매우 모호하며 몇 가지 질문이 있습니다.

  1. 왜 커널 메소드인가? 아니면 커널 메소드의 장점은 무엇입니까? 직관적 인 목적은 무엇입니까?

    실제 문제에서 훨씬 높은 차원 공간이 더 현실적이며 비 커널 방법에 비해 데이터의 비선형 관계를 나타낼 수 있다고 가정합니까? 자료에 따르면 커널 메소드는 데이터를 고차원 피쳐 공간에 투영하지만 새로운 피쳐 공간을 명시 적으로 계산할 필요는 없습니다. 대신 피쳐 공간에있는 모든 데이터 쌍 쌍의 이미지 사이에서 내부 제품 만 계산하면 충분합니다. 그렇다면 왜 더 높은 차원의 공간에 투사합니까?

  2. 반대로 SVD는 피쳐 공간을 줄입니다. 왜 그들은 다른 방향으로합니까? 커널 방법은 더 높은 차원을 찾고 SVD는 더 낮은 차원을 찾습니다. 나에게는 그것들을 결합시키는 것이 이상하게 들린다. 내가 읽고있는 논문 ( Symeonidis et al. 2010 )에 따르면 SVD 대신 Kernel SVD를 도입하면 데이터의 희소성 문제를 해결하여 결과를 개선 할 수 있습니다.

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

그림의 비교에서 우리는 KPCA가 PCA보다 더 높은 분산 (고유 값)을 갖는 고유 벡터를 얻는다는 것을 알 수 있습니다. 고유 벡터에 대한 점 투영의 가장 큰 차이 (새로운 좌표) 때문에 KPCA는 원이고 PCA는 직선이므로 KPCA는 PCA보다 분산이 더 높습니다. 그렇다면 KPCA가 PCA보다 높은 주요 구성 요소를 얻는다는 의미입니까?


3
답변보다 더 많은 의견 : KPCA는 스펙트럼 클러스터링과 매우 유사합니다. 일부 설정에서는 동일합니다. (예 : cirano.qc.ca/pdf/publication/2003s-19.pdf 참조 ).

늦은 답변 죄송합니다. 예, 당신의 대답은 매우 밝습니다.
Tyler 傲 来 国 主

답변:


24

PCA (차원 축소 기술)는 데이터가 한정된 저 차원 선형 부분 공간을 찾으려고합니다. 그러나 데이터가 저 차원 비선형 부분 공간에 한정되어있을 수 있습니다 . 그러면 어떻게됩니까?

Bishop의 "패턴 인식 및 기계 학습"교재 (그림 12.16)에서 가져온이 그림을 살펴보십시오.

주교의 ML 책에서 커널 PCA

여기 (왼쪽)의 데이터 포인트는 주로 2D 곡선을 따라 위치합니다. 점이 직선을 따라 위치하지 않기 때문에 PCA는 차원을 2에서 1로 줄일 수 없습니다. 그러나 여전히 데이터는 1 차원 비선형 곡선 주위에 "명확하게"위치합니다. 따라서 PCA는 실패하지만 다른 방법이 있어야합니다! 실제로 커널 PCA는이 비선형 매니 폴드를 찾아 데이터가 실제로 거의 1 차원이라는 것을 알 수 있습니다.

데이터를 더 높은 차원의 공간에 매핑하여 그렇게합니다. 이것은 실제로 모순처럼 보일 수 있지만 (질문 # 2) 그렇지 않습니다. 데이터는 더 높은 차원의 공간에 매핑되지만 더 낮은 차원의 부분 공간에 놓이게됩니다. 따라서 차원을 줄이려면 차원을 늘립니다.

"커널 트릭"의 본질은 실제로 더 높은 차원의 공간 을 명시 적으로 고려할 필요가 없으므로 , 잠재적으로 혼란스러운 차원의 도약은 완전히 비밀리에 수행됩니다. 그러나 아이디어는 동일하게 유지됩니다.


좋은 대답입니다. 그래도 후속 질문입니다. 위의 그림과 같이 데이터 포인트가 비선형이면 PCA가 작동하지 않으며 커널 PCA가 필요합니다. 그러나 데이터 포인트가 4 개 이상의 기능 (실제 사례)을 가진 데이터 세트에 대해 선형이 아닌 경우 우선 어떻게 알 수 있습니까? 이러한 데이터를 시각화하려면 차원을 줄여야합니다. 즉, 데이터가 비선형 일 수 있으므로 일반 PCA를 사용하여 시각화 할 때 잘못된 차원을 줄이기 위해 PCA를 사용하게됩니다. 그렇다면 PCA 대신 커널 PCA를 사용하기 위해 데이터가 선형이 아닌지 어떻게 알 수
있습니까?

감사합니다, @user. 나는 이것이 PCA / kPCA의 응용에 달려 있다고 생각합니다. 예를 들어, 분류, 회귀 또는 클러스터링 알고리즘에 대한 전처리 단계로 적용되는 경우이 후속 알고리즘의 성능에서 PCA 대 kPCA의 성능을 판단 할 수 있습니다.
amoeba는 Reinstate Monica

1
감사합니다 @amoeba. 그러나 내가 물어보고 싶었던 것은 위에서 언급 한 것처럼 데이터가 선형이 아닌 경우 kPCA를 사용해야한다는 것입니다. 데이터가 선형이 아닌 경우 데이터가 선형이 아닌지 어떻게 알 수 있습니까? 기능이 3 개 이상입니까?. 우리는 차원에 도달하지 않으면 그것을 시각화 할 수없고 마치 닭고기와 계란 문제와 같습니다
Baktaawar

2
@Baktaawar 머신 러닝을하고 있다면 시각화하지 말고 모델이 스스로 학습하도록하십시오. 기본적으로 내부 리샘플링 루프에 KPCA 단계를 포함시키고 리니어 커널 및 테스트 할 여유가있는 다른 요소를 포함하여 커널을 매개 변수로 테스트합니다.
Firebug
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.