Marathon Match HMS Challenge #1

備忘録.

問題

各DNAシークエンシングコールについて3つ組のデータが与えられるので,どの程度信頼性があるかを決定するプログラムを作成せよ.
TopCoder

解法

最小二乗確率的分類器(LSPC)

LSPC*1は,杉山将氏の考案した確率的分類器で,入力が連続,出力が離散の時に,ある点におけるクラス間の密度比を高速に計算することができる.

細かい工夫

K-mer abundanceについて,ヒストグラムが極端に偏っていたため,対数をとることでこれを緩和した.時間・コードの制限があるため,学習データの数が小さい分類器を複数用意し,それらの結果を平均することで,信頼度を割り出した.

反省点

LSPCに頼りすぎた

手法としてはLSPCが今回の問題にぴったりだったため,これだけで高ランクをとれると勘違いしてしまった.また,そのせいで手法に関する考察・実験ばかりが増えて,下のような思考が念頭に無かった.実際には,LSPCのみでのスコアはExmapleでは約96%,Previousでは約95%が限界だった.

位置で分割するという思考に至らなかった

元は,「K-mer abundanceの特性に気が付かなかった」事が反省点だと思ったが,そうではなくて,まず,与えられたコールの集合が何かしらの基準で分割可能か,という事を考えるべきだった.何故ならば,それが出来れば単に各々のコールの信頼度を考えるより大幅に情報量が増えるから.ヌクレオチドで分割するか位置で分割するか等という点で基準の選択の余地はあるが,データを整理して観察すれば分かったと思う.また,この思考に至らなくてもビジュアライザを使えばK-mer abundanceの特性を発見し,その結果,位置で分割可能という思考に至った可能性があるが,

ビジュアライザを効果的に使うことが出来なかった

ビジュアライザでは,正例と負例をプロットして分布がどの程度重なっているか,また,識別に失敗したデータをプロットしてデータ全体の傾向を調べた.但し,データ全体が把握できるようにシャッフルしたデータの一部を表示しており,ヒストグラムの偏りを軽減するためK-mer abundanceは対数をとっていた.しかし,これらが原因で逆にデータの特性に気がつくことが出来なかった.ビジュアライザを使わなかったとしても,学習データを目で見るだけで同じ位置ならばK-mer abundanceが簡単な整数比になるという特性は分かったと思う.少なくとも,同じpositionのK-mer abundanceは同じ数値になることが多い,ということには気が付けたはず.

まとめ

与えられた情報から他の情報(=位置)を導出できるかを考えてみるべき.また,大域的な視点でのみの考察は学習データ(or 問題)の特性を分かりにくくしてしまう可能性がある.与えられた学習データ(or 問題)に対する局所的な視点での考察も行うべき.

結果

Provisional Score:1906612.10pts.
Provisional Rank:43th
Final Score:1920318.47pts.
Rank:41th
Rating:1281->1388

ビジュアライザ


データをシャッフルして,K-mer abundanceについて対数をとったもの.緑色の軸がlog10(K-mer abundance)だが,傾向は分かにくい.

データをシャッフルせず,K-mer abundanceもそのままで表示したもの.緑軸について層が出来ていることが分かりやすい.