Vector
: 1차원 숫자 배열 표현Matrix
: 2차원 숫자 배열 표현Tensor
: 3차원 이상의 숫자 배열 표현2-norm
== Euclidean norm == L2 normInfinity-norm
== 요소 값의 절대값 중 최대값Matrix의 norm은 더 다양한 형태가 있는데,
기계학습이 주로 사용하는 Frobenius Norm만 살펴본다.
둘 중 어떤 vector가 vector와 더욱 유사하다고 할 수 있는가?
== Similarity를 어떻게 측정할 것인가?
내적은 두 벡터의 요소 간의 곱을 합산하여 Similarity 계산 ➡️ 하지만 문제 발생 가능
이를 해결하기 위한 대안으로
Cosine Similarity(코사인 유사도)
가 있다.
- Cosine Similarity는 두 벡터 간의 각도를 사용하여 Similarity 계산.
따라서 내적과는 다르게 두 벡터의 크기에 의존하지 않게 된다.
➡️ 벡터의 크기가 중요하지 않은 문제에서 유용하게 사용된다- 단위 벡터로 변환한 다음, 단위 벡터의 내적을 사용하는 것이다.
모든 차원에 그대로 적용된다.
Cosine Similarity는 특정 응용 분야에서는 적절하지 않을 수 있다.
예를 들어, 구매액과 방문횟수에 따라 고객을 분류하는 경우
단위 벡터로 만들면 크기 정보가 사라지므로 원래의 벡터를 사용해야 한다.
이 경우 Educlidean Distance를 사용해야 한다.
이진 벡터인 경우 서로 다른 값을 가진 요소의 개수로 정의하는
Hamming Distance, Manifold Distance 등이 있다.
결국, 응용에 따라 적절한 방법을 선택해 사용하는 지혜가 필요.
Perceptron은 입력 샘플을 2개의 부류 중 하나로 분류하는 분류기(Classifier)이다.
퍼셉트론은 다음과 같이 동작한다.
(b) : 여기에서 Activation Function으로 계단함수를 사용했다.
(c) : decision line == 에 수직이고 원점으로부터 만큼 떨어져 있다.
decision line(결정직선)
이라고 한다.decision plane(결정평면)
이라고 한다.decision hyperplane(결정초평면)
이라고 한다.Example : 3차원 특징 벡터와 decision plane
따라서 가장 큰 출력 노드를 최종 분류 결과로 취한다면,
이 신경망을 c 부류 Classifier로 사용할 수 있다.
basis vector(기저벡터)란
vector space(벡터 공간)의 모든 vector를 생성할 수 있는 일종의 기본 vector들
이다.
i = (1, 0) : x축 방향으로 길이가 1인 벡터
j = (0, 1) : y축 방향으로 길이가 1인 벡터
orthonomal basis vector(정규직교 기저 벡터)
라고 한다.이렇게 기저벡터를 사용하면 어떤 벡터든 일정한 비율로 조합하여 표현할 수 있다.
Linear Combination(선형 결합)
은
basis vector들로 일정한 상수배와 덧셈을 통해 만들어지는 새로운 벡터를 말한다.
Vector Space(벡터 공간)
은
Linear Combination을 통해 만들어진 공간을 말한다.
Linear Independence(선형 독립)
은
한 벡터를 다른 벡터의 선형 결합으로 표현될 수 없는 경우를 말한다.
선형 독립이 아닌 경우
= : vector b는 vector a에 대한 스칼라 곱(선형 결합)으로 표현될 수 있다
➡️ 선형 독립이 아니다.
➡️ vector space는 직선에 불과하다.
선형 독립인 경우
는 의 선형결합으로 표현될 수 없다.
➡️ 선형 독립이다.
➡️ vector space는 2차원 평면을 만든다.
Rank of Matrix(행렬의 계수)
는
행렬에서 1차 독립인 row vector의 개수이다.
즉, 유효한(유의미한) 방정식의 개수를 의미.
: Matrix
-1 : Inverse Matrix
-1 = -1 =
어떤 행렬과 그것이 역행렬을 곱하면 Identity Matrix(단위행렬)이 된다.
역행렬이 없는 행렬을 singuluar matrix(특이행렬)
이라고 한다.
역행렬이 존재하는 행렬을 nonsingular matrix(정칙행렬)
이라고 한다.
determinant(행렬식)
정사각행렬에 대해 정의되는 수학적인 개념으로,
행렬에 대한 선형변환의 성질을 나타내는 값이다.
행렬을 Decomposition(분해) 한다 == 인수 분해(Factorization)한다.
여기서는 eigen value(고윳값) 분해를 공부한다.
- : Matrix
- : eigen vector
- : eigen value
파란 원 위에 존재하는 수많은 점(벡터) 중에
방향이 바뀌지 않는 것은 고유 벡터에 해당하는 , 뿐이다.
고유값은 정말로 고유하다.
고유 벡터를 고유하게 하기 위해서 정규화(단위 벡터화)한다.
Normalization(정규화)
: 벡터의 크기를 조정하여 특정한 범위로 변환하는 것을 의미.Unit Vectorization(단위 벡터화)
: 벡터의 크기를 1로 변환하는 것을 의미.Eigen Vector 정규화 방법 :
Scalar에 부호를 부여하듯이 Matrix에도 부호를 부여할 수 있을까?
zero vector가 아닌 vector에 대해서,
다음과 같은 식을 만족하는 를 다음과 같이 정의할 수 있다.
: positive definite (양의 정부호 행렬)
: positive semi-definite (양의 준정부호 행렬)
: negative definite (음의 정부호 행렬)
: negative semi-definite (음의 준정부호 행렬)
positive definite Matrix의 Eigen Value는 모두 양수이다.
EVD
는 Square Matrix에 대해서만 적용이 가능
하다.
EVD(고유값 분해)는 행렬 를 다음과 같이 분해한다.
-1
- : Decomposition 대상 Matrix
- : 의 Eigen Vector를 Column에 배치한 Matrix
- : 의 Eigen Value를 Main Diagonal에 배치한 Diagonal Matrix(Ascending)
SVD
는 Square Matrix뿐만 아니라 모든 Matrix에 대해서 적용이 가능
하다.
SVD(특이값 분해)는 행렬 를 다음과 같이 분해한다
- : Decomposition 대상 Matrix
- = : 의 eigen vector을 column에 배치한 Matrix(n*n)
- 의 Column vector들을 left singular vector(왼쪽 특이 벡터)라고 함.
- : 의 Eigen Value의 제곱근을 Main Diagonal에 배치한 Diagonal Matrix(n*m)
- :의 eigen vector을 column에 배치한 Matrix(m*m)
- 의 Row vector들을 right singular vector(오른쪽 특이 벡터)라고 함.