Datascience

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 10장 일반 선형 모델 및 최소제곱법

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 10장 일반 선형 모델 및 최소제곱법: 우주를 이해하기 위한 방법 우주를 이해하는 방법: 수학적인 근거를 바탕으로 이론을 개발하고, 데이터를 수직해 그 이론을 검증하고 개선함 통계적 모델: 일반적인 수학적 모델과 달리, 데이터에 적합시키는 자유 매개변수가 존재 ▶ 모델을 데이터에 적합해서 자유 매개변수를 찾는 것 = 선형대수학적 문제 일반 선형 모델 - 통계 모델은 예측 변수(독립변수 independent variable)를 관측값(종속변수 dependent variable)과 연관시키는 방정식의 집합 용어 선형대수학 통계 설명 $Ax=b$ $X \beta = y$ 일반 선형 모델(GLM) $A$ ..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 9장 행 축소와 LU 분해

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 9장 행 축소와 LU 분해: 선형대수학의 핵심 분해법 2 연립방정식 LU 분해와 그 응용을 위해서는 행 축소와 가우스 소거법을 이해해야함. 우선 행축소(row reduction) - 행렬로 나타낸 연립방정식 풀이법 - 행 축소의 목표는 밀집 행렬을 상삼각 행렬로 변환하는 것 가우스 소거법 - 역행렬을 ㅜ구하지 않고 행렬 방정식을 풀 수 있는 방법 -> 행연산을 이용하는 가우스 소거법 LU 분해(LU Decomposition) LU는 하삼각, 상삼각에서와 같이 아래(Lower), 위(Upper) 방향을 의미함 ▶ 즉 행렬을 두 개의 삼각 행렬의 곱으로 분해 $$\begin{bmatrix}2 & 2 &..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 직교 행렬과 QR 분해

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 8장 직교 행렬과 QR 분해: 선형대수학의 핵심 분해법 1 직교 행렬(orthogonal matrix) 직교 행렬은 두 가지 속성을 가진다. 직교 열: 행렬의 모든 열은 서로 직교합니다. 단위 노름 열: 각 열의 노름(기하학적 길이)은 정확히 1이다. $$q_i\cdot q_j = \left\{\begin{matrix}0, \textrm{if} \ i\neq j\\ 1, \textrm{if} \ i= j\end{matrix}\right.$$ (직교 행렬 Q의 열q에 대해, 모든 열은 자기자신과의 내적은 1이고, 다른열과의 내적은 0이다) 위 식은 직교행렬의 원소들에 대하여, 수많은 내적의 결과가 0..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 역행렬

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 7장 역행렬: 행렬 방정식의 만능 키 역행렬 행렬 A의 역행렬은 A와 곱해서 단위행렬을 만드는 행렬 $A^{-1}$임 이는 행렬을 단위 행렬로 선현 변환하는 것, 즉, 역행렬은 선형 변환을 포함하며 행렬곱셈은 이 변환을 적용하는 매커니즘 $$Ax=b$$ $$A^{-1}Ax=A^{-1}b$$ $$Ix=A^{-1}b$$ $$x=A^{-1}b$$ (역행렬을 통한 행렬 방정식의 풀이) 역행렬의 유형과 가역성의 조건 - 가역성에 대한 조건이 다른 세 가지 종류의 역행렬이 있음 1. 완전 역행렬 $A^{-1}A=AA^{-1}=I$를 의미함. 행렬이 완전 역행렬을 가지기 위해서는 다음 조건을 만족해야함 정방행렬..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 행렬 응용: 데이터 분석에서의 행렬

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 6장 행렬 응용: 데이터 분석에서의 행렬 ㅇ 다변량 데이터 공분산 행렬 피어슨 상관계수: 두 변수의 상관관계를 나타내는 숫자 (두 변수 벡터 사이의 내적을 두 벡터 노름의 곱으로 나누어 구함) ▶ 변수가 세 개 이상이라면? 다변량 데이터 집합에서는? 공분산(Covariance): 두 평균중심화된 변수 사이의 내적 공분산은 데이터 크기가 반영됨(절댓값이 1으로 한정x) 정규화 인자로 n-1(n: 데이터 점의 크기)을 사용 정규화 인자 n-1으로 나눔으로써 많은 데이터값을 합할 때마다 공분산이 커지는 것을 방지할 수 있음 (합에서 평균을 구하기 위해 N으로 나누는 것과 유사) $$ C_{a,b} = (..

Datascience/Linear Algebra

[개발자를 위한 선형대수학] 행렬의 확장 개념(2)

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 5장 행렬, 파트 2 : 행렬의 확장 개념 계수의 응용 벡터가 열공간에 존재하나요? 벡터가 행렬의 열공간에 있는지 여부는 선형대수학에서 중요한 부분이다. → "행렬 계수를 이해해야 확장 가능한 방식으로 이 부분에 대한 답을 찾을 수 있다." 행렬의 확장(augmenting) (첨가행렬) - 행렬의 우측에 열을 추가한다 https://en.wikipedia.org/wiki/Augmented_matrix Augmented matrix - Wikipedia From Wikipedia, the free encyclopedia Matrix formed by appending columns of two oth..

Datascience/Linear Algebra

1장 연습문제

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 1장 벡터, 파트 1 : 벡터와 벡터의 기본 연산 연습문제 연습문제 1-2 아래 식을 코드로 변환해서 벡터 노름을 계산하는 알고리즘을 작성합니다. 차원과 방향이 다른 난수 벡터를 사용해서 np.linalg.norm과 동일한 결과를 얻는지 확인합니다. vec = np.array(np.random.randn(5)) def norm_Vec(vec): len_vec = len(vec) a = 0 for i in np.arange(len_vec): a = a + vec[i]**2 norm = a**0.5 return norm vec #array([-0.08695681, -0.17306018, 1.169684..

Datascience/Linear Algebra

[개발자를 위한 실전 선형대수학] 행렬의 확장 개념(1)

개발자를 위한 실전 선형대수학(Practical Linear Algebra for Data Science) 5장 행렬, 파트 2 : 행렬의 확장 개념 행렬 노름 - 벡터 노름: 유클리드 기하학적 길이로 벡터 원소의 제곱합의 제곱근으로 계산됨. Q. 행렬의 노름은 어떤 개념인가? A. 행렬을 특정짓는 하나의 숫자라는 점에서 벡터 노름과 유사하다. 하지만 단 하나의 행렬 노름은 없어, 여러 개의 서로 다른 노름을 가진다. 각 행렬 노름은 서로 다른 의미를 가진다. 수많은 행렬 노름은 크게 원소별 계열과 유도 계열로 구분된다. 유클리드 노름/프로베니우스 노름(Frobenius Norm) - 원소별 계열의 노름으로, 모든 행렬 원소의 제곱합의 제곱근으로 계산됨 프로베니우스 노름은 l2 노름이라고 한다. (l2 ..

hchanryu
'Datascience' 카테고리의 글 목록