生き抜くぜ21世紀

統計?機械学習?っぽいことを書く

Kaggle VSB Power Line Fault Detection (電線コンペ)スコア推移晒し

概要

  • VSB Power Line Fault Detection | Kaggle に参加して、Public120→Private346位でした。
  • Public LBに過適合してしまった人間のスコア推移をご覧ください
    • Public LBも大したことはなくてむしろshake upを狙っていたのですが…
  • なかなかひとりの人間の2カ月のスコア推移をみることはないと思うので共有します
    • この記事を読んでも機械学習的な学びはほぼないです

スコア推移

f:id:rskmoi:20190322221943p:plain

  • 縦軸がスコア、横軸が時系列です。
  • 赤がPublic, 青がPrivateなので、時間をかけて最終評価スコアを悪化させていることがよくわかります
  • なんか色がついている背景はprivateでの金/銀/銅圏を表しています

詳細

f:id:rskmoi:20190322222846p:plain

  • 最序盤は画像認識エンジニアらしくグラフを画像化して2DCNNやってたんでひどいスコアです
  • LSTMは基本的にPublic KernelをPyTorch実装して手を加えてました。以下を変えながらいろいろやってました
    • ネットワーク
    • 特徴量
    • Denoising
  • 論文はhttps://arxiv.org/pdf/1801.04503v1.pdfを参考にしました
  • seed averagingを50モデルでやってたのでめっちゃモデルの再現性ありました
    • これでガチャには勝てると踏んでいたのですがそういう問題じゃありませんでした
  • 「終わりの始まり」でだいたいのベースラインモデルが決まったな~という気持ちに勝手になっていました
    • ここまでのモデル微修正の過程が全部Publicにしか効かないやつだったのでしょう
    • 一回モデル作ったらチューニングは3回までとか誰か強いグラマスが言ってた気がするし、ちゃんと従ったほうがよかったかもしれません
  • 最終submitはQuoraの3位のモデル(3rd place kernel | Kaggle)にaugmentationとweight decayを加えて汎化性能バキバキに上げたつもりのモデルを採用しました
    • Denoisingなし

最後に

  • こんな感じのスコア推移でした。反面教師として活用してください(?)
  • どうやってPrivate がいいやつを選べたかはまだわかっていません。落ち着いたら向き合ってみます。
  • なにより、きちんと狙って上位をとっている方が多数いるようなので、謙虚に学ばなければという気持ちでいます。また頑張ります。