데이터 사이언스 스쿨의 내용을 토대로 수정 및 보완했습니다. 2.1 데이터와 행렬 이 두 가지 패키지가 임포트되어 있어야 한다. 데이터의 유형 선형대수에서 다루는 데이터는 개수나 형태에 따라 크게 스칼라(scalar), 벡터(vector), 행렬(matrix), 텐서(tensor) 유형으로 나뉜다. 스칼라는 숫자 하나로 이루어진 데이터이고, 벡터...
2.2 벡터와 행렬의 연산 벡터/행렬의 덧셈과 뺄셈 같은 크기를 가진 두 개의 벡터나 행렬은 덧셈과 뺄셈을 할 수 있다. 두 벡터와 행렬에서 같은 위치에 있는 원소끼리 덧셈과 뺄셈을 하면 된다. 이러한 연산을 요소별(element-wise) 연산이라고 한다. 예를 들어 벡터 $x$와 $y$가 다음과 같으면, $$ x= \begin{bmatrix} ...
2.3 행렬의 성질 행렬은 여러 개의 숫자로 이루어져 있으므로 실수처럼 부호나 크기를 정의하기 어렵다. 하지만 부호/크기와 유사한 개념은 정의할 수 있다. 여기에서는 이러한 개념을 살펴본다. 정부호와 준정부호 영 벡터가 아닌 모든 벡터 $x$에 대해 다음 부등식이 성립하면 행렬 $A$가 양의 정부호(positive definite) 라고 한다. $...
데이터 사이언스 스쿨의 내용을 토대로 수정 및 보완했습니다. 2.4 선형 연립방정식과 역행렬 선형 연립방정식 $x1, x2, \cdots, x_M$ 이라는 $M$ 개의 미지수를 가지는 $N$개의 선형 연립방정식은 일반적으로 다음과 같은 형태가 된다. 이 식에서 $a$와 $b$는 방정식의 계수다. $$ \begin{matrix} a{11} x1 &...
데이터 사이언스 스쿨 에서 공부한 내용입니다. 3.1 선형대수와 해석기하의 기초 선형대수는 숫자 데이터의 계산에만 사용되는 것이 아니다. 직선과 화살표, 이미지 등을 다루는 기하학에서도 선형대수는 중요한 역할을 한다. 이 절에서는 선형대수를 기하학에서 어떻게 응용하고 선형대수의 연산이 기하학적으로 어떤 의미를 가지는지 알아본다. 벡터의 기하학적 의미...
데이터 사이언스 스쿨 에서 공부한 내용입니다. 3.2 좌표와 변환 이 절에서는 공간상에서 좌표를 정의하기 위해 필요한 개념을 살펴본다. 우선 벡터의 선형독립과 랭크의 개념을 알아보고 기저벡터와 좌표변환이 선형대수와 어떻게 연관이 있는지 공부한다. 좌표변환은 이미지 처리 작업뿐 아니라 다변수 확률변수를 분석하는데도 사용된다. 선형종속과 선형독립 벡...
데이터 사이언스 스쿨 에서 공부한 내용입니다. 3.3 eigenvalue decomposition 고윳값과 고유벡터 $$ Av = \lambda v \tag{3.3.1} $$ $$ Av - \lambda v = (A - \lambda I) v = 0 \tag{3.3.2} $$ 정방 행렬 $A$에 대해 영벡터가 아닌 벡터 $v$, 실수 $\...
데이터 사이언스 스쿨 에서 공부한 내용입니다. 3.4 특잇값 분해 정방행렬은 고유분해로 고윳값과 고유벡터를 찾을 수 있었다. 정방행렬이 아닌 행렬은 고유분해가 불가능하다. 하지만 대신 고유분해와 비슷한 특이분해를 할 수 있다. 특잇값과 특이벡터 $N \times M$ 크기의 행렬 $A$를 다음과 같은 3개의 행렬의 곱으로 나타내는 것을 특이분해(sing...
대각화 $N$ 차원의 정방 행렬 $A$가 $N$개의 복소수 고윳값과 이에 대응하는 고유벡터를 가진다는 성질을 이용하면 다음처럼 행렬을 분해할 수 있다. 행렬 $A$의 고윳값과 이에 대응하는 단위벡터인 고유벡터를 각각 $$ \lambda1, \lambda2, \cdots, \lambdaN \;\;\; v1, v2, \cdots, vN \tag{3....
데이터 사이언스 스쿨 에서 공부한 내용입니다. 3.5 PCA $N$개의 $M$차원 데이터가 있으면 보통 그 데이터들은 서로 다른 값을 가진다. 하지만 이러한 데이터 간의 변이(variation)는 무작위가 아니라 특정한 규칙에 의해 만들어지는 경우가 있다. 예를 들어 붓꽃의 꽃받침 길이는 꽃마다 다르지만 꽃받침 길이가 약 2배 커지면 꽃받침 폭도 약 2배...
사이킷런의 PCA 기능 사이킷런의 decomposition 서브패키지는 PCA 분석을 위한 PCA 클래스를 제공한다. 사용법은 다음과 같다. 입력 인수: n_components : 정수 메서드: fit_transform() : 특징행렬을 낮은 차원의 근사행렬로 변환 inverse_transform() : 변환된 근사행렬을 원래의 차원으로...
이미지 PCA 이번에는 사람의 얼굴 데이터를 PCA로 분석하자. 올리베티 얼굴 사진 중 특정 인물의 사진 10장을 데이터로 사용한다. 이 사진을 주성분이 2개인 PCA 분석을 하면 결과는 다음과 같다. 다음은 주성분 분석으로 근사화한 이미지를 표시한 것이다. 이 얼굴들은 모두 평균값과 2개의 주성분 얼굴의 각기 다른 선형조합이다. 평균값과 2개의 ...