Keras는 놀라운 라이브러리입니다 : 그것은 우리가 이해할 수있는 파이썬 코드의 몇 줄에 최첨단 모델을 구축 할 수 있습니다. 다른 신경망 라이브러리가 더 빠르거나 더 많은 유연성을 허용할 수 있지만 개발 시간과 사용 편의성에 대해 Keras를 이길 수 있는 것은 없습니다. 마지막으로 reversed_dictionary는 키가 단어의 고유 정수 식별자인 Python 사전이며 관련 값은 텍스트의 단어입니다. 이를 통해 모델이 생성할 예측된 정수 단어에서 거꾸로 작업하고 실제 텍스트로 다시 변환할 수 있습니다. 예를 들어 다음 코드는 train_data의 정수를 다시 텍스트로 변환한 다음 인쇄됩니다(“print(“[[train_data[100:110]]]의 x에 대해 “[반전_사전[x]]])).). 이 코드 스니펫은 유용한 정보를 출력하는 한 가지 솔루션이 모멘텀 기반 알고리즘을 살펴보는 것입니다. 그들은 과거의 최근 값이 올라가거나 내려가는지 여부에 따라 예측합니다(정확한 값이 아님). 예를 들어, 그들은 가격이 합리적인 소리 지난 일 동안 떨어졌다 경우, 다음 날 가격이 낮을 가능성이 말할 것이다. 그러나 더 복잡한 모델인 LSTM 모델을 사용합니다. 위의 방정식은 기본적으로 $t +1$ 시간 단계에서 지수 이동 평균을 계산하고 이를 한 단계 앞서 예측으로 사용합니다. $gamma$는 EMA에 대한 가장 최근의 예측의 기여도를 결정합니다. 예를 들어 $gamma=0.1$는 EMA에 현재 값의 10%만 가져옵니다. 가장 최근의 아주 작은 부분만 가지고 있기 때문에 평균에서 아주 일찍 보았던 훨씬 오래된 값을 보존 할 수 있습니다.

아래에서 한 걸음 앞서 예측하는 데 사용할 때 얼마나 좋은지 확인하십시오. 여기에 제시된 예제는 각 데이터 포인트가 하나의 타임스텝이 있는 샘플을 나타낸다는 점에서 잘못된 것이라고 생각합니다. 반복되는 네트워크, 특히 LSTM의 강점을 생각하면 전혀 의미가 없습니다. 각 샘플에 대해 타임스텝이 하나만 있는 경우 LSTM은 어떻게 암기할 것입니까? 예제는 내 설정에서 잘 실행 -하지만 난 약간 다른 결과 받고 있는 것 같다. 이 특정 문제에 대 한 시간 단계 접근 방식 은 아마도 그것을 모델링 하는 가장 좋은 방법 이지만 이러한 예제 중 일부를 자신의 문제에 대 한 서식 파일로 사용 하려는 경우 선택할 수 있는 몇 가지 옵션이 있습니다. 즉, 필요한 패키지는 오늘 업데이트 되었습니다 29/03/2018 에서 0738 다시 시작 파이썬 쉘 버전 (DOS) 또는 유휴 버전. 예. 반복 신경망 구문에서 호출되는 시퀀스 간 예측을 수행하도록 예제를 간단히 확장할 수 있습니다. 마지막으로, LSTM 레이어가 생성될 때 상태 풀 매개 변수는 True를 설정해야하며 입력 차원을 지정하는 대신 일괄 처리의 샘플 수, 샘플의 시간 단계 수 및 batc을 설정하여 시간 단계의 피처 수를 하드 코딩해야합니다. h_input_shape 매개 변수입니다. 예를 들어 이 섹션에서는 위에 표시된 Keras LSTM 아키텍처를 만드는 각 코드 줄에 대해 단계별로 설명하고 설명합니다.

그러나 여기에서는 주로 TensorFlow 사이트에 있는 코드를 사용하는 텍스트 전처리 코드에 대해 간략하게 설명하겠습니다. 이 Keras LSTM 자습서의 전체 코드는 이 사이트의 Github 리포지토리에서 찾을 수 있으며 keras_lstm.py라고 합니다. 먼저 교육 및 유효성 검사 모음으로 사용되는 펜 트리 뱅크(PTB) 데이터 집합을 다운로드해야 합니다. 다운로드한 데이터의 위치와 일치하도록 Github 코드의 data_path 변수를 변경해야 합니다.