LSTM可以“计算”传感器达到峰值读数的次数吗?
我创建了一个简单的例子,其中2台机器一旦获得25分或更高的第三传感器等级就会失败。然而,在keras中尝试不同的LSTM模型数小时之后,我的所有模型都希望将我的所有样本分类为全部为真,或者全部为假。
有人能指出我正确的方向来检测这样的规则吗?
这是2台机器,带有大约20个时间戳,只有2个传感器(X1,X2)。
序列长度= 10个时间步长 这样可以得到23个“窗口”或样本,每个窗口都是10个步长。
混淆矩阵总是最终:
数组([[0,15], [0,8]])
Y只是一种“接近失败”的主观测量,我看到其他预防性维护实例的使用,效果很好。鉴于我在这里强加了自己的规则,我应该能够获得100%的准确率。
这是我的模型的一个版本,但不管层或神经元或时代,我都是真的或全是假的。我也试过只有1个LSTM而不是2.相同的结果。
nb_features = seq_array.shape[2] #this is 2
nb_out = label_array.shape[1] #this is 1
model = Sequential()
model.add(LSTM(
input_shape=(sequence_length, nb_features),
units=20,
return_sequences=True))
model.add(LSTM(
units=10,
return_sequences=False))
model.add(Dense(units=20,activation='relu'))
model.add(Dense(units=20,activation='relu'))
model.add(Dense(units=10,activation='relu'))
model.add(Dense(units=1,activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics= ['accuracy'])
数据文件在这里---> https://github.com/dclengacher/test-repo/blob/master/ten_machines.csv