분류 전체보기 310

Lightgcn: Simplifying and powering graph convolution network for recommendation (SIGIR'20)

Contents SIGIR'20 에 발표된 LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation을 리뷰하고자 한다. LightGCN은 간단하면서도 강력한 Graph Convolution Network 이다. 기존의 GCN 즉, Spectral GCN은 Node Classification을 하기 위해 만들어졌기 때문에 사용자와 제품 간의 연결성만 다루는 CF 구조에서는 적절하지 않기 때문에, 추천 시스템에 적용하기 위해 LightGCN을 제안하였다. Abstract 본 논문이 발표되기 전에는 GCN (Graph Convolution Network) 를 기반으로 추천 시스템을 구축하였다. GCN은 graph mining..

Spectral Graph Convolution Network

Contents Graph Convolution Network는 Spectral Convolution Network와 Spatial Convolution Network로 분류할 수 있다. Spatial Convolution은 CNN의 연산과 매우 흡사하며, 이웃 노드의 feature information을 바탕으로 message passing을 통해 특정 노드의 hidden state를 계산한다. 반면에 Spectral Convolution Network는 한 노드 내에 혼재된 signal들을 여러 signal의 요소로 나누어서 노드의 특징을 더 잘 추출할 수 있도록 하는 방법이다. Spectral-based graph filter Spectral-based graph filter는 filtering을 ..

[Time-Series] 시계열 데이터에서의 교차검증(Cross-Validation)

머신러닝이나 딥러닝, 통계 모델을 다루다 보면 모델의 예측 성능 및 적합도를 판단하기 위해 혹은 과적합(Over-fitting)을 방지하기 위해 교차검증을 사용한다. 교차검증은 LOOCV(Leave-One-Out Cross Validation) 혹은 k-fold Cross Validation을 주로 사용하지만 시계열 데이터의 경우 이와 같은 방식을 사용하게 되면 문제가 발생한다. 시계열 데이터는 시간의 순서를 고려해야하기에 이같은 방식을 사용하면 시간의 흐름이 뒤바뀌어 제대로된 성능을 발휘할 수 없기 때문이다. 그렇다면 시계열 데이터에서 교차검증은 어떤 식으로 수행 해야할까? Nested Cross-Validation은 Rolling이라고도 부르며 Rolling basis로 교차 검증을 수행하는 것이다...

Time-Series 2022.05.25

[Statistics] AIC(Akaike information criterion)

데이터가 주어졌을 때 우리가 구축한 모델이 데이터를 제대로 설명하는지 확인할 필요가 있다. AIC(Akaike information criterion)은 모델을 평가하는 지표 중 하나로 최소의 정보 손실을 갖는 모델이 가장 데이터와 적합만 모델로 선택하는 방법이다. 즉, 변수의 수는 적고, 이 변수들로 나타낼 수 있는 설명력은 높아야 한다는 것이다. 일반적으로 데이터를 구성하는 변수가 많으면 많을수록 과적합(Overfitting) 문제가 발생한다. 또한 많은 양의 데이터가 요구된다. 따라서, 최소한의 변수들로 모델을 구성해 과적합을 방지할 뿐만 아니라 불필요한 변수를 반영하지 않음으로써 모델의 설명력을 확보할 수 있다. \[ \text{AIC} = -2\text{ln}(L) + 2k \] 이때 $-2\t..

시계열 데이터에서 전처리하는 방법

Contents 시계열(Time-Series) 데이터에서 전처리 과정에서 수행하는 일은 결측치를 제거하는 것과 노이즈(Noise)를 제거하는 것이다. 결측치와 노이즈는 예측 성능을 떨어뜨리는 녀석들 중 하나이기에 사전에 전처리 과정을 수행하여 처리한 후 작업을 수행하는 것이 옳다. 결측치 (Missing Values) 결측치는 말 그대로 값이 존재하지 않는 값을 의미한다. 예를 들어, 식당의 매출을 예측하는 경우 식당의 휴무일에는 매출이 존재하지 않을 것이다. 이와 같은 경우 이를 제거하고 예측하는 형태로 진행할 수 있을 것이다. 실제 데이터를 다룰 때 휴무일과 같은 경우로 데이터가 없을 수도 있고, 단순히 누락되었을 수도 있다. 일반적인 데이터의 구성에서는 큰 문제가 되지 않는다면 결측치를 제거하면 된..

Time-Series 2022.05.24

Bigbird: Transformers for Longer Sequences (NeurIPS'20)

Contents RNN, LSTM, GRU 이후 Transformers가 제안되고 부터 다양한 분야에서 Transformer 기반 모델이 사용되었으며, 특히 자연어 처리(Natural Language Processing, NLP) 분야에서 많이 사용되고 있다. 이번 글에서는 Transformers의 문제를 개선한 모델인 Bigbird를 제안한 논문을 리뷰하고자 한다. [Transformers], [Bigbird] Introduction BERT (Bidirectional Encoder Representations from Transformers), GPT (Generative Pre-trained Transformers) 등과 같이 Transformer-based model(이하 Transformers)..

[CS224W] Traditional feature-based methods: Node-level features

Contents 이전 Lecture에서 Node Level, Link Level, Graph Level을 활용한 케이스에 대해서 다루어 보았다. 이번 Lecture에서는 각각의 Level에서의 Prediction 방법에 대해서 다루고 있다. 각각의 Level에 대해서 Prediction을 하기 위해서는 일단 먼저 Node, Link, Graph 등의 feature를 생성하는 것부터 시작이다. 이번 Lecture에서는 전통적인 ML Pipeline을 구축해 Graph를 구축하고 있다. 전통적인 ML은 2 단계로 구성 되어 있다. 첫번째 단계는 먼저 Node, Link, Graph의 feature를 vector 형태로 가져오는 것이다. 그 후 Random forest, SVM, Feed Forward Neu..

[CS224W] Choice of Graph Representation

Contents Lecture 1.3에서는 Graph Representation를 고르는 방법에 대해서 다룬다. 먼저 Graph Representation을 알기 전 Graph의 구성에 대해서 먼저 알아보자. 그래프는 Nodes, Vertice로 불리는 Objects와 Links, Edges로 불리는 Interactions, 그리고 Network, Graph로 불리는 System로 구성되어 있다. Node로 표현할 경우 $N$, Vertices로 표현할 경우 $V$로 표기한다. Interaction의 경우 주로 Edge로 표현하며 $E$로 표기하고 System은 $G(N,E)$로 표기한다. Graph는 일반적으로 사용자와 사용자 간의 관계를 표현할 때 사용하거나 프로틴(Protein)과 같은 분자 구조를..

[CS224W] Application of Graph ML

Contents 이번 장에서는 그래프 관련 연구의 응용에 대해서 다룬다. 그래프를 사용하는 연구들의 종류는 다음과 같다. Node Classification : 노드의 속성을 예측하는 것 (Categorize online users / items Link Prediction : 두 노드 사이에 놓친 링크가 존재하는지 예측하는 것 (Knowledge graph completion) Graph Classification : 서로 다른 그래프를 분류하는 것 (Molecule property prediction) Clustering : 노드 간의 관계를 Detect하는 것 (Social circle detection) 추가로 새로운 원자 구조를 생성할 때 사용하는 Graph Generation과 물리적인 현상을..

Time-Series 시계열 입문하기.

Contents 시계열 분석은 다양한 분야에서 사용되고 있다. 단순히 사용자 출입 로그나 행동에 대한 분석을 하는 것도 시계열 분석으로 접근할 수 있다. 시계열 분석은 기본 통계 모델인 ARIMA와 딥러닝 기반인 RNN, CNN+LSTM 등 모델이 존재한다. 딥러닝이 최신 기술이라고 예전의 전통적인 통계모델을 무시할 수 없다. 일반적으로 이상치가 존재하지 않는 경우에는 ARIMA 등 전통적인 모델의 성능이 더 잘나올 수 있다. 즉, 패턴이 명확한 데이터의 경우에는 머신러닝 기법을 사용하는 것이 일반적으로 성능이 좋으며, 패턴이 복잡한 경우 일반적으로 딥러닝 기법을 사용하는 것이 성능이 좋다. 시계열 데이터는 '시간의 흐름에 따라 관측치가 변하는 데이터'를 의미하며, 우리가 가지고 있는 데이터에서 시간이라..

Time-Series 2022.05.14
반응형