본문 바로가기
Computer Science/데이터마이닝

[Dimensionality Reduction] 1

by 큌 2024. 6. 17.
반응형

차원 축소란 무엇입니까?

• 차원의 저주

• 차원이 증가함에 따라 데이터 희소성도 증가합니다.

• 정보 손실을 최소화하여 차원 수를 줄일 수 있는 방법은 무엇입니까?

• 가정

• 고차원 공간의 데이터는 저차원 부분 공간 위에 있거나 근처에 있을 수 있습니다.

• 확률 밀도는 지지하는 저차원 공간에서 멀어짐에 따라 매우 빠르게 감소합니다.

차원 축소란 무엇인가?

차원 축소는 고차원 데이터 세트에서 의미 있는 정보를 유지하면서 데이터의 차원을 줄이는 과정입니다. 차원 축소는 데이터를 더 쉽게 시각화하고, 계산 복잡도를 줄이며, 모델의 과적합(overfitting)을 방지하는 데 유용합니다.

차원의 저주

"차원의 저주(Curse of Dimensionality)"는 고차원 공간에서 데이터 분석 및 모델링이 어려워지는 현상을 말합니다. 주요 문제는 다음과 같습니다: 데이터 희소성: 차원이 증가하면 각 차원에서 데이터가 매우 희소해집니다. 이는 데이터가 고르게 분포되지 않으며, 대부분의 데이터가 공간의 가장자리에 위치하게 되는 현상을 의미합니다. 예를 들어, 3차원 공간에서는 점들이 중앙보다는 표면에 가깝게 위치하는 경향이 있습니다.

거리 측정의 문제: 고차원에서는 두 점 사이의 유클리드 거리가 비슷해지는 경향이 있어 거리 기반 모델(예: k-최근접 이웃)이 성능을 발휘하기 어렵습니다.

효율성 저하: 차원이 증가할수록 데이터 분석에 필요한 계산량이 기하급수적으로 증가합니다.

차원이 증가함에 따라 데이터 희소성도 증가

차원이 증가하면 데이터 포인트들이 고차원 공간에서 점점 더 멀리 떨어지게 되어, 각 데이터 포인트가 서로 매우 희소하게 분포하게 됩니다. 이는 모델이 데이터를 일반화하기 어렵게 만들고, 모델이 학습할 수 있는 유효한 패턴을 찾기 어렵게 만듭니다.

정보 손실을 최소화하여 차원 수를 줄일 수 있는 방법?

차원 축소의 목적은 정보 손실을 최소화하면서 데이터의 차원을 줄이는 것입니다. 대표적인 방법으로는 다음이 있습니다: 주성분 분석(PCA): 데이터를 새로운 좌표계로 변환하여 데이터의 분산이 최대인 방향을 따라 차원을 축소합니다. 가장 큰 변동성을 설명하는 축을 기준으로 데이터를 투영합니다.

선형 판별 분석(LDA): 클래스 간 분산을 최대화하면서 클래스 내 분산을 최소화하는 방향으로 데이터를 변환합니다.

독립 성분 분석(ICA): 데이터의 통계적 독립성을 최대화하는 축을 찾아 차원을 축소합니다.

t-분포 임베딩(t-SNE): 고차원 데이터의 국소적인 구조를 유지하면서 저차원으로 변환합니다. 주로 데이터 시각화에 사용됩니다.

자동 인코더: 신경망을 사용하여 입력 데이터를 저차원 공간으로 압축하고, 다시 원래의 차원으로 복원하는 과정을 통해 차원 축소를 수행합니다.

고차원 공간의 데이터는 저차원 부분 공간 위에 있거나 근처에 있을 수 있다.

많은 고차원 데이터는 본질적으로 저차원 부분 공간에 잘 설명될 수 있는 경우가 많습니다. 예를 들어, 3차원 공간에서 나타나는 2차원 평면과 같은 것입니다. 따라서 데이터가 고차원에서 차원 축소를 통해 본질적인 저차원 구조를 발견할 수 있습니다.

확률 밀도는 지지하는 저차원 공간에서 멀어짐에 따라 매우 빠르게 감소 이 문장은 다음을 의미합니다:

확률 밀도 함수(PDF): 데이터가 특정 지점에 나타날 확률을 설명하는 함수입니다.

지지하는 저차원 공간: 데이터가 주로 존재하는 저차원 공간을 말합니다.

데이터는 고차원 공간 전체에 퍼져 있지 않고, 주로 특정 저차원 공간에 집중되어 있습니다. 고차원 공간의 대부분 영역에서는 데이터가 거의 존재하지 않기 때문에, 이 저차원 공간을 벗어나는 경우 데이터의 밀도가 급격하게 감소하게 됩니다. 예를 들어, 데이터가 3차원 공간의 평면에 집중되어 있다면, 이 평면에서 멀어질수록 데이터가 나타날 확률은 매우 낮아집니다.

 

• 다양체 가설

• 200 × 200 RGB 이미지는 가능한 경우가 너무 많습니다.

• 랜덤 이미지는 노이즈만 있을 수 있습니다.

• 자연 이미지는 공간에서 아주 작은 부분만 차지합니다.

• 데이터는 저차원 공간에만 있습니다.

• 데이터는 저차원 공간으로 표현됩니다.

• 선형 차원 축소

• 주성분분석(PCA)

• 음이 아닌 행렬 인수분해(NMF) • 선형 판별 분석(LDA)

• 비선형 차원 축소

• t-분산 확률적 이웃 임베딩(t-SNE) • 이소맵

• LLE(Local-linear embedding) • 오토인코더

• 가정

• 데이터 개체는 저차원 부분 공간 위에 있거나 근처에 있습니다.

• 부분 공간의 축을 효과적으로 표현하는 방법은 무엇입니까?

• 정보 손실 없이 차원 압축

• [2 3 0 0 0 2 4 2 ]를 스케일링하면 모든 행을 재구성할 수 있습니다.

• 행렬은 2차원 공간으로 나타낼 수 있습니다.

차원 축소의 목표

• 데이터 포인트의 축을 찾는 방법은 무엇입니까?

모든 점을 두 개의 좌표로 표현하는 대신 각 점을 하나의 좌표로 표현합니다(빨간 선 위의 점의 위치에 해당).

포인트가 정확히 선 위에 있지 않기 때문에 약간의 오류가 발생할 수 있습니다.

행렬의 순위

• Q: 행렬 A의 순위는 어떻게 됩니까?

• A: 해당 열에 걸쳐 있는 벡터 공간의 치수 • A: A의 선형 독립 열 개수입니다.

• 처음 두 열은 선형 독립이므로 순위는 2입니다.

• 세 번째 열은 첫 번째 열과 두 번째 열의 합과 같으므로 순위가 3보다 작아야 합니다.

https://en.wikipedia.org/wiki/Rank_(linear_algebra)

순위는 차원입니다

• 점의 구름 3D 공간:

• 각 열은 점을 의미합니다.

• 점 위치를 행렬로 생각해 보십시오: • 좌표를 더 효율적으로 다시 작성할 수 있습니다!

• 구 기저 벡터: [100] [010] [01] • 새 기저벡터: [1 2 1] [-2 -3 1] • 각 점은 새로운 좌표를 갖습니다: a: [10], b: [01], c: [1 -1] • 좌표 수를 줄였습니다!

선형 독립성

• 벡터 집합은 선형 의존적이라고 합니다.

• 집합의 벡터 중 하나를 다른 벡터의 선형 조합으로 정의할 수 있는 경우.

• 선형 독립성을 확인하는 방법은?

• n개의 벡터는 벡터를 열로 사용하여 형성된 행렬의 행렬식이 0이 아닌 경우에만 선형적으로 독립적입니다.

• 행렬식이 0이 아니기 때문에 두 벡터(1, 1) 및 (-3, 2)는 선형적으로 독립적입니다.

https://en.wikipedia.org/wiki/Linear_independence 

직교성

• 내부 곱 ⟨ x, y ⟩이 0이면 두 벡터 x와 y는 직교합니다.

• 서로 직교합니다.

• 두 벡터가 직교하면 선형적으로 독립적입니다.

• 그러나 역관계는 성립하지 않습니다.

• 두 벡터가 직교 벡터이고 단위 벡터이면 직교 정규입니다.

https://en.wikipedia.org/wiki/Orthonormality

고유값과 고유벡터

• 고유 벡터란 무엇입니까?

• 선형 변환 A가 가해질 때 방향이 변하지 않는 0이 아닌 벡터 v • 고유값 l은 고유벡터 v와 연관된 스칼라입니다.

• 식:

https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors 이 매핑에서 빨간색 화살표는 방향을 바꾸지만 파란색 화살표는 방향을 바꾸지 않습니다. 파란색 화살표는 방향을 바꾸지 않기 때문에 이 매핑의 고유 벡터이고, 길이는 변하지 않으므로 고유값은 1입니다

고유값 계산 방법

• 행렬을 주고, 고유값과 고유벡터를 계산합니다.

반응형

'Computer Science > 데이터마이닝' 카테고리의 다른 글

[Dimensionality Reduction] 3  (0) 2024.06.17
[Dimensionality Reduction] 2  (0) 2024.06.17
[Clustering] 2  (0) 2024.06.17
[Clustering] 1  (0) 2024.06.17
[Evaluating ClassificationModels] 2  (0) 2024.06.17