반응형
반응형

Feature space이란?

머신러닝에서 "feature space(특성 공간)"란 데이터의 특성을 나타내는 변수들로 이루어진 공간을 의미합니다. 각 데이터 포인트는 이 특성 공간 상의 한 점으로 표현됩니다.

데이터의 특성은 문제에 따라 다르지만, 일반적으로 숫자, 범주형 값, 텍스트, 이미지 등으로 표현됩니다. 이러한 특성들은 모델이 패턴을 학습하고 예측을 수행하는 데 사용됩니다.

예를 들어, 이미지 분류 문제에서 각 이미지는 특성 공간 상의 한 점으로 표현됩니다. 이 특성 공간은 이미지의 각 픽셀 값을 차원으로 갖는 공간일 수 있습니다. 따라서 64x64 크기의 이미지는 4,096 차원의 특성 공간으로 표현될 수 있습니다.

Feature space의 차원 수는 데이터셋에 따라 다를 수 있으며, 머신러닝 알고리즘의 성능과 학습의 복잡도에 영향을 줄 수 있습니다. 때로는 feature space의 차원을 줄이는 차원 축소 기법을 사용하기도 합니다. 이를 통해 고차원 데이터를 저차원의 특성 공간으로 매핑하여 계산 및 시각화의 효율성을 높일 수 있습니다.

 

Feature space 그림 설명

위의 그림은 2차원 feature space를 나타냅니다. 여기에는 두 개의 특성, Feature 1과 Feature 2가 있습니다. 각각의 데이터 포인트는 특성 공간 상의 한 점으로 표현됩니다.

예를 들어, (3, 2)는 Feature 1의 값이 3이고 Feature 2의 값이 2인 데이터 포인트를 나타냅니다. 마찬가지로, (1, 4), (5, 6), (2, 1)은 각각 다른 데이터 포인트를 나타냅니다.

머신러닝 모델은 이러한 데이터 포인트들을 분석하여 패턴을 학습하고 예측을 수행합니다. Feature space에서는 데이터 포인트들 간의 상대적인 위치와 패턴을 이해하여 결정 경계를 학습할 수 있습니다. 이렇게 feature space를 이해하면, 머신러닝 모델이 어떻게 데이터를 분류하고 예측하는지 더 잘 이해할 수 있습니다.

 

Feature space에서 feature 간의 distance 측정 방법

1. 유클리디안 거리(Euclidean distance): 유클리디안 거리는 feature space에서 가장 흔히 사용되는 거리 측정 방법입니다. 두 점 A(x1, y1)와 B(x2, y2) 사이의 유클리디안 거리는 아래와 같이 계산됩니다.

distance = sqrt((1 - 3)^2 + (4 - 2)^2) = sqrt(4 + 4) = sqrt(8) ≈ 2.83

 

예를 들어, 2차원 feature space에서 (3, 2)와 (1, 4) 사이의 거리를 계산하려면 다음과 같이 계산합니다:

distance = sqrt((x2 - x1)^2 + (y2 - y1)^2)

 

2. 맨하탄 거리(Manhattan distance): 맨하탄 거리는 두 점 사이의 가로 및 세로 방향의 거리를 합산하여 계산하는 방법입니다. 맨하탄 거리는 두 점 사이의 "도시 블록" 거리라고도 불립니다. 두 점 A(x1, y1)와 B(x2, y2) 사이의 맨하탄 거리는 아래와 같이 계산됩니다.

distance = |1 - 3| + |4 - 2| = 2 + 2 = 4

 

예를 들어, 2차원 feature space에서 (3, 2)와 (1, 4) 사이의 거리를 맨하탄 거리로 계산하면 다음과 같습니다:

distance = |x2 - x1| + |y2 - y1|

 

3. 코사인 유사도(Cosine similarity): 코사인 유사도는 벡터 간의 방향성을 고려하여 거리를 측정하는 방법입니다. 특히, 희소한(high-dimensional sparse) 벡터에 유용하게 사용됩니다. 두 벡터 A와 B 사이의 코사인 유사도는 아래와 같이 계산됩니다.

similarity = dot(A, B) / (norm(A) * norm(B))

 

여기서 **dot(A, B)**는 벡터 A와 B의 내적(dot product)을 나타내며, **norm(A)**와 **norm(B)**는 각각 벡터 A와 B의 노름(norm)을 나타냅니다.

 

추가 지식

sqrt():  x의 제곱근의 비음수 값을 계산합니다. 리턴 값으로는 제곱근 결과를 리턴합니다. x가 음수인 경우, 함수는 errno EDOM으로 설정하고 0을 리턴합니다.

반응형

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

SVM  (0) 2023.05.14
Failed to get CPU frequency: 0 Hz  (0) 2023.05.06
tf.config.set_visible_devices()  (0) 2023.05.06
[library] seaborn  (0) 2023.04.28
AUC란?  (0) 2023.04.26

+ Recent posts