- 본 내용은 edwith에서 인공지능을 위한 선형대수 내용을 통해 작성되었습니다.
Linear Equation(선형 방정식)
선형대수에서는 방정식을 한번에 생각할 수 있습니다.
- 일반적으로 Scalar를 표현할 때는 x
- 벡터를 표현할 땐
(굵게 씁니다.) - Matrix를 표현할 땐 대문자로
Linear System: Set of Equations(방정식)
Linear System은 선형 방정식(Linear Equations)의 집합!
- 연립 방정식을 의미합니다.

머신러닝에서도 data, feature의 target label들을 연립 방정식으로 푸는 것과 유사하게 계산합니다. (target label은 정답을 의미 여기서는 수명 Life span)
현 feature(체중, 키, 흡연 여부)의 가중합으로 수명을 잘 예측하는 최적의 계수를 찾는 것이 우리의 목적입니다.

위와 같이 선형식을 만들고 이 모든 선형식에 만족하는
1. 방정식의 계수들을 전부 모아둡니다.

2. target label값을 벡터로 정의합니다. (등호 뒤에 있는 상수값들)

3. 가중치에 해당하는 값을 벡터화합니다.

이 matrix와 vector을 통해 3개의 연립 방정식을 다음과 같이

다음과 같이 matrix로 만들었다면 어떻게 연립 방정식을 풀어야 할까요?
1. 역행렬을 사용하여 푼다.
역행렬을 사용하여 풀 때는 Identity Matrix를 사용하여 풉니다. 이것은 항등행렬이라고 하는데 그 이유가 어떤 벡터와 곱해져도 그 벡터 자기 자신을 출력하기 때문입니다.

항등행렬을 사용하여 역행렬을 구해봅시다. 역행렬은 정사각 행렬만을 대상으로 합니다.(square matrix에만 존재,
- 역행렬 정의: square matrix에 대하여
교환 법칙이 성립됩니다.

- square하지 않은 matrix는 어떻게 해야 할까요?
이 행렬의 역행렬은 어떤 것인지는 몰라도 지금의 행렬이 (2, 3)이기 때문에 (?, 2) 형태가 나와야 할 것입니다. 여기서 출력으로 나오는
하지만 (3, 2) shape을 가지고 위에 행렬과 곱했을 때 대각선이 1인 행렬을 찾았다고 해도 역행렬이라고 부르지 않습니다. 역행렬 자체가 sqaure이라는 정의가 붙기 때문입니다. 그리고 sqaure하지 않은 matrix는 웬만해서는 교환 법칙이 성립되지 않습니다.
(2, 3)(3, 2) = (2, 2)에 대한
역행렬을 사용하여 푸는 방법은 다음과 같습니다.
역행렬이 존재하지 않는 경우
역행렬이 존재하면 연립 방정식에서 solution은 unique하게 됩니다. (단 하나의 값) 근이 여러 개 존재하더라도 일일이 대입했을 때 똑같이 identity matrix가 나온다면 그것들은 같은 solution이라고 생각해도 됩니다.

즉 ad = bc, a:b = c:d 비율이 똑같으면 역행렬이 존재하지 않습니다.
이 경우에는 연립으로 풀더라도 중립된 방정식들이 끼어들어 있어서 한 변수 (x, y)를 소거할 때 나머지도 같이 소거 되버립니다. 하지만 중복된 방정식 같지만 상수값이 조금 틀어져 있다면 해가 존재하지 않을 수도 있습니다.
여기서
det A값이 0이 아니면 역행렬이 존재하고 0이면 역행렬은 존재하지 않습니다. 하지만 이것은
- Inverse Matrix Larger than
Non - Invertible Matrix A for Ax = b
역행렬이 존재하면 solution이 unique하게 하나만 존재하는데 역행렬이 존재하지 않는다면 solution이 무수히 많거나 하나도 없는 상황입니다.
1. 해가 무수히 많은 경우
위에 있는 비율이 같은 matrix를 가져와서 연립 방정식으로 풀면 됩니다.
첫 번째 식에다 2를 곱해주면 두 번째 식이 나옵니다. 각 식의 형태는 달라보이지만 닫혀있는 형태(Linear dependent), 하나의 식만 존재하는 경우입니다. 이 경우에는 어떻게 접근하던지 자기 자신을 빼는 것이라 0이 나옵니다.
이런 경우 해가 무수히 많습니다. x와 y에 어떤 값을 넣어도 성립되는 조건이기 때문입니다.
2. 해가 없는 경우
첫 번째 식에 2를 곱해서 빼면
3. Rectangular Matrix
위에서 사용한 예제는 행, 열을 맞춰서 사용했지만 만약 feature 값이 더 많아진다면 나오는 방정식에 비해 미지수가 더 많은 형태가 됩니다.

즉 방정식이 2개 밖에 없는데 미지수가 3개인 상황이라면 일단 해가 무수히 많다고 할 수 있습니다. (dimension 수에 비해서 vetor가 많이 존재한다?)
미지수보다 방정식이 더 많은 경우에는 보통 해가 존재하지 않습니다. 정확하게는 모든 방정식을 만족시키는 해가 존재하지 않습니다. 이런 경우 under-determined system, over-determined system이라고 부릅니다. 하지만 머신러닝이나 딥러닝에서는 해가 없더라도 가장 근사적으로 만족시킬 수 있는 경우를 찾습니다.
만약 미지수가 더 많은 형태로 해가 무수히 많다면 딥러닝, 머신러닝에서는 Regularization을 수행합니다. 이 식을 만족시키는 어떤 점이라도 solution이 될 수 있는데 그 경우에는 변수에 부여하는 가중치를 가장 작게 하는 것이 가장 안전한 solution이 됩니다. 만약 (weight parameter, height parameter) 일 때 (1, 1)과 (5, -1) 이렇게 두 가지 solution이 존재한다면 (1, 1)이 더 안전한 가중치가 됩니다.
- (5, -1)과 (1, 1)이 학습 데이터에서 동일한 성능을 낸다고 하더라도 몸무게에 너무 큰 영향을 받는 모델이라서 안전하지 않기 때문입니다. (정규화를 해서 solution이 무수히 많을 때 커버를 할 수 있습니다.)
'수학 > 인공지능을 위한 선형대수' 카테고리의 다른 글
6. 선형변환(Linear transformation) (0) | 2021.10.12 |
---|---|
5. 부분공간의 기저와 차원 (Span and Subspace) (0) | 2021.10.11 |
4. 선형독립과 선형종속 (0) | 2021.10.09 |
3. 선형 결합(Linear Combinations) (0) | 2021.09.30 |
1. 선형대수의 기초 (0) | 2021.08.22 |