如何从具有不同窗口大小的 2 个 LSTM 制作集成模型

问题描述

以下是制作集成模型的通用代码

所有三个模型的所有输入都相同。但是如果模型由于不同的窗口大小而具有不同的输入形状,例如 lstm 模型。

所以模型 A 的输入形状是 (window_size_A,features),模型 B 的输入形状是 (window_size_B,features)。

窗口大小不同但特征数量相同。

因此,由于窗口大小不同,每个模型对同一数据集的训练数据进行了不同的拆分,使得模型 A 的 X_train.shape : (train_data_A,window_size_A,output) 而对于模型 B: (train_data_B,window_size_B,输出)。

注意训练数据来自同一个数据集,但由于窗口大小不同,长度不同。

你会如何组合这些模型?

def get_model(): 
    inputs = keras.Input(shape=(128,)) 
    outputs = layers.Dense(1)(inputs) 
    return keras.Model(inputs,outputs)

model1 = get_model() 
model2 = get_model() 
model3 = get_model()
inputs = keras.Input(shape=(128,)) 
y1 = model1(inputs) 
y2 = model2(inputs) 
y3 = model3(inputs) 
outputs = layers.average([y1,y2,y3]) 
ensemble_model = keras.Model(inputs=inputs,outputs=outputs)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)