본문 바로가기
About AI (인공지능)

벡터와 행렬

by 용스토리랜드 2023. 3. 22.

벡터와 행렬은 선형대수학에서 매우 중요한 개념입니다.

  • 벡터(Vector)
  • 크기와 방향을 가지는 양을 나타내는 개념
  • 일반적으로 행 벡터나 열 벡터 형태로 표현하며, 선분으로 나타낼 수도 있음
  • 벡터의 덧셈, 뺄셈, 스칼라 곱 등이 가능하며, 내적과 외적 등 다양한 연산이 존재함
  • 물리학, 공학, 컴퓨터 그래픽스 등 다양한 분야에서 활용됨
  • 행렬(Matrix)
  • 숫자의 집합을 사각형 모양의 배열로 나타낸 것
  • 행과 열의 크기에 따라 n x m 행렬로 표현함
  • 행렬의 덧셈, 뺄셈, 곱셈 등이 가능하며, 행렬식, 역행렬 등 다양한 개념이 존재함
  • 대수학, 물리학, 공학, 경제학, 통계학 등 다양한 분야에서 활용됨
  • 벡터와 행렬의 관계
  • 벡터는 행렬의 한 행 또는 열로 나타낼 수 있음
  • 행렬과 벡터의 곱셈은 벡터의 변환을 나타내며, 회전, 크기 조절, 이동 등 다양한 변환을 가능하게 함
  • 벡터와 행렬은 머신러닝, 딥러닝, 데이터 분석 등 다양한 분야에서 활용됨

벡터와 행렬은 선형대수학에서 기본적인 개념이며, 다양한 분야에서 활용됩니다. 특히, 딥러닝과 같은 인공지능 분야에서는 벡터와 행렬을 기반으로 한 다양한 알고리즘이 개발되고 있습니다. 따라서, 이러한 개념을 잘 이해하고 활용하는 것은 머신러닝, 딥러닝 등에 대한 이해도를 높일 수 있습니다.

 

# 벡터와 행렬을 확장하여  숫자 집합을 N 차원으로 표현한 것도 생각할 수 있다. 이를 일반적으로 텐서라고 한다.

 

벡터에는 행벡터와 열벡터가 있으며, 수학과 딥러닝 등 많은 분야에서는 '열벡터' 방식을 선호합니다.

 

벡터와 행렬 생성 코드 

np.array()  메서드로 벡터와 행렬 생성 가능 

다차원 배열 클래스인 np.ndarray 클래스를 생성

np.ndarray 클래스에는 다양한 편의 메서드와 인스턴스 변수가 준비되어 있다.


원소별(element-wise) 연산

다차원 넘파이 배열의 사칙연산 중 더하기 (+) 와 곱하기 (*). 다차원 배열들에서 서로 대응하는 원소끼리 (각 원소가 독립적으로) 연산이 이뤄진다. 이것이 넘파이 배열의 '원소별 연산' 이다.

 

# 브로드 캐스트

넘파이의 다차원 배열에서는 형상이 다른 배열끼리도 연산할 수 있다.

 

# 벡터의 내적(dot product)과 행렬의 곱

적 : '쌓는다' 는 뜻의 한자 ; 여기서는 '곱한다' 는 뜻. 내적은 벡터를 마치 수처럼 곱하는 개념입니다. 

일반적 정의

- 두 벡터의 각 성분끼리의 곱의 합 

- 두 개의 벡터가 있을 때 한 벡터의 방향으로 나머지 하나를 projection(투영) 시킨 것과 다른 한 벡터의 크기의 곱

- 벡터 두 개를 하나의 스칼라 값으로 변환시키는 연산

- '두 벡터가 얼마나 같은 방향을 향하고 있는가'를 나타낸다. 

*투영 : 벡터의 관점에서 보면 하나의 벡터를 다른 벡터로 옮겨서 표현하는 것을 말한다. 

 

반응형