본문 바로가기
데이터 분석

커널 함수를 사용하는 이유

by 데이널 2024. 2. 1.

아마도 데이터 분석 프로젝트를 하다가 커널 함수라는 말이 자주 나오지 않으셨나요? 커널 함수는 다양한 기계 학습 알고리즘에 사용되기 때문이죠. 예를 들어 SVM(서포트 벡터 머신)와 같은 커널화 기법에서 중요한 역할을 합니다. 딥러닝, 머신러닝에서 커널 함수를 사용하는 몇 가지 이유에 대해 알아보겠습니다. 

 

 

고차원 매핑(비선형을 선형으로)

커널 함수를 사용하면 입력 데이터를 고차원 공간으로 변환할 수 있습니다. 이 변환은 데이터가 원래 특징 공간에 없는 경우에도 데이터를 선형적으로 분리 가능하게 만드는 데 사용됩니다. 이는 결정 경계가 단순한 초평면이 아닌 복잡한 문제를 해결하는 데 유용합니다.

 

커널 함수
커널 함수

비선형 관계 처리

많은 실제 기계학습 문제에는 feature 간의 비선형 관계가 포함되어 있습니다. 커널화 방법을 사용하면 알고리즘이 이러한 비선형 관계를 캡처하고 모델링할 수 있습니다. 커널 함수를 사용하면 유연성이 증가하여 더욱 광범위한 문제에 적용할 수 있습니다.


커널 트릭

 

"커널 트릭"은 SVM에 대한 글에서도 상세하게 그림으로 다룬적이 있습니다. 정리해 보면 커널 트릭은 변환된 특징을 명시적으로 계산하지 않고도 알고리즘이 고차원 공간에서 암시적으로 작동할 수 있도록 하는 계산 기술입니다. 이는 커널화 방법을 통해 계산 비용을 크게 줄여 효율적인 모델을 만들 수 있습니다.


암시적 feature map

feature map은 CNN에서 나오는 개념인데 이미지의 특징을 담은 맵이라고 생각하면 됩니다. pca 처럼 특징을 뽑아 일반화된 맵을 만드는 형태입니다. 여기서 커널 함수는 feature(특성) 공간을 명시적으로 확장하지 않고 고차원 공간에서 데이터를 feature map을 통해 암시적으로 표현할 수 있습니다. 이는 무한 차원 공간을 처리할 때나 차원을 확장되어 계산 비용이 많이 드는 경우를 방지할 수 있습니다.


메모리 효율성 사용

변환된 특징 공간이 매우 고차원일 수 있으며 대부분의 항목이 0일 때 유용합니다. 커널 함수를 사용하면 알고리즘이 희소(sparse) 데이터를 표현을 통해 효율적인 메모리와 계산 리소스를 절약할 수 있습니다.


글로벌 및 로컬 패턴 학습

 

생각보다 이 기능을 위해 많이 사용하는데요. 커널 함수는 데이터의 전체 또는 로컬 패턴을 모두 캡처할 수 있습니다. 기계 학습 모델이 데이터 세트 내의 복잡한 구조와 관계를 학습할 수 있다는 이야기입니다. 다양한 유형의 문제에는 다양한 커널 함수의 사용이 도움이 될 수 있습니다. 기계 학습 실무자는 데이터의 특성과 당면한 문제에 잘 맞는 커널 함수를 선택하는 것을 고려해 봐야 합니다.

 

마무리

커널 함수는 특정 유형의 알고리즘으로 제한되지 않습니다. SVM은 널리 알려진 커널 함수지만 커널화 버전의 릿지(ridge) 회귀 및 주성분 분석과 같은 다른 알고리즘도 커널 함수의 이점을 누릴 수 있습니다.

 

요약하면, 기계 학습의 커널 함수는 비선형성을 처리하고, 복잡한 패턴을 캡처하고, 알고리즘의 유연성과 효율성을 향상하는 역할을 합니다. 이는 feature 확장 없이도 모델이 고차원 공간에서 작동할 수 있으므로 선형 모델이 충분하지 않은 시나리오에서 특히 유용합니다.