
AI 대학원 입학을 앞둔 상황에서
필요한 기본 공통 기초 역량은 수학, AI기초, 프로젝트로 나누어 생각하였습니다.
그것들의 키워드를 보면서 개인적으로 정리한 내용입니다.
완벽하게 bottom-up 방식으로 모든 강의를 하나하나씩 듣기보다는,
필요한 부분이 나올때마다 조금씩 영역을 확장해나가며 반복하는 방법으로 공부를 하고 있습니다.
따라서 부족한 부분도 있으나 계속해서 반복해서 보면서 여러 세부 이론들을 합쳐나가는 것을 목표로 하고 있습니다.
키워드를 보고 먼저 스스로 생각해여 답을 해보는 것이 좋겠습니다.
아래의 키워드에 대해
정의, 특징, 장단점, 작동원리, 알고리즘 예시, 그것끼리의 비교 대조, 단점의 해결방법, 어디에 쓰는지, 왜 쓰는지 등등에 대해 생각해보세요.
1. 수학 : 선형대수학, 수리통계학
1. 일차결합, 일차종속, 일차독립 (=선형결합, 선형종속, 선형독립)
- 선형결합(Linear combination) : 벡터공간을 정의하는 두 연산인 덧셈과 스칼라 곱을 동시에 사용하여 만든 벡터들의 결합. 즉, 벡터들을 상수배해서 더한것임. 왜 중요한가? ⇒ 스칼라가 임의의 숫자가 됨. 따라서 주어진 부분집합에 속한 몇개의 벡터를 가지고 이리저리 늘리거나 줄여서 더해서 수많은 벡터를 만들 수 있음. 즉 어떤 도형을 그린다거나 공간 자체를 형성할 수 있음 ⇒ 생성(span)
- 일차독립, 일차종속 https://gosamy.tistory.com/46 일차종속인 두 벡터로는 직선밖에 만들지 못함. 일차독립인 두 벡터가 있어야 이를 스칼라배 해서 2차원의 평면이 만들어짐. 일차종속이라는 말은, 여러 벡터들이 결국 한 벡터의 스칼라배로 되어있다는 거랑 같음.
2. basis, vector spaces, subspaces, dimension, rank, span, dimension, 사영(projection)
- 기저(basis) : 벡터 공간을 생성하는 선형독립인 벡터들
- 벡터공간(vector spaces) : 기저 벡터로 생성 가능한 공간
- 부분공간(subspaces) : 이름 그대로 전체 공간의 일 부분을 의미. 예를 들어 기저벡터 3개로 만들수 있는 공간을 전체 벡터공간이라고 하며, 기저 벡터 3개 중 2개나 1개만 사용해서 만들 수 있는 공간이 부분공간임.
- 차원(dimension) : 기저 벡터의 갯수. 즉 10차원 공간을 구성하려면 10개의 기저벡터가 필요.
- rank(랭크) : 행렬의 일차독립인 행 or 열의 최대 개수. = 행렬의 열벡터들에 의해 생성된 벡터공간의 차원. ⇒ 한 행렬의 여러가지 특성을 보여줌. 행렬의 랭크를 알면 행과 열의 독립성, 행공간의 차원, 차원정리, 가역성, 기본 행 연산 등 내용을 파악 가능. 위키백과 정의 - In linear algebra, the rank of a matrix A is the dimension of the vector space generated (or spanned) by its columns.
- 사영(projection) : 내적과 관련 깊음.
3. symmetric, orthogonal, transpose, diagonal matrix
- Symmetric matrix(대칭행렬) : 정방행렬의 일종으로, 해당 행렬의 전치행렬과 자기 자신이 같은 행렬이다. Symmetric matrix의 eigenvalue는 항상 실수이다.
추가로 skew-symetric matrix(반대칭행렬)는 A의 transpose = -A인 행렬을 말한다. - Orthogonal matrix(직교행렬) : A.traspose = A의 역행렬.
- Diagonal matrix(대각행렬) : 대각선 성분 이외의 모든 성분이 0인 정사각 행렬.
4. linear transformation(선형변환)
쉽게 말하면, 벡터에 어떠한 연산을 가해 새로운 벡터를 만드는 함수. 같은 사물도 어느 각도에서 보느냐에 따라 다르게 보일 수 있듯이 행렬을 바라보는 새로운 각도 일 수 있음. (2,1)이라는 좌표는 (1,0),(0,1)을 기저로 생성된 좌표. 만약 (2,0),(0,1)이라는 기저였다면 이 좌표는 (1,1)로 표기될것임.
입력을 행렬쪽으로 보느냐 아니면 열벡터로 보느냐에 따라 아래와 같이 2가지 관점으로 생각 가능.
- 두 열벡터 [1,3] [2,4]의 선형 결합으로 볼 수 있음.
- 열벡터 [a,c]를 입력으로 보면, 행렬 자체가 열벡터에 대한 함수로 볼 수 있음.
5. 역행렬, determinant
- Inverse matrix : 어떤 행렬 와 곱했을 때 곱셈에 대한 항등원인 단위행렬(unit matrix) 또는 항등행렬(identity matrix) I 또는 E가 나오는 행렬.(E는 고등학교 과정에서 쓰이고 I가 대학과정에서 쓰임) 선형방적식을 풀때 활용.
- determinant(행렬식) : 행렬식(determinant)은 딱히 정의(definition)가 없다. 그냥 어떤 특별한 계산식에 따라 행렬의 원소들을 대입하여 얻은 결과값(수치)을 지칭한다 (즉, 행렬에 대해 계산되는 하나의 숫자값이다). 다만 그 결과값이 그 행렬의 특성을 결정짓는 중요한 값이기에 determinant라 부른다. 기호 : det(A), D(A), |A|
특히 ‘고유값’ 때문에 행렬식이 중요하다 행렬 A에 대해, det(A) = 0 이면 행렬A는 역행렬을 갖지 않는다. 반대로 det(A) = 0 이면 A의 역행렬이 존재한다.
특징1. det(I) = 1 : 단위 행렬(Identity matrix)의 determinant는 1이다.
특징2. Exchange rows : 행렬의 어떤 row를 다른 row와 바꾸면 determinant의 부호가 바뀐다.
특징3.1 임의의 정방행렬 A에서 하나의 row에 t라는 scale 상수를 곱한 다음 determinant를 계산하면, A의 determinant에 t라는 상수를 곱한 것과 같다.
특징3.2 임의의 row에 어떤 벡터를 더했을 때의 det는, 더한 row를 따로 분리하여 det 계산할 수 있다.
그 외 여러 특징들: https://twlab.tistory.com/40
[Linear Algebra] Lecture 18 행렬식의 특성(Properties of Determinants)
지금까지 우리는 임의의 직사각행렬(Rectangular Matrix)에 집중해 왔다. 이번 챕터부터는 주로 정방행렬(Square Matrix)에 관련된 내용들을 다룰 것이다. 이번 시간과 다음에 이어질 강의에서는 정방행
twlab.tistory.com
6. eigenvalue, eigenvector, eigen decomposition, SVD, PCA란?
- eigenvalue, eigenvector는 SVD(특이값분해), 선형연립방정식 풀이, PCA(주성분분석)등의 밑바탕에 깔려있는 개념임. 행렬 A를 선형변환으로 봤을 때, 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터를 고유벡터라고 하고, 이 상수배 값을 고유값이라 한다.
Av = λ v
값 구하기 : 고유값 정의에 의해서 (A - λ I) v = 0입니다. (A - λ I)의 역행렬이 존재하면 v = 0이 됩니다. 하지만 정의에서 열 벡터 v는 0이 아니라고 했기 때문에 (A - λ I)는 역행렬이 존재하지 않습니다. (A - λ I)의 역행렬이 존재하지 않으려면, det(A - λ I) = 0이어야 합니다.
따라서 det(A - λ I) = 0을 구하면 고유값과 고유 벡터를 구할 수 있습니다. det는 행렬식인데 이는 간단한 개념이니 모르시는 분은 구글링을 하시면 됩니다.
기하학적으로 봤을때, 고유벡터는 선형변환에 의해 방향은 보존되고 scale만 변화됩니다.
- eigendecomposition(고유값 분해) : 고유값과 고유벡터로부터 유도되는 고유값 행렬과 고유벡터 행렬에 의해 분해될수있는 행렬의 표현. 즉 행렬 A를 분해 가능한데, 자신의 고유벡터들을 열벡터로 하는 행렬과 고유값을 대각원소로 하는 행렬의 곱으로 대각화 분해가 가능. 행렬 A의 고유 벡터들을 열 벡터로 하는 행렬을 P, 고유값을 대각 원소로 가지는 대각 행렬을 (V거꾸로 생긴 모양) 이라 하면 다음 식이 성립함.
- SVD(Singular Value Decomposition : 특이값 분해) 앞서 설명한 eigendecomposition은 대각행렬이 사용되기에 A가 m*m 행렬이어야지 대각화가 가능했음. 특이값분해는 행렬의 크기 상관 없이 대각화가 가능. 공돌이의 수학정리노트(25분) https://youtu.be/cq5qlYtnLoY
- PCA(Principal Component Analysis.주성분분석) : 분포된 데이터들의 주성분을 찾아주는 방법으로, 데이터의 분포 특성을 2개의 벡터로 가장 잘 설명하는 방법은, e1, e2두개의 벡터로 데이터 분포를 설명하는 것이다. 즉 주성분은 데이터들의 분산이 가장 큰 방향벡터를 의미한다.
7. orthonormal & orthogonal basis개념, 구하는 법 등(gram-schmidt process)
- orthonormal : 서로 직각을 이뤄서 orthogonal하고 normalized 되어서 크기가 1인 벡터를 의미.
우리는 같은 공간 안에서 벡터를 표현하고 싶을 때, basis의 linear combination으로 표현하면 되는 것도 알고 있다. 여기서 linear combination은 basis인 벡터와 어떠한 상수의 곱으로 이루어지는 것도 알고 있을 것이다. Basis가 주어지는 상황이나 그렇지 않더라도 앞에서 공간의 특성에 따라 basis를 찾는 방법을 배워서 알고 있을 것이다. 그렇다면 상수배를 하기 위한 c값들은 어떻게 결정해야 하는 것일까? 만약에 basis들이 수직이라면 c를 구하는 것은 쉽다.
위와 같이 구하고 싶은 상수와 곱해지는 basis를 모든 basis와 곱하면, 나머지 항은 수직이기 때문에 0이 될 것이다. 그러면 상수값들을 쉽게 구할 수 있다. 하지만 일반적으로 basis들이 전부 수직이라고 생각하기는 어렵다. 그래서 지금부터는 수직에 대해서 좀 더 다양한 이야기를 하고 최종적으로는 basis들을 서로 수직하게 바꾸는 일종의 작업을 해줄 것이다.
https://velog.io/@claude_ssim/선형대수-Orthogonal-Vectors-and-Subspaces
[선형대수] Orthogonal Vectors and Subspaces
지금부터는 n차원의 벡터 v를 열벡터로 간주할 것이다. 그래서 그냥 v를 사용한다면, column인 것으로 생각하면 되고 여기에 transpose 기호인 T를 붙인다면, 행벡터로 간주하면 된다. 그리고 우리는
velog.io
- 그람슈미트 과정(Gram-Schmidt process) : 임의의 부분공간(subspace)이 있을 때 그 subspace를 이루는 직교 기저(orthogonal basis)를 찾는 것
'AI' 카테고리의 다른 글
| AI 세부 분야별 최신 trend 및 논문 찾는 방법 (0) | 2023.06.06 |
|---|---|
| Kernel Density Estimation을 이용한 Anomaly Detection (0) | 2023.06.04 |
| bootstrap 부트스트랩이란? 어원 및 통계적 의미 (0) | 2023.05.29 |
| Analytical Solution(분석적) vs Numerical Solution(수치적) in ML (0) | 2023.05.27 |
| 활성화 함수 Activation Function (사람 팔 그림) (0) | 2023.05.20 |