Keras에서 시계열 데이터는 일반적으로 다음을 사용하여 3차원 배열로 재구성됩니다. 차원 [샘플, 시간 단계, 기능]. 이 형식은 시간에 따라 데이터를 순차적으로 처리하는 LSTM 레이어에 필요합니다.
예를 들어 각각 10개의 시간 단계와 1개의 시간 단계가 있는 5개의 훈련 시퀀스가 있는 경우 기능을 사용하면 데이터가 (5, 10, 1)로 재구성됩니다.
상태 저장 LSTM을 사용하면 모델이 배치 간에 내부 상태를 유지할 수 있습니다. 이는 모델이 배치를 처리한 후 숨겨진 상태를 기억하고 이를 다음 배치의 입력으로 사용한다는 것을 의미합니다. 이는 현재 출력이 이전 입력에 따라 달라지는 순차 데이터를 처리할 때 특히 유용합니다.
제공한 Keras 코드에서 stateful=True가 True로 설정되어 LSTM이 상태 저장임을 나타냅니다. Batch_size는 1로 설정됩니다. 이는 모델이 한 번에 하나의 시퀀스를 처리한다는 의미입니다. 모델은 훈련 실행 사이에 셀 메모리 값을 유지하여 데이터의 장기적인 종속성을 학습할 수 있습니다.
각 시간 단계에 여러 입력 특성(예: 주가)이 있는 다변량 시계열로 작업하는 경우 ), 기능 개수는 1보다 커집니다.
귀하가 제공한 Keras LSTM 구현 4개 유닛과 True 반환 시퀀스를 포함하는 단일 LSTM 레이어가 있습니다. 이는 LSTM이 각 입력 시간 단계에 대해 길이 4의 시퀀스를 출력한다는 의미입니다.
그런 다음 모델은 평균 제곱 오류 손실 함수와 Adam 최적화 프로그램을 사용하여 컴파일됩니다. 훈련 루프는 배치 크기가 1인 100세대 동안 반복됩니다.
이 LSTM 모델은 이전 시간 단계를 기반으로 다음 시간 단계를 예측하도록 설계되었다는 점에 유의하는 것이 중요합니다. 그러나 출력 레이어 및 손실 함수를 변경하여 시퀀스 분류 또는 언어 모델링과 같은 다른 작업을 위해 모델을 수정할 수 있습니다.
위 내용은 Keras LSTM과 함께 사용하기 위해 시계열 데이터를 어떻게 재구성하며, 상태 저장 LSTM과 매개변수 \'시간 단계\' 및 \'기능\'의 중요성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!