두 포인트간의 유사도를 찾는데 사용되는 Kernel Function

두 포인트간의 유사도를 찾는데 사용되는 Kernel Function
Photo by Mockup Graphics / Unsplash

Definition

  • **커널 함수(Kernel Function)**는 기계 학습과 통계에서 사용되는 함수로, 두 데이터 포인트 간의 유사도를 측정합니다
  • . 주로 비선형 데이터를 고차원 공간으로 변환하여 선형 분리가 가능하게 하는 데 사용됩니다.
  • 커널 함수는 Support Vector Machines (SVM), Gaussian Process, 커널 PCA와 같은 다양한 알고리즘에서 핵심적인 역할을 합니다.

Motivation

  • 기계 학습에서 많은 데이터는 비선형적 패턴을 따릅니다. 이러한 비선형성을 해결하기 위해 커널 함수가 도입되었습니다
  • . 커널 함수는 원래 공간에서 복잡한 비선형 문제를 고차원 공간으로 변환하여 선형적으로 분리 가능하게 만들어줍니다.
  • 이는 모델의 성능을 크게 향상시키며, 더 복잡한 데이터 패턴을 효과적으로 학습할 수 있게 합니다.

Pros & Cons

Pros

  1. 비선형 문제 해결: 고차원 공간으로 데이터를 변환하여 비선형 문제를 선형 문제로 변환합니다.
  2. 유연성: 다양한 커널 함수가 존재하여 데이터 특성에 맞는 커널을 선택할 수 있습니다.
  3. 효율성: 커널 트릭을 사용하여 계산 비용을 절감하면서도 고차원 공간에서의 계산을 가능하게 합니다.

Cons

  1. 커널 선택의 어려움: 최적의 커널 함수를 선택하는 것은 어려운 문제일 수 있습니다.
  2. 고계산 비용: 커널 행렬을 계산하는 데 많은 계산 자원이 필요할 수 있습니다.
  3. 과적합: 적절한 정규화를 하지 않으면 과적합(overfitting)의 위험이 있습니다.

주요 커널 함수

1. 선형 커널 (Linear Kernel)

  • $K(x, y) = x \cdot y$
  • 선형 커널은 데이터가 선형적으로 분리될 수 있는 경우에 적합합니다.
  • 즉, 입력 공간에서 두 클래스가 직선으로 분리될 수 있는 경우, 선형 커널을 사용하는 것이 가장 효율적입니다
  • 이러한 데이터는 고차원으로 매핑할 필요 없이 간단한 선형 모델로도 충분히 좋은 성능을 낼 수 있습니다.
  • 유즈케이스
    • 텍스트 분류: 텍스트 데이터는 고차원 희소 벡터로 표현되며, 선형 커널이 좋은 성능을 발휘할 수 있습니다.
    • 선형 회귀 및 분류 문제: 데이터가 선형적으로 분포된 경우 사용합니다.

2. 다항식 커널 (Polynomial Kernel)

  • $K(x, y) = (\alpha x \cdot y + c)^d$
  • 다항식 커널은 비선형적으로 분포된 데이터를 모델링하기 위해 사용됩니다.
  • 선형 커널과 달리, 다항식 커널은 입력 공간에서 비선형 관계를 학습할 수 있습니다.
  • 이는 데이터가 고차원에서 더 잘 분리될 수 있는 경우에 유용합니다.
  • 다항식 커널은 비선형성을 도입하여 선형 모델의 한계를 극복하고, 더 복잡한 패턴을 학습할 수 있게 합니다.
  • 유즈케이스
    • 이미지 분류: 이미지 데이터는 비선형적 패턴을 가지므로 다항식 커널이 적합할 수 있습니다.
    • 복잡한 비선형 관계가 존재하는 데이터셋: 데이터가 단순히 선형적으로 분리되지 않는 경우 사용합니다.

3. 가우시안 RBF 커널 (Gaussian RBF Kernel)

  • $K(x, y) = \exp\left(-\frac{|x - y|2}{2\sigma2}\right)$
  • RBF 커널은 매우 유연하고 강력한 커널로, 데이터가 어떤 형태로 분포하든지 상관없이 잘 작동합니다.
  • 이는 비선형 데이터의 복잡한 패턴을 캡처할 수 있으며, 고차원 공간에서 선형적으로 분리할 수 없는 데이터를 잘 분리할 수 있게 합니다.
  • RBF 커널은 유사도를 거리 함수로 변환하여, 가까운 데이터 포인트끼리는 높은 유사도를, 먼 데이터 포인트끼리는 낮은 유사도를 부여합니다.
  • d유즈케이스
    • 비선형 패턴을 학습해야 하는 모든 기계 학습 문제: 특히, 비선형적으로 분포된 데이터에서 좋은 성능을 보입니다.
    • SVM에서의 분류 문제: 다양한 형태의 데이터를 효과적으로 분류할 수 있습니다.

Sample

import numpy as np  
import matplotlib.pyplot as plt  
from sklearn.svm import SVC  
from sklearn.datasets import make_moons, make_circles  
from sklearn.preprocessing import StandardScaler  
from sklearn.pipeline import Pipeline  
  
# 데이터 생성  
X, y = make_moons(noise=0.1, random_state=42)  
  
# 커널 함수 비교  
kernels = ['linear', 'poly', 'rbf']  
titles = ['Linear Kernel', 'Polynomial Kernel', 'Gaussian RBF Kernel']  
  
plt.figure(figsize=(12, 4))  
  
for i, kernel in enumerate(kernels):  
    clf = Pipeline([  
        ('scaler', StandardScaler()),  
        ('svc', SVC(kernel=kernel, gamma='auto'))  
    ])  
    clf.fit(X, y)  
      
    plt.subplot(1, 3, i+1)  
    plt.title(titles[i])  
    plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis', edgecolors='k')  
      
  
    xx, yy = np.meshgrid(np.linspace(X[:, 0].min()-1, X[:, 0].max()+1, 100),  
                         np.linspace(X[:, 1].min()-1, X[:, 1].max()+1, 100))  
    Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])  
    Z = Z.reshape(xx.shape)  
    plt.contour(xx, yy, Z, levels=[0], linewidths=2, colors='red')  
    plt.contourf(xx, yy, Z, alpha=0.3, cmap='viridis')  
  
plt.tight_layout()  
plt.show()

Read more

[책]Reshuffle: Who wins when AI restacks the knowledge economy

[책]Reshuffle: Who wins when AI restacks the knowledge economy

원래는 Amazon에 가서 Personal Knowledge Managment에 관한 책을 사려고 했다. Sketch Your Mind라는 책이었는데, 그 때 이 책 “Reshuffle”을 발견하였다. AI가 어떻게 Knowledge Economy를 흔들 것가? 라는 부제를 훑어보면서 저자가 쓴 다른 책을 보게 되었는데 거기에 내가 좋아했던 책을쓴 저자라는 것을 알게 되었다. 그래서 크게 고민하지 않고 구매를 하고

By Bongho, Lee
[책]올라운드투자, 누군가의 투자일기

[책]올라운드투자, 누군가의 투자일기

“올라운드 투자”라는 제목을 보았을 때는, “올라운드 플레이어”가 생각이 났다. “올라운드”라는 표현을 오랜만에 들어본 까닭이었다. 그럼에도 불구하고 이 책을 고른 것은 저자가 그간 보여준 컨텐츠에 대한 신뢰가 있던 까닭이었다. 컨텐츠를 다양하게 보는 편이지만 깊이가 아주 있지는 않았다. 여기서 깊이라 함은 기존 전문적인 정량적 분석의 내용의 수준을 말하는 것이다.

By Bongho, Lee
내가 놓치고 있던 미래, 먼저 온 미래를 읽고

내가 놓치고 있던 미래, 먼저 온 미래를 읽고

장강명 작가의 책은, 유학시절 읽고 처음이었다. 유학시절 "한국이 싫어서"라는 책은 동기부여가 상당히 되는 책이었다. 한국을 떠나 새로운 정채성을 학생으로서 Build up 해나가고 있던 상황에서 이 책은 제목부터 꽤 솔깃하였다. 물론 결말이 기억날 정도로 인상깊은 책은 아니었지만 말이다. 그렇게 시간이 흘러 장강명 작가의 책은 더 이상 읽지 않던

By Bongho, Lee