LoginSignup
593
602

More than 3 years have passed since last update.

文系大学生が機械学習を0から始めて9か月でKaggle銀メダルを獲得するまで

Last updated at Posted at 2019-10-04

今回自分は0から始めて9か月でコンペで銀メダル(6385分の249位,top4パーセント)を獲得できました。
自分の今までの流れをおさらいしていきます。

それまでの僕のスペック

  • 数3と行列はほぼ何も分からない
  • プログラムはrubyとjavaはそこそこに書ける、pythonは知らん

勉強の流れ

12月末

機械学習を始めると決心、とりあえず何をやればいいかよく分からないがpythonが必要らしいのでprogateでpythonをやってみる

1月

数学が必要らしいので、行列と微分積分について1から学んでみる。今から考えると、行列の基礎をさらえたのは良かったですが、それ以外はこの時間は絶対いらなかったなと考えています。

微分積分

行列

2月

Udemyで多くの講座を受ける、詳細は以下の記事にまとまっています
https://qiita.com/HayatoYamaguchi/items/c8051baa0f7b0ec681a1
機械学習にはnumpyとpandasが必要らしいということでPYQをやってみる

またここで1年休学を決意。

3月

courseraのmachine learningコースがいいらしいと聞いて、これを完走。行列などを学ばなければこれはできなかったのでその意味では数学を学んだのは良かったかも

4月

オライリーの専門本をここで勉強します。
今考えると2冊目はかなり無駄だったかなという面もあります・

また、ここで始めてkaggleに参加します。
titanicチュートリアルとhouse priceを行いました。
タイタニック
https://qiita.com/HayatoYamaguchi/items/ed13171372d3043e42aa
house price
https://qiita.com/HayatoYamaguchi/items/30e93a43d519f8c8aea0

5月

この辺で普通のコンペに参加すべきだったのですが、ハードルを感じてしまい、結局もう一つメルカリコンペを行いました。
https://qiita.com/HayatoYamaguchi/items/ad41b20b2e61ea30827e

また、課金してCourseraのDeepLearningコースも学びました。ここで始めてCNNやRNNなどについて学びました。

また、6月の統計検定2級に備えて統計の勉強もしました。

6月

機械学習系の業務委託を受けたりインターンをやり始めて試用期間で切られたりする(ここから先はインターンで機械学習をやりながらそれと平行)
courseraのHow to Win a Data Science Competition: Learn from Top Kagglersをやる
これで、kaggleの細かい実践的なことを学びました。
また、いよいよ本格的にコンペに初参戦しました。Instant Gratificationに参加してラスト1週間ほどでやりましたが、結局公開カーネルを真似したものを提出しただけになってしまいました、、、
また、統計検定2級を受験し、無事に合格しました。

7月

他のインターンも始める
ここからSignateの飯田産業コンペに注力し始めます。これではカーネルがないので、実際に自分で特徴量を1から作り出していく必要があり、初めての経験のためかなり大変でした。

8月

飯田産業コンペ終了、順位は189 位 / 593
validationなどにこだわってしまったので、特徴をもっと作らなかったことを反省

9月

始めからIEEE-CIS Fraud Detectionに参加してコミットしました。
チームを組んで、最終的なモデルは自分が作ったものを採用し、無事それでスコアを出すことができました。コンペの詳細については後日投稿しようと思います。

ここまでの反省点など

  • pythonやudemyや数学に時間を使いすぎた 初心者エンジニアあるあるですが完璧に理解してコードを書けることを重視しすぎて、実践の中で吸収していこうという考えが少なかった
  • 動画教材などのインプットに重きを置きすぎた 同じくわかってから進めたい病炸裂
  • もっと早い時期からコンペに参加するべきだった これもコンペ参加のハードルを上げすぎました、、、 多くのkaggleマスターなどがtaitanicが終わったらもうコンペに参加した方がいいと述べていますが、それは的確だと考えています。
  • 最初の頃はダラダラ勉強しすぎた 正直4月くらいまでの内容はちゃんと自分を追い込めば2ヶ月でできる内容だったのかなと考えています。

おそらくこの辺ちゃんと解決できれば、フルコミットすればかなり厳しい道のりになりますが完全初心者から3,4か月でメダル取るのは不可能ではないのかなと考えています。同じようなことをやりたいと考えている人の参考になれば幸いです。

おまけ

https://note.com/cohki0305/n/nd6b2f680f582
機械学習を用いて胸の大きさを販売するというエンタメ要素も盛り込んだ教材を機械学習初心者向けにコラボという形で販売しています、もしよければ購入してみて下さい。

593
602
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
593
602