본문 바로가기

분류 전체보기111

8. (Transformer-2편) Transormer : Self-Attention 트랜스포머의 전반적인 구조와 Self-attention에 대해.. 대부분의 이미지는 Jay Alammar 의 블로그에서 가져왔다. 트랜스포머의 전체적인 구조는 인코더와 디코더를 여러 개 (보통은 같은 개수만큼) 쌓은 구조이다. 직전 포스팅에서 설명한 S2S+attention 에서는 인코더/디코더가 1개였던 것과 대조된다. 또한 S2S 와는 다르게, 한번에 하나의 토큰씩 순차적으로 시퀀셜 하게 토큰을 처리하지 않는다. RNN 구조를 완전히 벗어나기 때문에 그럴 필요가 없다. 전체 문장(시계열에서는 타임스텝)을 한 번에 집어넣고 처리한다. Encoding vs Decoding block 차이점 : Encoder 는 한번에 모든 시퀀스를 다 사용함 (Unmasked), Decoder는 단어를 생성해야하니 순차.. 2024. 7. 24.
7. (Transformer-1편) RNN 과 Attention 이번 포스팅부터 2~3편으로 나누어 Transformer와 관련한 내용을 정리하려고 한다. 첫 번째 포스팅은 Transformer 모델이 나오게 된 배경? 흐름에 대해 정리하고, 시계열, 자연어 분야에서 트랜스포머 전까지 가장 많이 쓰였던 RNN 기반의 S2S + Attention 구조에 대해 다루려고 한다. 딥러닝 기반의 시계열 예측모델 흐름  시계열 예측 모델을 큰 카테고리로 나눠보면 3가지로 분류해볼 수 있다. 전통적인 통계기반의 시계열 분석 방법들 (Moving average, Exponential smoothing, ARIMA, Prophet 등..) 머신러닝 기반의 시계열 분석 방법들 (SVM, Random foreset, Boosting 등..) 딥러닝 기반의 시계열 분석 방법들 (RNN, .. 2024. 7. 24.
비트코인 온체인지표 (2) - 시장지표 비트코인, 암호화폐 투자의 가장 큰 특징 중에 하나는 블록체인을 통한 온체인 지표를 활용할 수 있다는 점이다. 온체인 지표는 블록체인 네트워크 상에 오픈된 여러 가지 종류의 데이터를 분석하여 네트워크의 상태, 사용자 행동, 거래 패턴 등을 평가하는 지표다. 온체인지표에 대한 포스팅은 총 3편으로 나누어 정리하고자 한다.  ① 펀더맨털 : 비트코인을 네트워크, 화폐, 디지털 금 등의 관점으로 생각했을 때 내재적인 가치를 판단할 수 있는 지표들 ② 시장분위기 : 현재 시장의 과매수/과매도 등의 분위기를 나타내는 지표. 중/장기적인 가치를 판단하기 좋다. ③ 가격신호 : 단기적인 고점/저점 가격신호에 대한 기술적 분석 지표. 이번 두 번째 포스팅은 정량적인 방법으로 중기적인 가치를 평가해 볼 수 있는 시장의 .. 2024. 7. 21.
비트코인 온체인지표 (1) - 펀더맨털 비트코인, 암호화폐 투자의 가장 큰 특징 중에 하나는 블록체인을 통한 온체인 지표를 활용할 수 있다는 점이다. 온체인 지표는 블록체인 네트워크 상에 오픈된 여러 가지 종류의 데이터를 분석하여 네트워크의 상태, 사용자 행동, 거래 패턴 등을 평가하는 지표다. 온체인지표에 대한 포스팅은 총 3편으로 나누어 정리하고자 한다.  ① 펀더맨털 : 비트코인을 네트워크, 화폐, 디지털 금 등의 관점으로 생각했을 때 내재적인 가치를 판단할 수 있는 지표들 ② 시장분위기 : 현재 시장의 과매수/과매도 등의 분위기를 나타내는 지표. 중/장기적인 가치를 판단하기 좋다. ③ 가격신호 : 단기적인 고점/저점 가격신호에 대한 기술적 분석 지표. 첫 번째 포스팅은 비트코인의 내재적인 가치를 판단해 볼 수 있는 지표다. 이름부터 가.. 2024. 7. 21.
자산 포트폴리오의 구성 보호되어 있는 글 입니다. 2024. 7. 12.
6. 시계열 데이터 클러스터링 (DTW, TimeSeriesKMeans) 시계열 클러스터링은 시간에 따른 데이터의 패턴을 기반으로 여러 시계열 데이터를 그룹화한다. 각 시계열은 유사한 패턴, 트렌드, 계절성 등을 기준으로 클러스터에 속하게 되는데, 이를 통해 데이터의 구조를 이해하고, 예측 모델의 성능을 향상할 수 있습니다. 우리가 클러스터링을 할 때는 주로 거리나 밀도를 기반으로 유사도(similarity)를 측정하게 되는데, 시계열 데이터의 경우 주로 동적 시간 왜곡(DTW : Dinamic Time Warping)이라는 거리 측정 방법을 사용한다.  DTW는 아래의 그림과 같이 시계열 데이터간의 길이나 크기가 달라도 이것을 고려하여 유사성을 측정하는 방법이다. 두 시계열의 각 지점 간의 유클리디언 거리를 기반으로 거리 행렬을 만들고, 최적 경로 (최소 누적거리)를 찾는 .. 2024. 7. 9.
5. Seq2Seq 모델을 이용한 다변량 다중시점 시계열 예측 다변량 시계열 예측을 할 때 시퀀스 투 시퀀스(sequence to sequence, seq2seq) 형태를 사용하면 더 정교한 시계열 예측이 가능해진다. Seq2 Seq 모델은 주로 두 개의 LSTM으로 구성되며, 첫 번째 LSTM(인코더)은 입력 시퀀스를 고정 길이의 콘텍스트 벡터로 인코딩하고, 두 번째 LSTM(디코더)은 이 벡터를 기반으로 출력 시퀀스를 생성한다. 이는 주로 번역, 대화 생성 및 시계열 예측에 사용된다.  Seq2 Seq을 이용한 다중시점 시계열 예측의 가장 큰 장점은, known future input 값을 사용할 수 있다는 점이다. Seq2 Seq의 Encoder 가 과거의 정보를 받아서 콘텍스트 벡터로 인코딩을 하고, Decoder는 인코딩 된 콘텍스트 벡터에 known fu.. 2024. 7. 8.
4. Prophet 패키지를 이용한 간단 시계열 예측 Prophet는 Facebook에서 개발한 오픈 소스 시계열 데이터 예측 도구이다. 비정상적이고 결측치가 있는 데이터에 강하며, 주기적 패턴과 추세를 감지하는 데 효과적이다. Python과 R에서 사용할 수 있으며, 가장 큰 장점은 사용하기가 매우 쉽다.  머신러닝, 딥러닝과 같은 인공지능 모델보다는 ARIMA와 같은 확률적 모형에 가깝다고 할 수 있고, 다만 ARIMA 보다는 좀 더 도메인 지식(가정) 을 모델에 유연하게 입힐 수 있다.  Prophet 모델의 생성과 학습은 아래 코드 3줄이 전부다. 주의할 점은, Prophet의 입력 데이터는 칼럼명을 ds (= 날짜), y (= 값)으로 설정해줘야 한다. Prophet 에는 사용가능한 다양한 옵션들이 있는데, 이들 각각에 대해서는 나중에 정리하겠다... 2024. 7. 8.