기존의 Kernel method는 기존의 데이터를 모두 가지고 있어야 한다. 다시 말해서, 새로운 데이터가 들어왔을 때 기존 데이터와 새로운 데이터를 다 비교를 해봐야한다. 이 때 두 가지의 문제가 있다. 하나는 데이터의 수에 따른 처리량이 늘어난다는 것이다. 예를 들어서 kernel matrix는 데이터 수*데이터 수의 크기를 갖는 행렬이다. 다른 하나는 이러한 데이터를 모두 저장하고 있어야 한다!
전자는 어쩔 수 없지만, 후자의 경우는 조금 해결이 가능할 것 같다.
위의 그림은 ImageNet에 사용되는 이미지들이다.
우리가 만약 이미지를 KPCA 등을 이용해서 처리한다고 하자. 이 때 10만장의 이미지가 있다면, 10만*이미지 픽셀 수에 대한 메모리가 필요한다. 문제가 있다. 결론만 말하자면, kernel을 데이터를 직접 사용하는 것이 아니라, 미리 갖고 있는 basis의 coefficient들을 이용해서 kernel을 계산하는 것이다.
'Enginius > Machine Learning' 카테고리의 다른 글
[NGP] Leveraged Kernel (0) | 2014.08.22 |
---|---|
Deep Learning이란 무엇일까? (4) | 2014.08.02 |
Determinantal Point Process (DPP) (1) | 2014.07.28 |
Non-stationary Gaussian process regression (0) | 2014.07.25 |
ICML에 나온 Gaussian process (0) | 2014.07.23 |