日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

最后一期:如何更新LSTM模型?(附代码)| 博士带你学LSTM

發(fā)布時(shí)間:2025/3/21 83 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最后一期:如何更新LSTM模型?(附代码)| 博士带你学LSTM 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最后一期:如何更新LSTM模型?(附代碼)| 博士帶你學(xué)LSTM

?

?

?

LSTM是一種時(shí)間遞歸神經(jīng)網(wǎng)絡(luò),適合于處理和預(yù)測(cè)時(shí)間序列中間隔和延遲相對(duì)較長(zhǎng)的重要事件。在自然語(yǔ)言處理、語(yǔ)言識(shí)別等一系列的應(yīng)用上都取得了很好的效果。

《Long Short Term Memory Networks with Python》是澳大利亞機(jī)器學(xué)習(xí)專家Jason Brownlee的著作,里面詳細(xì)介紹了LSTM模型的原理和使用。

該書總共分為十四個(gè)章節(jié),具體如下:

第一章:什么是LSTMs?

第二章:怎么樣訓(xùn)練LSTMs?

第三章:怎么樣準(zhǔn)備LSTMs的數(shù)據(jù)?

第四章:怎么樣在Keras中開(kāi)發(fā)LSTMs?

第五章:序列預(yù)測(cè)建模

第六章:如何開(kāi)發(fā)一個(gè)Vanilla LSTM模型?

第七章:怎么樣開(kāi)發(fā)Stacked LSTMs?

第八章:開(kāi)發(fā)CNN LSTM模型(本期內(nèi)容)

第九章:開(kāi)發(fā)Encoder-Decoder LSTMs

第十章:開(kāi)發(fā)Bidirectional LSTMs

第十一章:開(kāi)發(fā)生成LSTMs

第十二章:診斷和調(diào)試LSTMs

第十三章:怎么樣用LSTMs做預(yù)測(cè)?

第十四章:更新LSTMs模型(本期內(nèi)容)

本文的作者對(duì)此書進(jìn)行了翻譯整理之后,分享給大家,本文是最后一期內(nèi)容。

第一期內(nèi)容為:一萬(wàn)字純干貨|機(jī)器學(xué)習(xí)博士手把手教你入門LSTM(附代碼資料)

第二期內(nèi)容為:干貨推薦|如何基于時(shí)間的反向傳播算法來(lái)訓(xùn)練LSTMs?

第三期內(nèi)容為:干貨推薦|如何準(zhǔn)備用于LSTM模型的數(shù)據(jù)并進(jìn)行序列預(yù)測(cè)?(附代碼)

第四期內(nèi)容為:機(jī)器學(xué)習(xí)博士帶你入門|一文學(xué)會(huì)如何在Keras中開(kāi)發(fā)LSTMs(附代碼)

第五期內(nèi)容為:初學(xué)者如何避免在序列預(yù)測(cè)問(wèn)題中遇到的陷阱?

第六期內(nèi)容為:如何開(kāi)發(fā)和評(píng)估Vanilla LSTM模型?

第七期內(nèi)容為:博士帶你學(xué)LSTM|怎么樣開(kāi)發(fā)Stacked LSTMs?(附代碼)

第八期內(nèi)容為:博士帶你學(xué)LSTM|手把手教你開(kāi)發(fā)CNN LSTM模型,并應(yīng)用在Keras中(附代碼)

第九期內(nèi)容為:博士帶你學(xué)LSTM|開(kāi)發(fā)Encoder-Decoder LSTM模型的簡(jiǎn)單教程(附代碼)

第十期內(nèi)容為:博士帶你學(xué)LSTM|開(kāi)發(fā)Bidirectional LSTM模型的簡(jiǎn)單教程(附代碼)

第十一期內(nèi)容為:博士帶你學(xué)LSTM|怎么開(kāi)發(fā)一個(gè)LSTM模型來(lái)生成形狀?(附代碼)

第十二期內(nèi)容為:博士帶你學(xué)LSTM|如何使用學(xué)習(xí)曲線來(lái)診斷你的LSTM模型的行為?(附代碼)

第十三期內(nèi)容為:博士帶你學(xué)LSTM|如何用LSTMs做預(yù)測(cè)?(附代碼)

我們還將繼續(xù)推出一系列的文章來(lái)介紹里面的詳細(xì)內(nèi)容,和大家一起來(lái)共同學(xué)習(xí)。

14.0 預(yù)覽

14.0.1 課程目標(biāo)

本課程的目標(biāo)是學(xué)習(xí)在新數(shù)據(jù)可用后怎么樣更新LSTM模型。完成了本課程的學(xué)習(xí)之后,你將會(huì)知道:

  • 對(duì)新數(shù)據(jù)的監(jiān)控、恢復(fù)技能和提升模型學(xué)習(xí)能力的興趣;

  • 用新的數(shù)據(jù)更新一個(gè)新的LSTM模型的5步過(guò)程;

  • 當(dāng)開(kāi)發(fā)具有新數(shù)據(jù)的更新了的LSTM模型時(shí)需要考慮的4個(gè)關(guān)鍵方法。

14.0.2 課程概覽

本課程被分為3個(gè)部分,它們是:

  • 新數(shù)據(jù)怎么樣?

  • 什么是LSTM模型更新?

  • 更新LSTM模型的5步過(guò)程。

  • 讓我們開(kāi)始吧!

    14.1 新數(shù)據(jù)是什么樣的?

    一旦你完成了你的LSTM模型,你就可以用它來(lái)做預(yù)測(cè)。但這并不是故事的結(jié)尾。幾個(gè)月或幾年之后,你將開(kāi)始積累新數(shù)據(jù)的語(yǔ)料庫(kù)。這將提出一些重要的問(wèn)題。其中的第一個(gè)方面是:

    14.1.1 模型是否仍然有技能?

    重要的是要把這個(gè)問(wèn)題作為你模型的持續(xù)維護(hù)的一部分來(lái)處理。一旦你監(jiān)控模型技能,也許你會(huì)注意到,隨著時(shí)間的推移,預(yù)測(cè)的技能正在下降。

    14.1.2 我們可以恢復(fù)模型技能嗎?

    LSTM模型所解決的序列預(yù)測(cè)問(wèn)題的性質(zhì)可能隨著時(shí)間而改變。一個(gè)模型只不過(guò)和用來(lái)訓(xùn)練它的數(shù)據(jù)一樣好。如果用于訓(xùn)練那你的模型的數(shù)據(jù)也是一年前的,也許新的數(shù)據(jù)收集到一天會(huì)導(dǎo)致一個(gè)不同和更有技能的母校。也許你的模型預(yù)測(cè)和你第一次發(fā)開(kāi)模型時(shí)一樣有技能。

    14.1.3 我們能夠提升模型技能嗎?

    通過(guò)使用新數(shù)據(jù)提升你模型的技能是可能的。

    14.2 什么是LSTM模型更新?

    更新LSTM模型指的是充分利用新數(shù)據(jù)的技術(shù)來(lái)評(píng)估和提升一個(gè)已經(jīng)存在和已經(jīng)完成了的LSTM模型的技術(shù)。評(píng)估的目標(biāo)是去評(píng)估新的或者更新了的候選模型是不是比以前完成了的模型更具有技能。這不意味著在老的訓(xùn)練數(shù)據(jù)集的現(xiàn)有模型上調(diào)優(yōu)。它明確地指出如何最好地將新的數(shù)據(jù)合并到現(xiàn)有模型的更新中,該模型可能涉及或者不涉及模型參數(shù)的調(diào)優(yōu)。

    像所有的建模一樣,當(dāng)更新LSTM模型的時(shí)候系統(tǒng)化是很重要的。

    14.3 更新LSTM模型的5步過(guò)程

    更新一個(gè)已經(jīng)存在的LSTM模型的包括5個(gè)關(guān)鍵步驟。它們是:

  • 收集新數(shù)據(jù);

  • 評(píng)估已經(jīng)存在的模型;

  • 開(kāi)發(fā)更新模型;

  • 評(píng)估更新模型;

  • 替換模型。

  • 讓我們挨個(gè)來(lái)仔細(xì)看下它們。

    14.3.1 收集新數(shù)據(jù)

    如果沒(méi)有新數(shù)據(jù),則無(wú)法更新模型。這意味著在序列回歸或者完全輸入序列的情況下,在序列分類的情況下,完成完整和高質(zhì)量的輸入序列。

    如果序列預(yù)測(cè)問(wèn)題沒(méi)有被改變,數(shù)據(jù)應(yīng)該與原始模型開(kāi)發(fā)有著相同的格式并以相同的方式被準(zhǔn)備。理想情況下,訪問(wèn)用于訓(xùn)練現(xiàn)有模型的數(shù)據(jù)也將是有價(jià)值的。

    你可能有數(shù)月或者數(shù)年的數(shù)據(jù),也許比你能處理的更多。如果是這種情況,考慮重用你用來(lái)選擇數(shù)據(jù)的方法來(lái)訓(xùn)練和評(píng)估現(xiàn)有模型。考慮選擇序列的子樣本,也許是最近的,也是是每個(gè)時(shí)間間隔的一部分。訪問(wèn)大量數(shù)據(jù)(甚至太多)可能是有用的。我們可能或者不能不決定使用一些更新模型(一個(gè)緩慢的過(guò)程)。但是我們可以使用大部分或者全部來(lái)評(píng)估現(xiàn)有的和新的候選模型(一個(gè)很快的過(guò)程)。

    14.3.2 評(píng)估已經(jīng)存在的模型

    監(jiān)控你的模型預(yù)測(cè)的技巧是至關(guān)重要的。與評(píng)估候選模型一樣,評(píng)估最終模型的性能需要訪問(wèn)預(yù)測(cè)的以及觀察的真實(shí)值。具體來(lái)說(shuō),這意味著:

  • 預(yù)測(cè)值:你必須將一些或者所有由完成模型所作出的預(yù)測(cè)存儲(chǔ)起來(lái)。

  • 觀察值:你必須聚集和存儲(chǔ)一些或者全部真的或者實(shí)際觀察值。

  • 給定模型預(yù)測(cè)值和觀察值,可以評(píng)估最近數(shù)據(jù)的完成模型的技能,并通過(guò)適當(dāng)?shù)臅r(shí)間間隔,例如小時(shí)、日、周或者月來(lái)量化它。在很長(zhǎng)一段時(shí)間內(nèi)對(duì)模型的技能有一個(gè)認(rèn)識(shí)是有用的,甚至回到模型的開(kāi)始。這可能需要對(duì)模型進(jìn)行重新測(cè)試,并重新生成未存儲(chǔ)的任何預(yù)測(cè)。

    隨著時(shí)間的推移繪制模型技能將幫助你回答關(guān)于模型技能是否保持穩(wěn)定或者退化的問(wèn)題。它反過(guò)來(lái)告訴你你的項(xiàng)目是否持久化來(lái)恢復(fù)模型技能或者開(kāi)發(fā)來(lái)提升模型技能。

    • 降低模型技能。你的目標(biāo)是利用新的數(shù)據(jù)恢復(fù)模型技能回到歷史水平。

    • 穩(wěn)定模型技能。你的目標(biāo)是通過(guò)使用新的數(shù)據(jù)來(lái)提升模型技能在穩(wěn)定的水平上。

    • 提高模型技能。好!你的目標(biāo)可能是調(diào)查新數(shù)據(jù)與舊模型中原始數(shù)據(jù)相比發(fā)生了什么變化。

    14.3.3 開(kāi)發(fā)更新模型

    使用新數(shù)據(jù)有很多方法。下面的4個(gè)選項(xiàng)供你考慮:

    • 在老的和新的數(shù)據(jù)上更新模型。現(xiàn)在模型被加載和訓(xùn)練在附件的周期中,使用原始數(shù)據(jù)的混合來(lái)擬合模型(舊數(shù)據(jù)和新數(shù)據(jù))。

    • 在新的數(shù)據(jù)上開(kāi)發(fā)新的模型。一種新的模型是從頭開(kāi)始開(kāi)發(fā)的,只適合于新的數(shù)據(jù)。

    • 在新的和老的數(shù)據(jù)上開(kāi)發(fā)新的模型。在新舊數(shù)據(jù)上建立的一個(gè)新的模型。

    你選擇的具體方法可能取決于你的序列預(yù)測(cè)問(wèn)題、你的具體實(shí)現(xiàn),或者最終是候選模型的技巧。更新模型就像加載模型和運(yùn)行額外的訓(xùn)練周期一樣簡(jiǎn)單。在內(nèi)部,模型是由一個(gè)結(jié)構(gòu)(如何掛在一起)和權(quán)重(數(shù)組的數(shù)字)來(lái)定義的。通常,更新考慮到找到一個(gè)好的網(wǎng)絡(luò)結(jié)構(gòu)的工作已經(jīng)得到解決,并且我們主要對(duì)網(wǎng)絡(luò)權(quán)重的重新處理過(guò)程感興趣。例如,下面是Keras如何更新權(quán)重的片段:

  • ?

    # load model from file?

  • ?

    model = ...?

  • ?

    # access new data

  • ?

    newX, newY = ...?

  • ?

    # fit model on new data

  • ?

    model.fit(newX, newY, ...)

    ?

  • 表 14.1 更新已經(jīng)存在的LSTM模型的例子

    調(diào)優(yōu)更新模型

    在更新模型時(shí),可能需要考慮調(diào)整選項(xiàng)。例如:

    • 學(xué)習(xí)率。可能需要一個(gè)小的學(xué)習(xí)率來(lái)對(duì)權(quán)重進(jìn)行小的調(diào)整,而不是大的跳躍。

    • 周期。可能需要對(duì)新序列進(jìn)行少量的迭代來(lái)將權(quán)重?fù)苋胄聰?shù)據(jù)。

    • 樣本。可能只需要最近一天、周、月或者年的最新樣本才能在模型中進(jìn)行撥號(hào)。

    考慮這些搜索和其他關(guān)注點(diǎn)的網(wǎng)格搜索,重點(diǎn)是將權(quán)重調(diào)整到新數(shù)據(jù),而不是用新的和非常不同的權(quán)重來(lái)批量替換它們。

    新模型調(diào)優(yōu)

    如果你決定從開(kāi)頭開(kāi)始開(kāi)發(fā)一個(gè)新的模型,那么整個(gè)模型選擇和超參數(shù)調(diào)優(yōu)會(huì)對(duì)你開(kāi)放。這可能是令人畏懼的,特別是對(duì)于第一次更新項(xiàng)目。考慮將模型結(jié)構(gòu)固定,并著重于利用新數(shù)據(jù)開(kāi)發(fā)一組新的權(quán)重。

    也許集中精力在哪一個(gè)和多少個(gè)數(shù)據(jù)樣本來(lái)擬合模型。我建議探索模型技能的敏感性分析與最近用于訓(xùn)練的數(shù)據(jù)范圍(例如,模型擬合上個(gè)月的數(shù)據(jù),在過(guò)去3個(gè)月的擬合,等等)。

    14.3.4 評(píng)估候選模型

    更新模型實(shí)際上是一個(gè)用于替換已有模型的新的候選模型。因此,必須嚴(yán)格評(píng)估這些模型并與現(xiàn)有模型進(jìn)行比較。

    評(píng)估模型

    這意味著對(duì)用于評(píng)估現(xiàn)有模型和解釋技能得分的相同數(shù)據(jù)進(jìn)行預(yù)測(cè),以查看候選模型如何執(zhí)行。這個(gè)技能不需要一直比較,事實(shí)上,它可能不應(yīng)該。我建議根據(jù)最近的一個(gè)月,比如上個(gè)月、3個(gè)月或6個(gè)月的時(shí)間,關(guān)注問(wèn)題和數(shù)據(jù)的可用性來(lái)評(píng)估和比較模型技能。

    魯棒性評(píng)估?得分技能是相對(duì)的。現(xiàn)有的模型是基準(zhǔn)線,改進(jìn)基準(zhǔn)線是目標(biāo)。這意味著結(jié)果必須是穩(wěn)健的。在一個(gè)大的測(cè)試數(shù)據(jù)語(yǔ)料庫(kù)上重復(fù)試驗(yàn),以控制隨機(jī)數(shù)據(jù)中的方差。重復(fù)多次試驗(yàn)以控制隨機(jī)算法中的方差。考慮使用統(tǒng)計(jì)測(cè)試來(lái)告訴你兩個(gè)結(jié)果群體之間的差異是否顯著以及顯著到了什么程度。決定是否用新模型替換現(xiàn)有模型必須是一個(gè)強(qiáng)有力的防御決策,而唯一的防御是魯棒的結(jié)果。

    公平基準(zhǔn)線

    候選模型必須遠(yuǎn)遠(yuǎn)勝過(guò)現(xiàn)有的模型。現(xiàn)有的模型是基準(zhǔn)線。但是允許現(xiàn)有模型提供一個(gè)公平的比較點(diǎn)是很重要的。如果你已經(jīng)開(kāi)發(fā)了用新的數(shù)據(jù)在n個(gè)額外周期更新現(xiàn)有權(quán)重的模型,那么考慮包括一個(gè)候選模型,該模型在舊的數(shù)據(jù)上更新n個(gè)額外的周期的現(xiàn)有模型。這個(gè)和類似的比較點(diǎn)將幫助你弄清楚模型技能的任何變化是由于額外的周期還是歸因于新的數(shù)據(jù)。

    展示結(jié)果

    這個(gè)決定可能不是你自己的,例如,其他利益的相關(guān)者。考慮使用圖表,如箱線圖,讓你在視覺(jué)上比較結(jié)果的分布,包括平均、中位數(shù)和其他百分位的結(jié)果。還考慮將結(jié)果呈現(xiàn)在模型技能(例如損失或者準(zhǔn)確性)方面,但是技能的改變對(duì)用戶、經(jīng)驗(yàn)、成本或者其他業(yè)務(wù)關(guān)注的影響。

    14.3.5 替換模型

    一旦評(píng)估了候選模型,就可以由一個(gè)新的模型來(lái)替換現(xiàn)有的模型。鑒于利益相關(guān)者的簽署,這應(yīng)該是一個(gè)簡(jiǎn)單的過(guò)程。我將以將模型的權(quán)重和模型結(jié)構(gòu)存儲(chǔ)在單獨(dú)的配置文件中。這使您可以在更新模型時(shí)單獨(dú)更新模型權(quán)重,這是一個(gè)較小的且風(fēng)險(xiǎn)較小的更改。

    對(duì)新模型和舊模型的并行性進(jìn)行一段時(shí)間的監(jiān)控是非常重要的。這種對(duì)當(dāng)前和先前模型的持續(xù)監(jiān)測(cè)是至關(guān)重要的。

    • 如果一切都好的話,它可以讓你維護(hù)更新模塊的決定;

    • 如果所有情況都不好,它會(huì)給你證明以前的模型是否應(yīng)該被轉(zhuǎn)換回來(lái);

    • 它有助于向利益相關(guān)者報(bào)告系統(tǒng)的健康和持續(xù)改進(jìn)。

    14.4 擴(kuò)展

    你想更深入地學(xué)習(xí)更新一個(gè)擬合LSTM模型嗎?本章節(jié)列出了本課程中一些具有挑戰(zhàn)性的擴(kuò)展:

    • 列出5個(gè)預(yù)測(cè)問(wèn)題

    14.5 總結(jié)

    在本課程中,你學(xué)習(xí)到了怎么樣在更新你的最后LSTM模型中充分利用新數(shù)據(jù)。特別地,你學(xué)到了:

    • 對(duì)新數(shù)據(jù)的監(jiān)控、恢復(fù)技能和提升模型學(xué)習(xí)能力的興趣;

    • 用新的數(shù)據(jù)更新一個(gè)新的LSTM模型的5步過(guò)程;

    • 當(dāng)開(kāi)發(fā)具有新數(shù)據(jù)的更新了的LSTM模型時(shí)需要考慮的4個(gè)關(guān)鍵方法。

    這是最后的課程,做得好!

    作者介紹:邵洲,在讀博士。研究興趣:數(shù)據(jù)挖掘、學(xué)者遷徙研究。

    總結(jié)

    以上是生活随笔為你收集整理的最后一期:如何更新LSTM模型?(附代码)| 博士带你学LSTM的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。