首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用回归器对两种不同的数据进行特征映射?

如何利用回归器对两种不同的数据进行特征映射?
EN

Stack Overflow用户
提问于 2022-03-24 03:46:17
回答 1查看 150关注 0票数 1

我正在尝试构建一个Keras模型,以实现在文章中解释的方法。

我的实现的上下文:

我有两种不同类型的数据,它们代表需要分类的同一组类(标签)。第一类是图像数据,第二类是脑电数据(时序序列)。

我知道要对图像数据进行分类,我们可以使用这样的CNN模型:

代码语言:javascript
复制
model.add(Conv2D(filters=256, kernel_size=(11,11), strides=(1,1), padding='valid'))
model.add(Activation('relu'))
model.add(Dense(1000))
model.add(Activation('relu'))

model.add(Dropout(0.4))
# Batch Normalisation
model.add(BatchNormalization())

# Output Layer
model.add(Dense(40))
model.add(Activation('softmax'))

为了对序列数据进行分类,我们可以使用如下的LSTM模型:

代码语言:javascript
复制
model.add(LSTM(units = 50, return_sequences = True))
model.add(Dropout(0.2))

model.add(Flatten())
model.add(Dense(32, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(40, activation='softmax'))

但本文的方法表明,通过这样的回归,可以将脑电特征向量映射到图像向量中:

  1. 第一种方法是训练CNN将图像映射到相应的EEG特征向量。通常,CNN的第一层试图了解图像的一般(全局)特征,这在许多任务之间是常见的,因此我们使用预先训练过的模型初始化这些层的权重,然后在端到端的设置中从头开始学习最后几层的权重。特别是,我们使用了预训练的AlexNet神经网络,并以欧氏损失为目标函数,用一个回归层(包含与脑电特征向量维数一样多的神经元)代替了AlexNet分类层。
  2. 第二种方法是利用预先训练的CNN模型提取图像特征,然后采用回归方法将图像特征映射到脑电特征向量。通过读取最后一个完全连通层的输出,我们使用我们的微调AlexNet作为特征提取器,然后使用几种回归方法(即k-NN回归、岭回归、随机森林回归)来获得预测的特征向量。

我无法理解如何编写上述两种方法。我从未使用过回归器进行特征映射,然后进行分类。这方面的任何线索都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2022-03-30 14:23:58

据我理解,训练数据由(eeg_signal,image,class_label)三胞胎组成。

  1. 利用input=eeg_signal、output=class_label等工具对低LSTM模型进行训练。损失是交叉熵
  2. 剥离LSTM模型的最后一层。假设前一层的输出是一个大小为20的向量,我们称其为eeg_representation。
  3. 在所有eeg_signal输入上运行此截断模型,保存eeg_representation的输出。你会得到一个张量的批次,20
  4. 以本文中提到的AlexNet (或任何其他图像分类器)为例,剥离最后一层。假设前一层的输出是30大小的向量.我们叫它image_representation吧。
  5. 在前一层的结尾处有一个线性层。此层将将image_representation转换为eeg_representation。它有20x30磅重。
  6. 在(图像,eeg_representation)对上训练缝合模型。损失就是欧氏距离
  7. 现在有趣的部分是: Stich一起训练的模型在步骤7和剥离的部分模型训练在步骤1。如果你输入一个图像,你将得到类预测。这听起来没什么大不了的(因为我们一直都在做图像分类),但如果这真的有效的话,那就意味着这是一个“贯穿我们大脑的预言”:)谢谢你提出这个问题并将论文链接起来。

我觉得我只是重复了你的问题和论文中的内容。我希望有一些玩具数据集能够提供代码示例。

下面是一个关于如何“剥离”预先训练过的图像分类模型的最后一层的Tensorflow教程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71596830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档