如何为CNN架构填充序列?

时间:2020-09-17 17:21:46

标签: python machine-learning keras deep-learning conv-neural-network

我正在尝试使用CNN(卷积神经网络)使用Conv1D对时间序列进行回归。体系结构如下:

filters = 100

model_attn = Sequential()
model_attn.add(Conv1D(filters=filters, kernel_size=15, activation='relu', input_shape=(complete_inputs.shape[1], complete_inputs.shape[2])))
model_attn.add(MaxPooling1D(pool_size=2, strides=None))
model_attn.add(Conv1D(filters=filters, kernel_size=15, activation='relu', input_shape=(complete_inputs.shape[1], complete_inputs.shape[2])))
model_attn.add(MaxPooling1D(pool_size=2, strides=None))
model_attn.add(Flatten())
model_attn.add(Dense(50, activation='relu'))
model_attn.add(Dense(1))
model_attn.compile(optimizer=optimizers.Adam(0.0001), loss ='mae')

我拥有的数据具有大量可变长度的时间序列的形式。我也在应用StandardScaler()来标准化输入。

我面临的问题是,为了使输入的每个时间序列具有相同的长度以馈入CNN,我必须对输入进行填充。当我填充输入(其时间序列的长度各不相同)并且然后应用归一化时,零将变为浮点数,并且即使所有这些浮点都应表示为零(0),每个浮点值也会显着不同。我担心这可能是CNN巨大损失(损失,val_loss> 0.4)的原因,无论我对超参数进行什么更改。

(我无法在填充之前应用规范化,因为这会给我一个错误)

数据具有以下格式(显示了一个示例):

array([0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 0.       , 0.       ,
   0.       , 0.       , 0.       , 0.       , 1.0706892, 1.0744922,
   1.0758405, 1.0766355, 1.0765879, 1.0766382, 1.0768414, 1.0767081,
   1.0765858, 1.0765196, 1.0763972, 1.0762045, 1.0760512, 1.0759902,
   1.0759126], dtype=float32)

缩放后,数据变为:

array([-0.0098773 , -0.01396927, -0.01710961, -0.01975744, -0.02209057,
   -0.02420019, -0.02614048, -0.02794671, -0.02964341, -0.03124843,
   -0.03277523, -0.03563382, -0.0382806 , -0.0407568 , -0.04309184,
   -0.04530753, -0.04742062, -0.04944426, -0.05138901, -0.05326353,
   -0.05507497, -0.05682939, -0.05853189, -0.0601869 , -0.06179822,
   -0.06336918, -0.06490272, -0.06640144, -0.06786764, -0.06930339,
   -0.07071052, -0.07209074, -0.07344555, -0.07477634, -0.07608435,
   -0.07737076, -0.07863662, -0.0798829 , -0.08111052, -0.0823203 ,
   -0.08351303, -0.08468941, -0.08585013, -0.08699582, -0.08812705,
   -0.08924437, -0.0903483 , -0.09143934, -0.09251794, -0.09358452,
   -0.09463949, -0.09568325, -0.09671614, -0.09773852, -0.0987507 ,
   -0.10025053, -0.10172912, -0.10366905, -0.10557488, -0.10744838,
   -0.1092912 , -0.11110488, -0.11333311, -0.11552052, -0.11766941,
   -0.1197818 , -0.12185962, -0.12390462, -0.12591837, -0.12790239,
   -0.129858  , -0.13178651, -0.13368906, -0.13556679, -0.13742065,
   -0.13961521, -0.14177836, -0.14391151, -0.146016  , -0.14809306,
   -0.1501438 , -0.15216932, -0.15417059, -0.15614858, -0.15810414,
   -0.16035835, -0.16258444, -0.16478348, -0.1669566 , -0.16910481,
   -0.17122902, -0.17333013, -0.17540897, -0.17746635, -0.179503  ,
   -0.18151961, -0.18351686, -0.18549539, -0.18745577, -0.18939863,
   -0.19132444, -0.19323374, -0.19512701, -0.19700477, -0.19886741,
   -0.20071536, -0.20254904, -0.20436884, -0.20617515, -0.20796828,
   -0.20974864, -0.2115165 , -0.2132722 , -0.21501584, -0.21699467,
   -0.2189588 , -0.22090861, -0.22284448, -0.22476685, -0.226676  ,
   -0.2285723 , -0.23045607, -0.23232761, -0.23418722, -0.23603524,
   -0.23787189, -0.23969747, -0.24151221, -0.24331637, -0.24511018,
   -0.24689364, -0.24866745, -0.25043166, -0.2521862 , -0.2539317 ,
   -0.2556681 , -0.25761104, -0.25954303, -0.2614643 , -0.26337513,
   -0.2652757 , -0.26716635, -0.26904663, -0.27091795, -0.2727799 ,
   -0.27463275, -0.27647632, -0.27831146, -0.28013793, -0.281956  ,
   -0.28376585, -0.28556734, -0.28736123, -0.2891473 , -0.29132003,
   -0.29367775, -0.29602244, -0.29835477, -0.30067492, -0.3029831 ,
   -0.30527973, -0.30756497, -0.30983916, -0.31229043, -0.31472957,
   -0.317343  , -0.32012805, -0.32308212, -0.32601935, -0.32948637,
   -0.33293125, -0.33653453, -0.34029344, -0.34402823, -0.347916  ,
   -0.35195422, -0.35614058, -0.36030012, -0.36460558, -0.36888412,
   -0.37313697, -0.37753382, -0.38190514, -0.38625202, -0.3905755 ,
   -0.3952066 , -0.39981288, -0.4045587 , -0.4094427 , -0.41430196,
   -0.41913772, -0.42395112, -0.42874327, -0.43351525, -0.4387422 ,
   -0.44410446, -0.4497582 , -0.45570102, -0.46177515, -0.4679805 ,
   -0.47416276, -0.48063117, -0.48738453, -0.49426895, -0.50113285,
   -0.50797826, -0.51480716, -0.5220752 , -0.5293287 , -0.5365699 ,
   -0.5438007 , -0.5510232 , -0.55838937, -0.565901  , -0.5734096 ,
   -0.5812176 , -0.5890266 , -0.596989  , -0.6051072 , -0.613685  ,
   -0.6224249 , -0.63117915, -0.6399503 , -0.64874095, -0.6577059 ,
   -0.6666962 , -0.67571455, -0.68491715, -0.6943084 , -0.7037379 ,
   -0.71336436, -0.72319263, -0.73307097, -0.7430025 , -0.75330853,
   -0.7636781 , -0.77411455, -0.78462166, -0.79520303, -0.80635613,
   -0.81759876, -0.8294377 , -0.84172213, -0.8546382 , -0.86838096,
   -0.88280624, -0.897588  , -0.9129222 , -0.92883426, -0.94590706,
   -0.96363425, -0.9816685 , -1.0002222 , -1.0191268 , -1.0384021 ,
   -1.0582769 , -1.0785757 , -1.0993239 , -1.1205478 , -1.1422764 ,
   -1.1645403 , -1.1873723 , -1.2108079 , -1.2348853 , -1.2596458 ,
   -1.2851342 , -1.311399  , -1.3387773 , -1.3670616 , -1.3963174 ,
   -1.4266162 , -1.4580369 , -1.491006  , -1.5253086 , -1.5610552 ,
   -1.5983696 , -1.6373909 , -1.6782749 , -1.7211987 , -1.7663625 ,
   -1.8139961 , -1.8643622 , -1.9177647 , -1.9745562 , -2.03515   ,
   -2.1000326 , -2.1697834 , -2.2450805 , -2.3267937 , -2.4159408 ,
   -2.5137994 , -2.6219797 , -2.7425473 , -2.8781922 , -3.032506  ,
   -3.212353  , -3.4234576 , -3.676436  , -3.9877586 , -4.3847356 ,
   -4.916755  , -5.685551  , -6.9478936 , -9.667068  ,  0.7664037 ,
    0.8944819 ,  0.9429276 ,  0.972402  ,  0.97564405,  0.9807707 ,
    0.98882246,  0.9867822 ,  0.9841371 ,  0.9820615 ,  0.9778804 ,
    0.9715033 ,  0.96555257,  0.9610835 ,  0.95586026], dtype=float32)

有解决问题的方法吗?

编辑1:尽管我已将inverse_transform应用于缩放后的输入以获取原始输入,但CNN会识别出差异吗?

相同输入的

inverse_transform如下:

array([-3.82500585e-12, -6.33975728e-12,  4.86057548e-12,  5.84291122e-12,
   -3.65678798e-12, -7.03534193e-12, -2.00839432e-11,  1.29974963e-11,
   -2.88795394e-11,  3.08669236e-11, -1.98511346e-11,  6.40846404e-11,
   -5.68959879e-11,  1.49610324e-10, -8.36972922e-11,  5.78726442e-11,
    2.94587202e-11, -9.54626100e-11,  1.46498647e-11,  1.31735204e-12,
    3.80215096e-11, -9.32821598e-11, -1.02480913e-10,  9.24872123e-11,
   -1.94741001e-10,  1.29327646e-10,  2.05188963e-10,  9.56670229e-11,
    1.42319462e-10,  7.77692077e-11, -2.21269739e-10, -7.73603681e-11,
   -2.09277290e-10, -1.77569986e-10,  1.89698715e-10, -1.72346012e-10,
   -5.98804728e-10,  5.97441929e-10, -1.12701751e-10,  1.23831112e-10,
   -3.82940658e-11,  2.25948621e-10, -4.22097801e-10, -4.23188040e-10,
   -4.58075161e-10, -4.29729363e-10,  1.51722628e-11,  3.02445902e-10,
    1.44000228e-10, -2.06233763e-11,  3.57047863e-10,  3.83576615e-10,
   -3.20343724e-10, -2.94996028e-10,  4.12376661e-10,  1.87154858e-11,
    3.96114183e-11,  1.57900554e-10,  6.75029477e-11, -1.75980078e-10,
   -8.18575416e-11, -2.18953015e-11, -4.28820840e-10,  3.64134306e-10,
   -3.55685092e-10, -3.42148171e-10, -6.85023149e-10, -5.14039922e-10,
   -2.07142276e-10, -1.72618558e-10,  4.33545144e-10,  3.73764630e-10,
    2.45481774e-10, -2.50623988e-09,  4.42630321e-10,  7.42441553e-10,
   -8.48374815e-10,  4.90418428e-10,  9.20692911e-10,  5.92172533e-10,
   -6.45593412e-10, -7.53888840e-10, -7.12278708e-11, -8.05674416e-10,
    3.04717196e-10,  5.20762933e-10, -2.71919665e-09,  1.05351838e-09,
    5.64371827e-10, -2.34652231e-09,  8.39289638e-10, -1.52522128e-09,
   -1.00300469e-10, -7.48619444e-10,  4.13557744e-10,  9.73932046e-10,
   -9.55034940e-10, -2.94360092e-10,  1.52158719e-09, -1.37549738e-09,
   -1.66622338e-09, -3.79760834e-10, -4.34635383e-10, -4.57530042e-10,
   -1.04915743e-09,  2.25312657e-10,  1.21741506e-10,  6.23607277e-10,
    9.34684108e-10,  4.98595110e-10, -1.33879319e-09, -7.09734826e-10,
    7.52980345e-10,  1.54484525e-09,  1.57791535e-09, -9.04884709e-11,
   -1.83302740e-09,  1.51904334e-09, -1.72618564e-09, -6.61401628e-11,
    1.76834092e-09, -1.14073617e-09, -1.19924473e-10,  1.18834254e-09,
   -3.17254750e-10,  1.04661363e-10,  1.64914327e-09, -6.59584609e-10,
    3.73219511e-10,  8.87441121e-10,  1.23667576e-09, -8.79446183e-10,
   -1.89480676e-09, -2.89853830e-09, -1.63388014e-09, -1.72109793e-09,
    1.13165100e-09, -2.22405386e-10, -2.18989360e-09, -6.63582078e-10,
   -6.19973184e-10, -3.31645689e-09,  1.02044828e-09, -2.49879006e-09,
    6.13431861e-10,  2.10994400e-09, -1.56265223e-10, -9.91230298e-09,
   -1.19706434e-09, -1.42746470e-09, -1.82793969e-09,  1.88971894e-11,
   -3.33535399e-09, -6.66634703e-09, -5.93081029e-10,  6.06890538e-10,
   -2.73064393e-09,  3.93206911e-10, -1.15563581e-09,  3.15146975e-09,
    2.42538167e-09, -6.44757581e-09, -7.41714690e-09,  3.42475226e-09,
    3.36951445e-09, -9.03285713e-09, -5.45111245e-09, -6.62128463e-10,
   -2.85056845e-09,  2.67904010e-09, -1.51250201e-09,  3.95605415e-09,
    5.75637493e-09, -1.88899230e-09, -9.44641432e-09,  3.56212038e-09,
   -6.41777631e-10, -1.13455823e-09,  8.15777135e-09,  5.65316727e-09,
    7.29431537e-09,  2.55838878e-10,  6.90474233e-10,  4.47863391e-09,
    3.82450072e-09, -1.76470683e-09, -7.01812564e-09, -3.60936325e-09,
   -6.45557074e-09, -6.56023236e-09,  5.43657608e-09,  5.52088686e-09,
    5.35371925e-09, -3.79106702e-09, -6.31747588e-09,  2.36214870e-09,
    9.89922033e-10, -1.31989608e-09,  1.30390609e-09,  3.41748407e-09,
   -5.90755223e-09, -4.75482365e-09, -7.15767401e-09, -3.10350012e-09,
    6.51662324e-09,  3.28375016e-09,  2.29092079e-09,  1.61847158e-08,
    1.31655273e-08,  1.13906449e-08,  1.81921802e-08,  4.79261830e-09,
   -5.14585041e-10,  1.09312976e-08, -1.63388014e-09,  1.13935519e-08,
    1.11086402e-08, -8.55025206e-09,  9.73932046e-10, -8.57641691e-09,
    3.19217142e-09, -8.33220692e-09,  1.19197665e-08,  1.36234206e-08,
   -2.44209852e-09, -8.97761865e-09, -9.24508647e-09,  1.43705865e-08,
   -1.16929995e-08, -2.40139686e-09, -6.85241197e-09,  2.21823937e-09,
    2.56129606e-09, -1.03411235e-08,  3.67186948e-09, -7.72749686e-09,
   -2.32290076e-09,  1.03731033e-08, -9.31486088e-09, -1.06144062e-08,
    1.29663800e-08, -3.61663144e-09, -2.77061885e-09, -5.03246689e-09,
    5.50344303e-09, -3.77653064e-09, -2.72700995e-09,  1.99438044e-09,
    6.62855271e-10,  1.87460127e-08,  8.40198133e-09, -2.32580799e-09,
    2.84504473e-08, -6.45411724e-09,  1.45944448e-08,  8.91365914e-09,
   -2.40430396e-08, -1.45130423e-08, -1.65190510e-08,  4.16319645e-09,
    1.67923346e-08, -4.71557549e-09, -1.79552373e-08, -2.52931613e-08,
   -1.19197663e-09, -6.83787560e-09,  1.06405720e-08,  1.90309244e-08,
   -1.81180440e-08, -1.86646094e-08,  7.29140837e-09,  3.01192138e-09,
   -1.41350984e-08,  1.36350495e-08,  1.10475877e-08, -1.94728269e-08,
    2.68165667e-08, -2.88458342e-08, -6.86113388e-10, -2.10485620e-08,
    1.63969460e-08,  2.59909037e-08,  2.01124255e-08, -6.39015774e-09,
   -5.66741249e-08,  7.72691564e-08,  1.54956954e-08,  2.57583235e-08,
    2.15137241e-08, -3.31427641e-09, -2.13974332e-08, -1.70656165e-08,
   -6.40178666e-09,  7.01696266e-08,  5.68078597e-08, -2.80841306e-09,
   -2.96714955e-08,  5.96569727e-09, -2.45023877e-08,  1.41118406e-08,
   -1.15069350e-08,  2.51129126e-08,  4.52718538e-08,  3.16309889e-09,
    1.07068920e+00,  1.07449222e+00,  1.07584047e+00,  1.07663548e+00,
    1.07658792e+00,  1.07663822e+00,  1.07684135e+00,  1.07670808e+00,
    1.07658577e+00,  1.07651961e+00,  1.07639718e+00,  1.07620454e+00,
    1.07605124e+00,  1.07599020e+00,  1.07591259e+00], dtype=float32)

0 个答案:

没有答案