Loading...
2022. 6. 28. 12:32

time series data의 cross validation에 대한 여러가지 고찰

time series data는 일반적인 cross validation으로 검증을 수행해도 무리가 없을까? 일반적인 cross validation을 수행하면 과거 미래 데이터가 무작위로 섞일 것이다. 미래를 예측하기 위해서는 그 이전의 정보를 사용하여 예측하는 것이 기본인데 무작위로 뒤섞인다면 당연히 예측 성능이 떨어질 것이다. 1. ordering by time 기본적인 방법 중 하나는 데이터를 시간 순서대로 정렬하고 validation set을 train set보다 미래에 있는 것으로 선택하고 test set도 validation set, train set보다 미래에 있는 데이터를 선택하는 것이다. 이게 가장 흔하고 자주 사용하는 방법같다 그러나 이 방법이 안좋은 점은 test set은 무작위로 선택..

2022. 4. 1. 19:28

RNN을 이용한 글자 수준의 언어 모델(Character-level language model)

1. language model 주어진 token을 바탕으로 다음 token을 예측하는 task character-level이라는 것은 character sequence에서 이전 character를 바탕으로 다음 character가 무엇인지 예측하는 task ------------------------------------------------------------------------------------------------------------------------------------------------------------- decoder 시작할 때는 생성하고자하는 문장의 단어에 앞서 start token이라는 별도의 token이 들어간다. 예를 들어 ‘난 널 사랑해’를 번역한다고 하자. I ..

2022. 2. 15. 18:36

RNN(Recurrent Neural Network)이란 무엇인가?

MLP의 경우 현재 시점의 정보만 가지고 입출력을 하므로 과거 정보를 다루기 어렵다. MLP는 오직 현재 시점의 입력만 사용한다 과거의 정보를 사용하고 싶다면? 이전 잠재변수 $H_{t-1}$로부터 정보를 받는 새로운 가중치 행렬을 만든다 위와 같은 경우 가중치 행렬이 1층 레이어에서 $W_{X}^{(1)}$,$W_{H}^{(1)}$, 2층 레이어에서 $W^{(2)}$로 총 3개 있음 특히 이들 가중치 행렬은 시간 t와는 무관하게 모든 시점에서 공유된다 혹은 재귀적으로 입력이 반복된다고 해서 이렇게 표현하기도 한다 현재 입력 X에 대해 추가적으로 A에서 이전의 출력정보가 같이 들어가서 H로 나오는 구조 이런 재귀적 구조를 시간순으로 풀어버리면 오른쪽 그림처럼 입력이 매우 많은 fully connected..

2022. 2. 14. 20:19

다양한 sequential model들

1. naive sequence model 조건부확률을 이용한 모델링 과거 정보가 얼마나 들어올지 모르기 때문에 사실상 사용하기 어렵다 과거 정보는 input data이고 이것을 이용하여 현재 시점의 데이터를 예측 2. autoregressive model 과거정보가 얼마나 들어올지 모르는 어려움을 해소하는 가장 쉬운 방법은 고정된 길이의 과거 자료만 사용하는 자기회귀모형(autoregressive model) 3. Markov model 자기회귀모형의 일종으로 AR(1)을 Markov model이라고 한다. 오직 바로 이전 시점의 데이터만 현재 시점에 영향을 미치는 경우에 사용 결합확률분포의 표현이 쉬워지지만 현실적으로 절대 말이 안되는 AR(1) 모형 많은 과거 정보를 버릴 수 밖에 없다. 4. La..

2022. 2. 11. 21:10

sequence 데이터를 모델링하는 방법

1. sequence data 사건의 발생 순서에 따라 순차적으로 들어오는 데이터 말소리, 문자열, 주가, 비디오, 시계열, 동작(motion) 데이터 독립이고 서로 동등한 분포를 따르지 않는다(iid가 아니다.) 데이터의 순서를 바꾸면 확률분포가 바뀐다. 과거의 정보나 앞뒤의 맥락을 이용하지 않으면 미래를 예측하는 것이 어렵다. 순서에 관한 정보를 어떻게 반영해야할지 어려워 다루기 어려운 데이터이다. 심지어 입력의 차원이 어디까지 될지를 모른다. 바꿔말하면 sequence data를 다룬 모델은 입력의 차원이 다르더라도 동작할 수 있는 모델이어야한다. 2. 조건부확률을 이용한 모델링 sequence data는 이전에 발생한 정보를 이용하므로 이전 사건이 발생했다는 가정하에 현재 데이터가 발생할 확률을 ..