본문 바로가기

시계열 데이터

LSTM을 이용한 자연어처리 (실습) 【5】RNN 기본 다지기 / 실습으로 익히는 순환신경망 LSTM을 이용한 자연어처리 (실습) 이번에는 RNN의 강점이라고 할 수 있는 자연어처리를 해보자 모델에 사용 할 데이터셋은 IMDB 데이터다. IMDB 사이트에 등록된 리뷰를 긍정인지 부정인지를 분류하는 문제다. from tensorflow.keras import models,layers,datasets from tensorflow.keras.preprocessing.sequence import pad_sequences 텐서플로우 2.0 생략하고 자연어처리 실습에 사용될 패키지들이다. (x_train,y_train),(x_test,y_test) = datasets.imdb.load_data(num_words=10000) IMDB 데이터셋을 호출하는.. 더보기
예제로 다시 한번 이해하는 RNN 구조 【5】RNN 기본 다지기 / 순환 신경망의 출현 예제로 다시 한번 이해하는 RNN 구조 RNN을 실습해보자 import numpy as np from matplotlib import pyplot as plt from tensorflow.keras import datasets, layers, models 실습에 사용되는 패키지들이다. 텐서플로우 2.0은 선언하는 것은 생략하고 넘파이, 맷플롯립, 케라스 이렇게 사용된다. 이번에는 데이터셋을 호출하지 않고 만들어서 사용한다. data = np.sin( np.pi * np.arange(0, 100)* 2.025 ) + np.random.random(100) x = np.array([data[i+j] for i in range(len(data)-10) for j.. 더보기
시계열 데이터 분석을 위한 RNN 【5】RNN 기본 다지기 / 순환 신경망의 출현 시계열 데이터 분석을 위한 RNN 지금까지 살펴본 신경망 모델의 구조를 단순화시킨다면 아래와 같이 생각할 수 있다. 즉 화살표 오른쪽에 있는 그림처럼 신경망 모델을 표현 할 수 있다. 파란 동그라미가 입력으로 들어가면 네모박스에 있는 은닉층들을 통과하여 파란 동그라미로 출력이 된다. 여기서 하나의 네모 박스 안에는 여러개의 가중치(weights)가 포함되었다고 이해할 수 있다. 이제 우리는 단순화시킨 오른쪽 그림을 사용해 RNN을 이해해 볼 것이다. 텍스트 데이터를 이용해 예시를 들어보겠다. 한 문장에 대한 다음 문장을 예측하는 모델을 만든다고 가정해보자. 그렇다면 입력데이터는 하나의 문장이 될 것이고 출력데이터도 마찬가지로 예측한 하나의 문장일 것이다. .. 더보기
순환 신경망의 출현 : 시계열 데이터 분석의 이해 【5】RNN 기본 다지기 / 순환 신경망의 출현 순환 신경망의 출현 : 시계열 데이터 분석의 이해 지금까지 다뤘던 인공신경망은 사실 독립적인 데이터를 다루기에 적합하다. 그러나 순서가 있는 데이터를 독립적으로 본다면 어떻게 될까? 데이터 속의 관계성이 깨질것이며 이는 곧 정보의 손실을 의미한다. 이러한 문제를 해결하기 위해 등장한 것이 바로 순환신경망(Recurrent Neural Network, RNN)이다. 간단히 말하면 연속된 데이터를 다루는데 적합한 신경망이다. 이번 장에서는 RNN에 대해서 알아볼 차례이다. 그 전에 연속된 데이터가 무엇인지 먼저 설명하겠다. 이는 RNN의 재료가 될 뿐만 아니라 RNN의 구조를 이해하는데 도움이 될 것이다. "시계열 데이터 분석의 이해" 순서가 있는 데이터를 일.. 더보기