본문 바로가기
Tutorial/Big Data & ML

머신러닝 기초 통계와 수학 기본 개념

by CLJ 2024. 7. 2.

기초 통계와 수학은 머신러닝을 이해하는 데 필수적입니다. 이 글에서는 기초 통계, 확률과 분포, 선형 대수와 행렬 연산의 기본적인 개념을 간단히 살펴보겠습니다. 

 

목차

 

기본 통계 개념: 평균, 분산, 표준편차

 

기본 통계 개념은 데이터 분석을 위해 반드시 알아야 할 내용입니다. 특히 평균, 분산, 표준편차는 데이터를 요약하고 이해하는 데 필수적인 도구입니다. 

 

평균 (Mean)

평균(mean)은 주어진 데이터 집합의 중심값을 나타냅니다. 이는 모든 값을 더한 후 값의 개수로 나누어 계산됩니다. 평균은 데이터의 중심 경향을 파악하는 데 유용하며, 예를 들어 학생들의 시험 점수를 통해 반 전체의 성적 수준을 평가할 수 있습니다.

 

예를 들어, 학생들의 시험 점수가 70, 80, 90일 때, 평균 점수는 (70 + 80 + 90) / 3 = 80입니다. 평균은 데이터 집합의 일반적인 수준을 파악하는 데 도움을 줍니다. 이를 통해, 전체적인 성향을 쉽게 파악할 수 있습니다.

 

분산 (Variance)

분산(variance)은 데이터가 평균을 기준으로 얼마나 퍼져 있는지를 나타내는 지표입니다. 이는 각 데이터 값이 평균에서 벗어난 정도를 제곱하여 모두 더한 후 값의 개수로 나누어 계산됩니다. 분산이 크면 데이터가 널리 퍼져 있음을 의미하고, 작으면 데이터가 평균에 가까이 몰려 있음을 나타냅니다.

 

평균에서 살펴본 시험 점수 예시에서, 평균은 80입니다. 각 점수에서 평균을 뺀 값을 제곱한 후 평균을 내면, 분산은 [(70 - 80)² + (80 - 80)² + (90 - 80)²] / 3 = 66.67이 됩니다. 분산은 데이터의 변동성을 이해하는 데 중요한 역할을 합니다. 예를 들어, 두 개의 다른 반에서 시험 점수가 비슷한 평균을 가질 수 있지만, 분산을 통해 각 반의 점수 분포가 어떻게 다른지 알 수 있습니다.

 

표준편차 (Standard Deviation)

표준편차(standard deviation)는 분산의 제곱근으로, 데이터의 퍼짐 정도를 보다 직관적으로 이해할 수 있습니다. 표준편차가 크면 데이터가 널리 퍼져 있고, 작으면 데이터가 평균에 가까이 집중되어 있다는 것을 의미합니다. 표준편차는 데이터의 분포를 한눈에 파악하는 데 유용합니다.

 

위에서 분산이 66.67인 경우, 표준편차는 √66.67 ≈ 8.16입니다. 표준편차를 통해 데이터의 실제 퍼짐 정도를 더 쉽게 이해할 수 있습니다. 예를 들어, 두 반의 시험 점수 평균이 같아도 표준편차를 보면 어느 반이 더 일관된 성적을 보이는지 알 수 있습니다.

 

평균, 분산, 표준편차는 기본적인 통계 개념이지만, 데이터를 이해하고 분석하는 데 필요합니다. 평균은 데이터의 중심값을, 분산은 데이터의 변동성을, 표준편차는 변동성의 정도를 직관적으로 이해할 수 있게 해 줍니다. 이러한 개념들은 머신러닝을 포함한 다양한 데이터 분석 작업에서 필수적으로 사용됩니다. 

 

확률과 분포

확률과 분포는 불확실한 상황에서 결과를 예측하는 데 매우 중요한 도구입니다. 이 섹션에서는 확률의 기본 개념과 다양한 확률 분포를 알아보겠습니다. 

 

확률 (Probability)

확률(probability)은 특정 사건이 발생할 가능성을 나타냅니다. 이는 0에서 1 사이의 값으로 표현되며, 0은 불가능, 1은 확실을 의미합니다. 확률을 통해 우리는 불확실한 상황에서 어떤 결과가 나올지를 예측할 수 있습니다. 예를 들어서 동전을 던졌을 때 앞면이 나올 확률은 0.5입니다. 이는 두 가지 가능한 결과(앞면 또는 뒷면)가 동등하게 발생할 수 있기 때문입니다. 주사위를 굴렸을 때 특정 숫자(예: 3)가 나올 확률은 1/6입니다. 주사위에는 6개의 면이 있기 때문에, 각 면이 나올 확률은 동일합니다.

 

확률 분포 (Probability Distribution)

확률 분포(probability distribution)는 확률 변수의 가능한 값과 그에 대응하는 확률을 나타내는 함수입니다. 다양한 유형의 확률 분포가 있으며, 각각의 분포는 특정 상황에서 사용됩니다.

 

정규 분포 (Normal Distribution)

정규 분포는 데이터가 평균을 중심으로 대칭적으로 분포하는 형태를 띱니다. 이는 많은 자연현상에서 나타나는 분포입니다. 정규 분포는 평균과 표준편차로 완전히 정의됩니다. 예를 들어, 사람들의 키는 대개 정규 분포를 따릅니다. 대부분의 사람들은 평균 키 주변에 몰려 있으며, 매우 작거나 매우 큰 사람들은 상대적으로 적습니다. 시험 점수도 정규 분포를 따르는 경우가 많습니다. 평균 점수 주변에 학생들이 많이 분포하고, 매우 높은 점수나 낮은 점수를 받은 학생들은 적습니다.

 

이항 분포 (Binomial Distribution)

이항 분포는 성공 또는 실패 두 가지 결과를 가지는 실험에서 사용됩니다. 성공 확률이 일정한 독립적인 실험이 n번 반복될 때, 성공의 횟수를 모델링합니다. 예를 들면, 동전을 10번 던졌을 때 앞면이 나오는 횟수를 설명할 수 있습니다. 각 던짐에서 앞면이 나올 확률은 0.5이며, 이 실험을 10번 반복했을 때 앞면이 나오는 횟수는 이항 분포를 따릅니다. 특정 제품의 결함이 발생할 확률이 0.1일 때, 20개의 제품 중 결함이 발생하는 제품의 수를 예측할 수 있습니다.

 

포아송 분포 (Poisson Distribution)

포아송 분포는 단위 시간 또는 공간 내에서 사건이 발생하는 횟수를 모델링하는 데 사용됩니다. 이는 사건이 매우 드물게 발생하는 경우에 적합합니다. 특정 시간 내에 고객이 가게를 방문하는 횟수를 예측할 수 있습니다. 예를 들어, 한 시간 동안 평균 5명의 고객이 방문하는 가게에서, 한 시간 동안 7명의 고객이 방문할 확률을 포아송 분포를 통해 계산할 수 있습니다.다른 예로, 특정 거리 내에서 교통사고가 발생하는 횟수를 예측할 수 있습니다. 평균적으로 한 달에 3건의 사고가 발생하는 도로에서, 다음 달에 5건의 사고가 발생할 확률을 계산할 수 있습니다. 

 

확률은 특정 사건이 발생할 가능성을 수량화하며, 다양한 확률 분포는 실제 데이터를 모델링하는 데 사용됩니다. 정규 분포, 이항 분포, 포아송 분포 등 각 분포는 다양한 상황에서 유용하게 사용될 수 있습니다. 

 

선형 대수와 행렬 연산

선형 대수와 행렬 연산은 데이터 과학과 머신러닝의 기초를 이루는 중요한 수학적 도구입니다. 이 섹션에서는 선형 대수와 행렬의 기본 개념, 그리고 이를 데이터 과학에서 어떻게 활용하는지 살펴보겠습니다.

 

 

선형 대수 (Linear Algebra)

 

선형 대수는 벡터와 행렬을 다루는 수학의 한 분야입니다. 이는 여러 변수 간의 관계를 분석하는 데 사용되며, 많은 데이터 분석 기법의 기초가 됩니다.

 

벡터 (Vector)

 

벡터는 크기와 방향을 가지는 물리적 양입니다. 예를 들어, 2차원 벡터는 (x, y) 형태로 표현됩니다. 이는 좌표평면 상의 한 점을 나타내며, 데이터 분석에서 여러 특성을 하나의 데이터 포인트로 나타낼 때 유용합니다. 한 예로, 학생의 성적 데이터를 벡터로 나타낼 수 있습니다. 예를 들어, 수학과 과학 성적이 각각 85, 90인 학생의 성적 벡터는 (85, 90)입니다. 이미지 데이터를 벡터로 변환할 수 있습니다. 각 픽셀의 색상 값을 벡터의 요소로 표현하여, 이미지 전체를 하나의 벡터로 나타낼 수 있습니다.

 

행렬 (Matrix)

 

행렬(matrix)은 숫자를 행과 열로 배열한 것입니다. 행렬은 벡터를 여러 개 모은 형태로, 데이터 분석에서 여러 데이터를 한꺼번에 처리할 때 유용합니다. 예를 들어, 수학과 과학 성적을 가진 학생 3명의 데이터는 다음과 같은 3x2 행렬로 나타낼 수 있습니다.

 

$$ \begin{bmatrix} 85 & 90 \\ 78 & 85 \\ 92 & 88 \end{bmatrix} $$

 

행렬 연산 (Matrix Operations)

 

행렬 연산은 여러 가지가 있으며, 데이터 과학에서 자주 사용되는 연산으로는 행렬 덧셈, 행렬 곱셈, 전치 행렬 등이 있습니다.

 

행렬 덧셈 (Matrix Addition)

같은 크기의 행렬끼리 대응하는 요소를 더하는 연산입니다.

 

$$ \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix} $$

 

행렬 곱셈 (Matrix Multiplication)

두 행렬의 곱을 구하는 연산입니다. 이는 행렬의 행과 열을 통해 계산됩니다.  두 행렬 A와 B가 주어졌을 때, A의 각 행과 B의 각 열의 대응하는 요소들을 곱한 후 그 결과를 합하여 새로운 행렬 C를 생성하는 과정입니다. 이때, A의 열의 수와 B의 행의 수는 같아야 합니다. 행렬 곱셈의 결과로 나온 행렬 C의 크기는 A의 행의 수와 B의 열의 수를 가집니다. 데이터 분석에서는 행렬곱셈을 이용하여 복잡한 문제를 해결할 수 있습니다. 예를 들어, 데이터의 차원 축소, 이미지 처리, 신호 처리 등 다양한 분야에서 활용됩니다.

 

$$ \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \times \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 19 & 22 \\ 43 & 50 \end{bmatrix} $$

 

전치 행렬 (Transpose of a Matrix)

행과 열을 바꾸는 연산입니다. 예를 들어, 2x3 행렬의 전치는 3x2 행렬이 됩니다.이러한 전치는 데이터를 다른 시각에서 바라보게 하고, 데이터 분석가가 다양한 방식으로 정보를 해석할 수 있게 도와줍니다. 예를 들어, 고객 데이터가 있는 행렬에서 각 행이 고객을 나타내고, 각 열이 고객의 정보를 나타낼 때, 전치행렬을 사용하면 고객 정보가 행으로 바뀌어 각 정보별로 고객들을 쉽게 비교하고 분석할 수 있습니다. 또한, 통계적 방법이나 머신 러닝 알고리즘을 적용할 때 전치행렬을 활용하면 더 효율적인 계산이 가능해집니다.

 

전치행렬은 특히 상관관계나 주성분 분석(PCA) 같은 고급 분석 기법에서 빈번하게 사용됩니다. 이러한 분석 기법은 변수 간의 관계를 이해하거나, 데이터의 차원을 축소하는 데 도움을 줍니다. 전치행렬을 사용함으로써, 데이터의 구조를 변경하지 않고도 이러한 분석을 수행할 수 있으며, 데이터의 본질적인 특성을 유지할 수 있습니다. 따라서, 데이터 분석에서 전치행렬은 단순한 행렬 변환을 넘어서, 데이터를 보다 깊이 있게 이해하고, 유용한 인사이트를 도출하는 데 필수적인 도구입니다.

 

$$ \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix}^T = \begin{bmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{bmatrix} $$

 

데이터 과학에서의 활용

 

선형 대수와 행렬 연산은 데이터 과학에서 중요한 역할을 합니다. 머신러닝 알고리즘 중 많은 부분이 행렬 연산을 기반으로 동작합니다.

 

선형 회귀 (Linear Regression)

선형 회귀는 데이터 점들 사이의 관계를 직선으로 모델링하는 기법입니다. 예측 변수와 종속 변수 간의 관계를 분석하고, 이를 통해 미래의 값을 예측합니다. 두 변수 간의 선형적 관계를 찾아내어, 한 변수의 변화가 다른 변수에 어떤 영향을 미칠지를 예측하는 데 사용됩니다. 선형 회귀에서는 주로 행렬 곱셈을 사용하여 최적의 직선을 찾습니다.  

 

예를 들어, 부동산 시장에서는 주택의 크기, 위치, 방의 개수 등의 다양한 요소가 주택 가격에 영향을 미칩니다. 선형 회귀를 사용하면 이러한 요소들과 주택 가격 사이의 관계를 수치화하고, 새로운 데이터에 대한 가격을 예측할 수 있습니다. 이 과정에서 행렬 연산을 통해 최적의 회귀선을 찾습니다.

 

주성분 분석 (Principal Component Analysis, PCA)

PCA는 고차원 데이터를 저차원으로 변환하는 기법입니다. 이는 데이터의 주요 특성을 유지하면서 차원을 축소하여, 데이터 시각화 및 분석을 용이하게 합니다. PCA는 단순히 차원 축소뿐만 아니라, 데이터의 잡음 제거, 특징 추출, 데이터 압축 등 다양한 분야에서 응용됩니다. 금융 분야에서는 주식 시장의 주요 추세를 파악하거나, 생물정보학에서는 유전자 데이터의 중요한 패턴을 찾는 데 사용됩니다.

 

예를 들어, 고해상도의 이미지 데이터에 PCA를 적용하면, 각 이미지의 주요 특성을 나타내는 저차원의 특징 벡터를 추출할 수 있습니다. 이러한 특징 벡터는 얼굴 인식과 같은 알고리즘에서 중요한 역할을 합니다. 얼굴 인식 알고리즘은 이 특징 벡터를 사용하여 다양한 얼굴 이미지를 비교하고, 개인을 식별합니다. PCA를 통해 추출된 특징 벡터는 원본 이미지의 크기보다 훨씬 작기 때문에, 알고리즘의 계산 부담을 줄이고, 인식 속도를 높일 수 있습니다. 


요약

 

기초 통계와 수학은 머신러닝을 이해하는 데 필수적입니다. 평균, 분산, 표준편차와 같은 기본 통계 개념은 데이터의 중심 경향과 변동성을 파악하는 데 중요합니다. 확률과 분포는 불확실한 상황에서 결과를 예측하는 도구로, 정규 분포, 이항 분포, 포아송 분포 등의 다양한 유형이 있습니다. 선형 대수와 행렬 연산은 머신러닝의 기초를 이루며, 벡터와 행렬을 다루는 선형 대수는 데이터 분석에 필수적인 역할을 합니다. 이러한 기초 개념들을 이해하면, 복잡한 데이터 분석 및 머신러닝 알고리즘을 효과적으로 적용할 수 있습니다.

 

2024.06.30 - [Big Data & ML] - 머신 러닝 기초: 지도 학습, 비지도 학습, 강화 학습 및 주요 용어

 

머신 러닝 기초: 지도 학습, 비지도 학습, 강화 학습 및 주요 용어

머신 러닝은 인공지능의 핵심 분야로, 데이터를 기반으로 한 학습 알고리즘을 통해 컴퓨터가 스스로 패턴을 인식하고 결정을 내리는 기술입니다. 이 글에서는 머신 러닝의 지도 학습, 비지도 학

it-learner.tistory.com

 

 

2024.07.01 - [Machine Learning] - 데이터 전처리의 중요성과 방법

 

데이터 전처리의 중요성과 방법

데이터 전처리는 데이터 분석과 머신러닝 모델의 성능을 크게 좌우하는 중요한 과정입니다. 이번 글에서는 데이터 정제, 데이터 변환(스케일링, 정규화 등), 그리고 결측값 처리 및 데이터 증강

it-learner.tistory.com