1. Scala (스칼라)
일반적으로 스칼라라고 하면 벡터 공간(Vector Space)의 세 요소 중 하나로 물리학에서는 '방향을 가지지 않은 크기만 존재하는 물리량'이다. 수학에서 또한 방향을 가지지 않은 하나의 값을 가지는 단위이며 일반적인 수라고 볼 수 있다.
2. Vector (벡터)
벡터는 숫자를 원소로 하는 리스트 / 배열(list / array)이다. 또 벡터는 벡터공간 안에서 한 점을 의미하며, 원점으로부터 상대적 위치를 가지고 있으며 이를 원점에서의 벡터로의 방향으로 볼수 있다.
- 특징
- 벡터는 공간에서의 한 점
- 원점으로부터 상대적 위치를 표현
- 숫자(스칼라)를 곱해주면 길이가 변함
- 숫자(음수)를 곱하면 길이는 그대로 원래방향과 정반대방향이 됨
- 같은 모양의 벡터는 덧셈, 뺄셈, 성분곱(Hadamard Product) 가능
- 성분곱(Hadamard Product)
: 서로 다른 벡터나 행렬에 대해 같은 위치에 있는 성분끼리 곱셈 연산을 하는 것
- 벡터의 노름(norm)
: 벡터의 노름은 원점으로부터의 거리, 즉 벡터의 길이를 말함
: L1-norm --> 각 성분의 변화량의 절대값의 합
뺄셈을 통해 두 벡터 사이의 거리를 계산
: L2-norm --> 각 성분의 제곱의 합의 제곱근 / 피타고라스 정리를 이용해 유클리드 거리 계산
각 성분의 차이로 L2-norm을 계산함으로써 거리를 계산할 수 있고 두 벡터 사이의 각도도 계산 할 수 있음
위의 θ 계산식과 같이 제 2 코사인 법칙에 의해 각도를 구할 수 있다. 분자는 벡터 v1, v2의 내적이며, 분모는 각각의 L2-norm을 곱한 것이다.
- 정사영(Orthogonal Projection)
: 시작점이 같은 두 벡터 x, y에서 벡터 x가 벡터 y에 수직이 되게 만나는 곳과 시작점의 거리를 말한다.
: 벡터 y 위에 있는 벡터 x의 그림자로 볼 수 있다.
: Proj(x) = llxll * cosθ --> 코사인 법칙에 의해 Proj(x)는 llxll cosθ가 된다.
: llyll Proj(x) * <x,y> = llxll * llyll * cosθ --> 내적은 정사영의 길이를 벡터 y의 길이 llyll만큼 조정한 값이다.
3. Matrix (행렬)
행렬은 벡터를 원소로 가지는 2차원의 배열이며, 같은 모양을 가지는 행렬끼리는 덧셈, 뺄셈을 할 수 있다. 또, 성분곱은 벡터와 같이 적용된다.
행렬 곱셉(matrix multiplication)은 i 번째 행벡터와 j 번째 열벡터 사이의 내적을 성분으로 가지는 행렬을 계산한다.
* numpy의 np.inner() 함수는 i번째 행벡터와 j 번째 행벡터 사이의 내적을 성분으로 가지는 행렬을 계산하지만 수학에서 말하는 내적과는 다르다.
- 행렬은 벡터공간에서 사용되는 연산자(operator)로 이해한다.
- 행렬곱을 통해 벡터를 다른 차원의 공간으로 투영할 수 있다. --> 선형변환(linear transformation)
- 행렬곱 -> 패턴 추출 / 데이터 압축 할 수 있다.
- 역행렬
: 어떤 행렬 A(nxn)에 행렬곱을 한 행렬 B(nxn)가 a*I(단위행렬)이 될때 행렬 B를 A의 역행렬이라고 한다. 이때 행렬 A 의 행렬식이 0이 되면 안된다.
- 유사역행렬
: 역행렬이 계산할수 없을때 유사역행렬 또는 Moore-Penrose 역행렬을 이용한다.
참고자료 : 네이버부스트캠프 AI Tech 강의자료
'DS | Data Science > Statistics & Math' 카테고리의 다른 글
[Linear Algebra] Part3. 전치(Transpose) (0) | 2024.01.02 |
---|---|
[Linear Algebra] Part2. 벡터의 연산과 스칼라배 (0) | 2024.01.02 |
[Linear Algebra] Part1. 행렬과 벡터 그리고 선형대수학 (0) | 2024.01.02 |
[MLE] Maximum Likelihood Estimation : 최대가능도 추정법 (0) | 2022.09.22 |
[정리] 확률론 (0) | 2022.09.22 |