반응형

- Adjusted Rand index

Clustering 평가 방법인 Adjusted Rand index에 대해 알아보겠습니다. ARI의 경우 타깃값을 아는 경우에 쓰이는 방법인 것을 다시한번 말씀드립니다.

 

저번에 포스팅한 Rand index에 대해 보고 오시는걸 추천 드립니다.

또한, wikipedia에 자세한 설명이 나와 있습니다.


- Adjusted Rand index 수식 

contingency table이 있을 때 

ARI는 다음과 같이 계산할 수 있습니다.

Adjusted Rand index 수식은 크게 보면 총 4가지로 나타낼 수 있습니다.

 

아래 예시를 통해 이해해보겠습니다.

 

 


- Adjusted Rand index  예시

 

앞서 Rand index에서 사용한 예시를 가져와 수식을 알아보겠습니다.

 

저와 친구 4명이 있었습니다. [태구, 영수, 영희, 철수, 동우] 저희는 새학기를 맞아 새로운 반을 배정받았는데

1반 : 태구, 2반 : 영수, 영희, 3반 :철수 동우로 배정받았습니다. [1, 2, 2, 3, 3]

 

사실 저와 친구들은 반 배정 전 누가 같은반이 될까 내기를 한적이 있습니다. 그 중 제가 예상한 결과는 

1반 : 태구, 영수 2반 : 영희, 철수, 동우였습니다. [1, 1, 2, 2, 2]

 

그렇다면 반배치 결과(타깃값)와 저의 예상을  ARI로 계산해보겠습니다.

우선 contingency table을 만들어 보겠습니다. X와 Y는 클러스터 입니다. 

 

X - 태구 예측 클러스터 = [1, 1, 2, 2, 2]

Y = 반배정(타깃값)     = [1, 2, 2, 3, 3]

 

우선 contingency table을 만들겠습니다.

X / Y Y1 Y2 Y3 sums
X1 1 1 0 2
X2 0 1 2 3
sums 1 2 2  

Y1,Y2,Y3에 비해 X1,X2만 있는 이유는 태구 예측 클러스터에 군집이 1과2밖에 없기 때문입니다.

 

X클러스터에서 태구를 1반으로 예측하였고 Y클러스터의 태구또한 1반 이므로 X1 / Y1  = 1입니다.

또한, 영수를 1반으로 예측하였지만, Y클러스터의 영수는 2반이기 때문에 X1 / Y2 = 1입니다. 

 

예를들어 Y클러스의 영수 또한 1반으로 배정되었다면 X1 / Y1 = 2 입니다.

이제 contingency table을 직접 만들 수 있겠죠?

 

그럼 이제 ARI 값을 구해 보겠습니다.

nij의 경우는 각표에 할당된 값이며, ai의 경우 행의 합 bj의 경우 열의 합입니다. 표를 통해 해당값을 구하게 되면 아래와 같습니다.

,

최종적인 ARI값 : 


- Python을 이용한 ARI 계산

파이썬 사이킷런 라이브러리를 이용하면 쉽게 ARI결과를 예측할 수 있습니다. 

위의 계산과 같은 값이 나왔네요!

 


- ARI에 대한 생각

기존에 같은 예시를 통해 Rand index값을 구했을 경우는 0.6으로 높은값이 나왔지만 ARI는 0.09로 나왔습니다. 

ARI가 0일 경우 무작위할당과 같은 수치이며, 0.2이하의 점수는 좋지않은 성능을 나타낸나고 합니다. 

 

Rand index는 예측 군집수가 많아질 수록 클러스터 내에 군집되지 않는 pair가 많아지면서 성능이 높아지는 단점이 있었습니다. 그러나 Adjusted Rand index의 경우 위의 예시와 같이 모든 경우(클러스터 수 )에 대해 고려되기 때문에 점수에 대한 신뢰성이 높아진다고 생각합니다. 

반응형

'통계' 카테고리의 다른 글

Rand index란?  (2) 2020.05.08
통계개념  (0) 2019.11.18
통계에서 사용되는 bootstrap의 의미는 무엇인가요  (0) 2019.11.15
ROC curve?  (0) 2019.11.09
혼돈행렬(confusion matrix)에 대해 알아보자  (2) 2019.11.07
반응형

- Rand index

clustering 평가방법을 알아보던 중 adjusted rand index란 평가방법이 있어 알아보려고 합니다. adjusted rand index는 클러스터의 타깃값을 아는 경우에 사용하는 평가방법입니다.

 

우선 adjusted rand index를 알아보기 전 Rand index에 대해 이해한 부분을 쉽게 설명해보려 합니다.

 

우선 아래 그림은 Rand index의 수식입니다. 

a는 뭐고 b는 뭐고 아래 ()은 무엇이지? 라는 생각이 들겁니다. 하나하나 예시를 들어보겠습니다.

출처 : 위키피디아


- Rand index 수식

첫 번째. 우선 분모에 있는 조합부터 보겠습니다. 아래 분모는 순서가 정해져있지 않은 두개의 쌍을 의미 합니다. 

출처 : 위키피디아

저를 포함한 친구4명 - 태구, 영수, 영희, 철수, 동우를 2명씩 순서 상관없이 짝을 지어보겠습니다.

 

(태구-영수), (태구-영희), (태구-철수), (태구-동우), (영수-영희), (영수-철수), (영수-동우), (영희-철수), (영희-동우), (철수-동우)

 

5(5-1)/2= 총 10쌍이 나옵니다.

 

두 번째. a는 두개의 클러스터가 있을 때 두 클러스터 내에서 동일하게 짝지어진 쌍을 의미합니다.

 

세 번째. b는 두개의 클러스터가 있을 때 두 클러스터 내에서 동일하게 짝지어지 않은 쌍을 의미합니다.

 

 

아래 예시를 들어보겠습니다. 예시를 보면 위의 개념을 이해할 수 있습니다.

 


- Rand index 예시

첫번 째 예시에서 저와 친구 4명이 있었습니다. [태구, 영수, 영희, 철수, 동우]

저희는 새학기를 맞아 새로운 반을 배정받았는데

1반 : 태구, 2반 : 영수, 영희, 3반 :철수 동우로 배정받았습니다. [1, 2, 2, 3, 3]

 

사실 저와 친구들을 반 배정 전 누가 같은반이 될까 내기를 한적이 있습니다. 그 중 제가 예상한 결과는 

1반 : 태구, 영수 2반 : 영희, 철수, 동우였습니다. [1, 1, 2, 2, 2]

 

그렇다면 반배치 결과(타깃값)와 저의 예상을 Rand index로 계산해보겠습니다.

 

분모 -  5명이 순서를 이루지 않는 쌍이기 때문에 5(5-1) / 2 = 10입니다.

 

a - 두 클러스터 내에서 동일하게 같은반인 친구는 누구일까요?

(철수, 동우)입니다. 

 

b - 두 클러스터 내에서 동일하게 같은반이 아닌 친구는 누구일까요?

(태구, 영희) (태구 ,철수) (태구 동우) (영수, 철수) (영수 동우) 입니다. 

 

이제 Rand index를 구해보면


- Rand index 한계

Rand index는 클러스터링 평가방법에서 잘 사용되지 않습니다. 그이유는 클러스터의 수가 많아지게 되면 앞선 수식에서 b, 두 데이터가 서로 다른 클러스터에 속할 확률이 높아지기 때문입니다. 이로 인해 클러스터 수가 많아지면 rand index도 높은 값을 갖습니다.

 

dbscan 클러스터링은 cluster의 수를 설정할 수가 없기 때문에 많은 클러스터가 생기며 이러한 경우 rand index는 정확한 평가방법이 아닙니다. 

 

다음은 rand index의 단점을 고친 adjusted rand index에 대해 알아보겠습니다. 감사합니다.

 

 

 

반응형

'통계' 카테고리의 다른 글

ARI(Adjusted Rand index)  (2) 2020.05.08
통계개념  (0) 2019.11.18
통계에서 사용되는 bootstrap의 의미는 무엇인가요  (0) 2019.11.15
ROC curve?  (0) 2019.11.09
혼돈행렬(confusion matrix)에 대해 알아보자  (2) 2019.11.07
반응형

모집단 : 통계조사의 관심이 되는 대상

모수 : 모집단의 특성을 나타내는 수치

표본 : 모집단에서 선정된 샘플

통계량 : 표본의 특성을 나타내는 수치 예) 표본평균, 표본분산, 표본표준편차

 

표본공간 : 실험에서 나올 수 있는 모든 결과들의 집합

확률변수 : 표본공간에 속하는 결과들에 대해 실수값을 대응시키는 함수

이산확률변수 : 확률변수가 가지는 값을 지칭할 수 있는 확률변수

연속확률변수 : 확률변수가 가지는 값을 지칭할 수 없는 확률변수

확률분포 :  확률변수가 특정한 값을 가질 확률을 나타내는 규칙

 

베르누이시행 : 1 각 시행은 독립적이다. 2 각 시행은 두가지의 결과를 가진다. 3 각 시행의 성공확률은 p이다.

이항분포 : 성공확률이 p인 베르누이 시행을 n번 시행한 경우 확률변수X의 확률분포가 따르는 분포

정규분포 : 대표적인 연속확률분포, 좌우대칭이 종모양인 곡선, 가우스분포라고도 한다.

표준정규분포 : 정규분포 중 평균이0이고 분산이1인 정규분포

표준화변환 : 확률변수들의 평균을 0 분산을1인 확률변수로 변환하는 방법

이항분포의 정규근사 : 이항분포의 np나 n(1-p)가 모두 10이상이면 정규분포에 근사하게된다

 

표집분포 : 통계량 자체가 하나의 확률변수로서 확률분포를 가지고 이 확률분포를 표집분포라 한다.

확률표본 : 모집단으로부터 임의 추출된 n개의 표본은 서로 독립이며 모집단의 분포와 비슷하고 이러한 n개의 표본을 확률표본이라 부른다.

중심극한정리 :확률표본이 30이상이면 확률표본의 표본평균은 근사적으로 정규분포를 따른다.

 

추정 : 모수의 대한 추측값을 얻고, 그 값의 정밀도를 구하는 방법

점추정 : 모수의 참값과 유사할 것이라는 하나의 값을 추정

구간추정: 모수의 참값을 포함할 것으로 예상되는 구간을 추정

 

 

 

반응형

'통계' 카테고리의 다른 글

ARI(Adjusted Rand index)  (2) 2020.05.08
Rand index란?  (2) 2020.05.08
통계에서 사용되는 bootstrap의 의미는 무엇인가요  (0) 2019.11.15
ROC curve?  (0) 2019.11.09
혼돈행렬(confusion matrix)에 대해 알아보자  (2) 2019.11.07
반응형

ML에서의 Bootstrap

부트스트랩이라는 단어는 머신러닝에서 랜덤포레스트를 구축할 때 많이 들어봤습니다. 랜덤포레스트는 배깅 앙상블을 사용하며 배깅의 정확한 명칭은 Bootstrap aggregating입니다. 랜덤포레스트는 무작위의 트리를 생성하여 앙상블하는 방법을 사용하는데 각각의 트리를 만들기 위해 먼저 데이터의 부트스트랩 샘플을 생성합니다. 다시 말해 n개의 데이터 포인트에서 무작위로 n개의 샘플을 반복 추출합니다(한 샘플이 중복 추출될 수 있습니다). 추출 후 여러개의 트리를 만든 후 예측들을 평균하여 최종 예측을 만듭니다. 이것이 ML에서 사용하는 부트스트랩입니다. 그렇다면 통계에서 사용되는 부트스트랩의 의미는 무엇일까요?

 

통계에서의 Bootstrap

https://uc-r.github.io/bootstrapping

통계에서 사용되는 부트스트랩은 ML에서 사용되는 방법과 비슷합니다. 그렇다면 왜 부트스트랩을 사용할까요? 예를 들어 한국남자의 평균몸무게를 알고싶다고 할 떄 모든사람의 몸무게를 측정할 수 없으니 일부(N명)를 표본추출해 측정합니다. 여기서 우리는 단일표본(N)의 평균을 얻을 수 있습니다. 그렇다면 이 평균이 한국남자의 평균몸무게를 대표할 수 있을까요? 물론 단일표본의 크기가 전체한국남자와 비슷하다면 그럴 수 있지만, 대부분의 경우는 그럴 수 없습니다. 이 때 부트스트랩을 사용합니다. 

 

5명의 남자의 몸무게가 있습니다. [70kg, 75kg, 77kg, 90kg, 105kg] 여기서 부트스트랩을 사용해 3개의 표본을 만들면 아래와 같이 만들어집니다. 부트스트랩은 랜덤 샘플링(중복추출가능)을 통해 추출합니다.

1. [70kg, 70kg, 70kg, 90kg, 105kg] 

2. [75kg, 77kg, 90kg, 105kg, 105kg] 

3. [90kg, 90kg, 90kg, 105kg, 105kg] 

 

그런 다음 모든 부트스트랩 된 데이터 세트를 사용하여 원하는 통계량의 표준 오차 및 신뢰구간을 계산할 수 있습니다.

 

 

반응형

'통계' 카테고리의 다른 글

Rand index란?  (2) 2020.05.08
통계개념  (0) 2019.11.18
ROC curve?  (0) 2019.11.09
혼돈행렬(confusion matrix)에 대해 알아보자  (2) 2019.11.07
가설검정 그리고 귀무가설과 대립가설은 무엇인가?  (0) 2019.10.18
반응형

receiver operating characteristic curve(수신자 조작 특성 곡선)에 대해 알아보겠습니다. 줄여서 ROC curve라고 부르겠습니다. ROC curve는 kaggle대회에서 자주 보이는 평가지표이며 이번 Santander대회의 평가지표였습니다.

 

ROC curve를 이해하기 위해 먼저 혼돈행렬에 개념을 모르는 분들은 혼돈행렬을 읽고 오시면 좋겠습니다.

 

정밀도(precision)

PRC= TP  / (TP + FP)

재현율(recall)

REC = TP / (TP + FN)

특이도(specificity)

SPC = TN / (TN + FP)

 

양성 예측을 많이 하게 되면 TP는 늘어날 수 있지만 FP 또한 증가할 수 있습니다. 정밀도와 특이도는 FP의 증가에 영향을 받습니다. 이상적으로는 TP는 증가하지만 FP는 감소하는 것입니다. 이를 확인하기 위한 그래프가 ROC curve입니다.

ROC 곡선의 Y축은 재현률(REC) 즉 TP의 비율(TPR)을 나타냅니다. X축은 1-특이도(SPC)를 나타냅니다. 1-특이도(SPC)는 FP의 비율(FPR)을 나타냅니다.

https://glassboxmedicine.com/2019/02/23/measuring-performance-auc-auroc/

예를들어 무작위로 50%를 양성이라고 가정해보겠습니다. 그렇다면 양성중에 50%는 양성이라 할 것이고 음성중에 50%는 양성이라고 할 것입니다. 그렇다면 TPR / FPR모두 0.5의 확률을 가질 것입니다.

 

무작위 예측의 경우 빨간색 선을 나타내며 예측이 잘 될수록 좌측 상단 처럼 볼록한 곡선을 형성합니다. ROC곡선을 하나의 수치로 나타낸 것이 AUC인데 보라색의 커브의 면적은 가로 세로 1이므로 1입니다. 빨간 점선의 면적은 0.5입니다. 

예측이 잘될 수록 ROC curve는 보라색에 가깝게 형성되며 AUC는 1에 가까운 수치가 나옵니다.

반응형
반응형

혼돈행렬에 대해 알아보겠습니다. 혼돈행렬을 통해 나오는 평가지표는 매우 많으며 대략적으로 알다보니 필요할 때 마다 찾아보게 되어 정리하게 되었습니다. 

 

분류 문제의 경우 값의 크기를 이해하기 위해 혼돈 행렬의 형태로 성능을 나타냅니다. 이항분류(class가 0 또는 1)의 경우 두 가지 클래스 중 중요한 클래스를 양성 다른 클래스를 음성이라고합니다. 양성이라 예측했을 때 양성일 경우는 TP( true positive), 음성이라 예측했을 때 음성일 경우는 TN(true negative)라고 합니다. 또 양성이라 예측했으나 실제로 음성일 경우 FP(false positive), 음성이라 예측했으나 실제로 양성일경우 FN(false negative)라고 합니다.

 

조금 쉽게 이해하자면 앞이 T로 시작하면 예측이 맞았고, F로 시작하면 예측이 틀렸다고 생각하면 됩니다. 뒤에 P는 예측을 양성으로 할 경우 N은 예측을 음성으로 예측할경우 입니다. 다시말해 예를 들어 FP일 경우 예측을1로 하였지만 1이 아니었고 실제는 0이었다 이렇게 이해하면 암기할 필요가 없습니다.

 

이렇게 4가지의 경우가 생기고 이들을 통해 다양한 지표를 표현할 수 있습니다. 4가지 모두 중요하지만 가장 중요한 하나를 선택하자면 어떤게 중요할까요? 저는 FN이라고 생각합니다. 복습하자면 실제로 음성이라 예측했지만 틀렸고 양성일 경우겠죠?

 

한명의 의사가 있고 암을 진단받으러 오는 환자가 있습니다. 앞서 분류의 경우 중요한 클래스를 양성(1)이라고 합니다. 암이 있을 경우를 1로 가정하겠죠? 암이 아니지만 암이라고 예측한경우(FP)와 암이지만 암이아니라고 예측한 경우(FN) 어떤 예측이 의사에게 치명적인 실수 일까요? 당연히 후자이겠죠?

예측 / 실제

Actual

1

Actual

0

predicted

1

TP(진양성) FP(위양성)

predicted

0

FN(위음성) TN(진음성)

이제 이4가지의 경우를 가지고 사용되는 지표에 대해 알아보겠습니다. 지표로는  정확도(accuracy), 정밀도(precision), 재현율(recall), 특이도(specificity)이 있습니다. 

 

정확도(accuracy)는 전체에서 TP와 TN이 차지하는 비율입니다. 단순히 전체에서 정확히 예측한 비율이라고 생각하면됩니다. 

ACC = (TP + TN) / (TP + TN + FP + FN)

 

정밀도(precision)은 양성으로 예측한 경우(TP + FP) 중에 실제 양성(TP)인 비율입니다. 정밀도가 낮을 경우 암이 아닌 사람에게 암이라고 했으니 불필요한 치료가 발생할 수 있습니다.

PRC= TP  / (TP + FP)

 

재현율(recall)은 실제 양성(TP + FN) 중에 양성을 양성이라고 맞춘(TP)인 비율입니다. 재현율이 낮을 경우 암인 사람에게 암이 아니라고 하였으니 심각한 결과를 초래할 것 입니다.

REC = TP / (TP + FN)

 

특이도(specificity)는 실제 음성(TN + FP) 중에 음성을 음성이라고 맞춘(TN) 비율입니다. 이경우도 불필요한 치료가 발생하겠죠?

SPC = TN / (TN + FP)

 

F1 score 정밀도와 재현율이 적절하게 요구 될 때 사용합니다. F1 score는 현재 캐글에서도 많이 사용되는 지표로써 정밀도와 재현율의 조화 평균입니다. 

F1 = (2*PRC * REC) / (PRC + REC)

왜 산술평균이 아닌 조화평균을 사용할까요? 분자가 같지만 분모가 다를경우 조화평균이 정확하기 때문입니다. 예를 들어 200km의 목적지가 있는데 중간까지 시속 100km 중간 이후부터 시속 50km를 갔다면 평균속력은 얼마일까요? 75km/h일까요? 아닙니다. 100km지점까지는 1시간이 걸렸고 나머지 100km까지는 2시간이 걸렸을 것입니다. 그러니 평균 속력은 66.7km/h 이며 조화 평균 공식으로는 (2*100*50) / (100+50) = 66.7이 나옵니다. 정밀도와 재현율의 경우도 분자는 같지만 분모가 달라 조화평균을 사용하여 f1 score를 계산합니다.

 

지금까지 혼돈행렬을 통해 알 수 있는 지표에 대해 알아봤습니다. 이 글을 단순히 보는 것 보다 한번만 이해하시면 계속 기억에 남을 것 으로 생각합니다!.

 

 

반응형
반응형

가설검정을 왜 하는가?

 

어떤 모수에 관한 증명되지 않은 주장이나 추측을 표본자료를 통해 증명할 때 가설검정을 사용합니다. 그렇다면 왜 가설검정이 필요할까? 이유는 간단합니다. 비용과 시간이 들기 때문입니다. 예를 들어 대통령 선거를 예로 들겠습니다. 선거가 다가오면 내가 응답도 안 했는데 대통령 후보들의 지지율이 나옵니다. 이 지지율을 어디서 나왔을까요? 바로 전화 및 설문조사를 통해 대한민국 국민 일부의 응답을 통계치로 나타낸 것입니다. 이런 지지율을 맞는 경우도 있고 틀린 경우도 있습니다. 그 이유는 모든 국민을 대상으로 하지 않았기 때문이죠. 그렇기 때문에 표본의 통계량이 모수(전 국민)를 대표할 수 있는지 증명하기 위해 가설검정을 사용합니다. 가설검정을 하기 위해서는 우선 가설을 세우는데 이때 귀무가설과 대립가설이 나옵니다.

 

예를 들자면 어떤 연구자는 대한민국 남자의 평균 키가 173cm 보다 크다고 생각합니다. 이를 증명하기 위해 전국에 모든 남자 중 1000명을 임의로 뽑은 뒤 표본평균을 계산합니다. 그렇다면 표본을 통해 얻은 평균으로 모 평균(전국 모든 남자의 평균 키)이 173cm보다 크다는 주장을 통계적으로 증명하기 위해서 이 결과를 어떻게 이용해야 할까요?

 

귀무가설 대립가설

 

제기된 주장의 타당성을 검정할 때 귀무가설(H0)과 대립가설(H1)이 사용됩니다. 증명을 필요로 하는 주장 즉, 연구자의 주장을 대립가설이라 하고 이 가설과 다르거나 혹은 기존의 주장을 귀무가설(H0)이라 합니다.

위의 예를 들어 전국 모든 남자 키의 모평균 u가 173cm보다 크다는 연구자의 주장은 대립가설(H1) : u > 173cm이 됩니다. 귀무가설은 이 대립가설에 반대되는 경우(u < 173cm, u= 173cm)으로 세워집니다. 그러나 기본적으로 두 가지를 분류하지 않고 "대한민국 남자의 평균 키는 173cm이다" 를 귀무가설로 세웁니다. 따라서 다음과 같은 가설을 세울 수 있습니다.

 

H0 : u = 173cm H1 : u > 173cm

 

가설검정의 형태

가설검정의 형태는 단측검정과 양측검정이 있다.

 

- 단측검정

단측검정은 앞의 예에서 H0 : u = 173cm H1 : u > 173cm로 사용했으며 반대로 전국 모든 남자의 평균키가 173cm보다 작다는 주장으로

H0 : u = 173cm H1 : u < 173cm 이다 라는 가설을 설정합니다. 이때의 귀무가설은 동일합니다.

 

전광희 교수님 가설검정 그림.1 

 

- 양측검정

양측검정은 귀무가설을 기각하는 영역이 양쪽에 있습니다. 예를 들어 연구자가 전국 모든 남자의 평균키는 173cm가 아니다 라고 주장하면

H0 : u = 173cm H1 : u ≠173cm이란 가설이 설정되고 이는 양측검정입니다.

전광희 교수님 가설검정 그림.2

 

- 가설검정의 예시

u- 홈럼볼 평균g

 

1. 홈런볼이 46g이라는데 진짜인가?(연구자 = 46g은 아닌거같은데)

H0 : u = 46g H1 : u ≠ 46g - 양측검정

2. 홈런볼이 46g이라는데 진짜인가?(연구자 = 먹어보니 더 많은거같아)

H0 : u = 46g H1 : u > 46g - 단측검정(우측)

3. 홈런볼이 46g이라는데 진짜인가?(연구자 = 먹어보니 과대포장이네..)

H0 : u = 46g H1 : u < 46g - 단측검정(좌측)

반응형

'통계' 카테고리의 다른 글

ROC curve?  (0) 2019.11.09
혼돈행렬(confusion matrix)에 대해 알아보자  (2) 2019.11.07
차원의 저주란?  (0) 2019.03.21
데이터사이언티스트 질문  (0) 2019.03.21
xgboost general parameters  (0) 2019.03.19
반응형

점을 하나찍고 여기서 좌우로 길이가 10인 선을 그려보자.


이 선을 '전체'라고 부르자. 다시 중심 점에서 좌우로 길이가 9인 선을 그려보자. 이 선은 '중심부'라고 하자. 


그러면 전체에서 중심부가 차지하는 비율은 얼마인가? 90%이다.





이번에는 차원을 하나 높여서 반지름이 10인 원을 전체로 하고 그 중에 반지름 9인 중심부 를 생각해보자.

원의 넓이는 반지름의 제곱에 비례하므로 중심부의 비율이 81%로 줄어든다. 


차원을 하나 더 높여서 반지름이 10인 구를 전체로 하면 구의 부피는 반지름의 세제곱 에 비례하므로 중심부의 비율이 73%로 줄어든다.

이런 식으로 차원을 계속 높여 나가면 43 차원에서는 중심부가 차지하는 비율이 1%에 불과하게 된다. 

거리로는 계속 전체의 90%에 달하는대도 말이다. 이를 차원의 저주(curse of dimensionality)라 한다.


데이터에서 변수들은 각각 하나의 차원을 이룬다. 2개의 변수가 있다면 2차원, 3개의 변수 가 있다면 3차원이다.

변수가 많아지면 많아질 수록 차원도 높아진다. 그러면 데이터는 차 원의 저주 때문에 중심부에는 드물고 주변부에 많아지게 된다.


반응형

+ Recent posts