我正在处理从IMDB站点删除的电影数据集。更重要的是,我正在研究两个信息,即电影概述和电影海报数据。
在第一部分中,我处理概述数据并使用word2vec进行矢量化。我具有以下功能:
print(X.shape);print(Y.shape)
(10265, 300)
(10265, 19)
第二部分是在同一部电影上工作,但使用像VGGNet这样的预训练模型在海报图像(单个图像形状=(224,224,3))中创建功能。我最终得到如下信息:
print(X.shape);print(Y.shape)
(10265, 25088) ## image feature generated from frozen layers = 7 x 7 x 512=20588
(10265, 19)
我需要同时合并这两个特征,并在此组合的异构数据上训练Deep MLP,以预测Y(19个类)。
问题我面临着MLP在可见层中需要input_shape的问题。因此,我需要将word2vec的X功能和VGGNET的X功能带入相同的形状,例如: print(X_combined.shape);print(Y.shape)
(10265, 512)
(10265, 19)
也许转置这些数组可能是一个解决方案。或者创建像
的张量X_combined= (10265,25088,300)
Y=(10265, 19)
我还是很困惑。这里需要一些指导。
答案 0 :(得分:0)
仅Word2vec会为单词创建矢量。您是否正在执行另一步骤,例如将描述的所有单词平均在一起,以获得多单词文本的300维矢量?
这可以作为简单的基准,但是与矢量化多词文本的其他方法相比,可能会失去一些细微之处。另外,如果您是从自己的文本数据中创建单词向量的,那么只需10,265条简短说明-可能每个句子几个? –是用于创建300维字向量的非常强大的训练集。
也就是说,如果每个电影文本有300个尺寸(每个10265行,每个300个特征),则每个电影海报有25088个尺寸(每个10265行,每个25088个特征),然后将它们串联起来,则每部电影将有25388个尺寸(每10265行包含300 + 25088个功能)。
从两个单独的mod(...)
数组中,串联很简单:
X
但是,您确定下一步可以处理如此广泛的输入吗? (您是否应该对图像特征使用其他更窄的摘要/降维?)