학습목표
수학에서 가장 중요한 것은 기초입니다. 이번 강의에서는 앞으로 선형대수를 학습해 나가면서 뼈대가 될 선형대수의 기초 개념을 학습합니다.
핵심 키워드
- 스칼라(Scalar), 벡터(Vector), 행렬(Matrix)
- 열 벡터와 행 벡터(Row vector, Column vector)
- 벡터와 행렬의 연산
학습하기
우선, 선형대수의 가장 기본인 스칼라, 벡터, 행렬에 대해 알아보겠습니다. Scalar의 경우 Single number, Scaling factor를 생각하시면 되구요. Vector는 ordered list죠. non-ordered list는? Set이구요. Matrix는 2-dim array죠. 다만 Vector를 말할 때, 가로로 보느냐 세로로 보느냐에 따라서 Row vector, Column vector를 구분짓게 되는데, 기본적으로 Column vector를 사용합니다.
한 번더, 아래의 그림과 같이, 보통 Vector라고 하면, Column vector를 말하고, 이는 n개의 row와 1개의 col을 갖는 Vector를 말합니다. 즉, R^(n*1)에 속하게 되는거죠. 반대로 Row vector를 표현하고 싶을 때는, Column vector에 Transpose를 취해줌으로써 R^(1*n)에 속하게 만들어주면 됩니다.
아래는 행렬에 대한 기본적인 Notation입니다. Squre matrix란 Row의 개수와 Col의 개수가 동일한, 정방행렬을 의미하구요. Rectangular matrix는 Non-square matrix입니다. Transpose란, 대각선을 기준으로 값을 미러링한거죠. 그리고 (i,j)라고 하면 i는 row의 번지수, j는 col의 번지수를 의미하게됩니다. 특정 row또는 col을 지칭하고 싶다면, (i,:), (:,i)와 같은 표기법을 사용하실 수 있습니다.
당연히 2개의 Matrix를 Elementwise하게 합치는 것도 가능하구요. 스칼라를 곱하는 것, 행렬끼리의 곱셈 등도 아래와 같이 정의됩니다. 모두 고등학교 때도 배웠던 내용이죠. 다만 행렬간의 곱셈을 진행할 때에는 행렬의 사이즈를 잘 고려해줘야한다는 점은 굉장히 중요하죠. 또 추후 설명하겠지만, 아래 그림에서 (1x3)(3x1) = (1x1)과 같이, 얇은 행렬간의 연산을 통해서 Scalar을 뽑아내는 과정을 Inner product, 내적. (3x1)(1x2) = (3x2)와 같이, 얇은 행렬간의 연산을 통해서 큰 행렬을 뽑아내는 과정을 Outer product라고 칭합니다.
그 다음에는 Commutative, 교환법칙에 대해서 생각해봅시다. Matrix multiplication에서는 교환법칙이 성립하지 않습니다. AB != BA란 말이죠. 이건 생각을 해보면 당연한게, 기본적으로 행렬간의 곱셈이 성립하려면, 사이즈가 맞아야하는데, 사이즈가 맞지 않습니다. 사이즈가 맞도록 A와 B를 구성한다 하더라도, 곱셈의 정의를 생각해보면, 같을 수 없겠죠. 물론 같은 예외가 존재는 합니다.
또 다른 특성으로는 Distributive, Associative, Property of Transpose 등이 있겠죠. 추가하자면, Property of inverse도 성립합니다. Transpose 자리에 -1만 대입하면 되겠죠. 이상입니다.
'머신러닝 > [인공지능을 위한 선형대수]' 카테고리의 다른 글
선형결합 (0) | 2020.05.11 |
---|---|
실습 1 (0) | 2020.05.10 |
선형방정식과 선형시스템 (0) | 2020.05.09 |
Intro (0) | 2020.05.07 |
시작에 앞서 (0) | 2020.05.06 |