일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 밑바닥부터 시작하는 딥러닝
- 선형대수학
- 역행렬
- SVD
- 판다스
- 신경망 학습
- PPMI
- Python
- 딥러닝
- Linear Algebra
- one-hot vector
- sigmoid
- ReLU
- 자연어처리
- word embedding
- 프로그래머를 위한 선형대수
- 데이터프레임
- 밑바닥부터 시작하는 딥러닝2 2장
- 연립일차방정식
- RNN
- NMT
- DataFrame
- NLP
- 동시발생 행렬
- pandas
- 벡터간 유사도
- word2vec
- Transformer
- machine translation
- 정칙행렬
- Today
- Total
목록선형대수학 (12)
생각하는감자

Eigendecomposition Eigendecomposition 한다는 것은 결국 고윳값(eigenvalue)과 고유벡터(eigenvector)를 구한다는 것과 같은 의미이다. 만약 A가 대각화가 능하다면 아래와 같이 적을 수 있다. 이것을 우리는 A의 eigendecomposition이라고 부른다. 즉, A가 대각화가능하다는 것은 A가 eigendecomposition을 가진다는 것과 같은 의미이다. SVD(특이값분해 / Singular Value Decomposition) 간단히 말해서 SVD라는 것은 m X n 행렬인 A가 아래와 같은 형태로 분해되는 것이다. A를 3가지 형태의 행렬로 분해하는 것인데 앞서 언급한 eigendecomposition 과는 차이점이 있다. eigendecomposi..

요르단 표준형 대각화가 불가능한 정방행렬 A라도 대각에 가까운 요르단 표준형이라면 변환할 수 있다. A를 요르단표준형으로 변환한다는 것인데, 요르단 표준형은 아래와 같은 모양이다. 블록정방행렬이고, 대각블록 이외에는 모두 0이다. 대각블록은 대각 성분에 같은 수가 나열되어 있으며, 하나 오른쪽 위에는 1이 비스듬히 늘어서있는 특징을 가지고 있다. 요르단 표준형의 성질 요르단 표준형의 주요 장점은 고윳값과 고유벡터의 모양이 보인다는 것과 거듭제곱을 구체적으로 계산할 수 있다는 것이다. 요르단 표준형에서 대각성분 = 고윳값 대각성분의 개수 = 대수적 중복도(고윳값이 몇 중해인지) 요르단 셀의 개수가 고윳값에 선형독립인 고유벡터 개수에 대응(기하적 중복도) *고윳값에 중해가 없을 경우에는 대각화가 가능하다. ..

대각화 아래와 같은 행렬 C가 있을 때, 일반화하면 다음과 같다. 정칙행렬 C를 사용하여 x(t)를 다른 변수인 y(t) = Cx(t)로 변환한다. x(t) 식으로 주어진 차분방정식으로 y(t) 식으로 다시 작성하고, 고쳐 쓴 식이 "대각행렬"의 경우가 되어 간단히 풀리게 된다. 풀어서 얻은 y(t)를 x(t)로 되돌리면 답이 된다. C가 정칙행렬이 아니라면 x와 y가 일대일대응이 되어주지 않기 때문에 x와 y를 자유자재로 오고 갈 수 없게 된다. 즉, y(t)를 구하고 x(t)로 되돌리는 것인데, "대응하는 x(t)가 없다"거나, "대응하는 x(t)가 아주 많"아질 수 있게 되므로 일대일대응이 보장되도록 C를 정칙행렬로 해야 한다. 정리해 보자면 아래와 같다. 고윳값, 고유벡터 고유벡터의 기하학적 의미..

먼저, 벡터와 행렬의 연산은 for루프를 돌려 성분마다 조작하는 것이 기본이다. 행렬과 벡터의 곱을 구현하면 이중루프가 되고, 행렬끼리의 곱을 구현하면 삼중루프가 된다. 사용하는 프로그래밍언어마다 적절한 패키지가 존재하므로 이를 사용하면 된다. LU분해 컴퓨터로 수치계산을 할 때에는 LU분해가 기본 부품으로 사용되는데, 처음에 시간을 들여 분해해 두면, 나중에 여기저기 편해지기 때문이라고 생각하면 된다. L과 U의 형태를 이용하여 행렬식을 구하거나 일차방정식을 푸는 등의 계산을 적은 계산양으로 수행할 수 있게 된다. L은 하삼각행렬이고, U는 상삼각행렬을 나타내며, 하나의 행렬을 L과 U의 곱으로 나타내는 것을 LU 분해라고 한다. 위와 같은 형태가 만들어질 수 있도록 ■ 의 값을 잘 채워주는 것이다. ..

역행렬이 존재하기 위한 조건 (정방행렬) 납작하게 눌리는가 행렬 A가 n차 정방행렬일 때, "납작하게 눌리지 않는다"는 "Ker A가 0차원이다"와 같은 말이며, "Ker A가 원점 0뿐"이라는 말과도 동일하다. 차원정리의 rank A = n 과 같다. 납작하게 눌린다면 역행렬이 없는 것이고, 눌리지 않으면 역행렬이 존재하는 것이다. 정칙성의 정리

차원정리 *Ker A의 차원이 k라고 했을 때, 이는 Ker A의 기저가 k개의 벡터로 이루어진다는 것을 의미하고 Im A의 차원도 마찬가지이다. 선형독립, 선형종속 "납작하게 눌린다"는 것의 의미는 "서로 다른 x와 x'가 같은 y로 이동한다"는 것이다. 수식을 이용하여 표현해 보면 아래와 같다. A의 열벡터들이 선형종속 = 납작하게 눌린다 A의 열벡터들이 선형독립 = 납작하게 눌리지 않는다 랭크 랭크는 단서의 실질적인 개수라고 생각하면 된다. 이것은 "상 Im A가 공간 전체를 커버하고 있는가"에 대해 조사해야하기 때문에 자연스럽게 그 차원인 dim Im A이며, rank A 라는 기호를 사용한다. 또한 앞서 설명한 차원정리를 통해 "납작하게 눌리는가"에 관한 정보인 Ker A의 차원 수도 알 수 있..
성질이 나쁜 예 성질이 나쁘다는 것에는 여러 종류가 있을 수 있다. 단서가 부족한 경우 원인 벡터 x는 n차원으로 구성되어 있고, 결과벡터 y는 m차원으로 구성되어 있다고 할 때, m < n 이라면 알고 싶은 양은 n 개인데, 단서가 겨우 m개뿐인 상황이다. 예를 들어 m = 2, n = 3이라고 하면 y = Ax 에서 A의 의미는 x가 있는 3차원 공간을 y가 있는 2차원 공간으로 옮기는 사상이다. 원래의 차원보다 낮은 공간으로 옮기는 것이므로 납작하게 누르는 사상인 것인데, 여러 개의 x가 A를 통해 y에 옮겨왔을 때, 원래의 x는 어디 있었을까 라는 질문에 x의 값을 특정할 수 없다는 문제가 생긴다. 핵(kernel) 주어진 행렬 A에 의해 Ax = 0으로 이동해 오는 것과 같은 x의 집합을 A의 ..

역문제 결과(y)를 먼저 알고 원인(x)을 추정하는 형태의 문제를 역문제라고 한다. *원인으로부터 결과를 추정하는 것은 순문제이다. 현실에서 역문제를 다룰 때에는 y = Ax + (노이즈) 와 같은 상황을 검토해야 하는데, 노이즈를 의식하지 않는다면 연립일차방정식이라고 할 수 있을 것이다. 예를 들어 행렬 A와 결과 y 가 있을 때 원인 x를 구하는 상황을 생각해 보면 아래와 같다. 위와 같은 일반 연립 일차방정식에 대해 "해가 존재하는지", "해가 유일한지" 등을 판단해볼 수 있다. 정칙행렬 역행렬이 존재하는 정방행렬을 정칙행렬이라고 하며 정칙행렬이 아닌 행렬은 특이행렬이라고 한다. 연립일차방정식의 해법 - 정칙인 경우 1) 변수소거법 어렸을 때 연립일차방정식을 풀었던 것과 동일한 해법이다. 변수의 개..

행렬식 = 부피 확대율 확대율은 원래 도형의 위치나 모양과는 관계가 없으며, 이에 관한 것을 해당 행렬의 행렬식(determinant)라고 한다. det A 혹은 | A |라고 표기한다. 0이 될 수도 있고 음의 값을 가질 수도 있다. 확대율이 0인 것은 도형이 납작하게 되는 경우라고 생각하면 되며, '납작한'것의 의미는 '역행렬이 존재하지 않음'을 의미한다. 즉, 행렬식이 0이면 역행렬이 존재하지 않는 것이다. 확대율이 음의 값을 가진다는 것은 도형이 뒤집어진다는 것을 의미한다. 행렬식을 구하는 공식을 알기 전, 직관적인 의미를 기억해 두면 좋을 것 같다. 행렬식의 성질 *정방이 아닌 행렬에서 행렬식은 정의되지 않음* 또한, 행렬식을 구할때 유용하게 쓰이는 성질이 있다면, '어느 열의 정수배를 다른 열..

벡터 간의 '관계'를 나타내기 위해 등장하는 것이 행렬이다. 아래와 같이 수를 직사각형 형태로 나열한 것이다. 왼쪽의 행렬은 3X2 행렬이고 오른쪽은 3X3 행렬이다. (행의 수) X (열의 수)라고 표현하는 것이고 행의 수와 열의 수가 오른쪽과 같이 동일하다면 정방행렬이라고 부른다. 행렬과 벡터의 곱 행렬과 벡터 곱의 결과는 벡터이다. 곱셈을 하게 되면, 행렬의 열의 개수가 '입력' 차원수가 되고 행의 개수가 '출력'의 차원 수가 된다. 행렬은 사상이다. 위의 곱셈 식에서 봤듯이 n차원 벡터에 mXn 행렬을 곱하면 m 차원의 벡터가 얻어진다. 즉, 이것은 어떠한 행렬을 지정하면 벡터를 다른 벡터에 옮기는 사상이 결정된다는 것이다. 사상이라는 것은 일종의 "변환"이라고 생각하면 되는데, 수학적으로 변환에..