はじめに
今回は機械学習で脳波を判別することを考えた際に感じた注意点について紹介していみたいと思います。
なお、実装例等の紹介ではなく、考え方や概念の紹介となります。
こちらも参照してください
データマイニングの観点から見る脳波判別
機械学習の落とし穴
落とし穴というとすごく悪い言葉に聞こえ、根拠はあるのかという話になりますが、今回の話は脳波関連に関する機械学習を行った経験に基づいた話となります。根拠を示すような情報やデータがあるわけではありません。
世間一般で言われているディープラーニングの特質として「特徴量を自動的に抽出する」ことがあると思います。
ただ、これはあくまでも画像処理や音声処理といった「人間が五感で分かる」事に関するデータに対することだと思います。
五感で分からないデータ(売上情報や位置情報のようなビックデータ)に対しては必ずデータを学習させる前に「可視化」を行って
有効な特徴が抽出できるか分析を行っているはずです。
この分析作業はあくまでも人の手で行われていると思います(これを専門に行っている方々をデータサイエンティストというと思います)。
ディープラーニングはどんなとデータでも特徴量を自動的に抽出して、それを判別すると考えて闇雲に検証を進めると思わぬ落とし穴にハマる可能性があります。
可視化の重要性
データを可視化するとは、本来は多次元である解析対象のベクトルを3次元以下に落として、データ分布を確認することです。
詳しくは「主成分分析」「次元削減」「t-SNE」等で検索してみてください。
脳波データは電極ごとの電位やそれらの周波数成分などが特徴量になると思います。
可視化を行うことで、データが判別可能か、分布が重複していて判別不可能かがある程度分かります。
とはいえ、画像や音声のデータもそのまま何かしらの形でベクトルに落として、可視化しても分布から得られる情報は少なく
ディープラーニングが行う特徴の抽出を行って、初めて判別が可能になると思います。
ただ、音声や画像は人間が五感で判別が可能であり、音声波形をグラフにしたら、違いは見ればわかるようなものが多いと思います。
また、ディープラーニングもといニューラルネットワークは、人間の脳を模して造られてる学習アルゴリズムであるため、人間が見分けられることは大前提としてあると思います。
得られた脳波データはグラフに示したときに違いがあるかどうかが分かれ目だと思います。
グラフに差異があれば、自動的に抽出される特徴がある可能性が高くなります。
まとめ
- ディープラーニングはどんなデータでも自動的な特徴抽出を行うわけではない可能性がある
- 脳波データはまずは可視化を行って、差異が分かるか確かめる
- 可視化で差異が無いとき(分布が重複している)は、波形をグラフ化して差異を確かめる(時間軸、周波数軸など)
- グラフ化して差異が出るなら、何かしらの機械学習を用いることで判別が可能である可能性がある
最後に
今回は機械学習で脳波を判別することを考えた際に感じた注意点について紹介していみました。
「無いものは、いくら探しても見つからない」が「無いことを証明するのも難しい」が全てだと思います
願わくは、脳波を判別しうる特徴量を模索するために機械学習を行っている皆さんの助けとなれば幸いです。
コメント欄に要望やご意見などいただけると幸いです。