
279
10
장
시퀀스를 예측하는 머신러닝 모델 만들기
10.2
DNN
을 만들고 시퀀스 데이터로 훈련하기
데이터를 준비했으니 신경망 모델을 만드는 것은 매우 간단합니다. 먼저 다음과 같은 간단한
DNN
을 살펴봅시다.
# 모델을 정의합니다.
class TimeSeriesModel(nn.Module):
def __init__(self, window_size):
super(TimeSeriesModel, self).__init__()
# 특성이 window_size-1이므로 window_size-1로 설정합니다.
self.network = nn.Sequential(
nn.Linear(window_size-1, 10),
nn.ReLU(),
nn.Linear(10, 10),
nn.ReLU(),
nn.Linear(10, 1)
)
def forward(self, x):
return self.network(x)
이는 세 개의 밀집 층으로 구성된 아주 간단한 모델입니다. 첫 번째 층은
window
_
size
크기의
입력을 받고,
10
개의 뉴런을 가진 은닉 층입니다. 출력 층은 예측값을 만듭니다.
이전처럼 모델을 초기화하고, 손실 함수와 옵티마이저를 준비합니다.
# 모델, 손실 함수, 옵티마이저를 초기화합니다.
model = TimeSeriesModel ...