プランクトン画像分類でトップを取ったチームが、自分たちが採用した手法を解説したブログエントリーを 書いてくれています。
今回のコンペはフォーラムを読む英語力と、そこで公開されてたcxxnetをビルドする根気があれば、 それだけでそこそこの順位に位置することが出来たんですが(半分より上くらい)、 そこから上位に行こうと思うと当然、機械学習の実践的な知識と実装力が必要になってきて、 初期設定に対してちょちょっとデータ増やしただけではどうにも順位が上がらなかったです。
1位となるような手法は何が違うのかなといった所はかなり興味深い所なので、 読んだことをメモしておきます。 結構長いので、まずはPre-processing and data augmentationまでを。
- Introduction
- Pre-processing and data augmentation
- Pre-processing
- Rescaling
- プランクトン画像のサイズはバラバラなので重要
- 固定サイズ化
- Zero Mean Unit Variance
- プランクトンのサイズ推定
- image momentsを使って推定
- Rescalingに使ってみたが結果は変わらず
- ただし、分類の時の特徴量として使ってみたら結果が良くなった(後述)
- Data augmentation
- データセットのサイズを大きくする
- アフィン変換の手法を適用
- realtime augmentation
- 学習フェーズで実行する
- CPUで実行(学習はGPU)
- パフォーマンスが改善しなかったこと
- elastic distortion
- 過学習はわずかに抑えられた
- gaussian distribution
- uniformから変えてみたが結果は改善されず
- elastic distortion
- Rescaling
- Pre-processing