Python中TensorFlow的長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、指數(shù)移動平均法預(yù)測股票市場和可視化
原文鏈接:http://tecdat.cn/?p=23689?
最近我們被客戶要求撰寫關(guān)于LSTM的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。
本文探索Python中的長短期記憶(LSTM)網(wǎng)絡(luò),以及如何使用它們來進(jìn)行股市預(yù)測
在本文中,你將看到如何使用一個被稱為長短時記憶的時間序列模型。LSTM模型很強(qiáng)大,特別是在保留長期記憶方面。在本文中,你將解決以下主題。
理解為什么你需要能夠預(yù)測股票價格的變動。
下載數(shù)據(jù) - 使用從雅虎財(cái)經(jīng)收集的股市數(shù)據(jù)
分割訓(xùn)練-測試數(shù)據(jù),并進(jìn)行數(shù)據(jù)歸一化
應(yīng)用單步預(yù)測技術(shù)。
討論LSTM模型。
用當(dāng)前的數(shù)據(jù)預(yù)測和可視化未來的股票市場
為什么你需要時間序列模型?
你希望對股票價格進(jìn)行正確的建模,所以作為一個股票買家,你可以合理地決定何時買入股票,何時賣出股票以獲得利潤。這就是時間序列模型的作用。你需要好的機(jī)器學(xué)習(xí)模型,它可以觀察一連串?dāng)?shù)據(jù)的歷史,并正確預(yù)測該序列的未來數(shù)據(jù)。
提示:股票市場的價格是高度不可預(yù)測和波動的。這意味著數(shù)據(jù)中沒有一致的模式,使你能夠近乎完美地模擬股票價格隨時間變化。
然而,我們不要一味地認(rèn)為這只是一個隨機(jī)的或者隨機(jī)的過程,機(jī)器學(xué)習(xí)沒有希望。我們至少對數(shù)據(jù)進(jìn)行建模,做出的預(yù)測與數(shù)據(jù)的實(shí)際行為相關(guān)。換句話說,你不需要未來確切的股票價值,而是需要股票價格的變動(也就是說,如果它在不久的將來會上漲或下跌)。
#?可用的庫import?numpy?as?npimport?tensorflow?as?tf
下載數(shù)據(jù)
股票價格有幾種不同的變量。它們是
開盤:當(dāng)天的開盤股票價格
收盤價:當(dāng)天的收盤股價
高點(diǎn):數(shù)據(jù)中最高的股票價格
低點(diǎn):當(dāng)天的最低股價
獲取數(shù)據(jù)
你要利用航空公司的股票市場價格來進(jìn)行預(yù)測,所以你把股票代碼設(shè)置為 "AAL"。此外,你還定義了一個url_string,它將返回一個JSON文件,其中包含航空公司過去20年的所有股市數(shù)據(jù),以及一個file_to_save,它是你保存數(shù)據(jù)的文件。
接下來,指定條件:如果你還沒有保存數(shù)據(jù),從你在url_string中設(shè)置的URL中抓取數(shù)據(jù);把日期、低點(diǎn)、高點(diǎn)、成交量、收盤價、開盤價存儲到一個pandas DataFrame df中,把它保存到file_to_save。
????#?從URL中抓取數(shù)據(jù)????#?將日期、低點(diǎn)、高點(diǎn)、成交量、收盤價、開盤價存儲到Pandas?DataFrame中????????????#提取股票市場數(shù)據(jù)????????????df?=?pd.DataFrame(columns=['Date',?'Low',?'High',?'Close',?'?Open'])??????
????????print('數(shù)據(jù)保存到:%s'%file_to_save)????????
????#?如果數(shù)據(jù)已經(jīng)存在,只需從CSV中加載即可????否則。
????????print('文件已經(jīng)存在,從CSV中加載數(shù)據(jù)')
????????df?=?pd.read_csv(file_to_save)
數(shù)據(jù)探索
在這里你將把收集的數(shù)據(jù)輸出到DataFrame中。你還應(yīng)該確保數(shù)據(jù)是按日期排序的,因?yàn)閿?shù)據(jù)的順序在時間序列建模中至關(guān)重要。
#?按日期對數(shù)據(jù)框架進(jìn)行排序df?=?df.sort_values('Date')#?仔細(xì)檢查結(jié)果df.head()
數(shù)據(jù)可視化
現(xiàn)在讓我們來看看是什么樣的數(shù)據(jù)。
plot(range(df.shape[0]),(df)/2.0)
這張圖已經(jīng)說明了很多問題。我選擇這家公司而不是其他公司的原因是,這張圖隨著時間的推移,股票價格有不同表現(xiàn)行為。這將使模型學(xué)習(xí)更加穩(wěn)健,并且給你一個價格變化來測試對各種情況的預(yù)測有多好。
另一個需要注意的是,接近2017年的數(shù)值要比接近20世紀(jì)70年代的數(shù)值高得多,而且波動也大。因此,你需要確保數(shù)據(jù)在整個時間范圍內(nèi)表現(xiàn)為類似的價格范圍,需要將數(shù)據(jù)標(biāo)準(zhǔn)化。
點(diǎn)擊標(biāo)題查閱相關(guān)內(nèi)容
R語言Keras用RNN、雙向RNNs遞歸神經(jīng)網(wǎng)絡(luò)、LSTM分析預(yù)測溫度時間序列、 IMDB電影評分情感
左右滑動查看更多
01
02
03
04
將數(shù)據(jù)分割成訓(xùn)練集和測試集
你將使用通過取一天中最高和最低價格的平均值計(jì)算出的中間價格。
現(xiàn)在你可以把訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)分開。訓(xùn)練數(shù)據(jù)將是時間序列的前4000個數(shù)據(jù)點(diǎn),其余的將是測試數(shù)據(jù)。
train_data?=?mid[:4000]test_data?=?mid[4000:]
標(biāo)準(zhǔn)化數(shù)據(jù)
現(xiàn)在你需要定義標(biāo)準(zhǔn)化來規(guī)范數(shù)據(jù)。將訓(xùn)練和測試數(shù)據(jù)變化為[data_size, num_features]的維度。
將測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)相對于訓(xùn)練數(shù)據(jù)歸一。scaler?=?MinMaxScaler()
由于你先前的觀察,即不同時間段的數(shù)據(jù)有不同的值范圍,通過將全序列分割成窗口來標(biāo)準(zhǔn)化數(shù)據(jù)。如果你不這樣做,早期的數(shù)據(jù)將接近于0,對學(xué)習(xí)過程不會有太大的價值。這里你選擇了一個800的窗口大小。
提示:在選擇窗口大小時,不要太小,因?yàn)楫?dāng)你進(jìn)行窗口標(biāo)準(zhǔn)化時,會在每個窗口的最末端引入一個斷點(diǎn),因?yàn)槊總€窗口都是獨(dú)立標(biāo)準(zhǔn)化的。
#?用訓(xùn)練數(shù)據(jù)和平滑數(shù)據(jù)訓(xùn)練window_size?=?800scaler.transform(train_data[di:di+window_size,:])
將數(shù)據(jù)重塑為[data_size]的形狀。
#?重塑訓(xùn)練和測試數(shù)據(jù)reshape(-1)
#?對測試數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理
scaler.transform(test_data).reshape(-1)
現(xiàn)在你可以使用指數(shù)移動平均線對數(shù)據(jù)進(jìn)行平滑處理。
請注意,你應(yīng)該只平滑訓(xùn)練數(shù)據(jù)。
#?現(xiàn)在進(jìn)行指數(shù)移動平均平滑處理#?所以數(shù)據(jù)會比原來的鋸齒狀數(shù)據(jù)有一個更平滑的曲線??EMA?=?gamma*train[i]?+?(1-gamma)*EMA
??train[i]?=?EMA
通過平均法進(jìn)行單步超前預(yù)測
平均法允許你通過將未來的股票價格表示為以前觀察到的股票價格的平均值來進(jìn)行預(yù)測(通常是提前一個時間步)。下面看兩種平均技術(shù);標(biāo)準(zhǔn)平均法和指數(shù)移動平均法。你將對這兩種算法產(chǎn)生的結(jié)果進(jìn)行定性(目測)和定量(平均平方誤差)的評估。
平均平方誤差(MSE)的計(jì)算方法是:取前一步的真實(shí)值和預(yù)測值之間的平方誤差,并對所有的預(yù)測值進(jìn)行平均。
標(biāo)準(zhǔn)平均
可以通過首先嘗試將其作為一個平均計(jì)算問題的模型來理解這個問題的難度。首先,嘗試預(yù)測未來的股票市場價格(例如,xt+1),作為一個固定大小的窗口(例如,xt-N,...,xt)(例如之前的100天)內(nèi)先前觀察到的股票市場價格的平均值。此后,嘗試更高級的 "指數(shù)移動平均 "方法,看看它的效果如何。然后,進(jìn)入長短期記憶模型
首先,正常的平均數(shù)。
換句話說,你說t+1的預(yù)測是你在t到t-N的窗口內(nèi)觀察到的所有股票價格的平均值。
????pred.append(np.mean(train[idx-window_size:idx]))
????mse_errors.append((std_avg[-1]-train[pred_idx])**2)
MSE:?0.00418
看一下下面的平均結(jié)果。它與股票的實(shí)際行為相當(dāng)接近。接下來,你將看到一個更準(zhǔn)確的一步預(yù)測方法。
plt.plot(std_avg_pred)
plt.legend(fontsize=18)
plt.show()
那么,上面的圖表(和MSE)說明了什么?
似乎對于非常短的預(yù)測(提前一天)來說,這個模型還不算太差。鑒于股票價格不會在一夜之間從0變化到100,這種行為是合理的。接下來,使用指數(shù)移動平均線。
指數(shù)移動平均線
你可能已經(jīng)在互聯(lián)網(wǎng)上看到一些文章,使用非常復(fù)雜的模型,并預(yù)測了幾乎準(zhǔn)確的股票市場行為。但是請注意! 這些只是視覺上的錯覺,并不是由于學(xué)到了有用的東西。你將在下面看到如何用一個簡單的平均法來復(fù)制這種行為。
在指數(shù)移動平均法中,你計(jì)算xt+1為。
其中?
?和?
?是在一段時間內(nèi)保持的指數(shù)移動平均數(shù)值。.
上述公式基本上是計(jì)算t+1時間步長的指數(shù)移動平均線,并將其作為超前一步的預(yù)測。γ決定最近的預(yù)測對EMA的貢獻(xiàn)是什么。例如,γ=0.1只能得到當(dāng)前值的10%進(jìn)入EMA。因?yàn)槟阒蝗∽罱囊恍〔糠?,它允許保留你在平均數(shù)中很早看到的更早的值。請看下面用于預(yù)測向前一步的情況。
for?idx?in?range(1,N):
????mean?=?mean*dec?+?(1.0-de)*train[idx-1]
????pred.append(mean)
MSE:?0.00003
plt.plot(mid_data)
plt.plot(pred)
如果指數(shù)式移動平均數(shù)這么好,為什么還需要更好的模型?
擬合結(jié)果很好,遵循真實(shí)的分布(并且由非常低的MSE證明)。實(shí)際上,僅憑第二天的股票市場價格是沒有意義的。就我個人而言,我想要的不是第二天的確切股市價格,而是未來30天的股市價格是上漲還是下跌。嘗試這樣做,你會發(fā)現(xiàn)EMA方法的缺陷。
現(xiàn)在嘗試在窗口中進(jìn)行預(yù)測(比如你預(yù)測未來2天的窗口,而不是僅僅預(yù)測未來一天)。然后你會意識到EMA會有多大的誤差。下面是一個例子。
預(yù)測超過一步的未來股價
我們假設(shè)數(shù)值,比如xt=0.4,EMA=0.5,γ=0.5
假設(shè)你得到的輸出有以下公式
所以你有?
所以?
所以下一個預(yù)測Xt+2變成了
這就是?
或者在這個例子中,?
所以,無論你對未來進(jìn)行多少步預(yù)測,你都會在所有未來的預(yù)測步中不斷得到相同的答案。
你有一個解決方案,可以輸出有用的信息,就是看看基于動量的算法。它們根據(jù)過去最近的數(shù)值是上升還是下降(不是準(zhǔn)確的數(shù)值)進(jìn)行預(yù)測。例如,它們會說第二天的價格可能會降低,如果過去幾天的價格一直在下降,這聽起來很合理。然而,我們使用一個更復(fù)雜的模型:LSTM模型。
這些模型已經(jīng)在時間序列預(yù)測領(lǐng)域非常熱門,因?yàn)樗鼈冊跁r間序列數(shù)據(jù)的建模方面非常出色。你將看到數(shù)據(jù)中是否真的隱藏有你可以利用的模式。
LSTM簡介:對股票走勢進(jìn)行遠(yuǎn)期預(yù)測
長短期記憶模型是極其強(qiáng)大的時間序列模型。它們可以預(yù)測未來任意步。LSTM模塊(或單元)有5個基本組成部分,使其能夠?qū)﹂L期和短期數(shù)據(jù)進(jìn)行建模。
單元狀態(tài)(ct)--這代表了單元的內(nèi)部記憶,它同時存儲了短期記憶和長期記憶
隱藏狀態(tài)(ht)--這是根據(jù)當(dāng)前輸入、以前的_隱藏狀態(tài)_和當(dāng)前的單元輸入計(jì)算出來的輸出狀態(tài)信息,你最終會用它來預(yù)測未來的股市價格。此外,隱藏狀態(tài)可以決定只檢索存儲在單元狀態(tài)中的短期或長期或兩種類型的記憶來進(jìn)行下一次預(yù)測。
輸入門(it)--決定當(dāng)前輸入的信息有多少流向單元狀態(tài)
遺忘門(ft)--決定有多少來自當(dāng)前輸入和前一個單元狀態(tài)的信息流入當(dāng)前單元狀態(tài)
輸出門(ot)--決定多少信息從當(dāng)前單元狀態(tài)流入隱藏狀態(tài),因此,如果需要,LSTM可以只挑選長期記憶或短期記憶和長期記憶。
TensorFlow為實(shí)現(xiàn)時間序列模型提供了一個不錯的API(稱為RNN API)。
數(shù)據(jù)生成器
你首先要實(shí)現(xiàn)一個數(shù)據(jù)生成器來訓(xùn)練你的模型。這個數(shù)據(jù)生成器將有一個名為.unroll_batches(...)的方法,它將輸出一組依次獲得的num_unrollings批次的輸入數(shù)據(jù),其中一個批次的數(shù)據(jù)大小為[batch_size, 1]。那么每一批輸入數(shù)據(jù)都會有一個相應(yīng)的輸出數(shù)據(jù)批。
例如,如果num_unrollings=3,batch_size=4,一組unrolled批次。
輸入數(shù)據(jù)
輸出數(shù)據(jù):
數(shù)據(jù)增強(qiáng)(Data?Augmentation)
數(shù)據(jù)增強(qiáng)(Data?Augmentation)又稱為數(shù)據(jù)增廣。另外,為了使你的模型穩(wěn)健,你不會讓x_t的輸出總是x_t+1。相反,你將從x_t+1,x_t+2,...,xt+N的集合中隨機(jī)抽取一個輸出,其中N是一個小窗口大小。
這里你要做以下假設(shè):
x_t+1,x_t+2,...,xt+N不會彼此相距很遠(yuǎn)。
我個人認(rèn)為這對股票走勢預(yù)測來說是一個合理的假設(shè)。
下面你直觀地說明一批數(shù)據(jù)是如何產(chǎn)生的。
定義超參數(shù)
在本節(jié)中,你將定義幾個超參數(shù)。D是輸入的維度。這很簡單,因?yàn)槟惆阎暗墓善眱r格作為輸入,并預(yù)測下一個股票價格,這應(yīng)該是1。
然后你有num_unrollings,這是一個與用于優(yōu)化LSTM模型的通過時間的反向傳播(BPTT)有關(guān)的超參數(shù)。這表示你在一個優(yōu)化步驟中考慮多少個連續(xù)的時間步驟??梢哉J(rèn)為,不是通過查看單個時間步驟來優(yōu)化模型,而是通過查看num_unrollings時間步驟來優(yōu)化網(wǎng)絡(luò)。越大越好。
然后,你有batch_size。批量大小是指在一個時間步長中考慮多少個數(shù)據(jù)樣本。
接下來你定義num_nodes,它代表每個單元中隱藏神經(jīng)元的數(shù)量。你可以看到,在這個例子中,有三層LSTMs。
D?=?1?#?數(shù)據(jù)的維度。因?yàn)槟愕臄?shù)據(jù)是一維的,所以是1unrollings?=?50?#?未來的時間步數(shù)。batch_size?=?500?#?一個批次中的樣本數(shù)num_nodes?=?[200,200,150]?#?我們所使用的深層LSTM堆棧中每一層的隱藏節(jié)點(diǎn)數(shù)量n_layers?=?len(num_nodes)?#?層的數(shù)量dropout?=?0.2?#?丟棄量
定義輸入和輸出
接下來你要為訓(xùn)練輸入和標(biāo)簽定義占位符。你有一個輸入占位符的列表,其中每個占位符都包含一個批次的數(shù)據(jù)。而列表中有num_unrollings占位符,這些占位符將被一次性用于一個優(yōu)化步驟。
#輸入數(shù)據(jù)train_inputs,?train_outputs?=?[],[]
定義LSTM和回歸層的參數(shù)
你將有三層LSTM和一個線性回歸層,用w和b表示,它采取最后一個長短期記憶單元的輸出,并輸出下一個時間步驟的預(yù)測。此外,你可以讓dropout實(shí)現(xiàn)LSTM單元,因?yàn)樗鼈兛梢蕴岣咝阅?,減少過擬合。
計(jì)算LSTM輸出并將其傳遞到回歸層以獲得最終預(yù)測結(jié)果
在這一節(jié)中,你首先創(chuàng)建TensorFlow變量(c和h),這些變量將保持長短時記憶單元的狀態(tài)和隱藏狀態(tài)。然后,你將訓(xùn)練輸入的列表轉(zhuǎn)換為[unrollings, batch_size, D]的形狀。然后用ynamic_rnn函數(shù)計(jì)算LSTM輸出,并將輸出分割成num張量列表。
#?創(chuàng)建單元格狀態(tài)和隱藏狀態(tài)變量保持LSTM的狀態(tài)
for?li?in?range(n):
??c.append(tf.Variable(tf.zeros([batch_size,?num_nodes[li]])))
??h.append(tf.Variable(tf.zeros([batch_size,?num_nodes[li]])))
#?做幾次張量轉(zhuǎn)換,因?yàn)楹瘮?shù)dynamic_rnn要求輸出必須是一種特定的格式。
損失計(jì)算和優(yōu)化器
現(xiàn)在,要計(jì)算損失。對于每一批預(yù)測和真實(shí)輸出,都要計(jì)算出平均平方誤差。而你把所有這些均方差損失加在一起(不是平均)。最后,定義你要使用的優(yōu)化器來優(yōu)化神經(jīng)網(wǎng)絡(luò)。在這種情況下,你可以使用Adam,它是一個非常新的、表現(xiàn)良好的優(yōu)化器。
#?在計(jì)算損失時,你需要注意準(zhǔn)確的形式,因?yàn)槟阌?jì)算的是所有未滾動的步的損失#?因此,取每個批的平均誤差,并得到所有未滾動步的總和range(n)]):
??for?ui?in?range(nums):
????loss?+=?tf.mean(0.5*(splits[ui]-train[ui])**2)
預(yù)測相關(guān)的計(jì)算
在這里,你定義了預(yù)測相關(guān)的TensorFlow操作。首先,定義一個用于輸入的占位符(sample_inputs),然后與訓(xùn)練階段類似,你定義預(yù)測的狀態(tài)變量(sample_c和sample_h)。最后,你用dynamic_rnn函數(shù)計(jì)算預(yù)測結(jié)果,然后通過回歸層(w和b)發(fā)送輸出。你還應(yīng)該定義reset_sample_state操作,它可以重置單元狀態(tài)和隱藏狀態(tài)。
#?為預(yù)測階段保持LSTM狀態(tài)
for?li?in?range(n_layers):
??sample_c.append(tf.Variable(tf.zeros([1,?num_nodes[li]]))
??sample_h.append(tf.Variable(tf.zeros([1,?num_nodes[li]])))
運(yùn)行LSTM
在這里,你將訓(xùn)練并預(yù)測幾個歷時的股票價格走勢,并觀察預(yù)測結(jié)果是否隨著時間的推移而變得更好或更差。
在時間序列上定義一個測試起點(diǎn)集(test_points_seq)來評估模型。
對于每個訓(xùn)練輪數(shù)
對于訓(xùn)練數(shù)據(jù)的完整序列長度
通過迭代測試點(diǎn)之前的num_unrollings數(shù)據(jù)點(diǎn)來更新LSTM狀態(tài)
連續(xù)進(jìn)行n_predict_once步驟的預(yù)測,將之前的預(yù)測作為當(dāng)前輸入。
計(jì)算預(yù)測的n_predict_once點(diǎn)與這些時間戳的真實(shí)股票價格之間的MSE損失
展開一組num_unrollings的批次
用未滾動的批次訓(xùn)練神經(jīng)網(wǎng)絡(luò)
計(jì)算平均訓(xùn)練損失
對于測試集的每個起點(diǎn)
...
預(yù)測可視化
你可以看到MSE損失是如何隨著訓(xùn)練量的增加而下降的。這是一個好兆頭,表明模型正在學(xué)習(xí)一些有用的東西。你可以將網(wǎng)絡(luò)的MSE損失與你做標(biāo)準(zhǔn)平均時得到的MSE損失(0.004)進(jìn)行比較。你可以看到,LSTM比標(biāo)準(zhǔn)平均法做得更好。而且你知道,標(biāo)準(zhǔn)平均法(雖然不完美)合理地遵循了真實(shí)的股票價格變動。
best_epoch?=?28?#?用得到最佳結(jié)果的epoch#?繪制預(yù)測值隨時間變化的情況#?繪制低α值的舊預(yù)測和高α值的新預(yù)測????????plt.plot(xval,yval)#?預(yù)測你得到的最佳測試預(yù)測值plt.plot(range(df.shap),mid_data)
????plt.plot(xval,yval)
雖然不完美,但LSTM似乎能夠在大多數(shù)時候正確預(yù)測股票價格行為。請注意,你所做的預(yù)測大致在0和1.0的范圍內(nèi)(也就是說,不是真實(shí)的股票價格)。這沒關(guān)系,因?yàn)槟泐A(yù)測的是股票價格的走勢,而不是價格本身。
總結(jié)
在本教程中,首先介紹了你為什么需要為股票價格建模的動機(jī)。接著是解釋數(shù)據(jù)。然后兩種平均技術(shù),它們允許你對未來一步進(jìn)行預(yù)測。接下來你看到,當(dāng)你需要預(yù)測超過一步的未來時,這些方法是無用的。此后,討論了如何使用LSTM來進(jìn)行未來多步的預(yù)測。最后,將結(jié)果可視化,看到模型(雖然不完美)在正確預(yù)測股票價格走勢方面相當(dāng)出色。
在這里,我陳述一下本教程的幾個收獲。
股票價格/走勢預(yù)測是一項(xiàng)極其困難的任務(wù)。我個人認(rèn)為,不應(yīng)該把任何一個股票預(yù)測模型視為理所當(dāng)然,盲目地依賴它們。然而模型可能在大多數(shù)時候能夠正確預(yù)測股票價格走勢,但不總是如此。
不要被外面那些顯示預(yù)測曲線與真實(shí)股票價格完全重合的文章所迷惑。這可以用一個簡單的平均技術(shù)來復(fù)制,在實(shí)踐中它是沒有用的。更明智的做法是預(yù)測股票價格的變動。
該模型的超參數(shù)對你獲得的結(jié)果非常敏感。因此,要做的一件非常好的事情是對超參數(shù)運(yùn)行一些超參數(shù)優(yōu)化技術(shù)(例如,網(wǎng)格搜索/隨機(jī)搜索)。下面我列出了一些最關(guān)鍵的超參數(shù)
優(yōu)化器的學(xué)習(xí)率
層數(shù)和每層的隱藏單元的數(shù)量
優(yōu)化器。我發(fā)現(xiàn)Adam的表現(xiàn)最好
模型的類型。你可以嘗試GRU/標(biāo)準(zhǔn)LSTM和評估性能差異。
本文摘選?《?Python中TensorFlow的長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、指數(shù)移動平均法預(yù)測股票市場和可視化?》?,點(diǎn)擊“閱讀原文”獲取全文完整資料。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
RNN循環(huán)神經(jīng)網(wǎng)絡(luò) 、LSTM長短期記憶網(wǎng)絡(luò)實(shí)現(xiàn)時間序列長期利率預(yù)測
結(jié)合新冠疫情COVID-19股票價格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時間序列分析
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類分析新聞組數(shù)據(jù)
用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
PYTHON用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化方法預(yù)測時間序列洗發(fā)水銷售數(shù)據(jù)
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準(zhǔn)確度檢查和結(jié)果可視化
R語言深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò) (CNN)對 CIFAR 圖像進(jìn)行分類:訓(xùn)練與結(jié)果評估可視化
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類分析新聞組數(shù)據(jù)
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進(jìn)行預(yù)測分析
R語言深度學(xué)習(xí)Keras循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型預(yù)測多輸出變量時間序列
R語言KERAS用RNN、雙向RNNS遞歸神經(jīng)網(wǎng)絡(luò)、LSTM分析預(yù)測溫度時間序列、 IMDB電影評分情感
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準(zhǔn)確度檢查和結(jié)果可視化
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進(jìn)行預(yù)測分析
R語言中的神經(jīng)網(wǎng)絡(luò)預(yù)測時間序列:多層感知器(MLP)和極限學(xué)習(xí)機(jī)(ELM)數(shù)據(jù)分析報(bào)告
R語言深度學(xué)習(xí):用keras神經(jīng)網(wǎng)絡(luò)回歸模型預(yù)測時間序列數(shù)據(jù)
Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類
R語言KERAS深度學(xué)習(xí)CNN卷積神經(jīng)網(wǎng)絡(luò)分類識別手寫數(shù)字圖像數(shù)據(jù)(MNIST)
MATLAB中用BP神經(jīng)網(wǎng)絡(luò)預(yù)測人體脂肪百分比數(shù)據(jù)
Python中用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
SAS使用鳶尾花(iris)數(shù)據(jù)集訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)(ANN)模型
【視頻】R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
Python使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類
R語言用神經(jīng)網(wǎng)絡(luò)改進(jìn)Nelson-Siegel模型擬合收益率曲線分析
R語言基于遞歸神經(jīng)網(wǎng)絡(luò)RNN的溫度時間序列預(yù)測
R語言神經(jīng)網(wǎng)絡(luò)模型預(yù)測車輛數(shù)量時間序列
R語言中的BP神經(jīng)網(wǎng)絡(luò)模型分析學(xué)生成績
matlab使用長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對序列數(shù)據(jù)進(jìn)行分類
R語言實(shí)現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測和結(jié)果可視化
用R語言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實(shí)例
使用PYTHON中KERAS的LSTM遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行時間序列預(yù)測
python用于NLP的seq2seq模型實(shí)例:用Keras實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯
用于NLP的Python:使用Keras的多標(biāo)簽文本LSTM神經(jīng)網(wǎng)絡(luò)分類