본문 바로가기

데이터과학/mathmatics

그러면 행렬과 선형대수는 무슨 관계죠?

지난 글에 이어서 이번에는 선형대수에 대한 정리를 간략하게 하고 있습니다.

 "'알기쉬운 선형대수'라는 책에서는 연립1차 대수적 방정식과 이들의 해는 '선행대수'라는 과정에서 공부하게 됩니다." 라고 되어있네요... '선행대수'라는 말은 일반적으로 잘 쓰지 않는 용어 같습니다. 오히려 '선형대수'라는 표현이 더 많이 사용되고 있는 것 같고요. 어쨌거나 의미상으로 '선형대수'라는 것은 Linear Algebra 즉, 1차원 대수학만을 의미하는 것 같긴 합니다. '선행대수'라고 하는 것은 오타같기도 합니다.

선형대수학이란?
선형대수학(線形代數學)벡터 공간, 벡터, 선형 변환, 행렬, 연립 선형 방정식 등을 연구하는 대수학의 한 분야이다. 현대 선형대수학은 그 중에서도 벡터 공간이 주 연구 대상이다. 추상대수학, 함수해석학에 널리 쓰이고 있다. 선형대수학은 자연과학공학에도 널리 활용된다. 선형 연립방정식을 푸는 좋은 방법으로는 소거법행렬식이 있다.

대수학이란?
대수학(代數學, algebra)은 수학의 한 분야로 원래 대수(代 數)라는 말을 통해 실제 수 대신에 문자를 사용해 방정식을 푸는 방법을 연구한다는 뜻을 나타냈다. 이런 의미에서 대수란 명칭은 정확하다. 그러나, 현대의 대수학의 방법은 이런 고전적인 의미를 벗어나는 범위로 넓어졌기 때문에, 이런 명칭을 통한 이해는 적당치 않다. 대수학은 구조(structure),관계,양에 대한 연구에 관련된 수학의 한분야이다. 기하학 , 해석학 , 정수론과 함께 대수학은 수학의 중요한 연구분야의 하나이다.

1차방정식(Linear Equation)?
"a1*x1 + a2*x2 + ... + an*xn = b"으로 표현할 수 있다.
1차방정식은 여러 변수끼리의 임의의 곱 또는 제곱근을 포함하지 않는다.
모든 변수는 1승만으로 나타나고 3각함수, 대수함수 또는 지수함수의 변수로 나타나지 않는다.

1차방정식의 해?
1차방정식 표현에서 n개의 수열 x1=s1, x2=s2, ... xn=sn을 대입했을 때 그 방정식이 만족되는 n개의 수열 s1, s2, ..., sn 이다. 그리고 이러한 모든 해의 집합을 그 방정식의 해집합(solution set) 또는 그 방정식의 일반해(general solution)이라고 한다.

연립1차방정식?
변수 x1,x2,...,xn에 관한 1차방정식의 유한개 집합을 연립1차방정식(system of linear equations) 또는 선형계(lineary system)예를들어, 1차방정식이 2개가 있고 두 방정식을 만족시키는 해가 1개 이상이면 모순이 없다(consistent)라고 하고, 하나도 없으면 해가 없다(inconsistent)고 한다.

  해가 '있다' '없다' 라고 하면 될 것을 햇갈리게 둘다 없다로 번역을 해놓으니 ... 쩝
결국 이러한 1차방정식은 x, y 축 평면상에서 표현되면 직선으로 표현이 될 것이고 이러한 해는 두 직선이 만나는 점이 될 것입니다. 그러면 기울기가 같으면 해가 없거무한개 그리고 기울기가 다르면 해가 하나가 될 것입니다. 여기서 연립1차방정식을 +,x,= 기호를 제거하고 행렬의 형태로 표현할 수가 있는데 이를 그 연립1차방정식의 첨가행렬(augmented matrix)라고 합니다.

 이러한 n차 n원 방정식의 경우 방정식이 n개 있으면 해를 구할 수 있습니다. 즉, 2차방정식의 미지수가 2개인 경우 방정식이 2개가 있으면 해를 구할 수 있습니다. 1차는 당연히 하나만 있어도 되지요. 그리고 이러한 방정식을 푸는데 사용되는 기법이 가우스 소거법(Gaussian elimination)이라고 합니다.

왜 이러한 행렬이 필요할까요?
행렬이라는 것은 대단한 내용이 아니라 단순히 숫자 또는 그에 상응하는 심벌을 배열을 통해서 보여주는 배열 구조체 정도라고 생각됩니다. 결국 계산의 편리함이나 직관적임을 바라고 만든 형태가 아닐까 생각해봅니다. 그리고 현재 많이 사용되는 행렬의 형태는 이런 것들이 있겠습니다.
첫째. 방정식을 풀기 위한 방법
  * 가우스 소거법 등을 이용하여 다차원의 방정식에서 해를 좀 더 편리하게 구할 있다.
둘째. 벡터의 표현 및 연산을 위한 방법
  * 벡터의 형태로 표현된 모든 자료를 행렬로 표현 및 연산이 용이합니다.

* 또한 연립1차방정식을 계수행렬(coefficient matrix)으로 표현할 수가 있는데 이것은 n개의 미지수를 갖는 m개의 방정식을 단일행렬방정식으로 대치될 수 있습니다.
A x = b 형태로 말이지요. 즉 행렬 자체가 마치 함수처럼 사용될 수도 있다는 말입니다.

Linear expression based classifier?
약간 앞서나가보면, linear expression a1*x1 + a2*x2 + ... + an*xn = b 라는 수식에서 a1, a2, ... an 행렬과 x1, x2, ..., xn 이라는 행렬의 곱은 b 행렬이다로 볼 수 있고
이러한 연립1차방정식을 만족하는 값들을 많이 알고있다면, 계수행렬을 추측할 수 있을 것이며, 이러한 계수행렬을 추측할 수 있다는 말은, 분류기를 하나 만들 수 있다는 말과 같다.

결국 말하고자 하는 것은 '선형대수학'이라는 큰 줄기에 행렬이 포함되고 있습니다. 그리고 행렬이라는 것을 통해서 많은 것들을 할 수 있는데, 결국 내가 관련한 분야에서는 행렬이 의미를 가지는 것은 벡터로 표현할 수 있는 자료들간에 연산을 하기 위함이라고 생각합니다.

이 글은 스프링노트에서 작성되었습니다.

'데이터과학 > mathmatics' 카테고리의 다른 글

기초수학 - 비율, 비례식, 크기비교  (0) 2013.04.02
그래서 행렬을 쓰면 뭐가 좋은거죠?  (4) 2008.08.13
행렬이 뭐죠?  (2) 2008.08.11