非常に大きな時系列データセットを処理する


10

非常に大きなデータセットにアクセスできます。データは、4つのジャンルのうちの1つからの、音楽の抜粋を聞いている人々のMEGレコーディングからのものです。データは次のとおりです。

  • 6科目
  • 3実験の繰り返し(エポック)
  • エポックあたり120回の試行
  • 275 MEGチャネルから500Hz(= 4000サンプル)で試行あたり8秒のデータ

したがって、ここでの各「例」はサイズ[4000x275]の行列であり、そのような例は2160あり、これは特徴抽出の前です。目標は、脳の信号に基づいてジャンルを予測することです(4クラス分類)。

明らかに、ここにはいくつかの挑戦的な問題があります。

  1. データセットがメモリに収まりません
  2. データには強い時間的相関があり、被験者間の変動は非常に大きくなります。その結果、データを分割する方法は明らかではありません
  3. S / N比が非常に低い
  4. 分類子の正しい機能が何であるかは明らかではありません

これらを順番に取ります:

  1. できることはいろいろあります。まず、ナイキスト制限を考慮しても、100Hzを超えると脳の活動が実際に発生しないため、500Hzから〜200Hzに安全にダウンサンプリングできます。一連のチャネルからサブサンプリングすることもできます(たとえば、聴覚領域の中心)が、関心のある他の領域(前頭など)でアクティビティが発生する可能性があるため、これを先験的に行うことは避けます。時間枠の一部を削除することもできます。おそらく、最初の2つだけがタスクにとって重要ですか?それは本当に知られていない。もちろん、誰もが「叫び次元削減を! "ですが、それも簡単なことではありません。最初に、トレーニング/テストの分割(2を参照)に非常に注意する必要があり、これを機能の生成前または後に行うかどうかも明確ではありません。次に、高価なもの以外相互検証、または骨の折れる目視検査では、適切な方法または適切な次元数のいずれかを選択する明白な方法はありません。もちろん、PCA、ICA、またはランダムな投影法などを使用して、最善の結果を期待できます。

  2. これはトリッキーです。トレーニングセットに連続するサンプルがある場合、トレーニングセットにオーバーフィットする可能性があります。一方、連続するサンプルがトレーニングセットとテストセットに分割される場合、トレーニングセットにアンダーフィットする可能性がありますが、テストセットにオーバーフィットする可能性があります。ここにはさまざまなオプションがあるようです:

    • 単一主題分類。個々の主題を自分で取り、時代に応じて分割します。私たちは脳全体を予測しようとしているわけではないので、これ最も簡単な作業です。この中で、クロス検証のために2つの残りのエポックを使用できます。完全を期すために、すべての組み合わせをローテーションする必要があります。すべての被験者の平均精度を報告します。もちろん、これらのモデルが一般化することはまったく期待できません。
    • 被験者分類内。一緒にすべての主題を取り、時代に従って分割します。これ、トレーニング中のすべての被験者を見てきたので、実際には最も簡単な作業かもしれません。ただし、モデルが新しい主題にうまく一般化するとは思わないでしょう。この中で、クロス検証のために2つの残りのエポックを使用できます。完全を期すために、すべての組み合わせをローテーションする必要があります。
    • 被験者間分類。「Leave-one-out」とも呼ばれ、1人の被験者がテストデータとして使用され、残りはトレーニングに使用されます。次に、すべての主題を回転させます。次に、被験者に対して交差検証が実行されます。毎回「新しい脳」を予測しようとしているので、これははるかに困難な作業になると予想します。ここでは、テストと再テストの信頼性(つまり、時間的相関によってどれだけ過剰適合が引き起こされるか)の問題がありますが、モデルはより大きな母集団にうまく一般化すると予想されます。
  3. これは古典的な「干し草の中の針」の問題です。音楽ジャンルの認識やジャンル固有の処理に関連する実際の信号は、脳内の活動の「スープ」と比較するとごくわずかです。部分的にしか削除できない顕著なアーティファクトもあります(主に移動に関連)。データから派生した機能、およびデータの処理方法は、対象の信号の一部を破壊しないようにする必要があります。

  4. ここでは、さまざまなことを想像できます。1つ目は、生のデータ(ベクターに連結されたもの)を特徴ベクトルとして使用することです。それがどれほど実り多いかはわかりませんが、これらのベクトルはおそらく本質的に一様にランダムであると思います。これは実際には信号処理の問題ですが、従うことができるいくつかの一般的なガイドラインがあります。1つは、スライディングウィンドウ上で標準のフーリエ解析を実行することです。ここから、コンポーネントを個別の周波数帯域(アルファ/ベータ/ガンマなど)に分割でき、これらの統計(平均、標準偏差)を機能として使用できます。または、ウェーブレットやヒルベルト変換を使用したり、混沌としたアトラクタを探したりすることもできます。もちろん、順列の数を増やすカーネル(線形、多項式、RBFなど)を選択できます。おそらく、ここで行う最善の方法は、できるだけ多くの異なる機能セットを生成し、MKLまたはブースティングメソッドを使用してそれらを組み合わせることです。

この種類のデータセットにどのように取り組みますか(特にこのデータセットでない場合)?途中で見逃したことはありますか?研究者の時間と計算リソースに限りなく費やすことなく、成功する可能性が最も高い戦略は何ですか?

回答:


4

@tdc。次元の削減、被験者内/被験者間分類、信号対雑音比などを含む、神経科学データの分析に関してここで言及したすべての多くの問題は、特別に設計されたEEGLABツールボックスによって処理されています。これらの種類の神経科学データを処理するため:

EEGLABは、独立したコンポーネント分析(ICA)、時間/周波数分析、アーチファクト除去、イベント関連の統計、および平均化されたいくつかの有用な可視化モードを組み込んだ、イベント関連の連続的な脳波、MEGおよびその他の電気生理学的データを処理するためのインタラクティブなMatlabツールボックスです。単一試験データ。

したがって、「無限の研究者の時間を費やすことなく成功するための最も可能性の高い戦略は何ですか」という質問に関して、EEGLABのオンラインワークショップを見て、そこから続けることをお勧めします...

更新:より多くのMLについては、(新しい)BCILABモデルをご覧ください


1
私は過去に実際にEEGLABを使用しましたが、主にそれは完全なGUI(少し遅く、不安定になる傾向がありました)ではなく、基本的な機能です。ただし、多変量分析ではなく、大部分が一変量分析を対象としていますが、しばらくは調べていません。経験はありますか?
tdc

彼らは過去2年間で大きな進歩を遂げたと思います...そして、私はGUIとmatlab-functionの両方を使用しています。2010年のこのワークショップは非常に便利で、多くのバグが修正され、STUDYなどの多くのモデルが追加されました。時間とお金を節約できることを非常に嬉しく思いますが、MEGではなく主にEEGデータを使用していることに注意してください。
Dov

1
面白いですね。基本的に、EEGとMEGはアーティファクトのタイプとセンサーの数を除いて、本質的に両方とも電気的な脳活動を測定しているため、EEGとMEGの間に違いはありません。EEGLABと機械学習を組み合わせましたか?
tdc

承知しました。いつも。すべてMATLABにあるので、EEGLABにデータをロードしたら。PCA / ICA(これは私が行うことです)を使用して、お気に入りの分類子/クラスタリングSVM、fisherまたはk-meanをトレーニングできます。名前を付けてください。
Dov

1
これはその範囲に対する素晴らしい答えですが、独自のシステムに依存するツールボックスとは関係なく、これらの問題のそれぞれがどのように処理されるかについての概要を見るとよいでしょう。
明るい星
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.