Code › ai-engineering-study

[AI] 위클리페이퍼 #1 - 선형대수학, EDA, 데이터 전처리

머신러닝을 위한 수학과 데이터 준비 과정을 정리하는 첫 번째 위클리 페이퍼

오늘 첫 위클리 페이퍼를 써본다. 강의에서 배운 내용을 바탕으로 검색도 해보고 한 결과로 정리하였다.

1. 선형대수학이란 어떤 학문이며, 왜 머신러닝에 필요한지 설명해보세요.

먼저 위키피디아의 정의를 살펴보자.

선형대수학은 벡터 공간, 선형 변환, 행렬, 연립 선형 방정식 등을 연구하는 대수학의 한 분야이다.

출처: 위키백과, 선형대수학

선형 방정식은 행렬과 벡터를 사용하여 다음의 꼴로 쓸 수 있다.

Ax=bAx = b

결국 선형대수학은 벡터를 행렬과의 연산을 통해 선형 변환(Linear Transformation)하는 것을 다룬다. 다만 지금은 그 수학적인 엄밀함과 디테일한 정의보다 머신러닝에서 이를 어떻게 사용하는지에 대해서 조금 더 알아보려고 한다. 이게 파고들다보면 아주 심오해져서 이번 포스팅의 목적에서 벗어날 것 같다.

머신러닝에서 왜 필요한지에 대해서는, 선형대수학이 모든 데이터와 머신러닝 알고리즘을 표현하고 연산하는 기본 언어로써 역할하기 때문이다. 데이터의 표현도 이미지, 텍스트 등 방대한 비정형 데이터를 비롯해 테이블 형태의 정형 데이터까지 모두 표현이 가능하다. 그리고 이러한 데이터들을 학습하는 과정에서 대규모의 행렬 곱셈 연산이 필요하고 선형 회귀 알고리즘이나 모델을 최적화하는 경사하강법을 다룰때에도 전부 벡터와 행렬의 연산이 필요하기 때문에 선형대수학이 필요하다.


2. EDA(Exploratory Data Analysis)란 무엇인가요?

위키피디아의 정의를 가져와보면 다음과 같다.

기존 통계학이 정보의 추출에서 가설 검정 등에 치우쳐 자료가 가지고 있는 본연의 의미를 찾는데 어려움이 있어, 이를 보완하고자 주어진 자료만 가지고도 충분한 정보를 찾을 수 있도록 여러가지 탐색적 자료 분석 방법을 개발하였다.

출처: 위키백과, 탐색적 자료 분석

수집한 데이터가 있을 때, 사전 가설 없이 이 데이터를 하나씩 뜯어보면서 그 특성을 확인하고, 그래프로 표현 해 보거나 데이터 간의 상관관계를 통계적 기법으로 분석해보는 과정을 말한다. 그렇게 해서 데이터가 표현하는 현상을 더 잘 이해하고 드러나지 않는 특징을 드러내게 할 수 있다. 이 과정에서 데이터 전처리 및 시각화, 통계기법을 적극적으로 활용한다.

기존 통계학이 가설 검정을 재판처럼 하는것과 같다면, EDA는 탐색적 데이터 분석으로 탐정의 수사와 같다. 결과적으로 탐색적으로 데이터를 다 분석해서 펼쳐놓고 보면 가설을 발견할 수 있다.


3. 대표적인 데이터 전처리 방법인 결측값, 중복값, 이상치 처리에 대해 각각 설명해 주세요.

  • 결측값(Missing Value)은 다양한 원인으로 수집되지 않아 누락되는 값들을 뜻한다.
  • 중복값(Duplicated Value)은 말 그대로 동일한 데이터가 반복되는 것을 뜻한다.
  • 이상치(Outlier)는 전체 데이터 분포에서 현저하게 벗어나서 유달리 높거나 낮은 값을 보이는 데이터를 뜻한다.

이러한 데이터의 불완전함을 보정하려면 데이터 전처리가 필요한데, 결측값은 대치하거나 제거하는 방법이 있다. 다만 결측값을 무작정 제거하면 전체 데이터의 양이 줄어들어 분석의 신뢰도가 떨어질 수 있으므로 데이터의 수를 파악하여 신중하게 진행하는 것이 좋다. 결측값을 대치하는 방법 중에는 단순 대치법이 있는데 수치형 데이터는 평균이나 중앙값으로, 범주형 데이터는 최빈값으로 대치하는 방법이 있고, 머신러닝 예측을 활용하여 다른 변수들의 값을 기반으로 예측하거나, 시계열 데이터를 활용하여 앞이나 뒤의 값으로 채우는 방식도 존재한다.

중복값은 일반적으로 삭제하며, 이상치는 로그 변환을 적용해 데이터의 왜도(치우침)를 완화하여 격차를 줄여 자연스럽게 분포로 변환하는 방법이 있고, 상한선이나 하한선으로 바꾸는 대치방법이 있으며, 이상치 데이터가 소수이면 삭제하는 방법도 있다.

추가로 수치형 특성의 범위를 맞출 때는 Min-Max 변환이나 Z-score 표준화를 사용할 수 있다. Min-Max 변환은 최솟값을 0, 최댓값을 1로 맞추는 방식이며 공식은 다음과 같다.

x=xxminxmaxxminx' = \frac{x-x_{min}}{x_{max}-x_{min}}

Z-score 표준화는 각 값에서 평균을 빼고 표준편차로 나누며, 변환한 데이터의 평균은 0, 표준편차는 1이 된다.

z=xμσz = \frac{x-\mu}{\sigma}

두 변환의 차이와 Ridge, Lasso 같은 규제를 적용하기 전에 스케일을 맞추는 이유는 스케일링 이후에 규제를 적용하는 이유에 따로 정리했다.