스칼라, 벡터, 행렬, 텐서
스칼라 scalar : 하나의 수, 하나의 수, 스칼라 변수를 도입할 때는 그 변수가 나타내는 수들의 종류도 명시한다.
벡터 vector : 여러 개의 수를 특정한 순서로 나열한 것, 벡터의 한 성분은 벡터 안에서의 그 성분의 위치를 뜻하는 색인을 이용해서 지칭한다.
행렬 matrix : 수들을 2차원으로 배열한 것,
텐서 tensor : 2차원 행렬을 일반화하여 수들의 배열을 임의의 개수의 축을 가진 정규 격자 형태로 배치한 것,
행렬에 대한 중요한 연산 중 하나는 전치 transpose 다. 전치행렬은 원래의 행렬을 주대각 main diagonal 을 대칭으로 반사한 것,
행렬과 벡터의 곱셈
행렬 A 와 B 의 행렬곱 matrix product 이 정의되려면 A 의 열 수와 B 의 행 수가 같아야 한다.
두 행렬의 대응 성분들을 곱하는 연산을 성분 별 곱, 아다마르 곱이라고 부르고 ⊙ 로 표기한다.
차원이 같은 두 벡터 x, y 의 내적은 행렬곱이다.
행렬곱은 분배, 결합 법칙을 만족하지만 교환 법칙을 만족하지 않는다.
일차연립방정식의 행렬과 벡터로의 표현
Ax = b
A 는 알려진 행렬, b 는 알려진 벡터, x 는 방정식을 통해 알아내고자 하는 미지수들로 이뤄진 벡터다. x 의 각 성분은 그런 미지수 중 하나이다.
단위 행렬과 역행렬
선형대수에는 A 의 여러 값에 대해 Ax = b 를 해석적으로 풀 수 있는 강력한 수단으로 행렬의 역 matrix inversion 이 있다.
이를 설명하려면 먼저 단위 행렬 identity matrix 라는 개념을 정의해야 한다. 단위행렬은 그것에 어떤 벡터를 곱해도 원래의 벡터가 그대로 나오는 행렬이다.
기본적으로 A^-1 은 이론상의 도구로 유용할 뿐이다. 디지털 컴퓨터로는 A^-1 을 제한된 정밀도로만 표현할 수 있기 때문에, 대체로 b 의 값들을 활용하는 알고리즘들이 x 를 좀 더 정확하게 추정할 수 있다.
일차종속과 생성공간
A^-1 이 존재하려면, 모든 b 값에 대해 Ax = b 에 정확히 하나의 해가 있어야 한다. 일부 b 값에 대해서는 해가 하나도 없거나 무한히 많아도 역행렬이 존재할 수 있다.
그러나 특정 b 에 대해 해의 개수가 둘 이상, 무한대 미만인 경우가 있어서는 안 된다.
x 와 y 가 둘 다 유효한 해라고 할 때, 임의의 실수에 대해
위 방정식도 유효한 해이다.
방정식의 해가 몇 개인지 분석할 때는, A 의 열들을 원점에서부터 나아갈 수 있는 서로 다른 방향들로 간주하고, 그 방향 중 실제로 b 에 도달하는 것이 몇 개인지 세면 된다.
이러한 방식에서 x 의 각 성분은 해당 방향으로 얼마나 멀리 나아가야 하는지를 나타낸다.
즉, 각 x_i 은 열 i 의 방향으로의 진행 거리를 나타낸다.
일반화하자면, 이런 종류의 연산을 일차결합이라고 부른다.
공식으로 표현하자면, 벡터 집합의 일차결합은 각 벡터에 해당 슼칼라 계수를 곱해서 모두 더한 것이다.
주어진 벡터 집합의 일차결합으로 얻을 수 있는 모든 점의 집합을 그 벡터 집합의 생성공간이라고 부른다.
일차연립방정식 Ax = b 에 해가 있는지는 b 가 A 의 열들의 생성공간에 속하는지로 판정할 수 있다.
그러한 특정한 생성공간을 A 의 열공간 또는 치역이라고 부른다.
따라서 모든 b 에 해대 일차연립방정식 Ax = b 에 하나의 해가 존재하려면, A 의 열공간이 같아야 한다.
만일 공간상의 어떤 점이 그 열공간에 존재하지 않는다면, 그 점에 해당하는 b 에 대해서는 방정식에 해가존재하지 않을 가능성이 있다. A 의 열공간이 공간 전체와 같아야 한다는 요구조건은 곧 A 의 열이 적어도 m 개여야 한다는, 다시 말해 n >= m 이어야 한다는 요구조건으로 이어진다. 만일 그렇지 않다면 열차원의 차원 수가 m 보다 작을 것이기 때문이다.
예를 들어 3*2 행렬을 생각, 목표 벡터 b 는 3차원이지만 x 는 2차원일 뿐이므로, x 의 값을 바꿔서 시도한다고 해도 R^3 안의 한 2차원 평면에서만 해를 찾게 된다. 방정식의 해는 만일 b 가 그 평면에 있으면 오직 그럴 때만 존재한다.
그런데 n >= m 은 모든 점에 대해 해가 있을 필요조건일 뿐, 충분조건은 아니다. 일부 열들이 중복될 수도 있기 때문이다.
예를 들어 2*2 행렬의 두 열이 동일하다고 하자. 그러면 그 행렬의 열공간은 그냥 동일한 열 하나만 있는 2*1 행렬의 열공간과 같다. 다른 말로 하면, 열이 두 개라고 해도 그 열공간은 하나의 직선일 뿐이라서 R^2 전체를 포괄하지 못한다.
이러한 종류의 중복성을 공식적으로 일차종속 linear dependence 라고 부른다.
반대로, 일차결합 벡터 가 하나도 없는 벡터 집합을 가리켜 일차독립 linear independence 라고 부른다. 일차 결합 벡터ㅡㄹ 벡터 집합에 추가해도 그 집합의 생성공간에는 아무런 점도 추가되지 않는다. 이는 주어진 한 행렬의 열공간이 R^m 전체에 해당하려면 그 행렬에는 일차독립인 열들이 m 개인 집합이 적어도 하나는 있어야 한다는 뜻이다.
이 조건은 모든 b 값에 대해 모든 b 값에 대해 Ax = b 의 해가 최대 하나만 존재해야 한다는 조건이 추가된다. 그러려면 행렬의 열이 많아야 m 개이어야 한다. 그렇지 않으면 각 해를 매개변수화하는 방법이 여러 개가 된다.
정리하자면, 행렬은 반드시 정방행렬, 즉 m = n 인 행렬이어야 하며, 모든 열이 일차독립이어야 한다. 정방행렬이지만 열들이 일차종속인 행렬을 특이행렬이라고 부른다. singular matrix
A 가 정방행렬이 아니거나, 정방행렬이지만 특이 행렬일 때도 방정식이 여전히 가능할 수 있지만, 행렬의 역을 이용한 해법으로 반드시 해를 구할 수 있다는 보장은 없다.
지금까지의 논의는 행렬의 왼쪽에 곱해서 단위행렬이 나오는 역행렬에 관한 것이다. 다음처럼 역행렬을 오른쪽에 곱해서 정의하는 것도 가능하다.
정방행렬은 왼쪽 역행렬과 오른쪽 역행렬이 동일하다.
노름
벡터의 크기를 측정해야 할 때가 있다. 일반적으로 기계 학습에서는 벡터의 크기를 노름 norm 이라고 부르는 함수를 이용해서 측정한다. L^p 로 표기하는 노름의 정의는 다음과 같다.
여기서 p ∈ R , p >= 1 이다.
일반적으로 노름은 벡터를 음이 아닌 값으로 사상하는 함수다. 직관적으로 이해하자면, 벡터 x 의 노름은 원점에서 점 x 까지의 거리이다. 좀 더 엄밀하게 정의하자면, 노름은 다음과 같은 성질들을 만족하는 임의의 함수 f 이다.
p = 2 인 노름을 유클리드 노름 이라고 부른다. 그냥 원점에서 x 에 해당하는 점까지의 유클리드 거리이다. 위 첨자 2 를 생략하고 이중 수직선을 이용해 표기하는 경우가 많다. 또한 주어진 벡터의크기를 제곱 L^2 노름으로 측정하는 경우도 흔하다.
제곱 L^2 노름은 x^T x 로 계산할 수 있다.
x 의 각 성분에 대한 제곱 L^2 노름의 각 미분은 오직 x 의 해당 성분에만 의존하지만, L^2 노름의 모든 미분은 벡터 전체에 의존한다.
많은 경우 제곱 L^2 노름은 원점 부근에서 아주 느리게 증가하기 때문에 바람직하지 않다. 기계 학습 응용 중에는 정확히 0 과 같은 성분과 작지만 0 은 아닌 성분을 구분하는 것이 중요한 것들이 많다. 그런 경우 L^1 노름을 사용,
이러한 L^1 노름은 0과 0 이 아닌 성분의 차이가 아주 중요한 기계 학습 응용에 흔히 쓰인다. a 만큼 멀어질 때마다 L^1 노름은 a 만큼 증가한다.
기계 학습에 흔히 쓰이는 또 다른 노름으로 L^INF 노름이 있다. 이것을 최대 노름이라고 부르기도 한다. 이 놀므은 벡터에서 크기가 가장 큰 성분의 절댓값이다.
또한, 행렬의 크기를 구해야 할 때도 있다. 심층 학습의 맥락에서 가장 흔히 쓰이는 행렬 크기는 프로베니우스 노름이다.
이 노름은 벡터의 L^2 노름과 비슷하다.
두 벡터의 내적을 노름으로 다음처럼 표현할 수 있다.
'심층 학습' 카테고리의 다른 글
3. 확률론과 정보 이론 (0) | 2023.06.02 |
---|---|
2. 선형대수(주성분 분석) (1) | 2023.06.02 |
2. 선형대수(5. 무어-펜로즈 유사역행렬) (0) | 2023.06.01 |
2. 선형대수 (2) (0) | 2023.06.01 |
1. 소개 (0) | 2023.06.01 |