2个问题:
将导致更好的预测,因为我们正在实施一个回归问题,而不是分类。我说的对吗?
给它提供前7个位置,然后预测新的位置。
下面是他们用来预测7个输入帧的7个帧的代码:
which = 1004
track = noisy_movies[which][:7, ::, ::, ::]
for j in range(16):
new_pos = seq.predict(track[np.newaxis, ::, ::, ::, ::])
new = new_pos[::, -1, ::, ::, ::]
track = np.concatenate((track, new), axis=0)假设我想预测一个测试视频的第7帧。如果我不用最后的7帧来填充模型,而只是用第7帧来填充模型,那么它会对预测产生影响吗?
谢谢。
发布于 2018-07-21 09:12:54
嗯,如果输出在0到1之间,使用‘二进制_交叉熵’是完全可以的。
就好像您在一个类中遇到了分类问题:真或错。(不过,函数仍然是连续的,到最后,零误差点将是相同的)
根据所使用的激活函数的类型(特别是使用'sigmoid'),由于数学细节,“binary_crossentropy”会给您带来比'mse‘更快的结果。
LSTM层递归地从分析帧(或任何类型数据的步骤)中学习。
它有所谓的“内在状态”。它分析的每一步都会更新这种内部状态,因此它的工作方式既像“记忆”直到现在发生的事情,也像某种定位器,比如“电影中的我现在在哪里?”
因此,对于LSTM来说,对前面的步骤进行预测是绝对必要的。
想象一下你以前从未看过“星球大战”,你开始在达特说:“卢克,我是你父亲”的场景中播放。你只会说:“什么?”
现在从一开始就看所有的电影,然后到达那个部分。你的理解会有所不同吗?LSTM会同意你的意见的。
https://stackoverflow.com/questions/51453506
复制相似问题