欲速不達

일을 급히 하고자 서두르면 도리어 이루지 못한다.

Fantastic AI, Fantastic World
728x90
반응형

DS | Data Science 67

[ML basic] GNN : Graph Neural Networks

1. Graph란? 그래프(Graph)란, 꼭지점(node)들과 그 노드를 잇는 선(간선, edge)들을 사용하여 데이터를 표현하는 자료구조이다. edge에 따라 다음과 같은 종류로 나뉘어진다. 방향 유무 directed / undirected 가중치 유무 weighted / unweighted [ Graph를 사용하는 이유 ] 관계, 상호작용과 같은 추상적인 개념을 다루기에 적합하다. 복잡한 문제를 더 간단한 표현으로 단순화할 수 있다. 소셜 네트워크, 바이러스 확산, 유저-아이템 상호작용 등을 모델링할 수 있다. Non-Euclidean Space의 표현 및 학습이 가능하다. 흔히 다루는 이미지, 텍스트, 정형데이터는 격자 형태의 데이터로 표현 가능하다. SNS 데이터, 분자(molecule) 데이터..

[논문] LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation

1. Background 기존의 CF( Collaborative Filtering )에는 다음과 같은 가정이 존재한다.비슷한 행동을 하는 유저들이 비슷한 아이템을 선호할 것이다.  이러한 가정에서 유저들이 갖는 성향을  잠재요인( Latent Factor )이라고 하며, 직접적으로 관찰되거나 측정되지 않는 요인을 말한다. CF는 유저와 아이템 각각의 임베딩 벡터를 생성하고, 내적을 통해 유저가 선호할만한 아이템의 스코어를 계산한다. 이에 더해 그래프에 기반한 추천모델인 NGCF( Neural Graph Collaborative Filtering )는 유저와 아이템 임베딩 벡터를 Embedding Propagation Layer를 통과시켜 업데이트함으로써 유저가 선호할만한 아이템의 스코어를 계산하여 추천한..

[ML basic] Bias & Variance

1. 정의 일반적으로, bias는 모델을 통해 얻은 예측값과 실제 정답과의 차이의 평균을 나타낸다. 즉, 예측값이 실제 정답값과 얼만큼 떨어져 있는지를 나타낸다. 만약 bias가 높다고 하면 그만큼 예측값과 정답값 간의 차이가 크다고 말할 수 있다. $$Bias[\hat{f}(x)]=E[\hat{f}(x)-f(x)]$$ variance는 다양한 데이터 셋에 대하여 예측값이 얼만큼 변화할 수 있는지에 대한 양(Quantity)의 개념이다. 이는 모델이 얼만큼 flexibility를 가지는 지에 대한 의미로도 사용되며, 분산의 본래 의미와 같이 얼만큼 예측값이 퍼져서 다양하게 출력될 수 있는 정도로 해석할 수 있다. $$Var[\hat{f}(x)]=E[(\hat{f}(x)-E[\hat{f}(x)]^{2})]..

[Linear Algebra] Part18. $rank(A)=rank(A^{T}A)$의 증명

1. $rank(A)=rank(AA^{T})=rank(A^{T}A)$의 증명 앞선 랭크의 정리에 대한 포스팅에서 $rank(A)=rank(A^T)$라는 것을 정리했다. 간단하게 다시 말하자면, $A$의 랭크, 즉 열공간의 독립적인 벡터 수는 $A^{T}$의 랭크와 같다는 것이다. 이를 rank theorem 라고 한다. 증명 주어진 행렬 $A$에 대해서, $rank(A)$를 $r$이라고 하고 $A$의 열벡터를 {v₁, v₂, ..., vᵣ}이라고 할때, {v₁, v₂, ..., vᵣ}는 $A$의 열공간을 형성한다. 이때 $A^{T}A$는 $A$의 열벡터들에 대한 내적의 형태로 구성된다. HTML 삽입 미리보기할 수 없는 소스 ​ 내적형태로 구성된 결과행렬에서 대각선 성분들은 $v_{r}^{T}v_{r}$..

[Linear Algebra] Part17. 고윳값(Eigen Value)과 고유벡터(Eigen Vector)

선형대수에서 핵심이 되는 고윳값(Eigen Value)과 고유벡터(Eigen Vector)에 대해서 정리하고자 한다. 1. 정의 고윳값과 고유벡터의 정의는 다음 수식을 보면 알 수 있다. HTML 삽입 미리보기할 수 없는 소스 정사각행렬 $A$가 주어졌을때, 벡터 $\textbf{v}$의 곱이 $\lambda\textbf{v}$이 같으면, 이때의 $\lambda$를 고윳값( Eigen Value ), $\textbf{v}$를 고유벡터( Eigen Vectors )라고 한다. 또, $\lambda$는 상수이고 $\textbf{v}$는 벡터이므로, "방향은 같고 크기만 변화"함을 알 수 있다. $A$ = 정사각행렬 $A$는 필수적으로 정사각행렬이 되어야 한다. 이유는 아래 수식을 보자. HTML 삽입 미리보..

[Linear Algebra] Part16. 최소자승법(Least Squares)과 정사영행렬(Projection Matrix)

최소자승법은 간단하게 말해서 "어떤 n차원 평면(공간)이 있고 이 평면 위(안)에 있지 않은 어떤 점 A가 있을때, A와 가장 가까운 평면(공간) 위(안)의 점을 찾는 것"이다. 간단해보였는데, 말해보니 간단하게 전달되지 않아보인다. 정리해보자. 1. 최소자승법 : Least Squares 어떤 행렬 $A$가 있다. 이때 이 행렬은 full column rank이다. 즉, 아래와 같은 모양을 가진다. HTML 삽입 미리보기할 수 없는 소스 이때, 행렬 $A$의 열공간은 전체 5차원 공간 안에서 3차원을 span한 공간이다. 위의 그림과 같이 $A$의 열공간 $C(A)$이 평면으로 표현된다고 하자. 이 공간 안에 $A\textbf{x}$가 있고, 이 공간 밖에 벡터 $b$가 존재한다고 하자. 이때, 벡터 ..

[Linear Algebra] Part16. 대각합 (Trace)

대각합(Trace)에 대해 정리해보자. 대각합은 말 그대로 행렬의 대각선 성분의 합을 말한다. 단순해 보이는 이 개념은 모델의 최적화 부분에서 중요한 역할을 한다. 1. 대각합 : Trace 우선 최적화 관점에서 보자. 최적화를 할때, loss function을 최소화하는게 그 목적이 된다. 그런데 loss function에서 다루는 데이터는 행렬 형태의 데이터이기 때문에, 이를 미분하여 값(크기)로 만들어야 최소화할 수 있다. 행렬의 크기가 작으면 간단하게 미분이 되겠지만 크기가 커질수록 복잡해지는데, 이때 대각합(trace)을 미분할 때 사용할 수 있다. 이렇듯 모델 최적화에서도 쓰이는 대각합(trace)에 대해 정리해보겠다. 대각합의 정의는 "정사각행렬 A에서 행렬의 대각선 성분(diagonal e..

[Linear Algebra] Part15. 행렬식 (Determinant)

행렬식은 행렬이 역행렬을 가지는지 확인하는데 쓰인다. 행렬식이 0이면 역행렬이 존재하지 않고, 0이 아니면 역행렬이 존재한다. 또, 앞선 포스팅에서 역행렬은 정사각행렬에서만 정의된다는 점을 언급했었다. https://kkuneeee.tistory.com/87 [Linear Algebra] Part12. 선형방정식 해의 개수 선형방정식의 해의 개수는 행렬에 따라 다르게 나타난다. 즉, $A\textbf{x}=\textbf{b}$에서 행렬 $A$가 어떤 랭크를 가지느냐에 따라 해의 개수가 다르다. 1. Full Column Rank full column rank는 행렬 $A$의 열 개 kkuneeee.tistory.com https://kkuneeee.tistory.com/89 [Linear Algebra]..

[Linear Algebra] Part14. 역행렬 (Inverse Matrix)

역행렬은 앞선 포스팅 가우스-조던 소거법의 내용과 연결된다. https://kkuneeee.tistory.com/88 [Linear Algebra] Part13. 가우스-조던 소거법(Gauss-Jordan Elimination) 가우스 조던 소거법(이하 가우스 소거법)은 이미 우리가 알고 있는 연립방정식 풀이법과 동일하다. 단지, 선형대수에서는 방정식의 수가 매우 많은 경우를 다루기 때문에 수식을 행렬로 변형하 kkuneeee.tistory.com 가우스 소거법 정리에서 연관되어 유도되기 때문이다. 1. 역행렬 : Inverse Matrix 역행렬의 정의부터 다시 보자. 역행렬은 정사각행렬 $A$에 대해서 $AX=XA=I$를 만족하는 정사각행렬 X를 말한다. 역행렬의 공식은 중고등학교 과정에서 배웠던것과..

[Linear Algebra] Part13. 가우스-조던 소거법(Gauss-Jordan Elimination)

가우스 조던 소거법(이하 가우스 소거법)은 이미 우리가 알고 있는 연립방정식 풀이법과 동일하다. 단지, 선형대수에서는 방정식의 수가 매우 많은 경우를 다루기 때문에 수식을 행렬로 변형하여 다룬다. 이 때 사용되는 선형연립방정식의 행렬 버전이 가우스 소거법이라고 할 수 있다. 1. 확장행렬 가우스 소거법을 하기 위해서는 확장행렬이라는 개념이 필요하다. 아래 수식을 보자. HTML 삽입 미리보기할 수 없는 소스 위의 수식처럼 연립방정식을 행렬로 표현하면 가운데처럼 x, y가 그대로 있게 된다. 이를 생략한다고 했을때, 계수와 값만을 두고 보면 오른쪽 행렬과 같이 $2\times 3$ 행렬로 표현할 수 있는데, 이를 확장(확대)행렬( Augmented coefficient matrix )이라고 한다. 2. 가..

728x90
반응형