Derek 의 데이터 분석 성장기

[선형대수학] Matrix 와 Vector의 곱셈(Multiplication) 본문

Data/수학(Mathematical Thinking)

[선형대수학] Matrix 와 Vector의 곱셈(Multiplication)

Derek Grey 2024. 6. 16. 19:23
반응형

 

 

 

 

매트릭스 벡터의 곱은 매트릭스가 m * n 이라고 하면, 곱하기 위한 원소의 길이는 매트릭스의 칼럼인 n과 길이가 같아야 한다.

 

 

 

Row Interpretation 이란  매트릭스 안에 있는 ROW 의 각 원소에 특정 값 x를 곱한 겂의 합 b1Tx + b2Tx ... bnTx 형식으로 row 별로 값을 반환한다. Pandas 기준으론 Row 데이터에 각 곱을 해준다고 상상하면 된다. 그리고 그 row 값들의 합을 각 행 별로 반환한 것.

 

Column Interpreation 은 반대로, 각 칼럼을 기준으로 곱하면 된다. 이는 Linear Combination과도 같다.

 

 

 

 

0 * 2 + 2 * 1 + -1 * -1 로 기존 매트릭스 형태에서 칼럼 기준으로 곱을 해주고, 각 칼럼 첫자리에 있는 곱의 합을 진행한다.

 

두 방법 모두 동일한 결과를 반환하나 Row Interpreation 과 Column Interpreation 모두 이해해야 한다.

 

 

 

만약, 위와같은 B의 2차원 벡터가 존재한다고 한다면, AB 는 2 * m 사이즈로 결과를 갖는다. 이 말은, A는 m * n 차원을 가진 매트릭스이며, 내적을 위해선 2 * n 사이즈로 A의 칼럼과 동일해야 한다. 그리고 그 결과 AB는 2 * m 사이즈 형태의 매트릭스 결과를 갖는 것.

 

 

그리고 Difference Matrix 가 있는데, 첫번째 메트릭스는 - 1과 1이 인덱스가 한칸씩 이동하고, 나머지는 0 벡터인 형태이다.

거기에 D라는 n 벡터를 곱해 얻는 결과인데. 이 결과 ||Dx||2 norm 이 만약 크다면, 해당 벡터는 Fluctuation 이 크다는 뜻이다.

 이는 전자파 신호, 에너지, 기계의 노이즈를 관측하는데  사용될 수 있는 개념이다.

 

 

 

조심할 점은 매트릭스 * 벡터 합에서 총합의 결과만을 보고 결과를 해석하는 것은 위험하다. 위험하다라는 말의 의미는 위와 같이 매트릭스 aij 에서 어느 데이터 포인트 이후로 0벡터로 구성되어 있을 수도 있다. 우리가 판단하는 단일 스칼라 값은 메트릭스 * 벡터합에서 나온 결과이고, 특정 이후로 0 벡터로 구성된 결과만을 갖게 되면 그 결과값만을 믿을 수 있기 때문이다. 

 자연현상일수도 있지만, 이럴땐 메트릭스의 형태와 그 이유에 대해서도 고민해봐야 할 필요성이 있다.

 

 

Convolution 

 

 

INNER PRODUCT는 두 벡터의 사이즈가 같아야 곱할 수 있지만, Convolution 은 n * m 의 다른 차원을 갖는 벡터간의 곱 결과는 벡터 곱의 합을 갖는다. 

 예를 들어, 4 벡터 와 3 벡터가 존재한다면 이는 6차원 벡터를 갖는다. c1.. c2 .. cn 은 인덱스의 합이 n-1로 일정한 크기를 갖도록 하는 결과를 갖는다. 4 벡터와 3벡터의 인덱스 합은 n-1로 6차원 벡터를 갖는 것이다. 위의 그림과 같이 a라는 값을 하나씩 고정시키며 이동시킬 시 위와 같은 차원의 매트릭스의 결과를 갖는 것이다.

 

 

Convolution 은 신호처리나 이미지 처리같은 분야에도 자주 쓰이는데, 아래와 같은 굴곡이 있는 곡선을 보다 스무딩 하게 처리하는데도 이용된다. [1/3, 1/3, 1/3] 의 벡터를 위와 같이 다이어고놀 하게 이동시키며 곱의 합을 갖게 되면 보다 노이즈가 처리 되며, 스무딩한 평균 값을 갖는다.

 

* 참고 : 김종한 교수님 - Linear Algebra Matrix Vector Multiplication

반응형