728x90
반응형
Numpy로 연산하기
vector와 Scalar 사이의 연산
벡터의 각 원소에 대해서 연산을 진행
vector와 vector 사이의 연산
벡터의 같은 인데스끼리 연산이 진행
Array의 Indexing
python과의 차이점
[a][b] -> [a, b]
Array의 Slicing
python의 List와 유사하게 진행
Array의 Broadcasting
M * N, M * 1 => M * N
M * N, 1 * N => M * N
M * 1, 1 * N => M * N
기본적으로 같은 Type의 data에 대해서만 연산이 적용가능
하지만 만약에 피연산자가 연산이 가능하도록 변환이 가능하다면 연산이 가능
이를 Broadcasting이라고 한다.
영벡터(영행렬)
np.zeros(dim)
을 통해 생성, dim은 값, 혹은 튜플
일벡터
np.ones(dims)
- 원소가 모두 1인 벡터
대각행렬
- Main diagonal을 제외한 성분이 0인 행렬
np.diag(main_diagonal)
을 통해 생성
항등행렬
- Main diagonal이 1인 대각 행렬
np.eye(n, (dtype = int, uint, float, complex, ...))
를 통해 생성
행렬곱
- 행렬간의 곱연산
np.dot(matrix)
or@
사용
트레이스(trace)
- Main diagonal의 합
np.trace()
를 사용
행렬식(determinant)
- 행렬을 대표하는 값들 중 하나
np.linalg.det()
으로 계산- 0이 나오면 full rank가 아니다
- 선형변환 과정에서 Vector의 Scaling 척도
역행렬
- 행렬 A에 대해 AB = BA = 1을 만족하는 행렬 B
- np.linalg.inv()로 계산
고유값과 고유벡터
- 정방행렬 A에 대해 Ax = (lambda)x 를 만족하는 상수 (lambda)와 이에 대응하는 벡터
np.linalg.eig()
로 계산
728x90
반응형
'인공지능 > Python' 카테고리의 다른 글
Matplotlib (0) | 2020.12.16 |
---|---|
Pandas (0) | 2020.12.15 |
인공지능 교육 3일차 (0) | 2020.12.03 |
인공지능 교육 2일차 (0) | 2020.12.02 |