728x90
Numpy
- 과학 계산의 경우 행렬 연산의 비중이 높으며, 이를 효율적으로 처리하기 위해 사용되는 라이브러리
import numpy as np
np.arange(10)
# array([0,1,2,3,4,5,6,7,8,9])
Scalar
- 단일 값으로 표현
- pi, 온도, x, y 등등...
- 스칼라값은 소문자 알파벳으로 표현 (a,b,c,d,...)
Vector
- 값으로 이루어진 array
- column vector :
- row vector :
Matrice
- 값으로 이루어진 2차원 배열
- 머신러닝에 있어서 많은 데이터는 벡터나 행렬로 표현
- matrix 생성 함수
- np.array([list]) : list를 numpy 배열로 변환
- np.arange(n) : 0~n-1의 배열 생성
- np.reshape(r,c) : r x c 크기로 배열 재생성
- np.zeros(size) : 0행렬 생성
- np.ones(size) : 모든 원소가 1인 행렬 생성
- np.full(size, element) : 해당 행렬을 element로 채움
- np.random.random(size) : 0 ~ 1 사이의 값을 원소로 갖는 행렬 생성
- Transepose(행렬) or 행렬.T : 행렬의 행-열을 바꿈
- np.shape() : (행, 열) 반환
- len(arr.shape) : 몇차원 행렬인지를 반환
Tensor
- 2개 이상의 축을 갖는 행렬
- ex. RGB image(가로, 세로 x 3 (R, G, B))
- tensor 연산 : 일반 연산과 동일하게 작성
- 곱셈, 나눗셈은 행렬곱이 아닌 원소 간의 곱으로 계산
- reduction
- 원소들의 합을 계산하고, 1개 축을 제거
- tensor.sum()
- axis 미지정시 전체 원소의 합
- axis : 0인 경우 세로 방향의 합을, 1인 경우 가로 방향의 합 계산
- keepdims : 합을 계산 후 배열 크기를 유지
- np.identity : 단위행렬 반환
- np.diag : 대각행렬 반환
- np.dot(vec1, vec2) : 행렬의 합성곱() 계산
Norm
- 벡터를 스칼라를 연결
- 벡터의 크기에 대한 표현
- norm f의 특징
- : vector에 상수를 곱한 만큼 증가
- : norm은 항상 0 이상
- :
- L1 norm : manhattan distance ( 절대값의 합 )
- L2 norm : Euclidian distance
728x90