< 목차>
1. 행렬(Matrix)의 필요성 및 정의
2. 벡터(Vector)의 정의
3. 행렬의 기본 연산: 덧셈과 곱셈
4. 행렬의 특성: 교환법칙과 결합법칙
5. 항등행렬(Identity Matrix)과 역행렬(Inverse Matrix)
6. 전치행렬(Transpose Matrix)
1. 행렬의 필요성
-다량의 데이터에 대한 계산을 편리하게 하기 위함
-현실 세계의 많은 문제는 행렬을 이용해 해결할 수 있다.
행렬(Matrix)의 정의
: Rectangular array of numbers 직사각형 모양의 숫자의 배열
= 숫자들을 모아서 한번에 표현

행렬의 요소(Matrix Elements = entries of matrix)

파이썬 코드 예시 (Numpy 활용)

import numpy as np
# 행렬 생성
A = np.array([[2, 3, 1], [1, 4, 0]])
# 첫 번째 행 출력
print("첫 번째 행:", A[0, :]) # 출력: [2 3 1]
# 두 번째 열 출력
print("두 번째 열:", A[:, 1]) # 출력: [3 4]
2. 벡터(Vector)
: 벡터(vector)란 크기와 방향을 가지고 있는 양을 나타내는 개념이다. 이는 화살표로 표현될 수 있다.


벡터는 차원이라는 개념으로 나타낸다. 차원은 벡터의 성분의 개수를 의미한다.
N x 1 차원의 행렬(Matrix)

2차원 벡터는 다음과 같이 표현된다.
v=[v1 v2]
여기서 v₁과 v₂는 벡터의 성분으로, 크기와 방향을 결정한다.
예를 들어, v₁은 가로로, v₂는 세로로 위치한 값이다.

3. 행렬의 기본 연산
1) Matrix(행렬) Addition
같은 위치에 있는 숫자끼리 더해준다. 고로, 같은 m x n 차원의 행렬끼리만 덧셈이 가능하다.

2) Scalar(상수) Multiplication
단순한 Scalar(상수)값을 곱하는 경우. 그냥 행렬의 각 숫자마다 해당 스칼라 값을 곱해주면 된다.

3) Matrix(행렬) x Vector(벡터) multiplication

행렬의 열(column) N과 벡터의 행 N 크기가 동일해야 곱셈 연산이 가능하다.

4) Matrix(행렬) x Matrix(행렬) multiplication

B행렬의 o개의 열을 각각 하나씩 뗴어서 벡터(vector)로 생각하고,
전체 A행렬과 n x 1 차원의 vector의 곱을 한다고 생각하면, 이해하기 편하다.
한쪽 행렬의 열(column) N과 다른 한쪽의 행(row) N 크기가 동일해야 곱셈 연산이 가능하다.
실제 적용 예시
House size 데이터와 주어진 가설함수를 통해 Housing Price를 예측해보자.

4. 행렬(Matrix)의 특성
1) 교환 법칙이 성립되지 않는다(not commutative). 다만, Scalar(상수) x Matrix(행렬)에서는 가능.

2) 결합 법칙은 성립한다(associative). 즉, 곱셈 연산에서는 순서가 상관이 없다.

5. 항등행렬(Identity Matrix)과 역행렬(Inverse Matrix)
*항등원(Identity Element)
어떤 연산에 대해 그 연산을 수행해도 값이 변하지 않는 원소를 말한다.
E.g. 실수에 대한 덧셈 연산의 항등원 = 0 (어떤 실수를 0과 더하더라도, 실수값이 변하지 않음)
정수에 대한 곱셈 연산의 항등원 = 1 (어떤 정수를 1과 곱하더라도, 정수값이 변하지 않음)
*역원(Inverse Element)
어떤 연산에 대해 해당 원소와 연산을 했을 때, 항등원이 되도록 만들어주는 원소를 말한다.
E.g. 실수에 대한 덧셈의 역원 = 해당 실수의 음수 (어떤 실수라도 그 실수의 음수를 더하면, 결과=0)
실수에 대한 곱셈의 역원 = 1을 그 실수로 나눈 값 (어떤 실수라도 그 실수로 나누면, 결과=1)
1) 항등행렬(Identity Matrix) : I 로 표기
행렬의 곱셈에서 곱해도 변하지 않는 특별한 행렬이다.
정사각행렬일 때만 정의되며, 대각선 상의 원소는 1로, 나머지 원소는 0으로 채워진다.
어떤 변수에 1을 곱한다고 해서, 그 변수가 바뀌지 않듯이,
A (M x N) 행렬에 항등 행렬 I (N x M)를 곱한다고 해서, A 행렬이 바뀌지 않는다.
그러기에 항등행렬 관계에서는 교환 법칙이 성립한다.

2) 역행렬(Inverse Matrix) : A-1 = A ^-1 로 표기
정사각행렬 A에 대하여, 행렬의 곱셈에 대한 역연산을 수행하는 행렬이다.
3의 역수를 떠올릴 때, 3과 곱해서 1을 만드는 수를 떠올리는 것과 같다.
즉, A와의 곱셈 결과가 항등행렬이 되는 행렬을 말한다. 역행렬 관계에서는 교환 법칙이 성립한다.


파이썬 코드 예시 (Numpy 활용)
import numpy as np
# 3x3 항등행렬 생성
identity_matrix = np.identity(3)
print("3x3 항등행렬:")
print(identity_matrix)
3x3 항등행렬:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
# 정사각행렬 A 생성
A = np.array([[2, 3],
[1, 4]])
# A의 역행렬 계산
A_inverse = np.linalg.inv(A)
print("행렬 A의 역행렬:")
print(A_inverse)
행렬 A의 역행렬:
[[ 4. -3.]
[-1. 2.]]
6. 전치행렬(Transpose Matrix)
행렬의 행과 열을 뒤바꾼 행렬을 말한다. 기존 행렬 위에 T를 붙여 나타낸다. AT로 표기
A는 n x m 크기의 행렬이라면, AT는 m x n 크기의 전치행렬이다.
전치행렬은 Matrix 곱셈 연산에서 2개의 행렬(한쪽 행렬의 행과 다른 한쪽 행렬의 열)의
크기를 맞추는데 사용된다.

전치행렬의 특징

* 참고: (AT A)T = AT A
(A AT )T = A AT
--> "Symmetrix Matrix" (자기 자신이 그대로 나옴)
파이썬 코드 예시 (Numpy 활용)
import numpy as np
# 행렬 생성
matrix = np.array([[1, 2, 3],
[4, 5, 6]])
# 전치행렬 계산
transpose_matrix = np.transpose(matrix)
print("원래 행렬:")
print(matrix)
print("전치행렬:")
print(transpose_matrix)
※ 개인공부 목적으로 정리한 내용들입니다.
출처
1.1 벡터의 정의와 표현
# Chapter 1: 벡터와 행렬 기초 ## 1.1 벡터의 개념과 표현 **벡터(vector)**란 크기와 방향을 가지고 있는 양을 나타내는 개념입니다. 이는 화살표로 표현…
wikidocs.net
https://box-world.tistory.com/8
[머신러닝] 머신러닝 공부 전 꼭 알아야 할 행렬(Matrix)과 벡터(Vector)
시작하며 저번 포스팅에서는 경사 하강 알고리즘에 대해 공부했었습니다. 이번 포스팅에서는 다음 포스팅에서 배울 다변수 경사 하강 알고리즘을 공부하기 전 행렬(Matrix) 과 벡터(Vector) 에 대한
box-world.tistory.com
https://rfriend.tistory.com/144
R (5) 벡터(Vector)의 기본 이해와 연산 (합, 차, 스칼라배)
이번 포스팅에서는 벡터(vector)의 정의와 연산에 대해서 알아보겠습니다. 벡터는 행렬과 함께 선형대수에서 많이 사용하는 개념이어서 꼭 이해하고 넘어가야 합니다. 벡터 개념과 연산은 중학교
rfriend.tistory.com
https://youtu.be/LWSHUd1FPTs?si=lOVALGNJgmVdTdEo
'기초 공부 > 선형대수학' 카테고리의 다른 글
[선형대수학] 5.벡터공간(vector space) 및 부분 공간(sub space) (0) | 2024.09.04 |
---|---|
[선형대수학] 4.벡터의 놈(norm) (4) | 2024.09.02 |
[선형대수학] 3.정사영(Projection)과 내적(Inner Product) (0) | 2024.09.01 |
[선형대수학] 1.선형대수학이란? (1) | 2024.08.31 |