250x250
250x250
JinSeopKim
Hello World!
JinSeopKim
전체 방문자
오늘
어제
  • 분류 전체보기 (168)
    • Artificial intelligence (14)
      • DeepDiveToAI (3)
      • Pytorch (3)
      • Etc (8)
    • Back-end (19)
      • Spring (10)
      • JPA (9)
    • Language (24)
      • Python (3)
      • Java (11)
      • Swift (10)
    • Math (4)
      • Linear Algebra (4)
    • CodingTest (79)
      • Algolithm (12)
      • Backjoon (25)
      • Programmers (42)
    • Etc (27)
      • Book Review (3)
      • Adsp (6)
      • Life (2)
      • Docker (1)
      • odds and ends (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • GitHub

인기 글

태그

  • 문제풀이
  • BOJ
  • Front-end
  • JPA
  • ios
  • 코딩테스트
  • DP
  • JAVA8
  • AI
  • 머신러닝
  • 구현
  • 자바
  • 파이썬
  • 알고리즘
  • ADsP
  • 카카오
  • uArm
  • 개발
  • 선형대수
  • data
  • java
  • BFS
  • 프로그래머스
  • 개발자
  • Python
  • 브루트포스
  • certificate
  • SpringMVC
  • 백준
  • swift

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
JinSeopKim

Hello World!

[선형대수] Vector와 linear combination
Math/Linear Algebra

[선형대수] Vector와 linear combination

2022. 7. 3. 00:50
728x90
728x90

Vector와 Scalar

Vector와 Scalar를 아마 물리시간에 처음 접했던 것 같습니다. 벡터는 방향과 크기를 가지는 값이고 스칼라는 크기만 가지는 값이라고 배웠습니다. 이번시간에는 벡터를 활용한 선형대수에 대하여 배워보기 위해 벡터를 조금 깊게 이해하고 linear combination을 알아보도록 하겠습니다.

Vector는 $\vec{a}$로 위에 화살표를 작성하여 표시합니다. 선형대수에서는 볼드체로 문자를 작성하여 $a$와 같이 표현하기도 합니다. $\mathbb{R^2}$ 차원의 벡터라는 의미는 실수 2차원의 벡터를 의미합니다. 그 벡터는 아래와 같이 표현할 수 있습니다.
$$
\vec{a} = 
\begin{bmatrix}x_1  \\ x_2  \end{bmatrix}
$$
이 벡터 값의 의미는 (0,0)에서 ($x_1$,$x_2$)까지의 크기와 방향을 가진 벡터가 됩니다.

만약 서로 다른 두개의 벡터를 더해준다면 사다리꼴 모양으로 두 벡터가 합쳐지게 됩니다. 따라서 서로 다른 방향의 $a$벡터와 $b$벡터를 더하게 된다면 각 요소를 더해준 것이 결과가 됩니다.(이해가 어렵다면 그래프를 직접 그려보는 것을 추천드립니다.)
$$a = 
\begin{bmatrix}1  \\ 4  \end{bmatrix}
b = 
\begin{bmatrix}2  \\ 3  \end{bmatrix}$$


$$a +b = 
\begin{bmatrix}3  \\ 7  \end{bmatrix}$$

스칼라 값을 더하는 것은 당연히 불가능합니다. 스칼라는 방향이 없기 때문입니다. 하지만 곱하는 것은 가능합니다. 곱하게 된다면 스칼라 값만큼 벡터의 크기가 커지거나 작아지게 됩니다. 동일하게 원소들에 각각 곱해주면 스칼라 곱을 할 수 있습니다.
$$
\vec{a} = 
\begin{bmatrix}1  \\ 4  \end{bmatrix}
~~~c = 5
$$
$$
c*\vec{a} = 
\begin{bmatrix}5  \\ 20  \end{bmatrix}
$$

현재 $\mathbb{R^2}$차원의 벡터에 대한 연산만 수행하였기 때문에 2개의 요소만 나타나는 것이며, $\mathbb{R^n}$차원까지 벡터가 늘어나게 된다면 n개의 요소를 작성해야 합니다.

## $\mathbb{R^n}$에서 벡터의 기본성질
실수차원에서의 벡터끼리의 덧셈에서는 교환법칙, 결합법칙등이 성립합니다. 그리고 영벡터(방향과 크기가 0인 벡터)를 더해도 그대로이며 반대방향의 벡터를 더한다면 영벡터가 됩니다. 
- $\vec{a} + \vec{b} = \vec{b} + \vec{a}$
- ($\vec{a} + \vec{b}) + \vec{c} = \vec{a} + (\vec{b} + \vec{c})$
- $\vec{a} + 0 = 0 + \vec{a} = \vec{a}$ (여기서 0은 영벡터를 의미합니다.)
- $\vec{a} + -\vec{a} = -\vec{a} + \vec{a} = 0$

스칼라 곱에 대하여도 분배와 결합법칙이 성립하게 됩니다. 그리고 스칼라 값 1을 곱해도 자기 자신의 벡터가 나오게 됩니다.
- $c(\vec{a} + \vec{b}) = c\vec{a} + c\vec{b}$
- $(c + d)\vec{a} = c\vec{a} + d\vec{a}$
- $c(d\vec{a}) = (cd)\vec{a}$
- $1\vec{a} =\vec{a}$

 

Linear combinations

Linear combination은 $\mathbb{R^n}$차원의 벡터 $\vec{v_1},\vec{v_2},\vec{v_3}\cdots \vec{v_p}$와 스칼라 $c_1,c_2,c_3\cdots c_p$의 곱으로 이루어진 벡터의 합을 의미합니다.
$$
y = c_1\vec{v_1} + c_2\vec{v_2} + \cdots + c_p\vec{v_p}
$$
위 처럼 벡터들이 더해진 것을 Linear combination이라고 부릅니다. 그리고 이 때 앞에 곱해진 스칼라 값들을 weight라고 부릅니다.

그렇다면 Linear Combination이 갖는 의미가 무엇인지 알아보겠습니다. 
"어떤 벡터 $\vec{b}$를 $\vec{a_1}$와 $\vec{a_2}$ 벡터의 Linear Combination으로 표현할 수 있는가?" 라는 질문의 의미를 수식으로 풀어보겠습니다.
$$
\vec{a_1} = \begin{bmatrix}a_{11}  \\ a_{12}  \\ a_{13}\end{bmatrix}
~~~
\vec{a_2} = \begin{bmatrix}a_{21}  \\ a_{22} \\ a_{23}  \end{bmatrix}
~~~
\vec{b} = \begin{bmatrix}b_{1}  \\ b_{2} \\ b_{3}  \end{bmatrix}
$$
벡터 3개를 위와 같이 정의를 하였을 때 Linear combination으로 표현이 가능한지에 대한 여부는 $\vec{b} = x_1\vec{a_1} + x_2\vec{a_2}$이 만족하는 $x_1,x_2$가 존재하는지 확인하는 문제와 동일합니다.
$$
\begin{bmatrix}b_{1}  \\ b_{2} \\ b_{3}  \end{bmatrix} = 
\begin{bmatrix}x_1a_{11}  \\ x_1a_{12}  \\ x_1a_{13}\end{bmatrix}+\begin{bmatrix}x_2a_{21}  \\ x_2a_{22} \\ x_2a_{23}  \end{bmatrix} = 
\begin{bmatrix}x_1a_{11}+x_2a_{21}  \\ x_1a_{12} +x_2a_{22}  \\ x_1a_{13} + x_2a_{23}\end{bmatrix}
$$
위 식의 벡터를 풀어쓰면 자연스럽게 linear system이 되는 것을 알 수 있습니다. 따라서 어떤 벡터를 Linear Combination으로 표현할 수 있는지 여부를 풀이하는 것은 Linear system의 해가 존재하는지 해결하는 방법과 동일합니다.

 

Span {$v_1,...v_p$}

Linear Combination으로 표현한다는 것은 결국 주어진 벡터를 활용해 Linear System을 풀어 값이 있는지 여부를 판단하는 것과 동일하다는 결론을 얻었습니다. 

이제 새로운 용어를 정의하도록 하겠습니다. Span{$v_1,...v_p$}은 {}괄호 안에 있는 벡터들의 linear combination으로 표현할 수 있는 모든 벡터를 의미합니다.

즉 벡터 $\vec b$가 Span{$\vec v_1, \vec v_2$}인지를 묻는 것은 $\vec v_1, \vec v_2$의 linear combination으로 $\vec b$를 표현할 수 있는지 여부를 물어보는 것입니다. 이는 linear system으로 해가 존재하는지 여부를 Row Reduction 알고리즘을 활용해 해결하는 문제로 변환하여 해결할 수 있게 됩니다.

728x90
728x90
저작자표시 비영리

'Math > Linear Algebra' 카테고리의 다른 글

[선형대수] 행렬 방정식  (0) 2022.07.03
[선형대수] Row Reduction과 Echelon Forms  (0) 2022.07.03
[선형대수] System of Linear Equations이란?  (0) 2022.07.03
    'Math/Linear Algebra' 카테고리의 다른 글
    • [선형대수] 행렬 방정식
    • [선형대수] Row Reduction과 Echelon Forms
    • [선형대수] System of Linear Equations이란?
    JinSeopKim
    JinSeopKim
    기록📚

    티스토리툴바