왜 선형대수를 알아야 하는가?
Deep learning을 이해하기 위해서 반드시 선형대수 + 행렬미분 + 확률의 탄탄한 기초가 필요하다.
이렇게 핵심 아이디어가 행렬에 관한 식으로 표현되는 경우가 많다.
목표: 선형대수와 행렬미분의 기초를 배우고 간단한 머신러닝 알고리즘(PCA)을 유도해보자
기본 표기법
- m개의 행과 n개의 열을 가진 행렬을 의미한다.
- $x \in \mathbb{R}^{n}$ 는 n개의 원소를 가진 벡터를 의미한다. n차원 벡터는 n개의 행과 1개의 열을 가진 행렬로 생각할수도 있다. 이것을 열벡터(column vector)로 부르기도 한다. 만약 명시적으로 행벡터(row vector)를 표현하고자 한다면, $x^{T}$ (T는 transpose)로 쓴다.
- numpy로 dimension 추가하기
- column vector, row vector 엑세스 하기
행렬의 곱셈(Matrix Multiplication)
- 벡터 x 벡터
- 행렬 x 벡터
- 행렬 x 행렬
- 벡터 x 벡터
- 두개의 벡터 $x, y \in \mathbb{R}^{n}$이 주어졌을 때 내적(inner product 또는 dot product) $x^{T}y$는 다음과 같이 정의된다.
- 벡터의 외적
- 행렬 x 벡터(Matrix-Vector Products)
- 행렬 $A \in \mathbb{R}^{mxn}$와 벡터 $x \in \mathbb{R}^{n}$의 곱은 벡터 $y = Ax \in \mathbb{R}^{m}$이다. 이 곱을 몇가지 측면에서 바라볼 수 있다.
https://jimmy-ai.tistory.com/104
- 등호 왼쪽이 열벡터로 표현되어 있을때, 그리고 등호 오른쪽이 행벡터로 표시되어 있을때 각 벡터의 합으로 표현될수 있음을 기억하자!
- 행렬 x 행렬(Matrix-Matrix Products)
중요 연산과 성질들(Operations and Properties)
- 정방(Square), 삼각(triangular), 대각(diagonal), 단위(identity) 행렬들
- 정방행렬(square matrix): 행과 열의 개수가 동일
- 상삼각행렬(upper triangular matrix): 정방행렬이며 주대각선 아래 원소가 모두 0
- 하삼각행렬(lower triangular matrix): 정방행렬이며 주대각선 위 원소들이 모두 0
- 대각행렬(diagonal matrix): 정방행렬이며 주대각선 제외 모든 원소가 0
- numpy diag함수
- 단위행렬(identity matrix): 대각행렬이며 주대각선 원소들이 모두 1, I로 표시한다.
- numpy eye 함수
전치(Transpose)
대칭 행렬(Symmetric Matrics)
대각합(Trace)
벡터의 Norm(Norms)
'프로그래머스 AI 데브코스 5기 > Machine Learning' 카테고리의 다른 글
Machine Learning 기초 - Linear Algebra, Matrix Calculus - 3(꼭 복습하기, 직접 손으로 증명해보기) (0) | 2023.04.20 |
---|---|
Linear Algebra, Matrix Calculus-2(이 부분은 복습 꼭 하기) (0) | 2023.04.19 |
End-to-End 머신러닝 프로젝트 - 2 (2) | 2023.04.19 |
End-to-End 머신러닝 프로젝트 (0) | 2023.04.18 |
기계학습 III (0) | 2023.04.16 |