2vec需要归一化吗_LTSM模型预测数据如何归一化?(知乎回答)
LTSM模型預測數(shù)據(jù)如何歸一化?(知乎回答)
小白想問一個問題困擾很久的問題。我已經訓練好了一個LTSM網絡模型,訓練的數(shù)據(jù)都是經過歸一化,但是我用新的數(shù)據(jù)進行預測的時候,預測數(shù)據(jù)也要歸一化嗎?如果我用于預測的新數(shù)據(jù)恰好就是一個數(shù)值,歸一化后就是1,那是不是直接預測成最大值了?
其實這個不僅僅是針對LSTM模型,而是針對機器學習中的任何模型。通常,為了使得訓練出來的模型具有更強的泛化能力以及加快模型的訓練速度,我們需要對數(shù)據(jù)集進行劃分。一般來說都將數(shù)據(jù)集劃分成訓練集與測試集兩個部分,訓練集用來訓練模型測試集用來測試模型。但是,由于各類原因我們在訓練模型時需要對數(shù)據(jù)進行歸一化或者其他的特征縮放,那么此時應該怎么做呢?一個大的原則就是利用訓練時歸一化訓練集得到的參數(shù)來歸一化未來新的數(shù)據(jù),包括測試集,并且必須是這樣。 下面以min-max歸一化進行舉例說明:
1 數(shù)據(jù)生成
生成數(shù)據(jù)集,并以7-3的比例劃分數(shù)據(jù)集:
x?=?np.random.randint(0,?100,?20).reshape(10,?2)x_train,?x_test?=?x[:7],?x[-3:]
#結果
#?x??????x_train??????x_test
[[75?27]?[[75?27]?[[34?75]
?[?6??2]??[?6??2]??[74??0]
?[?3?67]??[?3?67]??[76?13]]
?[76?48]??[76?48]
?[22?49]??[22?49]
?[52??5]??[52??5]
?[13?89]??[13?89]]
?[34?75]
?[74??0]
?[76?13]]
2 訓練集歸一化
以訓練集為標準進行歸一化,同時以歸一化得到的參數(shù)對測試集進行歸一化。
def?feature_scalling(X):????mmin?=?X.min()
????mmax?=?X.max()
????return?(X?-?mmin)?/?(mmax?-?mmin),?mmin,?mmax
x_train,?mmin,?mmax?=?feature_scalling(x_train)
print(mmin,mmax)
print(x_train)
#結果
2?89
[[0.83908046?0.28735632]
?[0.04597701?0.????????]
?[0.01149425?0.74712644]
?[0.85057471?0.52873563]
?[0.22988506?0.54022989]
?[0.57471264?0.03448276]
?[0.12643678?1.????????]]
由于采用的是min-max歸一化,所以訓練集中第一個樣本被歸一化的計算過程為:
3 測試集歸一化
在對訓練集進行歸一化后,我們便得到了歸一化中需要的參數(shù)最小值mmin,和最大值mmax。此后,只要是用訓練集訓練得到的模型對其他任何新數(shù)據(jù)進行預測時,做歸一化用到的參數(shù)都必須是上述的mmin和mmax。盡管此時測試集中的最小值為0,但還是要以mmin為最小值進行歸一化。
x_test?=?(x_test-mmin)/(mmax-mmin)print(x_test)
#結果
[[?0.36781609??0.83908046]
?[?0.82758621?-0.02298851]
?[?0.85057471??0.12643678]]
所以,測試集中樣本被歸一化的過程為:
4 新數(shù)據(jù)歸一化
可能某一天突然要對一個新來的數(shù)據(jù)進行預測,那么也要對其用已有的歸一化參數(shù)進行歸一化:
此時,盡管新數(shù)據(jù)中的-5與98均分別小于訓練集中的2與89,但是依舊要以訓練集中的最大值最小值為準。
5 總結
總結就是,預測的時候千萬不要拿新數(shù)據(jù)里面的最大值與最小值來對新數(shù)據(jù)進行歸一化,而是應該取訓練時數(shù)據(jù)里的最大值和最小值來對新數(shù)據(jù)來歸一化。因此,在使用其他方式進行特征標準化時,訓練集標準化后同樣需要將對應的參數(shù)保存下來以便后續(xù)新數(shù)據(jù)的標準化。本次內容就到此結束,感謝閱讀!
若有任何疑問,請發(fā)郵件至moon-hotel@hotmail.com并附上文章鏈接,青山不改,綠水長流,月來客棧見!
總結
以上是生活随笔為你收集整理的2vec需要归一化吗_LTSM模型预测数据如何归一化?(知乎回答)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用户不见了_03 | 为什么你设计的信息
- 下一篇: 查找这个接口的调用_事务处理不当,线上接