본문 바로가기

Data = Vector 데이터는 벡터로 표현? [빅공남 통계 같이 공부해요]

KAIST수학전공쌤 2022. 1. 8.

Vector 벡터로 Data를 표현할 수 있다? 빅데이터 머신러닝, 딥러닝 등을 공부하기 위해서는 Data는 벡터로 표현된다는 것이 중요합니다. 이는 선형대수 Linear Algebra와 관련이 있습니다. 데이터 분석에서 특히 차원축소 개념을 이해하기 위해서는 행렬(Matrix), 벡터(Vector), 베이시스(Basis), 선형(Linear) 등의 내용을 이해하고 있으면 도움이 됩니다. 빅데이터 분석기사 2과목 데이터 탐색에 나오는 목차는 다음과 같습니다.

목차의 분석변수 처리에 보면 차원축소라는 단어가 등장하는 것을 확인 할 수 있습니다. 차원축소 기법인 주성분분석(PCA)기법 등을 이해하기 위한 오늘 포스팅은 바로 데이터가 벡터라는 것입니다.

 

1. 벡터(Vector)는 좌표로 나타낼 수 있다?

벡터는 크기와 방향을 나타내는 값으로 힘을 표현할 떄 사용됩니다. 힘은 크기와 방향이 존재하는데 이 힘을 좌표로 표현하면 아래 그림과 같습니다.

차원이란 이때 좌표로 표현되는 숫자의 개수를 이미하고 우리 눈에 보이는 세상은 3차원까지만 좌표로 볼 수 있습니다.

2차원 공간에서는 2개의 축만 있으면 아래그림과 같이 모든 좌표를 표시 할 수 있습니다.

3차원 공간으로 좌표를 벡터로 이해하면 다음과 같이 좌표로 표현가능합니다.

3차원 공간에서 보면 3개의 좌표축으로 데이터를 만들 수 있습니다. 3개의 축이 결정되면 이제 각 축별로 몇칸씩 움직였는지로 벡터를 좌표로 만들어 낼 수 있고 이 좌표를 세로로 쓰면 벡터를 만들어 낼 수 있습니다.

 

2. 3차원 데이터를 벡터로??

어떤 결과가 3개의 요인으로 바뀐다고 생각합니다. 예를들어서, 

 

요인 1 : 키

요인 2 : 몸무게

요인 3 : 나이

 

이렇게 요인을 3가지로 나타낸다면, 각 사람의 데이터 벡터는 (키,몸무게,나이) 순서쌍을 가지게 됩니다.

이를 좌표료 표현하면 아래 그림과 같이 만들어 낼 수 있습니다.

 

3. 5차원 벡터를 벡터로????

이번에는 요인이 5가지가 있다고 가정합니다. 

 

요인1 : 키

요인2 : 몸무게

요인3 : 나이

요인4 : 체지방

요인5 : 혈압

 

5개의 요인이 있다면 좌표로 표현할 수 있습니다. 이는 5개의 차원을 가지는 벡터로 표현가능합니다.

우리의 눈에는 3차원 공간까지만 그림으로 표현할 수 있습니다. 좌표축이 5개 있는 공간은 우리 눈에 보이는 세계에서 그림을 그려낼 수는 없고 위의 그림처럼 열벡터(세로로 된 자표)로 나타낼 수 있습니다.

 

4. Data = Vector? 데이터는 벡터다!!

 

아래 그림과 같이 구글 코랩에서 파이썬 코딩을 통해 데이터 샘플을 만들어 냈ㅅ브니다. mpg에 관한 데이터 샘플인데

mpg란 연비(mile per gallon)을 가리킵니다.

그림에서 변수들을 살펴보면 다음과 같습니다

 

mpg : 연비

cylinders : 실린더개수

displacement : 달린거리

horsepower : 마력

accleration : 가속

model_year : 19xx년도

origin : 제조국가

 

origin을 살펴보면 3가지가 있습니다. usa, europe, japan인데 이를 숫자로 바꾸기 위해서 다음과 같이 map을 통해 범주형자료를 숫자로 변경해보았습니다.

만약 연비에

영향을 주는 요인이 다음과 같이 6개라고 가정하겠습니다.

 

결과변수 : 연비(mpg)

원인변수 : 실린더개수, 달린거리, 마력, 무게, 가속, 연식

 

원인변수 6개로 결과변수 연비(mpg)를 예측한다고 생각하면... 원인변수를 다음과 같이 벡터로 표현가능합니다.

하나의 행은 각각의 원인변수 벡터로 표현가능합니다. 예를들어서 393번쨰 행을 벡터로 표현하면

[4, 140.0, 86.0, 2790, 15,6, 82] 를 세로로 나타내서 한줄씩 변수 요인이 되로고 나타낼 수 있습니다. 

즉, 각 데이터들은 결과를 설명하는 요인들의 순서쌍으로 나타낼 수 있습니다. 가로 형식의 각각의 행을 순서쌍으로 세로로 나타내면 열벡터가 되는 것입니다.

 

5. 차원축소? (벡터에서 데이터 요인간에 상관계수가 높다면?)

변수간 상관계수가 높다면 어떤 일이 발생할까? 먼저 상관계수가 높다는 것의 의미가 무엇인지 한번 직전 포스팅을 이해하고 다시 이부분을 보면 도움이 될 것입니다. 먼저 상관계수 공부 링크 먼저 첨부합니다.

 

상관계수 Correlation 이란 무엇인가??? [빅공남! 통계 같이 공부해요]

상관계수 Correlation 이란 무엇인가?는 통계, 기초통계학, 빅데이터, 머신러닝 등에서 반드시 알아야할 기초 개념중에 하나입니다. 상관계수를 공부하려면 먼저 공분산의 개념을 이해해야기 때문

seeyapangpang.tistory.com

상관계수가 높다는 것은 두변수간에 직선관계가 있는 것을 의미하고 직선관계가 있다는 것은 한 변수로 설명이 가능하다는 것을 의미합니다. 때문에 원인변수간에 상관계수가 서로 높은 변수들이 있다면 한변수로 표현이 가능하고 결과를 설명하는 변수가 줄어드는 효과를 만들 수 있습니다. 그래서 아래 그림처럼 시각화 해서 이해해 볼 수 있습니다.

데이터를 벡터로 표현을 했었고 벡터에서 차원이 축소되는 부분을 시각화 해서 보게 되었습니다. 위의 그림처럼 무게,가속,연식이 상관계수가 서로 높다면 하나의 변수처럼 움직이고 이 새로운 변수가 연비를 예측하는 변수로 사용 될 수 있습니다. 그래서 Data에서 상관성 높은 변수가 존재할떄 아래 그림처럼 이해할 수 있습니다.

무게, 가속, 연식이 데이터에서 하나의 열처럼 묶여서 새로운 한변수로 움직일 것이고 나머지 실린더개수, 달린거리, 마력과 함께 데이터를 좌표료 표현되게 나타낼 수 있습니다.

 

 

빅공남 유튜브채널에서 아래 공부영상 첨부합니다. 유튜브 빅공남 채널 구독은 많은 유익한 영상을 시청하시게 됩니다 ^^

 

댓글