> 백엔드 개발 > 파이썬 튜토리얼 > 시간 단계와 기능이 Keras LSTM 성능에 어떤 영향을 미칩니까?

시간 단계와 기능이 Keras LSTM 성능에 어떤 영향을 미칩니까?

Susan Sarandon
풀어 주다: 2024-11-27 06:55:39
원래의
285명이 탐색했습니다.

How Do Time Steps and Features Affect Keras LSTM Performance?

Keras LSTM의 시간 단계 및 기능 이해

질문에 답하기 위해 시간 단계 및 관련 기능의 개념을 더 깊이 파헤쳐 보겠습니다. Keras에서 구현된 LSTM에 적용됩니다.

시간 단계 및 기능

제공된 Keras 예제에서 trainX 데이터는 다음 모양으로 재구성됩니다.

(trainX.shape[0], look_back, 1)
로그인 후 복사
  • 시간 단계: 룩백 값 각 시퀀스의 시간 단계 수를 나타냅니다. 여기서는 3으로 설정되어 있습니다. 이는 trainX의 각 행에 이전 데이터 포인트 3개가 포함되어 있음을 의미합니다.
  • 기능: 시퀀스의 기능 수는 데이터 텐서의 마지막 차원에 해당합니다. 이 경우 1이며 시퀀스에 하나의 특성(예: 주가)만 포함되어 있음을 나타냅니다.

Karpathy의 블로그에서 링크한 이미지와 관련하여 각 "분홍색" 직사각형은 하나의 특성을 나타내며, "녹색" 직사각형은 시간 단계를 나타냅니다. 따라서 이미지의 다이어그램은 3개의 시간 단계와 2개의 특징이 있는 시계열에 해당합니다.

Stateful LSTM

Stateful LSTM은 이를 허용하는 내부 상태를 유지합니다. 주어진 시퀀스를 처리하는 동안 배운 내용을 기억합니다. Keras와 함께 사용할 때는 상태 저장 매개변수를 True로 설정합니다.

귀하의 예에서는 배치_크기를 1로 설정하고 shuffle=False로 훈련하기 위해 model.fit()을 사용합니다. 이는 각 배치에 단일 시퀀스가 ​​포함되어 있고 LSTM이 훈련 데이터에 나타나는 것과 동일한 순서로 시퀀스를 처리한다는 의미입니다. 결과적으로 LSTM의 상태는 배치 전반에 걸쳐 보존되어 전체 시퀀스에서 학습할 수 있습니다.

훈련 에포크 사이에 LSTM의 상태를 재설정하면 각 에포크의 학습 프로세스를 효과적으로 "다시 시작"할 수 있습니다. . 그러나 LSTM은 여러 시대에 걸쳐 학습한 전체 패턴을 여전히 기억합니다.

중요 사항

  • 여러 독립 시퀀스가 ​​있는 경우(예: 두 주식 모델링) 동시에 가격), 각 시퀀스에는 자체 LSTM 레이어가 있어야 합니다.
  • 시간 단계 수는 다음과 같아야 합니다. 작업 중인 특정 문제와 데이터를 기반으로 결정됩니다.
  • 상태 저장 LSTM은 긴 시퀀스에 대한 종속성을 학습하려는 경우 유용할 수 있지만 과적합을 초래할 수 있으므로 주의해서 사용해야 합니다.

위 내용은 시간 단계와 기능이 Keras LSTM 성능에 어떤 영향을 미칩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿