自分の研究を見つめ直す

最近自分の立ち位置、向かっている方向etcが分からなくなってきたので一度まとめてみる。

研究背景

遺伝子工学の発展によって、大量の生物学データが得られるようになりつつある一方で、得られたデータから「意味」を抽出することは、データの性質上困難であり、それ故あまり進展はしていない。
「意味」とは、この場合、生命活動における何らかの規則性のような知識となる。
そのような知識が得られることで、従来困難であると思われていた病気の治療などに効果があげられると考えられる。

研究対象

『DNAマイクロアレイから得られる発現量データ』
DNAマイクロアレイは実験器具。
発現量とは、遺伝情報がどれくらいタンパク質生成に用いられたかを示す定量的な値。定量的な値、すなわち数値データなので、計算機で扱いやすい(はず)。
発現量の特徴

  1. データが高次元(数千〜数万遺伝子のデータ)
  2. ノイズが含まれやすい
  3. サンプル数(被験者の人数)が少ない

これにより、『サンプル数は少ないが、その一つ一つのデータは非常に高次元かつノイズが含まれている可能性が非常に高いデータ』となっている。
これは数学的に非常に扱いにくいデータである。
なぜなら、(サンプル数)<<<(データの次元)となっており、統計的な手法の適用が困難であり、またパターン認識で言うところの「次元の呪い」にかかったデータである。

やりたいこと

大きく分けて2つ。


一つ目。
発現量データを用いて、被験者のクラス分けを行いたい。
ここで言うクラスとは、病気である、とか、健康である、みたいなもの。病気の種類や進行状態でクラスを分けることも考えられる。


二つ目。
発現量データの次元数を削減し、クラス分けに必要な遺伝子を選別したい。
これには二つの利点がある。
極端な例を考える。
考えるのは『ガン』と『健康』の二つのクラス。
もしクラス分けに必要な遺伝子が一つと分かれば、その遺伝子は『ガン』であることに直接関係していることが推定できる。
もう少し範囲をゆるめて、例えば20個の遺伝子が必要である、と分かったとしても、元のデータでは数千〜数万の候補があるので、数十のオーダーに範囲が絞られているだけで大きな意味があるはず。
こうして、候補遺伝子をしぼっていくということは、生命活動に関する知識をより明確なものとして浮かび上がらせることに役立つ。


もう一つの利点は、次元数が削減できれば、計算時における恩恵が大きくなる。
ノイズが軽減されることと、計算量が軽減されることである。
これは機械学習においては最大のボトルネックとなる部分である。


しかし、次元数の削減はいいことばかりではない。
やりたいことはデータの情報は保持したまま、データのサイズを小さくすることなので、次元削減の過程で情報もいっしょに落としてしまっては意味がない。
データにおける『情報』というのはその時々において異なっているので一概には定義できない部分に難しさがある。

つまり

研究でやりたいことは、以下のようになる。

  1. 発現量データという生物データをただの数値データと見なす。
  2. すると、高次元なのにサンプル数が少ないという、統計的な手法やらなんやらという従来用いられてきた手法が適用しづらい(できない)
  3. そこで、「クラス分類がうまくできる」ことを、データが持つ「情報」と定義してやり、それを指標として、データの次元削減、つまり候補遺伝子を絞っていくということをしたい。

問題、とか冷静に考察することに少しあきてきた。

  • 計算量がパネェ
  • データセットがすくねぇ
  • 信憑性が乏しぃ
  • 専門家がすくねぇ

結論

僕がやっているのはBioinfomaticsというのはおこがましい。
せいぜい、パターン認識機械学習のアプローチでバイオデータの処理をしている、というくらいだろうな。


id:Hashに「次元の呪い」について解説するなど宣言したのにずっと放置してて、今日こそ書こうと思ったら、いつの間にやら研究を見つめ直すの会になってしまった。
専門家が少ないのでレアっちゃレアだがパターン認識の分野では割とメジャーなアプローチに分類されるのかもしれない。


次回予告
『そこまできてるよ次元の呪い〜かかっちゃったらあら大変』
『丸暗記はダメ!〜過学習の恐怖〜』
の二本立てを予定していません><