<>1. RNN Realize stock forecast 
 *  data source : use tushare Module downloaded SH600519 Sun in Maotai, Guizhou k Line data , Using only this data C Column data , Using continuous 60 Day opening price forecast No 61 Day's opening price .
 *  Source code :p37_tushare.py import tushare as ts import matplotlib.pyplot as plt df1 =
 ts.get_k_data('600519', ktype='D', start='2010-04-26', end='2020-04-26') 
datapath1= "./SH600519.csv" df1.to_csv(datapath1) 
 <>2. LSTM
 tradition RNN Short term memory can be realized through memory , Forecast continuous data . But when the sequence of consecutive data becomes longer , It will become longer with the deployment time step , When backpropagation updates parameters , Gradients are multiplied continuously in time steps , Yes, the gradient disappears . In response to this problem ,Hochreitere Waiting for you 1997 It was proposed in LSTM:
Hochreiter S , Schmidhuber J . Long Short-Term Memory[J]. Neural computation, 
1997, 9(8):1735-1780.
 <>1) Three thresholds 
 The three thresholds are the input characteristics of the current time  x t x_t xt And the short-term memory of the last moment  h t − 1 h_{t-1} ht−1 Function of . In these three formulas  W i , W 
f  and  W o W_i, W_f and W_oWi,Wf and Wo Is the training parameter matrix , b i , b f  and  b o b_i, b_f and b_o bi,bf and bo
 It's a bias to be trained . They all passed by sigmoid Activation function , Make the threshold range within 0-1 between .
 *  Input gate ( threshold ): i t = σ ( W t ⋅ [ h t − 1 , x t ] + b i ) i_t=\sigma(W_t·[h_{t-1}, 
x_t]+b_i)it=σ(Wt⋅[ht−1,xt]+bi)
 *  Forgetting gate ( threshold ): f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_t=\sigma(W_f·[h_{t-1}, 
x_t]+b_f)ft=σ(Wf⋅[ht−1,xt]+bf)
 *  Output gate ( threshold ): o t = σ ( W o ⋅ [ h t − 1 , x t ] + b o ) o_t=\sigma(W_o·[h_{t-1}, 
x_t]+b_o)ot=σ(Wo⋅[ht−1,xt]+bo) 
 <>2) Cellular state ( long-term memory  )
 *  What you remember in your mind is today ppt Page 1 to page 45 Long term memory of pages  C t C_t Ct
, It consists of two parts. The first part is ppt Page 1 to page 44 Contents of the page , That's the long-term memory of the last moment  C t − 1 C_{t-1} Ct−1
, But you can't remember everything word for word , Will not consciously forget some , So the long-term memory of the last moment  C t − 1 C_{t-1} Ct−1
 Multiply by the forgetting gate , The product term represents the memory of the past that remains in your mind .
 *  What I'm talking about now is new knowledge , It's the memory of the present that will be stored in your mind . Memory now consists of two parts , Part of it is what I'm talking about 45 page ppt, Is the input of the current moment  x t x_t xt
, There is also a part of it 44 page ppt Short term memory retention , The last moment of memory is short-term  h t − 1 h_{t-1} ht−1. Your brain inputs the current moment  x t x_t xt
 And the short-term memory of the last moment  h t − 1 h_{t-1} ht−1 Induction forms the present memory that will be stored in your mind  C t C_t Ct Wave sign .
 *  Memory now  C t C_t Ct The wave is multiplied by the input gate and stored together with past memory as long-term memory . 
 *  Cellular state ( long-term memory  ): C t = f f + C t − 1 + i t ∗ C ~ t C_t=f_f+C_{t-1}+i_t*\widetilde 
C_tCt=ff+Ct−1+it∗C t
 *  Memory ( Short term memory ): h t = o t ∗ t a n h ( C t ) h_t=o_t*tanh(C_t) ht=ot∗tanh(Ct)
 *  Candidate states ( New knowledge induced ): C ~ t = t a n h ( W c ⋅ [ h t − 1 , x t ] + b c ) \widetilde 
C_t=tanh(W_c·[h_{t-1}, x_t]+b_c)C t=tanh(Wc⋅[ht−1,xt]+bc)
 <>3) Memory ( Short term memory )
 *  When you retell the story to your friend , You can't tell it all the time , You're talking about long-term memories that exist in your brain , Output the filtered content , This is the output of memory  h t h_t ht.
 *  When there are multilayer cyclic networks , Input of layer 2 cyclic network  x t x_t xt It's the output of the first layer of cyclic network  h t h_t ht
. Input the second layer network is the essence of the first level network extraction .
 * 
 for instance : I'm playing the first layer of circular network , Every page ppt I am exporting the essence from a single article to you . The data you receive as the second layer of the loop network is what I remember for a long time tanh Activation function , And then multiply the short-term memory extracted by the output gate 
 h t h_tht. 
 *  Memory ( Short term memory ): h t = o t ∗ t a n h ( C t ) h_t=o_t*tanh(C_t) ht=ot∗tanh(Ct) 
 <>4)tensorflow describe LSTM layer 
tf.keras.layers.LSTM( Number of memory , return_sequences= Return output ) return_sequences = True # 
 Output of each time step ht return_sequences = False #  Output in last time step only ht( default ) model = tf.keras.Sequential(
[ LSTM(80, return_sequences=True), Dropout(0.2), LSTM(100), Dropout(0.2), Dense(
1) ]) 
 <>3. GRU
 *  stay 2014 year cho It is simplified by et al LSTM structure ,GRU Make memory  h t h_t ht It combines long-term memory with short-term memory . 
Cho K , Van Merrienboer B , Gulcehre C , et al. Learning Phrase 
Representations using RNN Encoder-Decoder for Statistical Machine 
Translation[J]. Computer Science, 2014.
 h t h_t ht Contains information about the past  h t − 1 h_{t-1} ht−1 And now information  h t h_t ht Wave sign . Now information is past information  h t − 
1 h_{t-1}ht−1 The over reset gate is determined jointly with the current input , The value range of the two thresholds is also 0 reach 1 between . This memory update formula is used directly for forward propagation , You can calculate the value of each moment  h t 
h_tht It's worth it .
 * tensorflow describe GRU layer  tf.keras.layers.GRU( Number of memory , return_sequences= Return output ) 
return_sequences= True #  Output of each time step ht return_sequences = False #  Output in last time step only ht( default ) 
model= tf.keras.Sequential([ GRU(80, return_sequences=True), Dropout(0.2), GRU(
100), Dropout(0.2), Dense(1) ]) 
Technology