我致力于脑电信号处理方法,以识别P300 ERP。目前,我用一个数据向量来训练我的分类器,这些数据是我从原始64个通道中选择的子集中经过预处理的数据平均得到的。我直接使用来自EEG的值,而不是fft的频率特征。实际应用表明,该方法的分类精度达到了75%左右。我想通过使用ICA来对EEG数据进行一些改进。我读了很多教程和论文,我仍然有点困惑。我在python中实现了我的方法,所以我选择使用sklearn的FastICA。
from sklearn.decomposition import FastICA
self.ica = FastICA(n_components=64,max_iter=300)
icaSignal = self.ica.fit_transform(self.signal)从25256个样本x64通道矩阵中得到原始源矩阵,也就是25256x64。问题是,我不太确定如何使用输出。
对这些部件进行平均处理,并以与信号相同的方式训练分类器,性能将降低到30%以下。所以这可能不是正确的方法。
我所读到的另一种方法是在这一点上拒绝某些成分--那些代表眨眼、肌肉活动等的成分。根据它们的频率和其他一些启发来做。-我对如何做到这一点也不太有信心。
在我拒绝了一些组件之后,下一步是什么?我应该试着平均那些留下的,用它们来给分类器喂食,还是现在我应该尝试在没有它们的情况下重建脑电信号--如果是的话,如何在蟒蛇身上这样做?我找不到任何关于重建步骤的信息。在matlab中可能要容易得多,所以没有人费心去写:
有什么建议吗?:)非常感谢!
发布于 2016-06-13 20:36:25
我还没有为ICA使用Python,但是在这些步骤中,不管是Matlab还是Python,都不重要。
很难拒绝ICA组件,这是完全正确的。目前还没有被广泛接受的客观测量。眼睛闪烁(额叶通道的高电压),肌肉伪影(广谱覆盖,因为它是肌电信号,在周边通道)有一些特定的模式。如果您不知道从哪里开始,我建议您阅读一个名为EEGLAB的Matlab插件。这个UCSD小组有一些很好的材料来帮助你开始。
要回答你关于ICA重建的问题:在拒绝某些ICA成分后,您应该重建原始EEG而不使用它们。
https://stackoverflow.com/questions/36058424
复制相似问题