在之前的文章中,我已經介紹了利用CNN神經網絡來進行腦電特徵的提取及識別。我的課題是有關癲癇的腦電特徵分析,在實際的實驗中你會發現,你的神經網絡很容易過擬合,可以將實驗抽象爲分類任務,可以分爲兩個方向來進行訓練:
- 將所有的數據劃按照一定的比例劃分爲兩個部分(eg.7:3),一部分用於訓練,一部分用於測試。
- 將數據按照人來進行劃分,假設有n個人,n-k個人作爲訓練街,但是後面的k個人作爲驗證集。
在實驗中你會發現用一種方法模型的準確率都是很高的,但是當你使用第二種的方法你模型的效果就很差,特別是在少樣本的情況之下。在博主的實驗中,用一般的CNN神經網絡,第一種方法準確率達到了99.85%, 但是用第二種方式進行訓練,準確率只有:52%左右。因此這就會引人深思:爲什麼會出現這種情況? 以及第一種方法學習到的和第二種方法學習到的特徵到底是什麼?
因此可視化其中的特徵,以及根據特徵進行分析是十分有必要的。首先可以看看相關的腦電的能量譜圖:
以上的能量譜圖的縱座標是對應特定的信道,橫座標是取得時間窗口。這是一個整體的均值。
我們可以簡單的劃分爲這個兩個部分,input神經網絡進行訓練。
神經網路的最後一層全連接層會學習到抽象的特徵信息,並且這些信息是和特徵所在的位置有關係的。將學習到的特徵進行拼接,可以得到時序的熱力圖。因此可以得到特徵的位置。因此可以對此特徵進行分析。
特徵抽取能夠有助於研究模型可解釋相關工作。
之後我還會整理關於特徵分析的相關工作。