Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

네박자대로

[인공지능을 위한 선형대수] 3. 선형방정식과 선형시스템 본문

선형대수 공부

[인공지능을 위한 선형대수] 3. 선형방정식과 선형시스템

ysyang 2022. 7. 22. 19:10

http://www.edwith.org/ai251/lecture/540312

 

[LECTURE] 선형방정식과 선형시스템 : edwith

학습목표 본 강의에서는 선형방정식과 선형시스템의 개념을 구체적인 예시와 함께 배워보겠습니다.  그리고 선형방정식을 풀기 위한 방법 중 한 가지인 역행렬과 항등 행렬의 개념을 배우게...

www.edwith.org

아래 첨부자료는 모두 주재걸 교수님 강의 자료입니다. 

 

 

이번 강의는 선형방정식을 풀어내는 방법에 대한 전반적인 내용이었다. 

 

 

[선형 방정식이란?]

Linear equation의 정의

선형 방정식은 위와 같은 정의를 가지며, 다음과 같이 matrix로 표현 가능하다. 

선형 방정식을 푼다는 것은 input a와 output b가 제시된 상황에서 x값을 구하는 것이다. 

 

이렇게 생각하면 잘 이해가 안가니 예시를 통해 이해해보자. 

 

 

 

 

 

 

 

[Example]

사람 ID 몸무게(kg) 키(ft) 흡연여부(yes=1, no=0) 수명(년)
1 60 5.5 1 66
2 65 5.0 0 74
3 55 6.0 1 78

위와 같은 데이터가 있다고 하자. 

각 사람에 대한 몸무게, 키, 흡연여부 정보를 input (a)

그에 영향을 받게 되는 수명을 output (b) 라고 가정하자.

 

위 데이터를 matrix 연산으로 표현해보자. 

 

우리가 풀고자 하는 식은

ax = b 이다. 

 

어떻게 풀면 될까?? 

역행렬을 이용해 풀면 된다!

 

 

그러나 역행렬에 대한 개념 부족하므로 한 번 짚고 가보자. 

 

 

 

 

 

 


 

 

 

[항등행렬]

항등행렬이란, sqaure matrix이며 대각선(=1) 빼고는 모두 0의 값을 갖는다. 

I라고 표현하며, 이 항등행렬에는 어떤 행렬 x를 곱하든 무조건 x값이 나온다. 

 

 

 

그런데 역행렬 얘기를 하다가 항등행렬이 왜 튀어나오냐?

당연히 관련있기 때문!

 

이어서 역행렬을 살펴보자. 

 

 

 

 

 

 

 

 

[역행렬]

역행렬 역시, square matix이며 위와 같이 표기한다. 

a와 a의 역행렬을 곱하면 항등행렬이 된다. 

 

 

 

 

 

 

그렇다면 이러한 역행렬과 항등행렬의 관계를 이용하여 선형 방정식을 어떻게 풀어낼 수 있을까??

 

 

 

위 수식을 전개하면 결국

우리가 구하고자 하는 x는 결국 A의 역행렬과 b의 곱으로 나타낼 수 있게 된다. 

 

 

 

그렇다면 다시 Example로 돌아가서~!

 

 

 

 

 

 

 


 

즉, 위와 같이 선형방정식을 풀어내면

수명을 몸무게와 키, 흡연 여부에 대한 식으로 나타낼 수 있게 된다. 

 

 

 

 

 

 

 

 

 

 


 

다만 여기서 의문이 들 수 있다. 

모든 선형 방정식이 위 예시처럼 쉽게 풀리는가?
어떠한 경우에도 역행렬을 구할 수 있을까?
sqaure matrix가 아닌 경우에는 어떻게 되지?

 

위 example은 ideal한 케이스다. 

그렇다면 앞선 조건을 만족하지 않는 선형방정식은 어떻게 풀어낼 수 있을까?

 

 

 

 

 

 

 

 

[Invertible or non-invertible ?]

 

invertible인지 아닌지는 matrix의 determinant를 계산하면 된다. 

det A가 0이면 역행렬은 존재할 수 없고, 0이 아닌 값이라면 역행렬이 존재한다.

(계산하는 방법은 Gaussian elimination을 참고하면 된다.)

 

 

det 계산에 의해 matrix A가 invertible하다면 (= 역행렬이 존재한다면)

x는 유일한 해, 즉 unique solution이 된다. 

 

 

 

그러나 determinant가 0이라면, 

  • 솔루션이 없거나
  • 해가 무수히 많다

[Non-Invertible matrix A]

 

 

 

 

 

 

 

 

 

 

 

[non-sqaure matrix]

 

square matrix가 아니라면 역행렬, 항등행렬의 정의에 의해 자연스럽게 non-invertible이 된다. 

이러한 rectangular matrix의 경우는 그럼 영영 해를 구할 수 없게 되는 걸까??

 

언제나 input의 변수 개수, output 데이터의 개수가 동일하지는 않을텐데 말이다. 

 

앞서 보았던 example을 통해 이러한 경우는 어떻게 풀어내야 할지 생각해보자.

 

 

위와 같이 m과 n을 비교해서 해가 무수히 많은지, 존재하지 않는지 판별할 수 있게 된다. 

 

따라서 아주 정확하고 명확한 해를 구할 수는 없지만, 근사적으로 엇비슷한 해를 구해낼 수는 있다. 

 

해당 기법에 대해서는 자세한 설명을 생략하고 수업을 마쳐서 포스팅하지 않지만, 필요할 때 따로 공부하도록 하자. 

 

 

Comments