개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science)
10장 일반 선형 모델 및 최소제곱법: 우주를 이해하기 위한 방법
우주를 이해하는 방법: 수학적인 근거를 바탕으로 이론을 개발하고, 데이터를 수직해 그 이론을 검증하고 개선함
통계적 모델: 일반적인 수학적 모델과 달리, 데이터에 적합시키는 자유 매개변수가 존재
▶ 모델을 데이터에 적합해서 자유 매개변수를 찾는 것 = 선형대수학적 문제
일반 선형 모델
- 통계 모델은 예측 변수(독립변수 independent variable)를 관측값(종속변수 dependent variable)과 연관시키는 방정식의 집합
용어
선형대수학 | 통계 | 설명 |
$Ax=b$ | $X \beta = y$ | 일반 선형 모델(GLM) |
$A$ | $X$ | 설계 행렬(열 = 독립변수, 예측변수, 회귀변수) |
$x$ | $\beta$ | 회귀계수 또는 베타 매개변수 |
$b$ | $y$ | 종속변수, 결과 측정값, 데이터 |
GLM을 구축하는 과정
- 독립변수와 종속변수를 연관시키는 방정식 정의
- 관찰된 데이터를 방정식에 대입
- 일련의 방정식을 행렬 방정식으로 변환
- 해당 방정식을 해결
GLM의 풀이
미지 계수 $\beta$ 벡터를 구하려면, 방정식의 양번에 설계행렬의 왼쪽 역행렬을 곱함.
$$X\beta = y$$
$$ (X^TX)^{-1}XX^T\beta=(X^{T}X)^{-1}X^{T}y$$
$$ \beta=(X^{T}X)^{-1}X^{T}y$$
최소제곱법(least square solution)
$$\beta = (X^TX)^{-1}X^Ty$$
X_leftinv = np.linalg.inv(X.T@X)@X.T
#미지계수를 구한다
beta = X_leftinv@y
최소제곱법
예측된 데이터와 관측된 데이터 간의 제곱 오차에 대한 계산
예측된 $i$번째 데이터 점마다 오차 항이 있으며, 이를 $\epsilon_i=X_i \beta-y_i$ 로 정의함
설계 행렬의 독립변수를 결합할 때, 모든 오차를 하나의 벡터에 담을 수 있음.
$$\epsilon=X\beta-y$$
오차의 제곱합을 최소화하는 찾는다.
$$||\epsilon||^2=||X\beta-y || ^2$$
$$\begin{align} 0 = \frac{d}{d\beta}||X\beta - y||^2 & = 2X^T(X\beta-y)\end{align}$$
$$0=X^TX\beta - X^Ty$$
$$X^TX \beta = X^Ty$$
$$\beta = (X^TX)^{-1}X^Ty$$
QR 분해를 통한 최소제곱법
$$X\beta = y$$
$$QR\beta = y$$
$$R\beta = Q^Ty$
$$\beta = R^{-1}Q^Ty$$
'Datascience > Linear Algebra' 카테고리의 다른 글
[개발자를 위한 실전 선형대수학] 9장 행 축소와 LU 분해 (0) | 2024.01.28 |
---|---|
[개발자를 위한 실전 선형대수학] 직교 행렬과 QR 분해 (0) | 2024.01.27 |
[개발자를 위한 실전 선형대수학] 역행렬 (0) | 2024.01.27 |
[개발자를 위한 실전 선형대수학] 행렬 응용: 데이터 분석에서의 행렬 (0) | 2024.01.25 |
[개발자를 위한 선형대수학] 행렬의 확장 개념(2) (0) | 2024.01.24 |