본문 바로가기

머신러닝

Kernel

Kernel function: 머신러닝, 특히 SVM(Support Vector Machine)과 같은 알고리즘에서 중요한 역할을 하는 함수. 커널 함수는 두 개의 입력 벡터를 받아 두 벡터 간의 유사도 또는 내적 값을 계산하는 역할을 한다. 유사도 또는 내적 값은 입력 데이터를 더 고차원 공간으로 매핑하거나 유사도를 측정하여 머신러닝 모델에서 판별 경계를 만들 때 사용한다.

  • 내적을 사용해서 두 벡터사이의 similarity를 구하는 경우가 많음.
  • , kernel function은 저차원 입력 공간 데이터를 고차원 특성 공간으로 mapping하여 비선형 관계를 선형으로 변환하는 역할을 수행한다.

SVM(Support Vector Machine): 선형이나 비선형 분류, 회귀, 특이치 탐지에도 사용할 수 있는 '다목적 머신러닝 모델'.

위 그래프를 보면 직선이 두 개의 클래스를 나누고 있을 뿐만 아니라 제일 가까운 훈련 샘플로부터 가능한 한 멀리 떨어져 있는 것을 볼 수 있다.

도로 바깥쪽에 훈련 샘플을 더 추가해도 결정 경계에는 전혀 영향을 미치지 않는다.

  • 샘플에 의해 전적으로 결정됨.
  • 이런 샘플을 서포트 벡터’ 라고 한다. (해당 그래프에서 반 투명 도형)
  • 즉, SVM 분류기를 클래스 사이에 가장 폭이 넓은 도로를 찾는 것으로 생각할 수 있다.
  • 그래서 이를 라지 마진 분류(large margin classification)’ 라고 한다.

Kernel: kernel function에서의 kernel두 벡터의 내적(inner product)이다.

Kernel trick: kernel function의 핵심 응용은 커널 트릭이다. 이를 통해서 실제로 고차원 변환을 수행하지 않고도 고차원 공간에서의 inner product 결과를 얻을 수 있다.

  • Kernel trick 관점에서 kernel function은
    • 입력 벡터 a, b에 기반하여 다차원 매핑 변환(원래 공간에서 고차원 공간 특성으로의 mapping fuction)을 한 후의 dot product(inner product)’를 실제로 매핑 변환을 하지 않고도 계산할 수 있는 함수를 말한다.
  • Kernel trick은 kernel function으로 매핑 이후의 inner product를 계산함.
  • , kernel function을 이용해서 kernel trick이 계산을 함.
  • 커널 함수는 실제로 고차원으로 변환하진 않았지만, 변환한 것처럼 계산할 수 있는 함수

 


 

RBF Kernel (Radial Basis Function)

  • 가우시안 커널이라고도 불리며, RBF 형태를 취하는 즉, 가우시안 형태를 취하는 커널이다.
  • 차원이 무한한 특성 공간에 매핑하는 것 즉, 모든 차수의 모든 다항식을 고려한다고 이해할 수 있음
  • 머신 러닝에서 kernel function으로 널리 사용되는 함수

 

<RBF 커널-두 샘플 사이의 유사도>

  • 감마: 파라미터. 커널의 흩어짐 세팅. 가우시안 분포에서 ‘분산’에 해당함. 즉, 커널의 폭을 조절한다.
    • 감마가 크면 유사도가 빠르게 감소 → 결정 경계가 더 구불해짐. → 이 같은 RBF를 사용하는 SVM의 경우 복잡도가 상승한다. : overfitting 위험
    • 감마가 작으면 유사도가 천천히 감소 → 결정 경계가 더 부드러워짐. → 복잡도 감소 underfitting 위험
  •  감마를 통해서 모델의 복잡성을 쉽게 조절할 수 있다. → 그러나 감마 값의 적절한 선택이 중요하다.

앞에서 한 설명처럼 RBF kernel을 이용하면 차원이 무한한 공간에 매핑을 할 수 있어서 매우 복잡한 비선형 결정 경계를 만들 때 사용할 수 있다. → 데이터 포인트 간의 거리에 기반하여 데이터를 고차원 공간으로 매핑.

 


 

머신러닝에서의 RBF kernel 사용

  • SVM과 같은 선형 분류 모델에서 비선형 경계를 사용해야할 때 고차원 공간에서 선형적으로 분리할 수 있게 해준다.

 

총정리

저차원 공간에서 선형 분리가 되지 않는 데이터를 분리하고자 하면 고차원으로 확장해 분리하는 방법이 있다. 이 때 저차원 공간의 데이터를 고차원 공간으로 매핑 시켜주는 함수가 kernel function이다. 커널 함수 중 가우시안 커널(RBF kernel)은 감마를 이용해 유사도를 조절해주면서 고차원 맵핑된 데이터를 평면으로(비선형으로) 나누어 줄 수 있다. RBF kernel은 효과적인 비선형 매핑 능력을 가지고 있고, 데이터 구조나 관계에 대한 사전 지식이 부족할 때 좋은 선택이 될 수 있다.

'머신러닝' 카테고리의 다른 글

sklearn, pandas, numpy, matplotlib  (0) 2024.10.09
핸즈온 머신러닝 3판 2장(2)  (1) 2024.10.09
핸즈온 머신러닝 3판 2장(1)  (3) 2024.10.09
핸즈온 머신러닝 3판 2장  (0) 2024.10.06
핸즈온 머신러닝 3판 1장  (1) 2024.09.27